單細(xì)胞36計(jì)之31---RPKM、FPKM、TPM

31、第三十一計(jì) 美人計(jì)
以美女誘人的計(jì)策。
此計(jì)是說利用敵人自身的嚴(yán)重缺點(diǎn),己方順勢以對(duì),使其自頹自損,己方一舉得之。

基礎(chǔ)不牢,地動(dòng)山搖,單細(xì)胞有時(shí)候也要計(jì)算這些值。

簡寫

RPKM: Reads Per Kilobase of exon model per Million mapped reads (每千個(gè)堿基的轉(zhuǎn)錄每百萬映射讀取的reads)

FPKM: Fragments Per Kilobase of exon model per Million mapped fragments(每千個(gè)堿基的轉(zhuǎn)錄每百萬映射讀取的fragments)

RPM/CPM: Reads/Counts of exon model per Million mapped reads (每百萬映射讀取的reads)

TPM:Transcripts Per Kilobase of exon model per Million mapped reads (每千個(gè)堿基的轉(zhuǎn)錄每百萬映射讀取的Transcripts)

RPKM,FPKM,TPM標(biāo)準(zhǔn)化方法出現(xiàn)的必然性

RNA-Seq的分析中,為了獲得差異表達(dá)基因,只需要對(duì)不同基因的測序Read數(shù)進(jìn)行比較即可。然而比對(duì)到不同基因上的Read數(shù)目并不能直接用于比較這兩個(gè)基因的表達(dá)量差異,因?yàn)樵赗NA-seq中有一個(gè)很淺顯的道理,基因越長,比對(duì)到此基因上的Read就會(huì)越多;測序深度越大,那么本次RNA-seq的所有Read數(shù)都會(huì)增加。也就是說Read數(shù)除了和基因表達(dá)量相關(guān)外,也和 基因的長度、測序深度 有關(guān),因此為了比較多個(gè)RNA-seq重復(fù)(測序深度有一定差異)的不同基因(基因長度有一定差異)之間的表達(dá)量差異,那么就不能使用Read數(shù)直接進(jìn)行比較,而是需要對(duì)Read數(shù)進(jìn)行標(biāo)準(zhǔn)化。

FPKM

計(jì)算公式

RPKM = total exon reads/ (mapped reads (Millions) * exon length(KB))

你可以用這個(gè)公式計(jì)算基因,外顯子,轉(zhuǎn)錄本的表達(dá),這里以基因的表達(dá)為例進(jìn)行說明:

  • total exon reads:某個(gè)樣本mapping到 特定基因 的外顯子上的所有的reads;

  • mapped reads (Millions) :某個(gè)樣本的 所有 reads總和;

  • exon length(KB):某個(gè)基因的長度(外顯子的長度的總和,以KB為單位)

分析

測序read數(shù)會(huì)受到基因長度測序深度影響,解決方案如下

1、受到基因長度影響,那么將測序Read數(shù)除以基因長度就OK了;2、受到測序深度影響,那么再將Read數(shù)除以總Read數(shù)進(jìn)行標(biāo)準(zhǔn)化也就消除了測序深度的影響。

基因長度是用 kb表示的,所以RPKM中是K,Kilobase。而總Read數(shù)太大了,直接除以這個(gè)數(shù)字就會(huì)使得標(biāo)準(zhǔn)化出來的Read數(shù)出現(xiàn)太多的小數(shù),所以為了美觀,一般都是除以以百萬為單位的總Read數(shù),舉例來說,假定一次RNA-seq的總Read數(shù)為2*10^7,那么在進(jìn)行Read標(biāo)準(zhǔn)化的時(shí)候,并不是直接除以這個(gè)數(shù)值,而是除以20,因?yàn)?code>2*10^7 = 20*10^6 = 20M,所以RPKM中才是 M ,Million。

RPKM的計(jì)算方法

  1. 計(jì)算總Read數(shù):計(jì)算每一個(gè)RNA-seq樣本的總Read數(shù),然后將其換算為以百萬位單位(M);

  2. 標(biāo)準(zhǔn)化基因的Read數(shù)(消除測序深度):將所有基因的Read數(shù)除以總Read數(shù);

  3. 標(biāo)準(zhǔn)化基因長度(消除基因長度):再用標(biāo)準(zhǔn)化基因的Read數(shù)除以基因長度(基因長度單位為kb);

例子

舉例來說,假定有以下RNA-seq數(shù)據(jù),測定了A、B、C、D四個(gè)基因,長度分別是2、4、1、10kb,共測定了3個(gè)生物重復(fù):Rep1、Rep2、Rep3。

第一步,計(jì)算總Read數(shù)

由于只有4個(gè)基因,所以總Read數(shù)并沒有太大,因此使用10模擬百萬進(jìn)行總read換算。

image

第二步:標(biāo)準(zhǔn)化總Read數(shù)

將Rep1、Rep2、Rep3除以各自換算后的總Read數(shù)(也就是3.5,4.5,10.6),得到RPM,見下圖:

image

第三步:標(biāo)準(zhǔn)化基因長度

再將基因A、B、C、D的RPM值除以各自的基因長度,得到RPKM,見下圖:

image

如此一個(gè)RPKM標(biāo)準(zhǔn)化就完成了。

FPKM

其實(shí)FPKM同RPKM是一樣的,只是RPKM用于單末端測序,而FPKM用于雙末端測序。

二代測序時(shí),會(huì)將所有的DNA打成片段(fragment),然后再去測序。單末端測序時(shí),一個(gè)片段對(duì)應(yīng)一個(gè)Read,但是雙末端測序時(shí),一個(gè)片段會(huì)從兩端分別測定一次,因此這兩個(gè)配對(duì)Read對(duì)應(yīng)的是同一片段(偶爾也會(huì)有一個(gè)片段只對(duì)應(yīng)一個(gè)Read的情況,另一個(gè)Read因?yàn)槟承┰虮惶蕹騺G失了)。

區(qū)別也就在這里,對(duì)于FPKM來說,配對(duì)到同一片段上的兩個(gè)Read只會(huì)算作一個(gè)Read,也就是說FPKM是以Fragment為準(zhǔn),不以Read數(shù)為準(zhǔn),其他計(jì)算方式是完全一樣的。

補(bǔ)充:對(duì)于單末端測序, 雖然理論上FPKM等同于RPKM, 但是實(shí)際上即使是使用同一個(gè)mapping軟件得到的mapping結(jié)果, 然后再分別去計(jì)算同一個(gè)基因的RPKM (自己人工計(jì)算,或者用現(xiàn)成的一些軟件都能算) 和FPKM (用Cufflinks/Stringtie計(jì)算), 結(jié)果卻仍然是不同, 因?yàn)椴煌浖凶约旱哪P秃妥约旱囊恍﹥?nèi)在算法。)

image

TPM

分析

TPM的計(jì)算方法其實(shí)同RPKM很類似,同樣的對(duì)基因長度和測序深度進(jìn)行標(biāo)準(zhǔn)化,只不過RPKM是先進(jìn)行測序深度標(biāo)準(zhǔn)化,后進(jìn)行基因長度標(biāo)準(zhǔn)化;而 TPM是先進(jìn)行基因長度標(biāo)準(zhǔn)化,后進(jìn)行測序深度標(biāo)準(zhǔn)化 。事實(shí)證明,TPM的標(biāo)準(zhǔn)化方法更有優(yōu)勢,為何會(huì)這樣,見后述。這里先看看TPM的計(jì)算。

例子

image

第一步:進(jìn)行基因長度標(biāo)準(zhǔn)化。先將基因A、B、C、D的Read數(shù)除以各自的基因長度(基因長度單位kb),得到RPK。

image

第二歩:計(jì)算總Read數(shù)(RPK)。計(jì)算總Read數(shù),并將其進(jìn)行百萬轉(zhuǎn)換。由于基因數(shù)太少,這里是使用10模擬百萬轉(zhuǎn)換。

由于TPM先進(jìn)行基因長度標(biāo)準(zhǔn)化,所以這里的總Read數(shù)計(jì)算已經(jīng)變?yōu)榛蜷L度標(biāo)準(zhǔn)化后的Read數(shù),也就是RPK數(shù)。

image

第三步:進(jìn)行總Read數(shù)標(biāo)準(zhǔn)化。將Rep1、Rep2、Rep3的RPK除以各自的轉(zhuǎn)換后的總Read數(shù),得到TPM值。

TPM的計(jì)算方法

  1. 標(biāo)準(zhǔn)化基因長度:將所有基因的Read數(shù)除以基因長度(基因長度單位為kb);

  2. 計(jì)算總Read數(shù):計(jì)算每一個(gè)樣本的總Read數(shù),然后將其換算為以百萬位單位(M);

  3. 標(biāo)準(zhǔn)化總Read數(shù):將所有基因的Read數(shù)除以總Read數(shù);

TPM相比較RPKM,FPKM的優(yōu)勢

目前都已經(jīng)推薦進(jìn)行TPM標(biāo)準(zhǔn)化,不再使用了RPKM、FPKM了,為何會(huì)這樣?

先看看剛才的RPKM和TPM數(shù)據(jù):

將每個(gè)轉(zhuǎn)錄本的相應(yīng)RPKM和TPM值進(jìn)行加總后,可以發(fā)現(xiàn)不同轉(zhuǎn)錄本的總RPKM并不相同,而進(jìn)行TPM變換后的加總TPM值是相同的。事實(shí)上所有進(jìn)行TPM變換后的轉(zhuǎn)錄本的加總TPM值都是相同的(正常情況下,是百萬)。

image

這個(gè)差異會(huì)造成什么樣的影響呢?

由于RNA-seq就是為了通過比較不同樣本間的標(biāo)準(zhǔn)化后的Read數(shù)差異來得出基因表達(dá)量差異的結(jié)果的,那么不同樣本的加總RPKM不同,就會(huì)導(dǎo)致無法通過直接比較RPKM值確定兩者的差異。

舉例來說,在不考慮統(tǒng)計(jì)差異的情況下,以基因A為例,Rep1的RPKM值為1.43,Rep3的RPKM值是1.42,那么能說基因A在Rep1中的表達(dá)量大于Rep3中的表達(dá)量嗎?

答案是不能,因?yàn)镽ep1的總RPKM值是4.29,而Rep3的總RPKM值是4.25,雖然Rep1中基因A的RPKM大,但是Rep1的總RPKM值也是較大的(說白了,RPKM的測序深度標(biāo)準(zhǔn)化并不完善)。

而對(duì)于TPM數(shù)據(jù)就不同了,由于總TPM都是相同的,Rep1中基因A的TPM值3.33大于Rep3中基因A的TPM值3.326,所以在不考慮統(tǒng)計(jì)學(xué)差異的情況下,可以直接得出Rep1中基因A的表達(dá)量是要大于Rep3的。

參考:http://www.360doc.com/content/18/0508/22/19913717_752279133.shtml

作者:NoviceWitch
鏈接:http://www.itdecent.cn/p/1940c5954c81
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容