轨迹分析即通过构建细胞间的表达量随时间变化关系重塑细胞随时间的变化过程。自2014年以来,轨迹分析的各种算法得到飞速发展,目前进行轨迹分析的方法和软件非常多,今天主要介绍一下monocle2的实际使用。
monocle2简介
Monocle2 应用了逆向图嵌入(RGE)来重建复杂的单细胞轨迹。它不需要有关表征生物学过程的基因,轨迹中细胞命运或分支点的数量或实验设计的先验信息。
优点:降维算法可以拟合多种轨迹类型 满足大部分需求
缺点:起点不一定符合预期 需要经过人为调整
Monocle2会默认分化轨迹的起点,但这个起点不一定符合生物学意义,所以需要基于样本自身的生物学背景,挑选已知或潜在存在分化关系的细胞类型,来明确正确的细胞分化起点和终点。
软件安装
monocle2的使用并不困难,然而,由于源码存在一定的bug,推荐使用旧版本,或者修改源码后手动安装,获取安装包:《高级分析之细胞分化 | monocle2安装及实战》:
devtools::install_local("/gss1/home/yfwulab04/2023/00.software/monocle2/monocle_use.tar.gz")
使用流程
1. 创建CellDataSet
从Seurat对象中提取构建CDS对象所需要的3个输入文件:表达矩阵信息、基因信息和表型信息。
count <- GetAssayData(object = PRO[["RNA"]], slot = "counts")
fData <- data.frame(gene_short_name = row.names(count),
row.names = row.names(count))
fd <- new('AnnotatedDataFrame', data = fData)
pd <- new('AnnotatedDataFrame', data = PRO@meta.data)
2. 选择发育相关基因
monocle2提供了一个dispersionTable函数进行计算,当然也可以采用别的方法,比如Seurat计算高变基因,不同cluster差异基因,或者自定义发育相关基因等
express_genes <- VariableFeatures(pbmc)
cds<- setOrderingFilter(cds, express_genes)
plot_ordering_genes(cds)
以上示例了采用Seurat计算的高变基因作为发育相关的基因
3. 降维
选择用于细胞排序的基因,使用反向图嵌入(DDRTree)的默认算法对数据进行降维,然后将细胞排序并完成轨迹构建。
cds <- reduceDimension(cds,max_components = 2,method = 'DDRTree')
cds <- orderCells(cds)
4. 可视化
可以使用多个函数根据表型信息对细胞进行上色。
5. 分支分析
单细胞轨迹常常包括分支。这些分支的产生是因为细胞执行不同的基因表达模式。在发育过程中,当细胞做出命运选择时,分支就会出现在轨迹中。
BEAM(Branched expression analysis modeling)可以用来寻找以依赖于分支的方式调控的基因。
实际应用
选择注释好的rds文件,挑选其中3个cluster进行轨迹分析
基因沿拟时间轨迹上的表达情况:
对branch 1进行分支分析
你看完啦!