已有以下省开通了 生易网,Biolabx.cn,Xcelerate Biolab Research 分站 申请开通分站
爱采购

发商品

  • 发布商品
  • 管理商品

单细胞数据拟时序分析如何做:轻松掌握Monocle2!

   2024-06-14 800
导读

单细胞测序技术的发展与普及,使得人们可以更深入地研究高度异质性细胞群体的转录调控。而通常,在完成了基础数据降维、细胞聚类与细胞类型注释之后,我们又可以对手上的单细胞数据进行什么样的分析以获取更多的信息呢?而拟时序分析就是一种选择!细胞的状态通常是不断地变化的,为了转化细胞完成不同的功能,通常会选择性

单细胞测序技术的发展与普及,使得人们可以更深入地研究高度异质性细胞群体的转录调控。而通常,完成了基础数据降维、细胞聚类与细胞类型注释后,我们又可以对手上的单细胞数据进行什么样的分析以获取更多的信息呢?拟时序分析是一种选择!


细胞的状态通常是不断地变化的,为了转化细胞完成不同的功能,通常会选择性沉默一些基因,同时激活一些基因的表达;或者是在细胞逐渐发育分化到完全成熟,又可能逐渐衰老或凋亡的过程中,表达不同的基因。因而我们尽可能提取一小群同类型的细胞,其中的每个单一细胞也难免处于不同的状态或阶段,每个细胞都是转录调控过程的某一瞬间。而拟时序分析是轨迹分析方法中的一种,通过细胞表达数据的降维与轨迹建模分析,引入“拟时间”这一概念,将投入研究的细胞排列在相应的轨迹树上,通过轨迹的“根”、“枝条”与“分支点”上不同细胞的分布,可以更好的识别细胞的发展分化路径,以及不同细胞状态下差异表达的基因。


Monocle2流程


Monocle是用于单细胞拟时序分析的著名R包,通常Monocle2最为常用,而Monocle3仍在开发中。接下来随小编一起来看一看使用Monocle2包进行拟时序分析的简单攻略吧!


01

单细胞数据文件 

在考虑进行拟时序分析前,您应该已经完成了单细胞数据的基础分析,包括降维、聚类、细胞类型注释等步骤,相应的Seurat_Object我们在以下称为soj。这里我们使用万乘基因自主研发的10K Genomics-Perseus™平台产生的3` 转录组pbmc数据作为展示。


往期推文:实测数据 | 万乘基因10K平台单细胞核实测数据展示! (qq.com)实测案例丨万乘基因10K平台单细胞转录组测序性能测评展示! (qq.com)





library(Seurat)soj=readRDS('10k_pbmc.RDS')DimPlot(soj, reduction = "umap", label = T,pt.size = 0.03,label.size = 4,repel = TRUE)

图片

图1. 此处使用万乘基因自主研发的10K Genomics-Perseus™平台产生的3` 转录组pbmc数据作为展示


02

安装相应R包

Rstudio中安装相应的R包,具体可以查看官网https://cole-trapnell-lab.github.io/monocle-release/docs/之后我们就可以开始正式的分析了!


03

拟时序轨迹分析

3.1 提取目标细胞群

对于已有的Seurat_Object我们可以选取感兴趣的几种细胞群,将数据提取出来,用于接下来的分析。这里我们截取T细胞亚群作为展示样例




library(monocle)#提取目标细胞群soj.downsample=subset(soj,idents=c("NK","Naive_T_cell","CD8+_T"))

如果数据量太大,接下来的程序可能运行过于缓慢,可以进一步取样;


#此处200指每种细胞群提取200个细胞soj.downsample=subset(soj.downsample,downsample=200)


3.2 构建CellDataSet

首先需要从Seurat_Object中提取我们需要的数据







#提取表达矩阵data <- as(as.matrix(soj.downsample@assays$RNA@counts), 'sparseMatrix')#提取表型信息pd <- new('AnnotatedDataFrame', data = soj.downsample@meta.data)fData <- data.frame(gene_short_name = row.names(data), row.names = row.names(data))fd <- new('AnnotatedDataFrame', data = fData)

然后构建CDS对象






monocle_cds <- newCellDataSet(data,                              phenoData = pd,                              featureData = fd,                              lowerDetectionLimit = 0.5,                              expressionFamily = negbinomial.size())

计算Size Factor以标准化细胞之间的mRNA差异;计算离散度值以便后续的差异分析;


monocle_cds <- estimateSizeFactors(monocle_cds)monocle_cds <- estimateDispersions(monocle_cds)

3.3 选择轨迹定义使用的基因
为了去除大量的低表达基因造成的嘈杂影响,我们需要选取用于轨迹构建的特征基因,这会轨迹的形状造成影响





#使用FindVariableFeatures得到高变基因soj.downsample=FindVariableFeatures(soj.downsample,nfeatures = 2000)ordering_genes=VariableFeatures(soj.downsample)#将得到的基因嵌入CDSmonocle_cds <- setOrderingFilter(monocle_cds, ordering_genes)


3.4 降维

使用反向图嵌入DDRTree算法进行数据降维;



monocle_cds <- reduceDimension(monocle_cds, max_components = 2,                               method = 'DDRTree')

3.5 拟时序轨迹构建与细胞排列
进行拟时序轨迹的构建和细胞排列的计算;

monocle_cds <- orderCells(monocle_cds)


然后就可以尝试作图查看结果了!




png("Pseudotime_trajectory_soj.downsample.png")plot_cell_trajectory(monocle_cds, color_by = "Pseudotime")dev.off()

图片

图2. 按“拟时间”着色展示的细胞轨迹图;此处的“拟时间”为0的起点为计算程序自动选择,实际使用时可以按实际需求,结合生物学知识,手动选择起点。





png("Annotation_trajectory_soj.downsample.png")plot_cell_trajectory(monocle_cds, color_by = "annotation",cell_size = 0.5)dev.off()

图片

图3. 按“细胞类型”着色展示的细胞轨迹图


以上两张图片是分别为按照“拟时间”Pseudotime与“细胞类型”着色的细胞轨迹图。Pseudotime为0时是当前自动选定的最早的起始点。然而在实践中需要注意的是,算法通常只能构建轨迹,并不能精准指定轨迹的起点和终点。因此如果发现明显的错误,例如成熟的细胞在起点而发育中细胞在终点,则需要结合我们生物学的先验知识,人工为轨迹重新设定起点。



png("State_trajectory_soj.downsample.png")plot_cell_trajectory(monocle_cds, color_by = "State")dev.off()

图片

图4. 按“细胞状态”State着色展示的细胞轨迹图;结合图2、图3,可以重新选择需要作为起点的State后,重新运行以上程序。

以上为按“细胞状态”State着色的轨迹图。其中黑色圆点为细胞State的分叉点。如果需要人工重新设定起点,则需要结合这张图及以上的图,将想要作为起点的State数重新用在orderCells这一步中。例如:


#选取State2作为起点monocle_cds <- orderCells(monocle_cds,root_state = 2)

重新完成orderCells之后可以选择重新作图查看,也可以选择继续进一步的分析。



png("Annotation_trajectory_soj.downsample_faceted.png",width = 1500)plot_cell_trajectory(monocle_cds, color_by = "annotation")+facet_wrap("~annotation",nrow = 1)dev.off()

图片

图5. 按“细胞类型”着色并拆分展示的细胞轨迹图

按“细胞类型”分开作图可以更清晰地看清单独细胞群在轨迹上的分布,并推测所选的细胞群间是否有相应的发展与分化的关联。

04

拟时序差异基因分析

4.1 差异基因计算预热图

对先前用作轨迹构建的特征基因进行回归分析,计算它们是否与拟时间有显著关系。











#计算差异基因Time_diff <- differentialGeneTest(monocle_cds[ordering_genes,], cores = 1,                                   fullModelFormulaStr = "~sm.ns(Pseudotime)")#保存为csv文件write.csv(Time_diff, "Time_diff.csv")#使用100个基因作热图。num_clusters=3可选的将热图中基因聚为3个clusterTime_genes <- Time_diff %>% pull(gene_short_name) %>% as.character()Time_genes <- top_n(Time_diff, n = 100, desc(qval)) %>% pull(gene_short_name) %>% as.character()p = plot_pseudotime_heatmap(monocle_cds[Time_genes,], num_clusters=3, show_rownames=T, return_heatmap=T)ggsave("Time_heatmap_Top100.png", p, width = 5, height = 10)

图片

图6. 通过热图展示与拟时间有显著关系的特征基因,可以直观地发现哪些基因有随着拟时间的改变而发生表达量的显著增高或降低。


热图的横坐标为拟时间的顺序,纵坐标一格为一个基因。通过热图可以发现一些基因有随着拟时间增高逐渐表达变高或变低的倾向,这或许可以成为我们未来的研究对象。


4.2 按Cluster提取基因

如果需要提取在上一步的热图中特定Cluster的基因进行分析,可以进行以下操作。









clusters <- cutree(p$tree_row, k = 3)clustering <- data.frame(clusters)clustering[,1] <- as.character(clustering[,1])colnames(clustering) <- "Gene_Clusters"#查看各Cluster基因数table(clustering)#存放在csv中write.csv(clustering, "Time_clustering.csv", row.names = T)


4.3 按热图顺序提取基因






hp.genes <- p$tree_row$labels[p$tree_row$order]Time_heat_sig <- Time_diff[hp.genes, c("gene_short_name", "pval", "qval")]#通过p值筛选p<0.05的显著基因Time_diff_sig <- filter(Time_diff,Time_diff$pval<0.05)write.csv(Time_diff_sig, "Time_diff_sig.csv", row.names = T)


参考文献:

Trapnell, C., Cacchiarelli, D., Grimsby, J. et al. The dynamics and regulators of cell fate decisions are revealed by pseudotemporal ordering of single cells. Nat Biotechnol 32, 381–386 (2014). 

Qiu, X., Hill, A., Packer, J. et al. Single-cell mRNA quantification and differential analysis with Census. Nat Methods 14, 309–315 (2017). 



 
举报收藏 0打赏 0评论 0
免责声明
• 
本文为原创作品,作者: 。欢迎转载,转载请注明原文出处:https://www.biolabx.cn/news/show.php?itemid=511 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
 
更多>同类资讯

入驻

企业入驻成功 可尊享多重特权

入驻热线:13814143448

请手机扫码访问

客服

客服热线:13814143448

小程序

小程序更便捷的查找产品

为您提供专业帮买咨询服务

请用微信扫码

公众号

微信公众号,收获商机

微信扫码关注

顶部