1.聚类细胞
将细胞嵌入到图形结构中,如KNN图形(k-nearest neighbor),绘制相同基因表达模式的细胞,尝试将图形分成高度互相关连的“quasi-cliques”或者“communities”。
在PhenoGraph,基于PCA空间的欧几里得距离绘制KNN图,基于邻近区域重叠部分重新定义任意两个细胞的边缘权重。(Jaccard相似性)
为了聚类细胞,应用了优化组合技术如Louvain算法(默认)或者SLM,迭代组合细胞。
FindCluster这一功能运用了这一程序,包含了分辨率参数(resolution),设置下游聚类的间隔尺度(granularity),随着数值的增大,cluster数目也随之增多。研究发现设置为0.6-1.2,对于3000细胞的单细胞数据集效果最好。对于更大的数据库,理想的分辨率也随之增加。这些cluster储存在object@ident slot中
# save.SNN = T保存了SNN,方便聚类算法可以用相同的图形但不同分辨率进行运行。
具体command:
pbmc <- FindClusters(object = pbmc, reduction.type = "pca", dims.use = 1:10, resolution = 0.6, print.output = 0, save.SNN = TRUE)
Seurat v2版本可以重现上一步function call 常用的参数。
针对FindClusters,官方提供了PrintFindClustersParams功能呈现格式化的参数。
具体command:
PrintFindClustersParams(object = pbmc)
可以用PrintCalcParams()重现相应功能的参数。
2.进行非线性降维分析(tSNE)
尽管不建议直接用tSNE成分进行cluster,上面所述的基于图形的cluster内的细胞应当在tSNE图上集中。
因为tSNE旨在将高维空间中同一区域的细胞放入到低维空间中。建议用相同PC输入进行聚类分析,尽管基于缩放基因表达数据计算tSNE也能可以用genes.use支持。
pbmc <- RunTSNE(object = pbmc, dims.use = 1:10, do.fast = TRUE)
#设置 do.label=T可以标记个别clusters
#绘制tSNE图
TSNEPlot(object = pbmc)
#保存为RDS文件
saveRDS(pbmc, file = "~/Projects/datasets/pbmc3k/pbmc_tutorial.rds")