在上篇文章中,我们着重介绍了Cell Ranger 进行基因比对的理论模型,还不太清楚的同学可以点击链接进行回顾:【 Cell Ranger 知多少(上)】
Cell Ranger 进行细胞识别的算法直接影响了我们可以获得的高质量细胞的数量及数据质量,那么本篇文章继续为大家介绍 Cell Ranger 是如何进行细胞计数回收的。
细胞识别的难点
在基于 droplet 方法的单细胞技术中,通常认为含有细胞的液滴应该含有更多的RNA,因此其在 UMI 总量上应该与空细胞(背景噪音)存在明显的区分(也就是我们常说的 barcodes 排序图上的拐点)。然而实际上微滴间不同的扩增效率会导致一些较小的细胞跟空细胞在 UMI 总数上是相近的,无法仅通过 UMI 总数很好地区分空细胞和非空细胞。尤其当样本中混杂了不同大小的细胞,例如在肿瘤样本中一般混杂着体型较大的肿瘤细胞和较小的肿瘤浸润淋巴细胞,浸润淋巴细胞则较难与空细胞区分。
为解决这一难题,Cell Ranger 的算法采用了两步法分别基于 UMI 阈值识别高 RNA 含量细胞以及基于表达谱识别低 RNA 含量细胞。
Cell Ranger 两步法
1. 第一步,选取一个 UMI 总数的阈值,所有大于这个阈值的 barcodes 被识别为细胞。这一步保证了高 RNA 含量的 barcodes 被保留。****
具体的算法是:将 UMI 计数从高到低进行排序,根据预期细胞数 N(软件默认N=3000),排名前 N 个细胞中的 99 分位 UMI 数值记为 m,将所有 UMI 计数大于 m/10 这一阈值的 barcodes 标记为高质量细胞。
2. ****剩余未通过阈值的 barcodes 则进行第二步的筛选,根据与空细胞 RNA 表达谱是否存在显著差异来回收潜在的低 RNA 含量细胞。
此算法基于 Lun et al. 2019 年发表的算法 EmptyDrops。
a. 首先选取一组低 UMI 计数的 barcodes 作为背景集(来代表空细胞),用这部分 barcodes 的表达谱构建一个“背景模型”。**
Tips:构建背景模型的 barcodes 的选取:(1)低于一个 UMI 阈值 T 的所有 barcodes,这个 T 需要足够小,使其不会包含任何真细胞(注意此阈值 T 与 m/100 阈值的区别);(2)选取的 barcodes 数量要够多,以满足一个精确的背景模型计算。
具体的算法先计算了背景集所有 barcodes 中每个基因的 UMI 总数,接着使用 Good-Turing smoothing 算法为所有的基因估算一个非零的概率(此算法的优势在于也可为那些没有在背景集中被检测到基因进行估算,而这些基因可能会出现在真细胞的数据中),现在就得到了这个关于各个基因 UMI 计数的多项分布模型。
b. 接着将在第一步骤中所有未被标注为高质量细胞的 barcodes 依次和背景模型相比较,那些与背景模型存在显著差异的细胞会被回收到高质量细胞的行列。
具体的计算采用了 Monte Carlo 方法,在背景模型中进行随机抽样,通过多次循环模拟计算得到某一 barcodes 计数的 p 值。
图解实例
下图是一群高 RNA 含量的 293T细胞和一群低 RNA 含量的 PBMC 细胞的混合样本数据。可以看到在被标记为高质量的部分出现了两个群体(由第一个拐点A 大致分开),在第二个拐点 B 附近的区域同时包含空细胞和高质量细胞,这部分细胞即为从第二步中回收出的细胞,图片中颜色的深浅代表了局部高质量细胞的比例。
所有被回收的高质量细胞的矩阵,会被输出到 filtered_feature_bc_matrix 文件夹中,根据矩阵信息进行下游分析。以上就是 Cell Ranger 进行细胞计数并回收的基本原理,你 get 了吗?相对而言,本篇文章中的原理可能晦涩难懂了些,不完全理解也没有关系。下篇文章,我们重点对 Cell Ranger 输出的结果进行解读,相信一定能解开很多人的心头困惑,敬请期待吧~