字面理解:RPKM(Reads Per Kilobase Million)的分子是reads計數,分母是Kilobase和Million。故需要除以Kilobase和Million,reads對應的是RNA-seq中,某基因匹配到的reads計數,Kilobase對應的是基因的長度,而Million對應的是測序深度。
Step 1:對每個樣本的測序深度進行標準化。 在每個樣本中,計算reads總數。考慮到這裡只有4個基因,故reads總數進行尺度變換時,除以10,得到每百萬尺度變換因子。在實際測序數據歸一化時,需要將reads總數除以100萬以進行尺度變換,此為RPKM分母中每百萬尺度變換因子的由來。 將每個基因的測序counts除以每百萬尺度變換因子,實現對每個樣本的測序深度標準化。
Step 2:對每個基因的長度進行標準化。 將測序深度標準化後的每個基因counts數除以該基因的長度,得到每kb長度的counts數。
FPKM: FPKM(fragments per kilobase million)與RPKM(reads per kilobase million)尺度變換的原理相似,均是先對測序深度進行歸一化,然後對基因長度進行歸一化。兩者的區別在於RPKM是單末端RNA-seq,FPKM是雙末端RNA-seq,後者的兩個末端均可匹配到基因組,故每個DNA片段可得到2個reads。有時候雙末端中一個末端reads質量低,僅餘下一個末端具有高質量的reads。FPKM記錄的是DNA片段的軌跡,故配對的2個reads並不會被記錄兩次。
1.2 TPM(transcripts per million)TPM與RPKM和FPKM是相似的,但是其對測序深度和基因長度歸一化的順序不一致,得到的結果也略有差別。Step 1:對每個基因的長度進行歸一化。 每個基因的counts數除以其對應基因的長度,得到每kb鹼基長度的counts數。
Step 2:對每個樣本的測序深度進行歸一化。 在每個樣本中,計算每個樣本的reads總數,並將reads總數除以尺度轉換因子(考慮到基因總數為4,故除以10而不是100萬),得到每百萬變換因子。再將基因長度歸一化後的基因counts數值除以每百萬尺度變換因子,得到測序深度歸一化後的counts數據。
1.3 RPKM與TPM的比較RPKM與TPM均較正了測序深度和基因長度對基因counts數的影響,但是得到的每個樣本的總reads數不一樣。例如在RPKM結果中,rep1、rep2和rep3的reads總數分別為4.29、4.5和4.25;而在TPM結果中,rep1、rep2和rep3的reads總數均為10。
在TPM結果中:在每個樣本的reads總數相同的情況下(總體相同),更能清楚的知道,rep1中匹配到基因A的reads數比例(3.33)多於rep3中匹配到基因A的reads數比例(3.326)。
在RPKM結果中:在每個樣本的reads總數不相同的情況下(總體不相同),不能直接比較不同樣本間每個基因reads所佔的比例的大小。
利用公式轉換與推導,TPM值就是RPKM的百分比,RPKM/FPKM與TPM可以互相轉換。TPM等於該基因的FPKM佔所有基因的FPKM的總和的比例乘以一百萬,即每個樣本所有基因的TPM加和等於一百萬,類似於樣本間標準化。
參考視頻:https://www.youtube.com/watch?v=TTUrtCY2k-w&list=PLblh5JKOoLUJo2Q6xK4tZElbIvAACEykp&index=6
生信專輯 | SEER資料庫專輯 | 臨床預測模型 |
SCI期刊投稿
R語言小白專輯 | 臨床研究與meta | 文獻深度解讀