资源:
CellBench_data - code for the paper
现在单细胞领域的突出问题就是工具过多,但缺乏gold-standard benchmark datasets,没有一定的标准来衡量工具的好坏。
另外人们也不容易根据自己的问题来选择合适的工具,所以保险起见,现在大家都只用最有名气的那几个工具:seurat、monocle、SC3等。
算法是无穷的,随便套几个方法就能组成一个分析方法,做生物信息最大的问题就是要去理解算法,理解生物学问题,这个算法在解决生物学问题上有哪些优势和劣势。
写在前面:
这篇文章要想落到实处,就必须要解决以下的问题:
1. 单细胞的数据有哪些类型?有哪些主流的测序平台?他们各自的特点是什么?模拟的想法很好,但是很容易带来bias,反应不了真实情形。
2. 单细胞分析的主要任务是什么?有哪些最重要的生物学问题亟待解决?问题是灵活且复杂的,但基本问题只有几个。
3. 不要只做调参侠,跑完一个工具你要能解读数据,反应了什么?该算法是否完美的解决了我的问题?是否存在缺陷?在使用的时候有哪些需要特别注意的问题?就算是NCBI这么经典的BLAST都不是完全完美的。
作者用mixture control experiments的方法,来评估现存的主流的pipeline,选出了每个方面最好的工具,发在了NM上。
评估的工具类型:
3,913 combinations of data analysis methods
- normalization
- imputation
- clustering
- trajectory analysis
- data integration
评估的方法:
- Silhouette width
- Correlations
- kBET
- Overlaps
- Entropy
结果解读
scRNA-seq mixology provides ground truth for benchmarking.
- two plate-based (CEL-seq2 and SORT-seq)
- two droplet-based (10× Chromium and Drop-seq)
involved three different experimental designs with replicates, yielding 14 datasets in total
- single cells
- mixtures of single cells
- mixtures of RNA
up to five human lung adenocarcinoma cell lines
pseudo cell需要理解一下:把单细胞的RNA混合起来,或者把RNA直接按比例混合,得到不同配比的“pseudo单细胞”,这种方案适合来评估normalization and imputation。
Comparisons of normalization and imputation methods.
评估的工具list:
normalization:
- TMM
- None
- logCPM
- SCnorm
- BASiCS
- DESeq2
- Scone
- Scran
- Linnorm
Imputation:
- kNN-smoothing
- DrImpute
- SAVER
评估的方法:
- the silhouette width of clusters for all datasets (图里面的n代表了什么?known cell mixture groups,这里直接算这个score了,没有引入聚类。为什么有的不是n=13?为什么说Linnorm效果最好?)
- the Pearson correlation coefficient of normalized gene expression within each group for the RNA mixture data
结果:
normalization:Linnorm was the top performer on average, followed by scran and scone. (Linnorm是隔壁王老板的学生开发的)
Imputation:In general, imputation induces higher intra-group correlation, although considerable differences are observed depending on the normalization method chosen. 没说哪个好坏,只是说imputation确实会增加组内的相关性,但是不同情况下的imputation有一定的差异。
小知识:
The silhouette value is a measure of how similar an object is to its own cluster (cohesion) compared to other clusters (separation). The silhouette ranges from −1 to +1, where a high value indicates that the object is well matched to its own cluster and poorly matched to neighboring clusters. If most objects have a high value, then the clustering configuration is appropriate. If many points have a low or negative value, then the clustering configuration may have too many or too few clusters.
The silhouette can be calculated with any distance metric, such as the Euclidean distance or the Manhattan distance.
Comparisons of clustering methods.
评估的工具list:
- RaceID
- RCA
- Seurat
- clusterExperiment
- SC3
评价的指标:
- entropy of cluster accuracy (ECA)
- entropy of cluster purity (ECP)
- adjusted Rand index (ARI)
We consider these two metrics together to account for both under- and over-clustering, with methods that have both low ECP and low ECA having optimal cluster assignments.
结论:
没有绝对的好坏,因应用场景而异。seurat的平衡性较好,既不over也不under clustering;RaceID3则在复杂的异质性下表现更佳;SC3 under-clusters most datasets
Comparisons of trajectory analysis methods.
这部分的数据是如何模拟的,必须要知道。依然不能真正模拟真实的情况,要控制表达基因的数量,同时mix不一定是线性的,这点文章也承认了。
评估的工具list:
- Slingshot
- Monocle2
- SLICER
- TSCAN
- DPT
评估指标:
- Correlations
- Overlaps
结论:
Slingshot and Monocle2 showed robust results according to both metrics and generated meaningful representations of the trajectory, while Slingshot sometimes gave an extra trajectory path.
Comparisons of data integration methods.
batch effect correction
评估的工具list:
- MNNs
- Scanorama
- scMerge
- Seurat
- MINT
评价指标:
- silhouette width distance
- kBET acceptance rate
结论:
MNNs gave the best performance according to silhouette width distance, while Seurat had the highest kBET acceptance rate in this analysis
读这篇文章的收获:
1. 了解了目前的主流软件,以后做什么分析、用什么软件心里都有个谱;
2. 他们的数据很有用,以后开发工具可以用它来评价工具的好坏;
3. 分析代码、绘图代码都是现成的,无成本快速入门单细胞数据分析,还等什么,满满的诚意,绝不藏着掖着!
4. 危机感,再不好好搞,自己这点水平很快就被取代了。
个人点评:
这篇文章最有价值的就是模拟后测序的数据了,开发工具都知道测试数据的重要性,评价标准决定了开发工具的导向。
另一个创新就是在pipeline level来评价,我们要分析一个任务是有很多前置分析的,前置分析也会影响当下的分析,所以本文选择了随机组合的pipeline level,然后海选出最佳的组合。
但是此文的短板也很明显,除开数据,本文没有核心有价值的观点,没有针对算法的特性来点评和比较结果,只是跑出了结果,用几个僵硬的指标比了一下,技工的味道太明显。
值得深入讨论的是,这种模拟的数据到底有多大的可信度,能多大程度的反应真实的情况,是否囊括了所有的数据可能。