单细胞分析常见问题

前面写过一个单细胞聚类图形填充的脚本分享,发现小小技能并不能满足真实的绘图需求,在浏览过一个大神写的文章后,发现能实现的几个需求有好多。在这里以问题的形式来进行一一解答。

Q1: 画图时,tsne和umap,我该选择哪个比较好?

很多客户问到过这个问题,我们也在现场问过10X的技术人员。首先可以确定的是,不管是tsne还是umap,降维获得的细胞对于的cluster结果是一样的。所以两者均可选择。然后就是一个展示的问题了。umap在进行可视化时,采用的算法是达到局部最优,tsne达到的是整体最优。我做过的这些项目中,总结出一个规律,当细胞数目很多时,采用tsne,当细胞数目较少时,采用umap。因为图形是为了证明结论,哪种图最能展示我们的结论,该图是最佳的。

Q2: 我们在降维时发现,发现有些主成分并不是按照递减的规律存在的,如下图所示。P13明显不如P14,怎么办?

image.png

一般情况下,主成分对于细胞聚类的影响是有规律的,成分等级越高,越不容易进行细胞聚类。对于单细胞而言,不同类型的细胞marker基因的表达差别是比较明显的,因此为了较好地进行区分,我们一般选择拐点的主成分作为降维的依据。如下图所示,一般选择TOP10。


image.png

但不规律时,我们可以进行维度选择来进行聚类降维,脚本如下所示:

rds <- RunUMAP(immune.combind, reduction = 'pca', dims = c(1:10,12,14) )

Q3: 当做细胞聚类时,我该如何选择分辨率?

很多人做单细胞时,都会纠结于这个问题,分辨率太小,担心没有将细胞间的差异体现出来;分辨率太大,可能存在过度聚类的情况,而且对命名影响很大。官网上有推荐的根据细胞数来选择分辨率,将该参数设置在0.4-1.2之间,对于3K左右的单细胞数据集通常会得到良好的结果。对于较大的数据集,最佳分辨率通常会增加。针对具体的情况,判断标准可能偏主观一些。根据我的分析经历,可总结以下几点:
1)对于单个样本,主要看每个cluster的差异基因表达量热图。表现形式一般为每个cluster中其条线出来的差异基因在该cluster中表达量高,而在其他cluster中表达量低。不然,表示有些cluster还可以合并或者细分(如果出现污染或者其他情况另当别论)


2013053-1bd5144f2ef43f05.png

2)对于有比较组的情况,除了看cluster的差异基因聚类热图外,还要关注样本之间的差异。样本之间的差别主要表现在同一个cluster中细胞数目的差别。根据比较组条件的设置,差别越大,同一个cluster的细胞数目差别也会比较大。另外差异小提琴图或者表达量气泡图也能说明问题。
可以同时设置不同的分辨率进行对比分析,脚本如下:

rds<-FindClusters(rds,resolution = c(.6,.8,1,1.4,1.6,1.8)) 
head([email protected])
             orig.ident nCount_RNA nFeature_RNA percent.mt RNA_snn_res.0.6
ACCCATACAACCAC     TB1       2016          960  3.0374736               1
AAACATTGAGCTAC     TB1      6793         1578  3.3924239               3
AAACATTGATCAGC     TB1       1257         1425  3.3832336               1
AAACCGTGCTTCCG     TB1       8131          160  1.4440545               0
AAACCGTGTATGCG     TB1        1930          2521  1.4214228               3
AAACGCACTGGTAC     TB1       1145          2722  1.6243539               1
               seurat_clusters RNA_snn_res.0.8 RNA_snn_res.1 RNA_snn_res.1.4
AAACATACAACCAC               1               2               1               5
AAACATTGAGCTAC               0               3               2               2
AAACATTGATCAGC               2               2               1               1
AAACCGTGCTTCCG               3               1               4               4
AAACCGTGTATGCG               8               6               7               8
AAACGCACTGGTAC               1               2               1               1
               RNA_snn_res.1.6 RNA_snn_res.1.8
AAACATACAACCAC               9             1
AAACATTGAGCTAC               2             0
AAACATTGATCAGC               1             2
AAACCGTGCTTCCG               4             3
AAACCGTGTATGCG               8             8
AAACGCACTGGTAC               1             1

Q4: 针对不同的批次效应,我该如何进行处理?

对于单细胞测序而言,有可能会出现测序时间、仪器或者加测的情况,形成不同的数据批次,实验误差也会反映到测序数据上,该现象就是我们常说的批次效应。该如何采用seurat进行批次效应的消除呢?

关于去除多组数据中的批次效应,有多种算法,如Seurat包的CCA(canonical correlation analysis)、LIGER的NMF(non-negative matrix factorization)、Scran包的mnnCorrect、Seurat包的sctransform。这里搜集了几个方法的链接,大家可以操作一下。
Seurat包的CCA:https://cloud.tencent.com/developer/article/1499846
Scran包的mnnCorrect:https://www.jianshu.com/p/b7f6a5efed85
Seurat包的sctransform:https://www.jianshu.com/p/e639cc257d51

有篇文献中有将大细胞去批次效应效果做了一个对比,设计到的方法如下图所示,测试了10个数据集,使用五个评估指标对14种方法进行对比评估,大家可以去了解一下。


wxsync-2020-05-45dbb9a997d6d3692aee59518595ba5c.png

参考链接:
https://zhuanlan.zhihu.com/p/122502250
https://www.jianshu.com/p/647cb81a77ac
https://www.jianshu.com/p/67d2decf5517

你可能感兴趣的:(单细胞分析常见问题)