细胞周期分析

在单细胞测序分析中,植物(如苜蓿、拟南芥)的细胞周期分析与动物的主要区别在于**标志基因(Marker Genes)**的不同。由于 Seurat 内置的cc.genes是针对人类设计的,植物研究需要通过同源比对或查阅文献来构建个性化的基因集。

以下是根据你提供的代码总结的植物细胞周期分析思路与代码全集。


01. 目的与逻辑

目的
  1. 鉴定状态:识别每个细胞处于周期的哪个阶段(G1、S、G2M)。
  2. 消除噪音:细胞周期差异往往是异质性的主要来源。在关注细胞类型本身时,通过“回归(Regress out)”消除周期对聚类的干扰。
  3. 对比分析:比较不同处理(如 CK vs CD)下,各组织细胞的增殖活力差异。
逻辑步骤
  1. 同源映射:从拟南芥(经典模式植物)中提取已知的细胞周期标志基因,通过Blastp映射到目标物种(如苜蓿)上。
  2. 基因集构建:将映射后的基因分为 S 期和 G2M 期列表。
  3. 评分赋值:利用CellCycleScoring计算每个细胞的 S.Score 和 G2M.Score,并判定 Phase。
  4. 可视化验证:通过 PCA 观察周期基因是否能分开细胞,通过 UMAP 查看不同处理组的分布。
  5. 模块分析:利用AddModuleScore细化观察 G1、S、G2、M 四个阶段的特征表达。
  6. 下游回归:在ScaleData时移除周期影响,使下游分析聚焦于细胞类型。

02. 全部代码(整理版)

# 1. 环境准备与同源基因映射library(Seurat)library(tidyverse)library(patchwork)# 加载 Blastp 映射表并清理 IDblast_res<-read.table("ref_tar.m8.solar.cor.idAdd.rbh",header=FALSE)blast_res$V1<-gsub("\\.[0-9]+_ref$","",blast_res$V1)# 拟南芥 IDblast_res$V2<-gsub("\\.[^.]+$","",blast_res$V2)# 苜蓿 IDgene_map<-blast_res%>%select(At_ID=V1,Ms_ID=V2)%>%distinct(At_ID,.keep_all=TRUE)# 拟南芥阶段基因集 (拟南芥 -> 苜蓿)ath_genes_list<-list(S=c("AT2G28740","AT3G27060"),G2=c("AT1G76540","AT1G44110"),M=c("AT4G31840","AT3G25980"),G1=c("AT4G02060","AT2G29570","AT5G67260","AT5G54600","AT4G31700"))# 映射转换s_genes<-CaseMatch(search=gene_map$Ms_ID[match(ath_genes_list$S,gene_map$At_ID)],match=rownames(muxu))g2_genes<-CaseMatch(search=gene_map$Ms_ID[match(ath_genes_list$G2,gene_map$At_ID)],match=rownames(muxu))m_genes<-CaseMatch(search=gene_map$Ms_ID[match(ath_genes_list$M,gene_map$At_ID)],match=rownames(muxu))g1_genes<-CaseMatch(search=gene_map$Ms_ID[match(ath_genes_list$G1,gene_map$At_ID)],match=rownames(muxu))g2m_combined<-c(g2_genes,m_genes)# 2. 细胞周期评分与判定muxu<-CellCycleScoring(muxu,s.features=s_genes,g2m.features=g2m_combined)# 3. 可视化:CK 与 CD 对比 (Phase 分布)draw_phase_plot<-function(obj,ident,title_prefix){DimPlot(subset(obj,orig.ident==ident),group.by="Phase",order=TRUE,cols=c("G1"="#32CD32","S"="#00BFFF","G2M"="#FF4500","Undecided"="#80808044"))+labs(title=paste0(title_prefix,"_Phase"))+theme(plot.title=element_text(hjust=0.5))}p1<-draw_phase_plot(muxu,"CK","CK")p2<-draw_phase_plot(muxu,"CD","CD")(p1|p2)+plot_annotation(title="Cell Cycle Phase Comparison")# 4. 阶段模块评分 (AddModuleScore)phase_list<-list(S=s_genes,G2=g2_genes,M=m_genes,G1=g1_genes)for(p_nameinnames(phase_list)){feat_name<-paste0(p_name,"_mod")muxu<-AddModuleScore(muxu,features=list(phase_list[[p_name]]),name=feat_name)# 绘制 FeaturePlot 并保存 (代码略,参考前述 FeaturePlot 拼接逻辑)}# 5. 回归细胞周期影响muxu_regressed<-ScaleData(muxu,vars.to.regress=c("S.Score","G2M.Score"))# 回归后的 PCA 验证muxu_regressed<-RunPCA(muxu_regressed,features=c(s_genes,g2m_combined))DimPlot(muxu_regressed,reduction="pca",group.by="Phase")

03. 代码解读

1. 核心映射逻辑 (convert_list&CaseMatch)
  • 同源转换:通过match函数将拟南芥的 AGI 编号转换为苜蓿的基因 ID。这是植物非模式生物分析的关键。
  • CaseMatch:Seurat 提供的函数,用于确保提取的基因确实存在于当前单细胞对象的矩阵中(处理大小写和拼写)。
2. 评分核心 (CellCycleScoring)
  • 该函数计算两个得分:S.ScoreG2M.Score
  • 判定标准:如果两个得分均 < 0,细胞被判定为 G1 期;否则,哪个得分高就判定为哪个期。
  • 注意:植物中 G1 基因虽然多,但 Seurat 默认只使用 S 和 G2M 基因来判定这三个阶段。
3. 细分阶段研究 (AddModuleScore)
  • CellCycleScoring只能粗略给出三个阶段。通过AddModuleScore并输入具体的 G2、M、G1 基因列表,可以更精细地观察。
  • 例如,在你的循环代码中,p_name(如 “M_phase”)被计算为一个ModuleScore。这在观察细胞是否卡在有丝分裂期(M期)非常有用。
4. 颜色与可视化控制 (cols&patchwork)
  • #80808044:这是带 Alpha 通道的透明灰色。用于Undecided或背景细胞,使视觉重心集中在活跃分裂的细胞上。
  • order = TRUE:在FeaturePlotDimPlot中非常重要,它确保高表达(或关键相位)的细胞被画在顶层,不会被大量 G1 期的细胞遮盖。
5. 线性回归 (vars.to.regress)
  • ScaleData步骤中加入S.ScoreG2M.Score
  • 物理意义:模型会计算每个基因表达量与周期得分的相关性,并扣除这部分贡献。回归后的 PCA 图中,细胞应按类型聚类,而不再按周期阶段(G1/S/G2M)呈圆环状分布。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1203265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Emotion2Vec+ Large输出目录结构详解,结果文件一目了然

Emotion2Vec Large输出目录结构详解&#xff0c;结果文件一目了然 1. 为什么需要理解输出目录结构 当你第一次使用 Emotion2Vec Large 语音情感识别系统时&#xff0c;点击“ 开始识别”按钮后&#xff0c;系统会快速完成处理并显示结果。但你可能没注意到——在后台&#xf…

macOS鼠标优化专业级调校指南:释放第三方鼠标全部潜能

macOS鼠标优化专业级调校指南&#xff1a;释放第三方鼠标全部潜能 【免费下载链接】mac-mouse-fix Mac Mouse Fix - A simple way to make your mouse better. 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 对于使用第三方鼠标的macOS用户而言&…

实测Qwen-Image-Layered的图层拆解能力,细节惊人

实测Qwen-Image-Layered的图层拆解能力&#xff0c;细节惊人 1. 一张图&#xff0c;为什么需要“拆开来看”&#xff1f; 你有没有试过想把一张商品图里的背景换成纯白&#xff0c;却发现人物边缘毛躁、阴影残留、发丝粘连&#xff1f;或者想给海报中某个产品单独调色&#x…

批量处理怎么做?手把手教你写Live Avatar自动化脚本

批量处理怎么做&#xff1f;手把手教你写Live Avatar自动化脚本 1. 引言&#xff1a;为什么需要批量处理&#xff1f; 你有没有遇到过这种情况&#xff1a;手头有几十个音频文件&#xff0c;每个都要生成对应的数字人视频&#xff0c;但每次只能手动改参数、运行一次脚本&…

Qwen3-0.6B GPU资源浪费?动态批处理优化实战教程

Qwen3-0.6B GPU资源浪费&#xff1f;动态批处理优化实战教程 你是否在使用Qwen3-0.6B时发现GPU利用率忽高忽低&#xff0c;显存占用波动剧烈&#xff0c;甚至出现长时间空转&#xff1f;这很可能是因为请求处理方式不够高效&#xff0c;导致宝贵的计算资源被白白浪费。尤其在部…

Qwen3-Embedding-0.6B助力智能客服语义理解升级

Qwen3-Embedding-0.6B助力智能客服语义理解升级 在智能客服系统中&#xff0c;用户问题五花八门、表达方式千差万别——有人问“订单还没发货怎么办”&#xff0c;也有人写“买了三天了物流没动”&#xff0c;还有人直接发截图加一句“这个能退吗”。传统关键词匹配或规则引擎…

Mac Mouse Fix:让第三方鼠标在macOS上性能提升200%的驱动增强工具

Mac Mouse Fix&#xff1a;让第三方鼠标在macOS上性能提升200%的驱动增强工具 【免费下载链接】mac-mouse-fix Mac Mouse Fix - A simple way to make your mouse better. 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix Mac Mouse Fix是一款专为macO…

让老Mac重获新生:OpenCore Legacy Patcher全方位使用指南

让老Mac重获新生&#xff1a;OpenCore Legacy Patcher全方位使用指南 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 设备兼容性速查 设备类型支持年份推荐系统版本核心优…

探索Dify Workflow:可视化界面开发新范式

探索Dify Workflow&#xff1a;可视化界面开发新范式 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程&#xff0c;自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflow …

突破macOS鼠标限制:Mac Mouse Fix焕新第三方设备体验全解析

突破macOS鼠标限制&#xff1a;Mac Mouse Fix焕新第三方设备体验全解析 【免费下载链接】mac-mouse-fix Mac Mouse Fix - A simple way to make your mouse better. 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 问题诊断&#xff1a;macOS鼠标兼容…

PDF工具箱:提升文档处理效率的全方位解决方案(办公人士必备)

PDF工具箱&#xff1a;提升文档处理效率的全方位解决方案&#xff08;办公人士必备&#xff09; 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱&#xff0c;可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档&#xff0c;探查文档结构&#xff0c;提取图片、转成图片…

NewBie-image-Exp0.1 vs Pixiv Diffusion:开源动漫模型全方位对比

NewBie-image-Exp0.1 vs Pixiv Diffusion&#xff1a;开源动漫模型全方位对比 在当前AI生成内容蓬勃发展的背景下&#xff0c;高质量的动漫图像生成已成为创作者和研究者关注的重点。NewBie-image-Exp0.1 和 Pixiv Diffusion 作为两个备受瞩目的开源项目&#xff0c;分别代表了…

7个秘诀高效打造颜值翻倍的知识管理软件:界面美化与效率提升全指南

7个秘诀高效打造颜值翻倍的知识管理软件&#xff1a;界面美化与效率提升全指南 【免费下载链接】awesome-obsidian &#x1f576;️ Awesome stuff for Obsidian 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-obsidian 你是否也曾经历这样的场景&#xff1a;打…

零代码玩转YOLO26:官方镜像快速上手指南

零代码玩转YOLO26&#xff1a;官方镜像快速上手指南 你不需要写一行训练逻辑&#xff0c;不用配环境&#xff0c;甚至不用打开终端敲十次conda命令——只要点几下鼠标&#xff0c;就能让YOLO26在GPU上跑起来&#xff0c;完成目标检测、姿态估计、图像推理&#xff0c;甚至从零…

金融合同解析实战:MinerU镜像+GLM-4V多模态模型落地应用

金融合同解析实战&#xff1a;MinerU镜像GLM-4V多模态模型落地应用 在金融行业&#xff0c;每天产生的合同、尽调报告、监管文件、财报附注等PDF文档动辄上百页&#xff0c;包含大量表格、公式、多栏排版和嵌入式图表。传统OCR工具面对复杂版式时错误率高、结构丢失严重&#x…

Z-Image-Turbo水印添加功能:版权保护部署实战案例

Z-Image-Turbo水印添加功能&#xff1a;版权保护部署实战案例 在数字内容创作日益普及的今天&#xff0c;图像版权保护成为创作者不可忽视的重要环节。Z-Image-Turbo 不仅是一款高效的图像生成工具&#xff0c;更集成了实用的水印添加功能&#xff0c;帮助用户在生成图片的同时…

自然语言驱动图像分割|基于sam3提示词引导万物分割模型快速实践

自然语言驱动图像分割&#xff5c;基于sam3提示词引导万物分割模型快速实践 你有没有试过&#xff0c;对着一张照片说“把那只狗抠出来”&#xff0c;AI就真的把它精准框出来&#xff1f;不是靠画框、不是靠点选&#xff0c;就靠一句话——这不再是科幻场景&#xff0c;而是 S…

ComfyUI 3D生成工作流实战指南:从草图到模型的落地解决方案

ComfyUI 3D生成工作流实战指南&#xff1a;从草图到模型的落地解决方案 【免费下载链接】ComfyUI-Workflows-ZHO 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-Workflows-ZHO ComfyUI-Workflows-ZHO项目提供一套完整的AI驱动3D创作解决方案&#xff0c;通…

Qwen2.5-0.5B如何备份?模型持久化存储方案

Qwen2.5-0.5B如何备份&#xff1f;模型持久化存储方案 1. 为什么小模型也需要认真备份&#xff1f; 很多人第一反应是&#xff1a;“才0.5B&#xff0c;才1GB&#xff0c;不就是个文件夹的事&#xff1f;” 但现实远比这复杂——你启动镜像后看到的流畅对话界面&#xff0c;背…

在线PDF处理工具全攻略:零基础也能高效编辑PDF文档

在线PDF处理工具全攻略&#xff1a;零基础也能高效编辑PDF文档 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱&#xff0c;可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档&#xff0c;探查文档结构&#xff0c;提取图片、转成图片等等 项目地址: https://gitco…