理论 简述RPKM,FPKM,TPM

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理论 简述RPKM,FPKM,TPM相关的知识,希望对你有一定的参考价值。

参考技术A

我们之所以说测序得到的read counts并不是其mRNA丰度的忠实反映,是因为read counts的数量会受到多种因素的影响,例如:

在上图中,样本A中的基因表达量是样本B的两倍,但这是由于测序深度引起的结果,而非真实存在的差异。

在这个图里,基因X和Y的真实表达量是一致的,但是基因X的reads会比基因Y要多,这是由于基因X的基因长度较长所致的。

除了上述两个主要因素外,还会有其他因素对read counts的检测有所影响,例如 转录组的组成,GC含量,random hexamers引起的测序偏好 等等。由于上述因素的存在,导致在不同样本间使用read counts 进行比较是不太现实的,人们便提出了许多对read counts进行Normalization的方法。本文在此简单地介绍使用最为广泛却最受质疑的RPKM/FPKM,以及受到更多人认可的TPM。

从RPKM的公式中我们可以看到,RPKM对 基因长度(gene length) 及测序深度(mapped reads from library) 都进行了校正。而FPKM只是RPKM的双端测序(pair-end)版本。

TPM的计算公式如下所示:

同RPKM一样,TPM对基因的长度进行了校正,计算 比对到基因上的reads / 基因长度 得到 长度校正的表达量 reads per kilobase (RPK) 。再以文库中 RPK之和 作为Scale Factor求出TPM。

相比于RPKM使用 read counts之和 来作为文库校正因子,TPM使用 RPK之和 作为文库校正因子的好处是考虑了不同样本间的基因长度的分布。因为RPK是一个对基因长度进行校正后的表达量单位,所以RPK之和也不会再带入基因长度的bias。因此,如果需要比较的样本之间转录本分布不一致时(例如不同物种RNA-seq的比较),使用TPM是一个较佳的Normalization方案。

以下有 ABCD四个基因 ,并同时进行了 三次重复的测序(rep1,rep2,rep3) 。首先,可以看出由于 基因长度 的关系,B基因的read counts都是较其余的基因较高的(排除D而言)。其次,可以看出rep3的 测序深度 较高,得到的read counts也较多,同时还检测到其余两个重复中没有检测到的D基因(低丰度基因)。不管是测序深度还是基因长度的严重地干扰了我们对不同样本的基因表达量比较。因此,我们采用RPKM和TPM的方法进行Normalization后,再来比较其中的差异。

为了方便起见,以下的函数省略了kilo base,million base的转换

通过以上的例子,我们可以发现RPKM和TPM最重要且直接的区别就是,TPM校正后的表达量之和在不同样本中是相等的,而在RPKM中并不是。这就导致当我们使用RPKM在 样本间 进行比较的时候就不能得到可靠的结果。

虽然以上的例子较为理想化,但在进行实验时,我们认同的一个前提是不同的技术重复(例如一个细胞重复测三次)所得到的基因表达量应当是一致的。在测序的过程中或许会引入一定的误差,但这些误差是可以通过Normalization的方法在一定程度上校正回来的。简而言之,RPKM和TPM这类方法就是为了使不同样本间的总体表达量趋于一致,让不同样本间的基因表达量有可比较性,而TPM在这方面表现得较为出色,故受到学界更多的青睐。

完。

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

参考技术A

1.Read count

数值概念:比对到某基因的reads数。

用途:用于换算CPM、RPKM、FPRM等后续其他指标;同时作为基因异分析软件(如DESeq和edgeR)的输入值,也就是说差异分析的结果来自于 read count的计算,而非CPM、RPKM、 FPKM,表达定量的结果主要用于主成分分析、层次聚类分析。

2.CPM:Counts per million

数值概念:计算公式:CPM= A/mapped reads*1000000 A为比对到某基因的reads数(read count)。

用途:在某些情况下,只想了解每个基因被覆盖到的相对reads数,而不希望对其做长度校正,就会使用这个指标。

CPM只对read count相对总reads数做了数量的均一化。当如果想进行表达量的基因间比较,则不得不考虑基因长度的不同。如果进一步做长度的均一化,就得到了下面的RPKM、FPKM。

3.RPKM:Reads Per Kilobaseof exon model per Million mapped reads (每千个碱基的转录每百万映射读取的reads)

数值概念:计算公式:RPKM=(1000000*A)/( mapped reads *gene length/1000)

设A 为比对到某基因的 reads数(read count)。

RPKM法能消除基因长度和测序量差异对计算基因表达的影响,计算得到的基因表达量可直接用于比较不同样品间的基因表达差异和不同基因间表达高低的比较。

用途:用于与基因表达量相关的后期分析。基因表达趋势分析、WGCNA共表达网络构建,热图绘制等都使用。

4. FPKM : Fragments Per Kilobase of exon model per Million mapped fragments(每千个碱基的转录每百万映射读取的fragments)

FPKM意义与RPKM极为相近。二者区别仅在于,Fragment与Read。RPKM的诞生是针对早期的SE测序,FPKM则是在PE测序上对RPKM的校正。只要明确Reads和Fragments的区别,RPKM和FPKM的概念便易于区分。Reads即是指下机后fastq数据中的每一条Reads,Fragments则是指每一段用于测序的核酸片段【双端序列即使丢弃1端reads,让按照1个Fragments计算】。

以上是关于理论 简述RPKM,FPKM,TPM的主要内容,如果未能解决你的问题,请参考以下文章

RPKM, FPKM 和 TPM

39count_rpkm_fpkm_TPM

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

生物信息RPKM, FPKM和TPM

标准化之CPM/RPKM/FPKM/TPM

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