RNA-seq是透过次世代定序的技术来侦测基因表现量的方法,在衡量基因表现量时,若是单纯以map到的read数来计算基因的表现量,在统计上是一件相当不合理事,因为在随机抽样的情况下,序列较长的基因被抽到的机率本来就会比序列短的基因较高,如此一来,序列长的基因永远会被认为表现量较高,而错估基因真正的表现量,所以Ali Mortazavi等人在2008年提出以RPKM在估计基因的表现量。
RPKM是将map到基因的read数除以map到genome的所有read数(以million为单位)与RNA的长度(以KB为单位)。
其公式为:
其中,total exon reads / mapped reads (millions) 可以视为所有read 数中有百分之多少是map 到这个基因,然后再除以基因长度,就可以某基因得到单位长度有百分之多少的total mapped read 有表现。
以下就用一个简化的例子来说明RPKM的运用方式与概念:
假设一基因体只有两个基因,一个9 KB,一个1 KB,如今有一sample,其map 到9 KB 的read 有18 million 个,map 到1 KB 的有2 million 个,如下图所示。
对于9 KB 的基因而言,
Total exon reads=18 million
Mapped reads=18+2=20 million
Exon length=9 KB
RPKM =18/(20*9)=0.1
对于1 KB 的基因而言,
Total exon reads=2 million
Mapped reads=18+2=20 million
Exon length=1 KB
RPKM =2/(20*1)=0.1
由此我们可以知道这两个基因表现量没有差别。
假设此时我们有另一个sample,其表现如下图所示:
我们可以发现此sample中9 KB基因的read数明显比上一个sample少,如果我们计算RPKM可以得到RPKM = 9/((9+1)*9)=0.1,却与上一个sample相同,这可能是因为cDNA浓度较低或是其他sample备制过程的问题,造成整体read变少,但是对9 KB基因而言,其read数占所有read数的比例并没有发生改变,所以其表现量会和上一个sample相同。