一文了解Count逸绎、FPKM妖滔、RPKM、TPM | 相互間的轉(zhuǎn)化 | 收藏教程

PS:如果你需要本教程的練習(xí)代碼和文檔桶良,可以在公眾號回復(fù)“20220122”即可獲得。


前言:

今早看到一篇博文沮翔,提到了FPKM與TPM間轉(zhuǎn)化陨帆。我自己也系統(tǒng)的再次進(jìn)行整理一下(PS:自己前期的基礎(chǔ)不是很牢固曲秉,基本只是使用Count和FPKM,其它的表達(dá)豐度基本沒涉及)疲牵。因此承二,本教程博文也是自己的一個(gè)學(xué)習(xí)筆記。也是結(jié)合很多篇博文組裝出來的纲爸,記錄記錄:ヰ!识啦!

---- Du


?轉(zhuǎn)錄組使用hisat2比對后负蚊,我們會(huì)使用featureCounts、HTseq-count等軟件計(jì)算每個(gè)基因Count值(每個(gè)基因比對上的reads數(shù))颓哮,count值是最原始的家妆,也是最接近真實(shí)的基因表達(dá)情況,是沒被標(biāo)準(zhǔn)化的數(shù)值冕茅,因此伤极,很多的差異表達(dá)分析,輸入文件(input data)使用Count值姨伤。以及哨坪,后面所有的FPK、RPKM乍楚、TPM等都是依據(jù)Count值轉(zhuǎn)換出來的当编。

?計(jì)算FPKM值,可以根據(jù)Count值進(jìn)行計(jì)算炊豪,此步需要我們后期自己計(jì)算凌箕,但也是使用Stringtie軟件進(jìn)行計(jì)算。該軟件也可以使用其腳本prepDE.py進(jìn)行轉(zhuǎn)化词渤,由FPKM To Count牵舱,使用也是相對比較方便。詳情到網(wǎng)址:StringTie (jhu.edu) - http://ccb.jhu.edu/software/stringtie/index.shtml?t=manual


Count

定義:高通量測序中比對到exon上的reads數(shù)缺虐∥弑冢可以使用featureCounts、HTseq-count等軟件進(jìn)行計(jì)算高氮。

優(yōu)點(diǎn):可以有效說明該區(qū)域是否真的有表達(dá)及真實(shí)的表達(dá)豐度慧妄。能夠近似呈現(xiàn)真實(shí)的表達(dá)情況。

缺點(diǎn):由于exon長度不同剪芍,難以進(jìn)行不同exon豐度比較塞淹;由于測序總數(shù)不同,難以對不同測序樣本間比較罪裹。


FPKM

FPKM: FPKM的全稱為Fragments Per Kilobase Million饱普,F(xiàn)ragments Per Kilobase of exon model per Million mapped fragments(每千個(gè)堿基的轉(zhuǎn)錄每百萬映射讀取的fragments)运挫。通俗講,把比對到的某個(gè)基因的Fragment數(shù)目套耕,除以基因的長度谁帕,其比值再除以所有基因的總長度。注意冯袍,這里的基因長度是指基因外顯子的總長度匈挖。


RPKM

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

FPKM與RPKM的區(qū)別

RPKM通常用于單端測序康愤,F(xiàn)PKM常用于雙端測序

如果是單端測序儡循,那么一個(gè)fragmetns就對應(yīng)了一條read,如下所示:

如果是雙端測序翘瓮,那么一條fragments就對應(yīng)兩條reads贮折,當(dāng)然,有時(shí)候雙端測序也有可能出現(xiàn)一條fragment對應(yīng)一條read(另外一條read有可能會(huì)因?yàn)橘|(zhì)量低而被剔除)资盅,F(xiàn)PKM就保證了调榄,一條fragment的兩條reads不會(huì)被統(tǒng)計(jì)2次,如下所示:

FPKM是以fragment為準(zhǔn)呵扛,而不是以reads數(shù)為準(zhǔn)每庆,它們的計(jì)算方式是一樣的


RPM

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

公式:RPM = ExonMappedReads * 10^6 /TotalMappedReads

優(yōu)點(diǎn):利于進(jìn)行樣本間比較。根據(jù)比對到基因組上的總reads count今穿,進(jìn)行標(biāo)準(zhǔn)化缤灵。即:不論比對到基因組上的總reads count是多少,都將總reads count標(biāo)準(zhǔn)化為10^6蓝晒。sRNA_seq等測序長度較短的高通量測序經(jīng)常采用RPM進(jìn)行標(biāo)準(zhǔn)化腮出,因?yàn)閟RNA長度差異較小,18-35 nt較多芝薇,所以長度對不同的small RNAs相互比較影響較小 (優(yōu)點(diǎn):計(jì)算簡單胚嘲、方便。)洛二。

缺點(diǎn):未消除exon長度造成的表達(dá)差異馋劈,難以進(jìn)行樣本內(nèi)exon差異表達(dá)的比較。


TPM

定義:TPM的全稱為Transcripts per million晾嘶,Transcripts Per Kilobase of exon model per Million mapped reads (每千個(gè)堿基的轉(zhuǎn)錄每百萬映射讀取的Transcripts)

解釋:Ni為比對到第i個(gè)exon的reads數(shù)妓雾;Li為第i個(gè)exon的長度;sum(N1/L1+N2/L2 + ... + Nn/Ln)為所有 (n個(gè))exon按長度進(jìn)行標(biāo)準(zhǔn)化之后數(shù)值的和垒迂。


獲得gene外顯子長度!

library(GenomicFeatures)
## 導(dǎo)入gff3文件
txdb <- makeTxDbFromGFF("ITAG4.1_gene_models.gff", format = "gff")
## 獲取外顯子位置
exons_gene <- exonsBy(txdb, by = "gene")
## 去除外顯子重疊部分械姻,計(jì)算外顯子長度
exons_gene_len <- lapply(exons_gene,function(x){sum(width(reduce(x)))})
exons_gene_len <- as.matrix(t(exons_gene_len))
write.csv(exons_gene_len,"tomato_gene_length_4.1.csv", row.names = T)

我使用番茄基因組4.1的注釋文件,但是提取只得到100多個(gè)基因的外顯子長度机断,不知道是哪一步出現(xiàn)問題楷拳。你可以使用你的物種注釋文件操作一下材部。如果你會(huì)寫編程,也是使用腳本進(jìn)行提取唯竹,也是相對容易的循環(huán)就可以提取得到。


Code | 各表達(dá)量間的轉(zhuǎn)化

countToTpm <- function(counts, effLen)
{
rate <- log(counts) - log(effLen)
denom <- log(sum(exp(rate)))
exp(rate - denom + log(1e6))
}

countToFpkm <- function(counts, effLen)
{
N <- sum(counts)
exp( log(counts) + log(1e9) - log(effLen) - log(N) )
}

fpkmToTpm <- function(fpkm)
{
exp(log(fpkm) - log(sum(fpkm)) + log(1e6))
}

countToEffCounts <- function(counts, len, effLen)
{
counts * (len / effLen)
}

# An example
################################################################################
cnts <- c(4250, 3300, 200, 1750, 50, 0)
lens <- c(900, 1020, 2000, 770, 3000, 1777)
countDf <- data.frame(count = cnts, length = lens)

# assume a mean(FLD) = 203.7
countDf$effLength <- countDf$length - 203.7 + 1
countDf$tpm <- with(countDf, countToTpm(count, effLength))
countDf$fpkm <- with(countDf, countToFpkm(count, effLength))
with(countDf, all.equal(tpm, fpkmToTpm(fpkm)))
countDf$effCounts <- with(countDf, countToEffCounts(count, length, effLength))

參考:

關(guān)于readsCount苦丁、RPKM/FPKM浸颓、RPM(CPM)、TPM的理解

RNA-Seq的count旺拉、RPKM/FPKM产上、CPM、TPM的關(guān)系

RPKM, FPKM and TPM, clearly explained | RNA-Seq Blog

StatQuest學(xué)習(xí)筆記24——RPKM FPKM TPM

如何優(yōu)雅的統(tǒng)計(jì)基因外顯子長度

Htseq Count To Fpkm | KeepNotes blog


“小杜的生信筆記”公眾號蛾狗、知乎晋涣、簡書平臺,主要發(fā)表或收錄生物信息學(xué)的教程沉桌,以及基于R的分析和可視化(包括數(shù)據(jù)分析谢鹊,圖形繪制等);分享感興趣的文獻(xiàn)和學(xué)習(xí)資料留凭!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末佃扼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蔼夜,更是在濱河造成了極大的恐慌兼耀,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件求冷,死亡現(xiàn)場離奇詭異瘤运,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)匠题,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門拯坟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人梧躺,你說我怎么就攤上這事似谁。” “怎么了掠哥?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵巩踏,是天一觀的道長。 經(jīng)常有香客問我续搀,道長塞琼,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任禁舷,我火速辦了婚禮彪杉,結(jié)果婚禮上毅往,老公的妹妹穿的比我還像新娘。我一直安慰自己派近,他們只是感情好攀唯,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著渴丸,像睡著了一般侯嘀。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谱轨,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天戒幔,我揣著相機(jī)與錄音,去河邊找鬼土童。 笑死诗茎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的献汗。 我是一名探鬼主播敢订,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼雀瓢!你這毒婦竟也來了枢析?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤刃麸,失蹤者是張志新(化名)和其女友劉穎醒叁,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體泊业,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡把沼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吁伺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饮睬。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖篮奄,靈堂內(nèi)的尸體忽然破棺而出捆愁,到底是詐尸還是另有隱情,我是刑警寧澤窟却,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布昼丑,位于F島的核電站,受9級特大地震影響夸赫,放射性物質(zhì)發(fā)生泄漏菩帝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望呼奢。 院中可真熱鬧宜雀,春花似錦、人聲如沸握础。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽禀综。三九已至郎哭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間菇存,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工邦蜜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留依鸥,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓悼沈,卻偏偏與公主長得像贱迟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子絮供,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容