众所周知,单细胞分析中最关键的一步是细胞注释,这是后续所有分析的基础。而精准的细胞注释又依赖于对各细胞簇(Cluster)标记基因的准确选择,正所谓“一着不慎,满盘皆输”,因此这一关键环节必须要找个靠谱的分析方法。刚刚在Genome Biology(IF:12.3)发表的这篇文章:A comparison of marker gene selection methods for single‐cell RNA sequencing data,详细比较了各种单细胞标记基因分析方法。
标记基因的定义
标记基因是指可以用来区分细胞亚群的基因。通常,好的标记基因在不同细胞类型之间表现出较大的表达差异,典型情况下,在目标细胞类型中表现出强烈的上调,在其他细胞类型中则表现出无表达或低表达。在单细胞RNA测序数据分析中,差异表达基因是指在特定比较中表现出统计学上显著表达差异的基因,而标记基因则是用于区分细胞亚群的基因。因此,标记基因是一个比“差异表达基因”更狭窄、更具体的概念。
标记基因的选择通常是通过不同的方法和策略来实现的,这些方法可以基于差异表达分析、机器学习等计算方法。在单细胞RNA测序数据分析中,常用的标记基因选择方法包括Seurat和Scanpy等分析框架中实现的方法,或者一些专门开发的工具。标记基因的选择对于解释细胞亚群的生物学特征、指导聚类分析以及后续的差异表达分析等具有重要意义。
文章的测试
文章测试了59种选择单细胞RNA测序数据中标记基因的方法。这59种方法中,大多数方法使用某种形式的差异表达检验(DE testing),如Seurat、Scanpy、scran findMarkers()、presto、edgeR、limma。相反,其他方法使用特征选择(Feature selection),如RankCorr,预测性能(Predictive performance),如NSForest, SMaSH,替代统计(Alternative statistics),如Cepo, scran scoreMarkers(),Venice。
使用了14个真实的单细胞RNA测序数据集,包括10X Chromium,Smart-seq3,CITE-seq和MARS-seq,细胞量大约在3000到60,000个。同时,文章还使用超过170个额外的模拟数据集进行测试。
评价的策略
模拟标记基因恢复:使用模拟数据集评估各种方法在恢复已知标记基因方面的性能。
专家标记基因恢复:比较各种方法选择的标记基因与专家确定的标记基因集合,以评估方法选择的基因是否与已知的标记基因一致。
预测性能评估:通过评估方法选择的基因集合在分类器中的预测性能来比较方法的效果。
计算性能和实现质量:评估每种方法的计算效率和实现质量,包括运行时间、内存占用、易用性等方面的比较。
测试结果
模拟标记基因恢复
使用模拟场景进行测试,F1 score(召回率和准确性的组合打分)排序显示,表现最好的方法是RankCorr、基于Wilcoxon秩和检验的方法和edgeR方法。NSForest、Cepo和scran的其他二项式方法表现最差。不同分析参数对总体排名影响不大。
专家标记基因恢复
测试使用了Lawlor、Smart-seq3、pbmc3k和Zeisel四个数据集,以及对应已知的专家注释标记基因集,这些数据主要来自描述这些数据集的论文和说明文档。在四个数据集上表现最好的方法是Wilcoxon检验方法、SMaSH、RankCorr、Student 's t-test和limma。scran中的scoreMarkers()方法表现则较差。
预测性能评估
更好的标记基因集应该捕捉到更多关于每个细胞簇是属于哪种细胞的“信息”。文章通过比较分类器对多类聚类状态的预测性能来量化信息的数量,这些分类器只对这些方法选择的标记基因集进行训练。具体来说,文章为每种方法、数据集、聚类组合选择前5个标记基因。测试了三种不同的分类器:KNN分类器,SVM分类器和直接通过标记基因表达归类。
测试结果中,表现最好的方法是limma(trend)、Seurat逻辑回归、Wilcoxon检验方法和T检验方法(除Seurat的T检验),表现最差的方法包括Cepo、scran中的scoreMarkers()方法、Seurat的T检验方法、NSForest、绝对值log fold-change排序和scran的二项检验方法。
计算性能和实现质量
对于标记基因选择方法来说,速度尤其重要,因为当迭代和调整不同的数据聚类时,通常需要多次运行。总体而言,最慢的方法是edgeR方法、Seurat的NB GLM和MAST方法,以及NSForest,而最快的方法是Scanpy的大多数方法、presto、Cepo RankCorr和COSG。此外,Seurat的方法比scran和Scanpy方法慢得多。
在内测消耗方面,SMaSH方法使用的内存最多,而edgeR、limma(voom)和glmamPoi方法也是耗内存的方法,而scran方法、presto和Venice使用的内存最少。使用不同数量的细胞和细胞簇进行模拟,突出了当细胞总数很高时,edgeR、glmGamPoi和limma的内存使用量很高。
最后,对可访问性、安装、文档、易用性和输出的可解释性评估显示,Seurat、Scanpy和scran包具有出色的实现质量。相反,NSForest和RankCorr仅以Python脚本的形式发布在GitHub上,几乎没有说明文档。
最终结论
在scRNA-seq数据测试中,结果表明方法之间显著缺乏一致性,计算资源需求和预测表现存在巨大差异。基于逻辑回归(logistic regression)、学生t检验(Student’s t-test)和Wilcoxon秩和检验(Wilcoxon rank-sum test)等简单方法表现较好。相反,scran的findMarkers()、scoreMarkers()、Cepo和NSForest方法在比较中表现得很差。