轨迹分析系列:
slingshot
包可以对单细胞RNA-seq数据进行细胞分化谱系构建和伪时间推断。它利用细胞聚类簇和空间降维信息,以无监督或半监督的方式学习细胞聚类群之间的关系,揭示细胞聚类簇之间的全局结构,并将该结构转换为由一维变量表示的平滑谱系,称之为“伪时间”。
1. 将Seurat对象转换成SingleCellExperiment对象
参考:Seurat对象、SingleCellExperiment对象和scanpy对象的转化
演示数据集依然是熟悉的pbmc3k
再次提示:外周血的免疫细胞都是分化成熟的细胞,是不适合拿来做轨迹分析的,这里只做演示。
library(Seurat)
pbmc <- readRDS("pbmc.rds")
pbmc.sce <- as.SingleCellExperiment(pbmc)
library(RColorBrewer)
2. 轨迹分析
运行slingshot的至少需要两个输入文件:即细胞在降维空间中的坐标矩阵和细胞聚类群的标签向量。
对于已经做好注释的数据,直接使用降维矩阵计算轨迹并把轨迹投射到降维图上即可。
library(slingshot)
library(SingleCellExperiment)
sim <- slingshot(pbmc.sce, clusterLabels = 'cell_type', reducedDim = 'UMAP')
sim
summary(sim$slingPseudotime_1)
plot(reducedDims(sim)$UMAP, col = brewer.pal(9,'Set1')[sim$cell_type], pch=16, asp = 1)
lines(SlingshotDataSet(sim), lwd=2, type = 'lineages', col = 'black')
帮助文档:https://bioconductor.org/packages/release/bioc/vignettes/slingshot/inst/doc/vignette.html