在进行单细胞降维分析时,resolution
值的确定会影响亚群数的多少,但最开始分析的时候不知道亚群数最佳为多少,可通过一些分析结果进行确定。
10X单细胞转录组测序—常规流程 - 简书 (jianshu.com)
获取PCA分析后的结果 ②⑥
PBMC.all3=readRDS("E:/project/test/PBMC.all3.rds")
P值分析 号
通过p值分析,确定最多降维出多少个亚群是可信的。参数dims可设置最大(最大为PCA分析时参数npcs
值的大小,默认为30)。
作出的图中有一条虚线,只要实线在虚线之上就认为是可信的。若实现太靠上或太靠下,显得不美观,可调整ymax值的大小。
PBMC.all3 = JackStraw(PBMC.all3,dims = 30)PBMC.all3 = ScoreJackStraw(PBMC.all3,dims=1:30)JackStrawPlot(PBMC.all3,dims=1:30,ymax = 0.6)
可通过碎石图初步确定亚群数 宇宙
通过人为确定拐点来确定分组数
ElbowPlot(PBMC.all3,ndims = 30)
树形图确定
不能确定resolution
就设置一系列resolution
值进行筛选
library(clustree)library(patchwork)#umap非线性降维PBMC.all3 <- RunUMAP(PBMC.all3,dims = 1:30,reduction = "harmony")PBMC.all3 = FindNeighbors(PBMC.all3,reduction = "harmony",dims = 1:30)seq <- seq(0.1, 1, by = 0.1)for(res in seq){ PBMC.all3 <- FindClusters(object = PBMC.all3,method = "igraph",resolution = res)}p1 <- clustree(PBMC.all3, prefix = 'RNA_snn_res.') + coord_flip()p1p2 <- DimPlot(PBMC.all3,group.by = 'RNA_snn_res.0.1', label = T)p2p1 + p2 + plot_layout(widths = c(2, 1))
解读:箭头的指向代表了一种从属关系,每一列代表一种resolution
值,resolution
值从左到右依次增大,每一个圆圈代表该resolution
值的一个亚群,箭头的指向应尽量避免杂乱,如果出现两个箭头共同指向同一个亚群,说明降维效果不好,应找不出现这种情况的最小resolution
,即当前最适合的resolution
,若想继续减小resolution
,需要对降维参数进行优化。
优化思路
- 数据质控的好坏会影响降维的好坏。可根据我写的10X单细胞转录组测序—常规流程 - 简书 (jianshu.com)
中质控的方法,调整各类型基因所占比例的阙值,也可以删除reads数贡献较大的基因,也可删除线粒体,核糖体,血红蛋白相关基因。 - 若没有删除细胞周期相关基因,需要进行周期分析,回归掉相关基因,降低该部分基因对降维的影响。
- 若分析的是免疫细胞,那就可以用相关的免疫细胞的marker基因进行标准化和降维,例如
cellmarker
数据库中的基因。在我的10X单细胞转录组测序—常规流程 - 简书 (jianshu.com)
中都有涉及。标准化和PCA分析时可将参数features
设置成不同的基因集,来筛选哪种设置方法最佳。 - 各个函数中
dims
参数的大小也会影响降维的好坏。
网友评论