高通量单细胞与单细胞核测序技术的出现,使得构建系统性组织图谱并应用于生物医疗问题成为可能。但数据规模的不断扩大,迫切需要可延展与高效的计算工具与之配套。
2017年,博德研究所(Broad Institute)提出建立人类免疫细胞图谱(Human Immune Cell Atlas)。这是人类细胞组图谱(Human Cell Atlas)的一个子计划,截止目前已生成有关骨髓细胞、脐带血细胞和成人循环血细胞的单细胞转录组,刻画单细胞数将近170万,测序数据超过5 TB,是迄今为止世界上最大的人类免疫学单细胞转录组数据集。如此规模的数据,为分析处理带来了两个挑战:一是没有足够的计算资源,二来大部分的分析软件对于超过100万个单细胞的数据组是束手无策的。
为应对上述挑战,2020年7月27日,哈佛大学的李博助理教授和博德研究所的Aviv Regev和Orit Rozenblatt-Rosen合作在Nature Methods杂志上发表文章Cumulus provides cloud-based data analysis for large-scale single-cell and single-nucleus RNA-seq,研发了基于云平台的大规模单细胞组数据分析框架Cumulus。
在通常的单细胞转录组测序中,实验者通过基于液滴(droplet-based)或基于孔板(plate-based)的方式抽取RNA样本,逆转录为cDNA,然后进行测序。数据分析开始于测序之后,共有三步骤:一、从测序仪中抽取序列片段;二、将序列片段映射回基因组或转录组,生成基因计数矩阵,从而获得每个细胞中不同基因的表达量信息;三、将所有样本的计数矩阵汇总起来,通过一系列的机器学习和统计分析来给出研究人员所需的生物医疗问题答案。
其中前两步可以自然地采用高通量并行计算,故而短板在于计算资源的匮乏。为解决此问题,Cumulus将这两步移植到云端进行计算。
第三步最为关键,但也因为无法直观地进行跨计算节点的并行计算,研究人员开发了基于Python语言的Pegasus高效分析软件包。Cumulus通过在云端运行Pegasus来应对第三步中的计算挑战。Pegasus的功能覆盖了常用的单细胞转录组分析任务,包括:质量控制(Quality Control)、高度可变基因(Highly Variable Genes)选取、主成分分析(PCA)、构建kNN图及以此为基础的细胞聚类、基于tSNE和UMAP的可视化、基于Diffusion Map和Force directed layout方法的单细胞转录轨迹分析、标志基因检测(marker gene detection)、细胞类型标记(cell type annotation)等。
值得注意的是,Pegasus对许多分析任务都进行了高效性方面的优化。例如在可视化算法上,Pegasus提供了基于深度学习回归算法的快速计算,在大数据集上收到很好的效果。具体来说,先采样小部分数据(比如10%),计算采样的tSNE或UMAP二维坐标,再以此为训练集去训练出一个基于深度神经网络的回归器,并用此回归器预测其余数据的二维坐标。最后,再对所有坐标进行微调,得到最终结果。如此改进,可以提升至少2倍的速度。
Cumulus还提供了基于云端的交互式数据可视化应用Cirrocumulus。Cirrocumulus可以直接读取Pegasus的输出并交互地向用户呈现其感兴趣的可视化分析结果,从而帮助用户更好的理解他们的数据。同时Cirrocumulus可以稳定的可视化百万细胞级别的数据集。
由此,通过对云端资源的利用和对分析任务的改进,Cumulus已经成为一个具有高数据延展性、低成本、用户友好度高、以及支持功能齐全的计算框架。
采用Cumulus框架后,人类免疫细胞组图谱骨髓单细胞数据的分析时间从原本在单一服务器运行需要的10天缩减到15小时,效果显著。与此同时,平均每一个样本(大约4000单细胞)的云端计算费用被控制在2美元以内。
除此之外,Cumulus框架还支持多种单细胞转录组测序协议,CITE-Seq,细胞哈希和细胞核哈希(cell hashing & nucleus hashing)以及Perturb-seq数据的分析 ,提供了基于Web前端的高用户友好度界面,从而在提升大规模单细胞组数据分析效率的同时,也降低了进行相关数据分析的学习门槛。
Table 1. Cumulus is computationally efficient and cost effective

Left columns: Total execution time on the bone marrow dataset of Cumulus, Cell Ranger + Seurat v3 or Cell Ranger + SCANPY pipeline, running on a 32 CPU thread, 120 GB memory Google Cloud virtual machine instance (Methods). Right columns: Average computational cost for running Cumulus per sample of ~4,000 cells (Methods).