如何把從TCGA下載的HTseq count轉(zhuǎn)換成FPKM

如果你下載了TCGA數(shù)據(jù)庫里的count數(shù)據(jù)馆类,想把它轉(zhuǎn)換成FPKM應該怎么做呢?
參考文章:
1.Htseq Count To Fpkm
2.【原創(chuàng)】R語言實戰(zhàn):read counts如何轉(zhuǎn)化為TPM和FPKM, TPM和FPKM相互轉(zhuǎn)化

我主要是參考上面兩篇文章的代碼,因為這兩篇文章的代碼都不完整,但是合起來正好是一個完整的轉(zhuǎn)換過程。

首先看一下什么是FPKM吧:
FPKM (Fragments Per Kilobase Million):Fragment Per Kilobase of transcript per Million mapped reads(每1百萬個map上的reads中map到外顯子的每1K個堿基上的Fragments個數(shù))梯浪。

公式:

FPKM=  read counts / (mapped reads (Millions) * exon length) #這里的exon length的單位是kb

這里要先得到的是每個exon的長度,為了求長度瓢娜,我們先要有基因組注釋文件挂洛,你可以在這里下載:https://gdc.cancer.gov/about-data/data-harmonization-and-generation/gdc-reference-files。這是GDC官網(wǎng)里的下載網(wǎng)址眠砾,進去以后虏劲,選擇這個:

下載后解壓,這個過程就不贅述了。

計算exon長度柒巫,并且保存成dataframe

> library(GenomicFeatures)
> txdb <- makeTxDbFromGFF("h38_GENCODE_v22_GTF.gtf",format="gtf")
#通過exonsBy獲取每個gene上的所有外顯子的起始位點和終止位點励堡,然后用reduce去除掉重疊冗余的部分
#最后計算長度   
> exons_gene <- exonsBy(txdb, by = "gene")
> exons_gene_lens <- lapply(exons_gene,function(x){sum(width(reduce(x)))})

得到這個長度后,打開看一下:

看一下數(shù)據(jù)類型:

> class(exons_gene_lens)
[1] "list"
> length(exons_gene_lens)
[1] 60483  #有60483個基因

是個列表堡掏,我們需要把它轉(zhuǎn)成dataframe格式:

> exons_gene_lens1 <- as.data.frame(exons_gene_lens)
> dim(exons_gene_lens1)
[1]     1 60483

結(jié)果轉(zhuǎn)完后一看应结,長這樣:

再給它轉(zhuǎn)置一下:

> exons_gene_lens1 <- t(exons_gene_lens1)
> dim(exons_gene_lens1)
[1] 60483     1

看一下轉(zhuǎn)置之后的,順眼多了:

把count矩陣和exon長度表合并

#load my counts
> counts = read.csv("TCGA_HNSCC_original_counts.csv",header = TRUE, sep = ",")
head(counts)

看看這個count矩陣和上面我們得到的exon長度的dataframe的基因名有什么區(qū)別泉唁?這個矩陣的基因名我們是處理過的摊趾,小數(shù)點后面的都刪掉了,所以為了合并游两,exon的基因名也處理一下,另外exon長度表里的第一個基因漩绵,在我的count表里沒有贱案,總基因數(shù)差一個,所以還要把我exon長度表里的第一行刪掉:

#刪除第一行
> exons_gene_lens2 <- exons_gene_lens1[-1,]
> View(exons_gene_lens2)
> exons_gene_lens2 <- as.data.frame(exons_gene_lens2)
> rownames(exons_gene_lens2)
#把基因名的小數(shù)點后面的都去掉
> xc <- gsub("\\.(\\.?\\d*)","",rownames(exons_gene_lens2))
> xc
> rownames(exons_gene_lens2) = xc
#把exon長度表的列名設置為“Length”
> colnames(exons_gene_lens2) = "Length"
> View(exons_gene_lens2)
#合并count矩陣和基因長度的dataframe
> count_with_length <- cbind(counts,exons_gene_lens2)
> View(count_with_length)
> count_with_length <- count_with_length[,-1]

到這里止吐,我們就把count矩陣和exon表合并了宝踪,exon length是新count表里最后一列。

計算FPKM

#先把length除以1000碍扔,就是上面公式里說的單位要kb
> kb <- count_with_length$Length/1000
> kb
#把新count矩陣里的前546列的數(shù)值都除以kb
> countdata <- count_with_length[,1:546]
> rpk <- countdata/kb
> rpk
#FPKM計算
> fpkm <- t(t(rpk)/colSums(countdata) * 10^6)
> head(fpkm)
#保存FPKM矩陣
> write.csv(fpkm,file="TCGA_HNSCC_count2FPKM.csv",sep="\t",quote=F)
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載瘩燥,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。
  • 序言:七十年代末不同,一起剝皮案震驚了整個濱河市厉膀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌二拐,老刑警劉巖服鹅,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異百新,居然都是意外死亡企软,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門饭望,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仗哨,“玉大人,你說我怎么就攤上這事铅辞⊙崞” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵巷挥,是天一觀的道長桩卵。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么雏节? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任胜嗓,我火速辦了婚禮,結(jié)果婚禮上钩乍,老公的妹妹穿的比我還像新娘辞州。我一直安慰自己,他們只是感情好寥粹,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布变过。 她就那樣靜靜地躺著,像睡著了一般涝涤。 火紅的嫁衣襯著肌膚如雪媚狰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天阔拳,我揣著相機與錄音崭孤,去河邊找鬼。 笑死糊肠,一個胖子當著我的面吹牛辨宠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播货裹,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼露泊,長吁一口氣:“原來是場噩夢啊……” “哼浅悉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤蚜厉,失蹤者是張志新(化名)和其女友劉穎侦镇,沒想到半個月后塌碌,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瓤狐,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年斯撮,在試婚紗的時候發(fā)現(xiàn)自己被綠了经伙。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡勿锅,死狀恐怖帕膜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情溢十,我是刑警寧澤垮刹,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站张弛,受9級特大地震影響荒典,放射性物質(zhì)發(fā)生泄漏酪劫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一寺董、第九天 我趴在偏房一處隱蔽的房頂上張望覆糟。 院中可真熱鬧,春花似錦遮咖、人聲如沸滩字。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽麦箍。三九已至,卻和暖如春陶珠,著一層夾襖步出監(jiān)牢的瞬間挟裂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工揍诽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留话瞧,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓寝姿,卻偏偏與公主長得像,于是被迫代替她去往敵國和親划滋。 傳聞我的和親對象是個殘疾皇子饵筑,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

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