RNA-Seq 数据的定量之RPKM和FPKM

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RNA-Seq 数据的定量之RPKM和FPKM相关的知识,希望对你有一定的参考价值。

参考技术A

我们在 BBQ-34 的时候讨论过RNA-Seq的方法论相关的问题,就是RNA-Seq的基本假设是什么?简单来说就是 细胞/组织/个体 的两种不同状态进行比较 ,比较的目的就是寻找差异表达gene,然后从差异表达gene来推断造成生理状态不同的原因。

而我们的RNA-Seq一般情况下是针对mRNA以及带polyA的lncRNA进行建库测序分析的。那么理论上把测序的FASTQ文件mapping到参考基因组上,再结合参考基因组的GTF/GFF文件就可以找到全基因组的每一个gene上mapping到了多少个reads count。

拿到了reads count以后,我们就会尝试着想要比较gene之间的表达量的关系,但是这时候往往会面临两个问题,举个例子:

在面临这些比较问题的时候,我们就需要对mapping到gene的reads count进行矫正,至少根据问题1我们知道应该在矫正的时候考虑过gene长度的问题;根据问题2,我们大概应该能够猜想到,矫正的时候应该需要考虑整体测序量的问题。到此,RPKM和FPKM这两个指标就应运而生了。

RPKM = Reads Per Kilobase per Million mapped reads

假设回贴到geneA 的 reads count为 CountA,geneA的exon总长度为Len(A) Kbp,总的测序量为D兆reads,那么:

那么什么是FPKM呢?先来看一下FPKM的定义:

FPKM = Fragments Per Kilobase per Million mapped reads

大家可以比较清楚看出来,RPKM中的R指的是Reads,FPKM中的F是指Fragments,Reads都比较好理解,就是我们的测序短的片段,那么fragment是什么呢?这是以为我们现在测序一般来说都是测双端测序(paired-end sequencing),那么在mapping回参考基因组的时候就会有两条reads,分别是read1和read2,分别来源于建库打断的5\' 端和3\'端。那么这2条reads就可以在参考基因组上确定1个小的片段,这个片段就叫fragment(图2所示)。

所以,如果是现在最常用的双端测序,1个gene的FPKM应该等于RPKM / 2。

因为现在使用Illumina测序平台,绝大多数的测序都是使用双端测序,那么基本上我们一般对gene进行定量都是使用FPKM来进行。FPKM的优点大家都很了解了,能够矫正掉gene长度以及测序深度对gene表达定量的影响,那么FPKM的缺点大家是否熟悉呢?

一个比较容易被人提及的问题是对于不同批次测序的结果,所有gene的FPKM的总和不是一个固定的值。比如WT 测的所有gene的FPKM总和可能是10000,treat组测到的FPKM总和可能是15000,这样对于WT和treat组之间的差异表达gene的寻找就有可能出现问题,这个时候就需要用到我们常用的另一种矫正方法TPM。

好了,相信通过今天的介绍,大家能够对FPKM与RPKM有一个比较清楚的认识了。我做一个简单的小提问:请用最简单,最直白的语言描述“geneA的FPKM是10”的测序意义

RNA-Seq 数据的定量之RPKM和FPKM https://zhuanlan.zhihu.com/p/51864573

转录组数据定量归一化

参考技术A

经常看到类似的提问:转录组测序分析中FPKM和TPM哪个归一化方法好? 我并不盲从,此前一直使用FPKM,Nature、Science和Cell文章都能看到FPKM的身影。不过我最近对转录组定量归一化方法有了新的认识,借此机会同大家分享几种归一化方法的异同和分析工具。

目前,转录组测序(RNA-seq)分析是非常成熟的研究手段,有众多分析工具和方法供大家使用,其中,对基因或转录本的读段数目(read count)进行归一化是一个非常重要的分析过程,如何对基因区域进行准确的定量和归一化,是大家十分关心的核心问题之一。

无疑,转录组测序双端数据分析中,目前FPKM是最常用的归一化方法,那FPKM归一化方法是最准确的吗?随着生物信息分析技术的快速发展,FPKM或许已经是“明日黄花”。

总的来说,传统的转录组定量方法是相对定量,一个基因的定量结果很大程度上会受到基因的长度和测序深度的影响。基因长度越长、测序深度越高,得到该基因的read counts就越多,相对表达水平也越高。所以,在进行下游分析的时候,例如聚类、主成分分析,如果不进行数据归一化直接使用原始read count,简直就是耍流氓。

因此,表达量归一化的精确计算需要同时考虑基因长度、测序深度等信息。

下表列举了不同组学数据分析的归一化方法:

早期,RNA-seq测序为单端测序,一般使用最为经典的RPKM(Reads Per Kilobase Million)进行数据归一化,俨然转录组归一化界的老大哥,不仅在转录组领域占有一席之地,而且在表观数据归一化方面也有较为广泛的应用;而当前FPKM作为最常用的双端数据归一化方法走向了台前,FPKM兼顾了基因的长度和深度信息使得数据归一化更为准确。

RPKM公式如下

其中,nr是比对到基因的read counts; L是基因的外显子长度之和除以1000;N是总有效比对到基因组的read counts。

FPKM公式如下:

其中,nf是比对到基因的插入片段数目,其余参数与RPKM一致。

然而,金无足赤,作为老戏骨的FPKM有一个明显的缺点是不同样本/批次数据的归一化数值总和不一致,那么在进行下游分析时就会出现问题。

小鲜肉儿,TPM(Transcripts Per Million)正是为了解决该问题而生。为了保证比较组样本间的归一化数值总和相同,即TPM总和为1M,所以可以直接TPM对样本进行比较,定量效果更为理想,总而言之TPM并非靠脸吃饭。

TPM公式如下

Ni为比对到第i个exon的reads数目;Li为第i个exon的长度;sum(N1/L1+N2/L2 + ... + Nn/Ln)为所有 (n个)exon按长度进行标准化之后数值之和。

由于基因长度和转录本丰度各异,RPKM和FPKM直接使用read counts或fragment counts会对归一化带来偏差,TPM之所以更加有效是因为,它不是直接除以有效比对的read counts总数,而是除以经过基因长度归一化后的read counts总数,故使用TPM对定量归一化更加合理和科学。

既然TPM更加优秀,那么众多科研工作者还在普遍使用RPKM/FPKM归一化方法呢,主要原因有:

通常,定量之前需要利用二代数据进行转录本的组装,常用的软件有 Cufflinks StringTie ;如果有参考基因组测序reads可以直接进行比对和定量以及归一化,如 RSEM eXpress 软件。

当然还有不依赖于参考基因组比对后组装的软件,直接使用reads进行转录本组装定量,如 Sailfish Salmon quasi-mapping kallisto

以上具体软件的使用和适用条件,大家可自行阅读参考资料5对应的良心文章。

TPM值简要计算思路如下:

既然TPM归一化方法更好,是不是要采用TPM数值作为输入来进行差异表达分析呢?

其实,现有的差异分析软件往往并不支持归一化的数据作为输入来进行差异比较,几乎所有软件都使用raw read count作为输入,内部进行归一化和统计检验。常用的差异表达分析软件有基于read count的 DESeq2 limma edgeR ,和基于转录本组装的 Cuffdiff Ballgown sleuth

回到刚才的问题,TPM是对单个样本在组内进行的归一化,差异分析是寻找不同样本之前相同基因的表达差异,不是同一个层面的问题。归一化后的数据集更为集中、数值变小,导致样本间的差异本身被人为缩小,很可能带来没有差异表达基因的后果,导致错误的分析方法。

另外,比较不同样本间同一基因的read count只需要平行比较组间的数据即可,不需要考虑基因长度的影响,也不需要对单个样本内的数据进行归一化。

转录组数据定量归一化方法有很多,经典的RPKM/FPKM因其本身固有的缺陷,越来越多的学者采用TPM这一冉冉升起的新星,大有取而代之的势头。

其实,不管TPM、RPKM还是FPKM都是相对定量的归一化方法。定量的前提需要样本的表达量变化比较稳定,不能出现整体的上调或下调,或者个别基因表达量发生剧烈变化,否则定量归一化方法可能会失效。

另外,传统转录组测序在信息分析过程中通常不会去除duplicate reads,因为根本不知道这些reads是多个表达拷贝的结果,还是文库构建中PCR duplication产生的结果。为了在源头实现精确定量,可以在reads中追加序列唯一的UMI(Unique Melocular Identifier)分子标签,这样携带相同UMI标签的reads认为是duplicate reads,保留一条质量值最高的read即可,从而实现较为准确的绝对定量。

转录组测序的终极目的是基于表达量来发掘背后的生物学问题,问题是表达量真的准确吗?

序列偏好、cDNA反转录、文库PCR扩增、测序扩增等都会增加解读数据的难度。如何解释常规转录组数据面需要解决的问题比较多,不仅仅是定量这一个方面。

忽如一夜春风来,最近各个科服大厂都在讨论转录组UMI定量的事情。UMI正如火如荼的使用在单细胞转录组的研究中,同时整合barcode、UMI信息对单细胞数据进行解读。

早在2012年,关于digital转录组UMI定量的文章就已发表,作者系统的讨论了UMI或barcode序列的设计思路、性能验证等工作。总之,UMI定量更加准确、测序序列可以相互校正从而提高序列准确性,更重要的是对于低拷贝转录本的定量也更为准确。

建库定量示意图如下

基于二代测序免不了进行转录本组装,组装过程可能引入组装错误或剪切体的丢失。而三代测序所测即所得的特点则不存在上述问题的困扰,与UMI/barcode相结合不失为一种更高效的思路,以市面上比较流行的PacBio三代测序平台为例,在克服转录本产出低、片段选择等问题后其转录本准确定量则水到渠成。

1. RPKM: Reads Per Kilobase Million
2. FPKM: Fragments Per Kilobase Million
3. TPM: Transcripts Per Millon
4. RPM: Reads Per Millon
5. RPGC: Reads Per Genomic Content, defined as total number of mapped reads * fragment length) / effective genome size
6. BPM (per bin): number of reads per bin / sum of all reads per bin (in millions)
7. SRPBM: Spliced Reads per Billion Mapping, defined as number of circular reads / (number of mapped reads * read length )
8. fragment: region between read1 and read2
9. UMI: Unique Melocular Identifier

以上是关于RNA-Seq 数据的定量之RPKM和FPKM的主要内容,如果未能解决你的问题,请参考以下文章

RNA_Seq分析中的标准化(reads_count,FPKM, RPKM, TPM)

RNA-Seq分析|RPKM, FPKM, TPM, 计算对比

RNA-Seq分析RPKM, FPKM, TPM, 傻傻分不清楚?

生物信息RPKM, FPKM和TPM

转录组表达定量- Read count?CPM? RPKM? FPKM?

RNA-seq中的那些统计学问题(二)FPKM/RPKM之外的那些标准化方法