2.3 基于液滴的scRNA-seq数据的比对和定量
2.3.1 一般注意事项
单细胞RNA测序数据在许多方面与bulk RNA测序不同。大多数scRNA-seq技术生成的read序列包含三个关键信息:
- 识别RNA转录本的cDNA片段;
- 细胞barcode(CB)用于识别表达RNA的细胞;
- 唯一分子标识符 (UMI) 用于处理PCR重复read。
与bulk RNA测序相比,scRNA-seq处理的RNA量要少得多,并且进行更多的PCR循环。因此,UMI变得非常有用,并且在scRNA-seq中被广泛接受。文库测序通常采用双端测序,其中一个read包含CB+UMI,另一个read包含实际转录本序列。
典型的scRNA-seq工作流程包含四个主要步骤:
- 将cDNA片段比对到参考基因组;
- 将read分配给基因;
- 将read分配给细胞(细胞barcode分离);
- 计算独特RNA分子的数量(UMI去重复)。
该过程的结果是基因/细胞计数矩阵,用于估计每个基因在每个细胞中的RNA分子数量。
2.3.2 Cell Ranger中的read比对
Cell Ranger是处理10x Genomics Chromium scRNA-seq数据的默认工具。它使用STAR比对,对read进行剪接感知比对。此后,它使用转录注释GTF将read分为外显子、内含子和基因间区。如果read至少有50%与外显子重叠,则该read为外显子;如果read是非外显子且与内含子重合,则该read为内含子;否则为基因间区read。Read类型分配之后,进行比对质量调整:对于与单个外显子基因座比对上但也与1个或多个非外显子基因座比对上的read,则优先考虑外显子基因座,并且认为该read已可信地比对到外显子基因座,并给予最高比对质量分数。
Cell Ranger通过检查read与转录组的兼容性,进一步将高可信的外显子和内含子read与注释的转录本比对。根据read是否为正义或反义,以及是否为外显子、内含子或它们的剪接模式是否与该基因的转录兼容来对read进行分类。默认情况下,转录组read(上图中的蓝色)会进行UMI计数。
当数据来自细胞核时,很大比例的read来自未剪接的转录本并与内含子比对上。为了计算这些内含子read,可以使用选项include-introns运行“cellranger count”和“cellranger multi”流程。如果使用此选项,则任何以正义链方向比对到单个基因的read——包括上图中标记为转录组(蓝色)、外显子(浅蓝色)和内含子(红色)的read——都将进行UMI计数。包含内含子选项消除了对将整个基因体定义为外显子的自定义“pre-mRNA”参考的需要。重要的是,如果read仅与单个基因兼容,则认为该read具有唯一比对。只有唯一比对read才会进行UMI计数;多比对read会被 Cell Ranger丢弃。在Web Summary HTML输出中,结转到UMI计数的read集被称为“Reads mapped confidently to transcriptome”。
2.3.3 Cell Ranger参考基因组制备
在深入了解参考基因组处理的细节之前,重要的是要注意如何准备默认的Cell Ranger人类和小鼠参考基因组。所有版本均使用主要基因组组装版本(即没有ALT基因座)进行比对。使用可以在https://support.10xgenomics.com/single-cell-gene-expression/software/release-notes/build#header找到的脚本来过滤注释GTF文件。保留以下类型:蛋白质编码、长链非编码 RNA、反义以及属于BCR/TCR(即V/D/J)基因的所有类型(请注意,较旧的Cell Ranger参考基因组版本不包括后者)。所有假基因和小的非编码RNA都被去除。
Cell Ranger预先打包了多个版本的参考基因组;2020-A是迄今为止最新版本的参考基因组。Cell Ranger以前使用的所有单独的组装和注释组合都列在下面。预计使用每个参考基因组生成的未过滤的scRNA-seq表达矩阵包含与“Genes after filtering”列中的值相等的行数。此外,Cell Ranger还包含人类+小鼠组合参考基因组,这对于涉及人类和小鼠细胞的实验很有用。
2.3.4 Chromium版本和细胞barcode白名单
细胞barcode序列是附着在bead上的合成序列,用于识别单个细胞。唯一序列库称为白名单,取决于Chromium文库制备试剂盒版本。白名单文件可从Cell Ranger知识库获取。Chromium使用的白名单有三个:737K-april-2014_rc.txt、737K-august-2016.txt和3M-february-2018.txt。第一个列表中的CB长14bp,另外两个CB长16bp。下表提供了常见的10x单细胞测序试剂盒的细胞barcode和UMI长度以及对应的白名单文件:
Cell Ranger使用以下算法来根据白名单纠正假定的barcode序列:
- 统计白名单中每个barcode在数据集中的观测频率;
- 对于数据集中每个不在白名单中的barcode,找到汉明距离为1的白名单序列。对于每个这样的序列:
- 计算观察到的barcode源自白名单条形码且在不同碱基处存在测序错误的后验概率(基于碱基Q分数);
- 用后验概率最高的白名单barcode(超过0.975)替换观察到的barcode。
更正后的barcode用于所有下游分析和输出文件。在输出的BAM文件中,原始未校正的barcode编码在CR标签中,校正后的barcode序列编码在CB标签中。无法分配正确barcode的read将没有CB标签。如果你想知道为什么3M-february-2018.txt文件实际上包含超过600万个唯一序列,可以在https://kb.10xgenomics.com/hc/en-us/articles/360031133451-Why-is-there-a-discrepancy-in-the-3M-february-2018-txt-barcode-whitelist-找到解释。
2.3.5 UMI计数
通常所说的“UMI计数”包括read计数,然后根据UMI序列进行PCR重复去除。在UMI计数之前,Cell Ranger会尝试纠正UMI序列中的测序错误。已可靠比对到转录组的read被放入共享相同barcode、UMI和基因注释的组中。如果两组read具有相同的barcode和基因,但它们的UMI相差一个碱基(即汉明距离相隔1),那么其中一个UMI可能是由测序中的替换错误引入的。在这种情况下,支持较少的read组的UMI被更正为支持较高的UMI。
Cell Ranger再次根据barcode、UMI(可能已更正)和基因注释对read进行分组。如果两组或多组read具有相同的barcode和UMI,但基因注释不同,则保留支持read最多的基因注释进行UMI计数,其他read组则丢弃。如果最大read支持度相同,则所有read组都会被丢弃,因为无法可信地分配基因。
经过这两个过滤步骤后,每个观察到的barcode、UMI、基因组合都会被记录为未过滤的即基因细胞矩阵中的UMI计数。支持每个计数的UMI的read数也记录在分子信息文件中。
2.3.6 细胞过滤
未过滤的基因细胞矩阵包含许多实际上是空液滴的列。由于技术噪声,这些液滴中的基因表达计数不为零。然而,它们通常可以通过存在的RNA数量与真正的细胞区分开来。Cell Ranger中有两种算法实现这种细胞过滤,我们将其称为“Cell Ranger 2.2”和“Cell Ranger 3.0”过滤。
Cell Ranger 2.2在“barcode计数与每个barcode的 UMI”图中识别出了第一个“拐点”。Cell Ranger 3.0引入了一种改进的细胞识别算法,该算法能够更好地识别低RNA含量细胞群,尤其是当低RNA含量细胞混入高RNA含量细胞群中时。例如,肿瘤样本通常含有较大的肿瘤细胞与较小的肿瘤浸润淋巴细胞(TIL)混合,研究人员可能对TIL群体特别感兴趣。新算法基于EmptyDrops方法(Lun et al.,2018)。
2.3.7 基于伪比对的方法
伪比对也可用于快速量化scRNA-seq数据集。目前,有两个软件套件实现了这种方法:kallisto/BUStools和Salmon/Alevin/Alevin-fry。为了保留模块化方法,两个生态系统都引入了自己的格式用于存储定量结果:kallisto/BUStools引入了BUS(barcode、UMI和Set)文件格式(Melsted等,2019),而Alevin/Alevin-fry使用RAD格式来实现相同目的(Srivastava等,2019)。
kallisto/BUStools和Alevin/Alevin-fry都实现了各自的细胞barcode和UMI纠错和分离算法——例如,Alevin不需要(但可以使用)细胞barcode白名单。然而,与基于比对的方法最大的区别在于伪比对的准确性较低,并且包含多比对read。
kallisto/BUStools支持许多测序技术,包括CEL-seq、CEL-seq2和SMART-seq等低通量技术。可以使用kb --list打印受支持的实验的完整列表。Alevin目前仅支持两种最流行的基于液滴的单细胞方法,即Drop-seq和10x Chromium。
总体而言,kallisto/BUStools和Alevin效率极高,允许使用2-4 Gb RAM处理人类或小鼠数据集,并且速度至少比Cell Ranger快一个数量级。这两种工具还能正确处理多比对read,从而减少受影响基因的定量偏差。然而,一些出版物指出,基于伪比对的方法会错误地将保留内含子的read比对到转录组(Melsted等,2021;Srivastava等,2020)。众所周知,scRNA-seq实验,尤其是单核RNA-seq可以包含非常高比例的保留内含子的转录本。这种错误的分配使得数百个未表达的基因看起来微弱表达,这可能会严重影响下游分析,特别是marker选择(Kaminow等,2021)。因此,我们仍在努力开发至少与Cell Ranger一样准确且速度更快的方法。
2.4 STARsolo和Alevin-full-decoy:高速、高精度
STARsolo是一个独立的流程,是本章前面提到的STAR RNA-seq比对软件的一部分。它的开发目标是生成与Cell Ranger非常相似的结果,同时保持计算效率。通常,STARsolo在相同数据集上比Cell Ranger快几倍。STARsolo的UMI去重、细胞barcode分离和细胞过滤方法有意重新使用Cell Ranger的算法。从STAR 2.7.9a版本开始,STARsolo还能够正确定量多比对read,使其成为快速准确的scRNA-seq处理的非常有吸引力的选择(Kaminow等,2021)。STARsolo的另一个好处是它可以灵活地实现细胞barcode和UMI搜索:了解其在read内的相对位置和每个序列的长度,就可以处理大多数scRNA-seq方法生成的数据。
Alevin的开发人员也认识到了上述内含子read的问题,并开发了一种特殊的解决方案,即使用所谓的诱饵序列。在最近的STARsolo预印本中,带有全基因组诱饵的Alevin表现出与STARsolo或Cell Ranger非常相似的准确性(Kaminow等,2021)。
2.5 非模式生物
使用单细胞RNA测序来表征鲜为人知的多细胞生物正变得越来越流行,尤其是作为重要物种de novo基因组组装项目的一部分。这里有两点需要注意。首先,正确组装和注释良好的线粒体序列至关重要,因为线粒体read构成了每个scRNA-seq文库的很大一部分,并且广泛用于实验质量控制。最近的努力整理了许多非模型脊椎动物的线粒体序列(Formenti等,2021)。MITOS2是一个专门的服务器,可用于自动生成高质量的后生动物线粒体注释。
其次,值得注意的是,大多数de novo测序基因组的注释方法生成的基因模型不包含UTR序列。3’和5’ scRNA-seq方法的read分布都严重偏向基因的两端。因此,使用没有UTR序列的基因注释将会极大地扭曲量化和分析的结果。
2.6 小结及建议
Cell Ranger是10x Genomics提供的默认软件,它仍然是read比对和定量最广泛使用的工具。如果您缺乏生物信息学经验,或者使用Cell Ranger处理了许多其他样本,请坚持使用它。推荐使用最新的Cell Ranger版本及其附带的最新注释文件。同时,STARsolo和Alevin-full_decoy提供了巨大的计算加速和多比对的正确处理,从而减少了定量偏差,同时保持了与Cell Ranger的高度兼容性。对于有终端工具使用经验的用户来说,它们可能是最好的选择。最后,如果您正在处理注释不充分的基因组,请确保您的基因模型包含UTR,并且拥有组装良好且注释良好的线粒体。
往期内容:
重生之我在剑桥大学学习单细胞RNA-seq分析——1. 单细胞RNA测序介绍(1)
重生之我在剑桥大学学习单细胞RNA-seq分析——1. 单细胞RNA测序介绍(2)
重生之我在剑桥大学学习单细胞RNA-seq分析——2. scRNA-Seq原始测序数据处理(1)