为什么要做大型单细胞数据分析
因为单细胞数据在呈指数增长,遇到大数据集只是早晚的问题。曾经我们困惑一个物种的基因组那么大,如果给很多物种都测基因组的话,拿什么来存储这些数据?随着单细胞技术的成熟,测序成本的下降,眼见单细胞数据通量将会呈现超指数增长。在bulk时代所几十例转录组会觉得已经做了很多了,而单细胞时代少则几千大则百万的数据量。我们不能怪时代太快,只能怪自己没有做好心理准备。
如今在生命科学研究范式里,有了数据驱动(data-driven)的选项。那么,什么是数据驱动的呢?这一概念源于现代技术的进步,不断带来大量系统、全面和深入的数据。当范式改变时,数据驱动新的科学发现,而不是相反。能够利用现有数据的研究人员能够挖掘出意想不到的、不可预测的关系和新知识。与此同时,计算能力、机器学习、人工智能和其他可用来处理这些数据的技术已经显著提高,并为那些成功将数据与自己的工作联系起来的人提供了巨大的机会。
大型单细胞数据分析,涉及到多个dataset的处理,它往往即是科学上的也是工程上的,所以有一些项目管理的原则是适用的。如大型单细胞数据分析的周期/ 交付结果 等。而我们关注的是数据分析,在单细胞数据科学中有哪些策略来应对大型单细胞数据分析呢?通常可以采用的技术有:
- 0, 降维
降维我们并不陌生,目前已经广泛地应用到单细胞转录组的数据分析流程中了,如PCA。
- 1,并行化策略
越来越多的分析工具开始允许用户适用多线程和并行化策略分析数据,如scenic的python版本以及Seurat的几个消耗资源的函数。
- 2,downsample
当我们明确了单细胞数据分析的基本单位是细胞亚群而不是单个细胞的时候,在数据分析以及可视化的过程中应用downsample在一个亚群内随机取子集的策略就会显得很自然了。特别是在绘制热图时。
- 3,pseudocell
同样地,在某细胞亚群内随机选取小子集做基因表达量的平均,也是一个数据缩减的方法。其核心依然是:保留亚群内均和亚群间差异,也即单细胞数据分析的基本单位是细胞亚群而不是单个细胞。
- 4,C++重写算法
当需要处理大型的矩阵时,如矩阵计算,转置等,不用底层语言往往会把内存吃完,特别是当我们的数据中有很多零的时候。这时,会不会底层语言就显得很重要了。
5,项目管理在数据分析中的应用
大型单细胞数据分析,其涉及到的dataset更多,分析周期也比一般的小图谱要长,所以需要一些数据管理的经验。
本文所说大型单细胞其实只是细胞数比较多,20W+,而没有涉及到单细胞多模态的数据分析。同时,数据分析的另一个趋势:机器学习,也没有提到。这并不代表它们不重要。
Svensson, V., Vento-Tormo, R. & Teichmann, S. Exponential scaling of single-cell RNA-seq in the past decade. Nat Protoc 13, 599–604 (2018). https://doi.org/10.1038/nprot.2017.149
https://www.scilifelab.se/data-driven