2.1 参考基因组及其注释
大多数scRNA-seq实验都是使用人类或小鼠组织、类器官或细胞培养物进行的。尽管这些基因组的初稿大约在20年前就已发布,但组装和注释的更新却相当频繁。有两种流行的组装文件来源:UCSC(其组装名为hg19、hg38、mm10等)和GRC(GRCh37、GRCh38、GRCm38)。UCSC和GRC组装的主要版本在主染色体上是匹配的(例如,来自hg38的chr1=来自GRCh38的chr1),但在额外的contig和所谓的ALT基因座上有所不同,这些基因座在次要版本之间会发生变化(例如,GRCh38.p13)。基因组组装通常以fasta文件的形式分发——这是一种包含序列名称和序列的简单文本文件。
基因组注释过程包括定义基因组的转录区域(基因),以及用外显子-内含子边界注释精确的转录本,并为新定义的特征分配类型,例如编码蛋白质、非编码等。下面的例子显示一个具有5个转录本的基因:3个蛋白质编码(红色)和2个非编码(蓝色)。基因组注释通常以GTF或GFF3文件格式提供,它们按层次结构组织。每个基因由一个唯一的基因ID定义;每个转录本由一个唯一的转录本ID及其所属的基因定义。外显子、UTR和编码序列依次分配给特定的转录本。
人类和小鼠基因组注释的普遍来源是RefSeq、ENSEMBL和GENCODE。RefSeq是三者中最保守的,并且每个基因的注释转录本数量往往最少。RefSeq转录本ID以NM_或NR开头,例如NM_12345。ENSEMBL和GENCODE非常相似,可以互换使用。其中基因名称以ENSG(人类)和ENSMUSG(小鼠)开头;转录本分别以ENST和ENSMUST开头。
除了基因ID之外,大多数基因还具有分配给它们的通用名称(“gene symbol”);例如,人类肌动蛋白B的ENSEMBL基因ID为ENSG00000075624,名称为ACTB。人类基因名称由HGNC定期更新和定义,小鼠基因名称由类似的联盟MGI决定。
目前ENSEMBL/GENCODE对人类基因组的注释含有大约60k个基因,其中20k是蛋白质编码基因,还有237k个转录本。大多数基因根据类型可粗略分为蛋白质编码基因、长链非编码RNA、短链非编码RNA和假基因。在更高的分辨率下,定义了超过40种类型(biotype)。基因类型注释在注释版本之间也经常发生变化。
2.2 Bulk RNA-seq和全长scRNA-seq数据的处理
Bulk RNA-seq的原始read处理通常分两个步骤完成:read比对和read计数。这两个步骤都可能严重影响单个基因的表达估计。可以针对参考基因组或转录组进行read比对。由于动物基因组中存在广泛的剪接,因此必须使用剪接感知的比对软件对基因组进行read比对;两种最流行的工具是STAR和hisat2。典型的read覆盖率如下图A所示;请注意,read覆盖率在给定基因的3’和5’端相对均匀。一些read与1个以上的位置完美比对;这些read通常被称为多比对。与转录组比对时,模糊性要大得多,因为许多转录本彼此非常相似;然而,即使在基因水平上,模糊性也是显而易见的(下图B)。
与基因组或转录组比对后,可以按基因或转录本水平汇总read计数。在基因组比对中,最简单的策略是仅计算比对到唯一位置(非多比对)并且仅与一个基因重叠的read。然而,这不可避免地会造成基因表达估计的偏差(Pachter,2011)。稍微高级一些的策略包括在比对上的基因之间分割read计数(例如,如果read与3个旁系同源基因都比对上,则每个旁系同源物获得⅓的计数)。当重叠位置位于反义链上时,链特异性RNA测序可以减少read分配的模糊性。可以有效实现上述所有计数方法的程序的一个示例是Subread包中的featureCounts。
当使用转录组比对时,read分配歧义太大,无法进行简单计数。因此,使用期望最大化(EM)算法的最大似然丰度估计来计算每个转录本和每个基因的丰度。这种方法可以将不同比例的read分配给它所比对的基因,从而大大减少与多比对相关的偏差。然后在基因水平上总结分配给转录本的read(和read分数)。实施该策略的最广泛使用和支持良好的程序是RSEM。一般来说,这是Bulk RNA测序定量最准确的方法(Pachter,2011)。
上述传统方法(比对,然后定量)的替代方法基于所谓的伪比对方法。两种常见的工具kallisto和salmon采用非常相似的方法:
- 将参考转录组拆分为k-mers并制作De Bruijn图;
- 将RNA-seq read转换为k-mers;
- 使用k-mers将read分配给一个或多个转录本(“等价类”);
- 在转录本或基因水平上总结结果计数。
期望最大化算法用于寻找比对到多个转录本的read的最佳分布。这两种工具的内存和CPU效率都极高,而且非常准确,尤其是对于双端或长单端read。伪比对不会生成比对BAM文件,因此如果需要可视化,也应单独进行比对。
关于bulk RNA测序定量,有几点需要注意。首先,通常假设测序的cDNA片段的数量与细胞中存在的RNA量成正比。因此,当使用双端read时,每个read对仅计数一次,因为它源自相同的cDNA片段。对于像人类和小鼠这样注释良好的基因组,使用单端read进行RNA测序是非常常见的。其次,在bulk RNA测序中,PCR重复通常会被忽略,而且UMI的使用也不会带来实质性的好处。几项独立研究表明,重复删除或使用UMI并不能明显提高bulk RNA测序的统计能力。
最后,虽然许多筛选差异表达的方法使用原始read计数,但在进行聚类、PCA和其他类型的探索性分析时通常使用样本内标准化。这种标准化的最流行方法是将原始read转换为TPM。转换考虑了两个偏差:1)不同样本的测序深度不同,与基因表达差异无直接关系;2)长基因预计会比短基因产生更多的cDNA片段。因此,对于TPM计算,原始read计数首先除以有效转录本长度,其定义为转录本长度-cDNA片段大小+1。此后,结果值按线性比例缩放,总计为一百万。因此,特定样本的所有TPM值的总和始终等于(约)1,000,000。
往期内容:
重生之我在剑桥大学学习单细胞RNA-seq分析——1. 单细胞RNA测序介绍(1)
重生之我在剑桥大学学习单细胞RNA-seq分析——1. 单细胞RNA测序介绍(2)