RPKM/FPKM/TPM在RNA-seq分析中的標準化流程

在RNA-seq的分析中,需要對基因或者轉錄本的read counts數進行標準化過程。因為落在一個基因區域內的read counts取決于基因長度和測序深度。當基因長度越長,測序深度越深,則落在該基因的read counts越多。
當進行基因差異表達的分析時,往往是在多個樣本中比較不同基因的表達量,如果不進行數據標準化,比較結果則是沒有意義的。
常用的三種標準化分析是RPKM (Reads Per Kilobase Million)、FPKM (Fragments Per Kilobase Million) 和 TPM (Transcripts Per Million)

為了更清楚的展示計算過程,我們用三個樣本的4個基因的read counts矩陣做例子(來源于YouTube)。如表1:


表1

可以清楚地看到,樣本3的4個基因read counts數目明顯多于其他兩個樣本,說明其測序深度較高,基因B的長度的基因A的兩倍,也使得其read counts在三個樣本中都高于A。
1、RPKM/FPKM
RPKM和FPKM的計算過程相同,都是先將測序深度標準化,再對基因長度標準化。
第一步:先將測序深度標準化,分別計算出每個樣本的總reads數(為了使數值可讀性更好,下面的計算中我們用10代表million),然后將表中數據分別除以總reads數即可,這樣就得到了reads per million. 如下表2:


表2

第二步:基因長度的標準化。將表2的read per million直接除以基因長度即可,如表3:
表3

這里,就算出來RPKM值的結果,FPKM和RPKM的定義是相同的,唯一的區別是FPKM適用于雙端測序文庫,而RPKM適用于單端測序文庫。FPKM會將配對比對到一個片段(fragment)上的兩個reads計算一次,接下來的計算過程跟RPKM一樣。
2、TPM
TPM的計算過程與RPKM相反,即先標準化基因長度,再標準化測序深度。仍以表1的那個例子來說明TPM是計算過程。
第一步:直接除以基因長度,得到reads per kilobase,如表4:


表4

第二步:標準化測序深度時,總的reads數要用第一步中除過基因長度的數值。即第一樣本除以15,第二個樣本除以20.25,第三個樣本除以45.1 。表5就是TPM的結果。


表5

鏈接:http://www.lxweimin.com/p/ffa45423e01c

補充:
因為科研過程中需要將counts值轉換為FPKM值計算,所以對FPKM這一部分進行一下補充

圖片.png

對數量級的理解
圖片.png

要求出FPKM值,需要獲得三個參數。
cDNA Fragments:為單個基因比對到基因組上的reads數,在測序數據里就是count值。HTseq處理后可以直接得到的結果。
Mapped Fragments:指每個樣品中所有基因比對到基因組上的reads數。也就是用求和函數sum()將單一樣品的count值全部加起來。注意,由于單位是百萬,所以求和后需要除以10^6。
Transcript Length:也就是exon length,是指reads比對到基因外顯子上的長度。這個需要找到參考基因組才能獲得數據。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容