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相同。
cited from: http://www.plob.org/2011/10/24/294.html