用topGO進行GO富集分析

topGO是一個半自動的GO富集包旗吁,該包的主要優(yōu)勢是集中了好幾種統(tǒng)計檢驗的方法理肺,目前支持的統(tǒng)計方法如下:


一、安裝

BiocManager::install('topGO')
需要R的版本為>=2.10,但biocmanager安裝需要的R版本更高礁遵,現(xiàn)在應該是3.6脱惰。

二搏嗡、數(shù)據(jù)準備

富集工作主要包括3個步驟:
1、準備相關數(shù)據(jù)拉一;
2采盒、進行富集統(tǒng)計檢驗;
3蔚润、分析結(jié)果磅氨。
所以最重要的工作就是數(shù)據(jù)的準備。需要的數(shù)據(jù)包括包含全部geneID(背景基因名抽碌,一般是研究物種的全部基因)的文件悍赢,需要進行富集分析的geneID(差異表達基因或感興趣的基因)文件,還有g(shù)ene-to-GO的注釋文件货徙。

物種全部的geneID和差異基因ID比較容易獲得左权,比較費勁的是gene-to-GO文件。
topGO提供了一些函數(shù)來幫助我們自動獲取注釋信息:
annFUN.db:用于Bioconductor上有注釋包的物種的芯片數(shù)據(jù)痴颊;
annFUN.org:用于Bioconductor上有“org.XX.XX”注釋包的數(shù)據(jù)赏迟;
annFUN.gene2GO:用戶自己提供gene-to-GO文件;
annFUN.GO2gene:用戶提供的GO-to-gene文件也可以蠢棱;
annFUN.file:讀取有g(shù)ene2GO或GO2gene的txt文件锌杀。
一般Bioconductor提供的注釋物種并不多,我的方法主要是用AnnotationHub的select函數(shù)或biomaRt的getBM函數(shù)來獲取泻仙,具體操作見:https://github.com/xianyu426/gene_annotation

自己提供gene2GO文件時糕再,格式應該為:
gene_ID<TAB>GO_ID1, GO_ID2, GO_ID3, ....

三、數(shù)據(jù)導入

library(topGO)
# 讀取gene-to-GO mapping文件
gene2go <- readMapping(file = "gene-to-GO文件") # 這里我用的是物種全部的基因?qū)狦O文件
# 讀取差異基因文件
DEGs <- read.table("差異基因文件", header = TRUE)

# 定義背景基因和感興趣基因
genenames <- names(gene2go)
genelist <- factor(as.integer(genenames %in% DEGs$geneid)) 
# 這里會生成一個factor玉转,有兩個levels:0和1突想,其中1表示感興趣的基因。
names(genelist) <- genenames
GOdata <- new("topGOdata", ontology="MF", allGenes = genelist, 
              annot = annFUN.gene2GO, gene2GO = gene2go)

這樣就定義了一個topGOdata對象。

四猾担、統(tǒng)計檢驗

test.stat <- new("classicCount", testStatistic = GOFisherTest, name = "Fisher test")
resultFisher <- getSigGroups(GOdat, test.stat)
test.stat <- new("elimScore", testStatistic = GOKSTest, name = "Fisher test", cutOff = 0.01)
resultElim <- getSigGroups(GOdata, test.stat)
test.stat <- new("weightCount", testStatistic = GOFisherTest, name="Fisher test", sigRatio = "ratio")
resultWeight <- getSigGroups(GOdata, test.stat)
test.stat <- new("classicScore", testStatistic = GOKSTest, name = "KS tests")
resultKS <- getSigGroups(GOdata, test.stat)
elim.ks <- runTest(GOdata, algorithm = "elim", statistic = "ks")
allRes <- GenTable(GOdat, classic=elim.ks, KS=resultKS, weight = resultWeight,
                   orderBy = "weight", ranksOf = "classic", topNodes =10)
write.table(allRes, file = "sig_GO_result.txt",
            row.name = FALSE, col.names=TRUE)

結(jié)果可以作氣泡富集圖袭灯。

五、顯示結(jié)果

showSigOfNodes(GOdata, score(resultWeight), firstSigNodes = 10, useInfo = "all")

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绑嘹,一起剝皮案震驚了整個濱河市稽荧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌工腋,老刑警劉巖姨丈,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異夷蚊,居然都是意外死亡构挤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門惕鼓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來筋现,“玉大人,你說我怎么就攤上這事箱歧》桑” “怎么了?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵呀邢,是天一觀的道長洒沦。 經(jīng)常有香客問我,道長价淌,這世上最難降的妖魔是什么申眼? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮蝉衣,結(jié)果婚禮上括尸,老公的妹妹穿的比我還像新娘。我一直安慰自己病毡,他們只是感情好濒翻,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著啦膜,像睡著了一般有送。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上僧家,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天雀摘,我揣著相機與錄音,去河邊找鬼八拱。 笑死阵赠,一個胖子當著我的面吹牛烁落,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播豌注,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼灯萍!你這毒婦竟也來了轧铁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤旦棉,失蹤者是張志新(化名)和其女友劉穎齿风,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绑洛,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡救斑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了真屯。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脸候。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖绑蔫,靈堂內(nèi)的尸體忽然破棺而出运沦,到底是詐尸還是另有隱情,我是刑警寧澤配深,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布携添,位于F島的核電站,受9級特大地震影響篓叶,放射性物質(zhì)發(fā)生泄漏烈掠。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一缸托、第九天 我趴在偏房一處隱蔽的房頂上張望左敌。 院中可真熱鬧,春花似錦嗦董、人聲如沸母谎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奇唤。三九已至,卻和暖如春匹摇,著一層夾襖步出監(jiān)牢的瞬間咬扇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工廊勃, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留懈贺,地道東北人经窖。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓白嘁,卻偏偏與公主長得像柿扣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子姓惑,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361

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