2020-04-20 Go analysis (clusterProfile)

row.names=FALSE 行名不輸出
或者
col.names=NA

readable= TRUE #gene ID 轉(zhuǎn)換為gene symbol

############################################################################################

#若第一次使用請先安裝clusterprofile包,若已安裝請忽略此條


#               install.packages("BiocManager")    ##首先安裝BiocManager,若已安裝忽略此條
#
#               library(BiocManager)               ##加載安裝包
#
#         BiocManager::install("clusterProfiler")  ##用BiocManager安裝clusterprofiler
#
#         BiocManager::install("org.Mm.eg.db")     ##安裝注釋文件舔箭,此為小鼠的罩缴,其他物種見后文
#
#         BiocManager::install("Rgraphviz")       ## 安裝作圖包
#
#         BiocManager::install("topGO")           ##安裝topGO
#
#         BiocManager::install("pathview")       ##安裝pathview

#除注釋外,所有符號必須是半角限嫌,即英文輸入靴庆,包括括號、引號等怒医,要不然會報(bào)錯
#流程:設(shè)置工作路徑----->讀取數(shù)據(jù)------->作圖-------->調(diào)整參數(shù)------>輸出圖片/數(shù)據(jù)

############################################################################################


setwd("C:/Users/zxg/Desktop/for_zyc")   #設(shè)置工作目錄炉抒,可在頂部Session--set working directory---choose..

library(clusterProfiler)                #加載R包
library(org.Rn.eg.db)                   #加載注釋包,根據(jù)物種選擇安裝并加載
library(Rgraphviz)                      #加載作圖包
library(topGO)                          #加載GO包
library(pathview)                       #加載pathway包

x<- read.table("brain.txt",head=FALSE)    #讀取基因列表稚叹,基因ID暫定ENSEMBLE_ID,若更換類型需修改后續(xù)
genelist <- bitr(x[,1],fromType="SYMBOL", toType=c("ENTREZID"), OrgDb="org.Rn.eg.db") # id coversion

entrezid <- genelist$ENTREZID #extract entrezid

go <- enrichGO(entrezid ,              #gene list(entrez_id)
               OrgDb = org.Rn.eg.db,   #注釋信息
               ont='ALL',              #注釋方式
               pAdjustMethod = 'BH',   #富集方式
               pvalueCutoff = 0.05,    #p值設(shè)定
               qvalueCutoff = 0.2,     #q值設(shè)定
               keyType = 'ENTREZID',  #基因ID類型
               readable= TRUE)        #gene ID 轉(zhuǎn)換為gene symbol

write.table(go,file="go_AD_up.xls",sep="\t",row.names = FALSE,col.names = )

pdf("AD_up.pdf")

barplot(go,showCategory=20,drop=T,main="whole")       #整體作圖焰薄,柱圖拿诸,顯示前20,前方數(shù)字可修改
dotplot(go,showCategory=20,title="whole")             #整體作圖塞茅,點(diǎn)圖亩码,顯示前10,前方數(shù)字可修改

go.BP <- enrichGO(entrezid, OrgDb = org.Rn.eg.db, ont='BP',        #僅BP-Biological process 富集
                  pAdjustMethod = 'BH',pvalueCutoff = 0.05, qvalueCutoff = 0.2,keyType = 'ENTREZID') 

go.MF <- enrichGO(entrezid, OrgDb = org.Rn.eg.db, ont='MF',        #僅MF-Molecular function富集
                  pAdjustMethod = 'BH',pvalueCutoff = 0.05, qvalueCutoff = 0.2,keyType = 'ENTREZID') 

go.CC <- enrichGO(entrezid, OrgDb = org.Rn.eg.db, ont='CC',        #僅CC-cell component富集
                  pAdjustMethod = 'BH',pvalueCutoff = 0.05, qvalueCutoff = 0.2,keyType = 'ENTREZID') 


write.table(go.BP,file="BP.xls",sep="\t")   #BP富集信息寫入表格野瘦,用制表符分隔描沟,文件名字file=“”可修改
write.table(go.MF,file="MF.xls",sep="\t")   #MF富集信息寫入表格,用制表符分隔鞭光,文件名字file=“”可修改
write.table(go.CC,file="CC.xls",sep="\t")   #CC富集信息寫入表格吏廉,用制表符分隔,文件名字file=“”可修改


barplot(go.BP,showCategory=50,drop=T,title="BP") #BP 柱圖
dotplot(go.BP,showCategory=10,title="BP")              #BP 點(diǎn)圖
plotGOgraph(go.BP)                                     #BP 無向環(huán)圖


barplot(go.MF,showCategory=10,drop=T,title="MF") #MF 柱圖
dotplot(go.MF,showCategory=10,title="MF")              #MF 點(diǎn)圖
plotGOgraph(go.MF)                                     #MF 無向環(huán)圖


barplot(go.CC,showCategory=10,drop=T,title="CC") #CC 柱圖
dotplot(go.CC,showCategory=10,title="CC")              #CC 點(diǎn)圖
plotGOgraph(go.CC)                                     #CC 無向環(huán)圖

kegg <- enrichKEGG(entrezid ,                  #基因 entrezID
                   organism = 'mmu',           #物種名稱,去KEGG網(wǎng)站查詢惰许,人hsa席覆,大鼠rno,小鼠mmu
                                               #https://www.kegg.jp/kegg/catalog/org_list.html
                   keyType = 'kegg',           #富集類型one of "kegg", 'ncbi-geneid', 'ncib-proteinid' and 'uniprot'
                   pvalueCutoff= 0.05,         #設(shè)定p值pvalue cutoff on enrichment tests to report
                   qvalueCutoff = 0.05,         #設(shè)定q值qvalue cutoff on enrichment tests to report as significant.
                   pAdjustMethod = 'BH',       #富集方式one of "holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr", "none"
                   minGSSize = 10,             #minimal size of genes annotated by Ontology term for testing
                   maxGSSize = 500,            #maximal size of genes annotated for testing
                   use_internal_data = FALSE)  #logical, use KEGG.db or latest online KEGG data


barplot(kegg,showCategory=10,drop=T)    #KEGG 柱圖
dotplot(kegg,showCategory=10)           #KEGG 點(diǎn)圖
plotGOgraph(kegg)                       #KEGG 無向環(huán)圖
dev.off()

gsecc <- gseGO(geneList=geneList, ont="CC", OrgDb=org.Mm.eg.db, verbose=F)
gseaplot(gsecc, geneSetID="GO:0000779")


pathview(gene.data=entrezid,      #either vector (single sample) or a matrix-like data (multiple sample). 
         pathway.id = 'rno03030', #the KEGG pathway ID(s), usually 5 digit,  include the 3 letter KEGG species code
         species="rno",           # kegg code, scientific name or the common name
         limit=list(gene=max(abs(entrezid)), #a list of two numeric elements with "gene" and "cpd" as the names. 
                     cpd=1))

#######################################################################
            #物種及對應(yīng)注釋包

    #packages          organism
#org.Ag.eg.db          Anopheles
#org.At.tair.db        Arabidopsis
#org.Bt.eg.db          Bovine
#org.Ce.eg.db          Worm
#org.Cf.eg.db          Canine
#org.Dm.eg.db          Fly
#org.Dr.eg.db          Zebrafish
#org.EcK12.eg.db       E coli strain K12
#org.EcSakai.eg.db     E coli strain Sakai
#org.Gg.eg.db          Chicken
#org.Hs.eg.db          Human
#org.Mm.eg.db          Mouse
#org.Mmu.eg.db         Rhesus
#org.Pf.plasmo.db      Malaria
#org.Pt.eg.db          Chimp
#org.Rn.eg.db          Rat
#org.Sc.sgd.db         Yeast
#org.Ss.eg.db          Pig
#org.Xl.eg.db          Xenopus





最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末汹买,一起剝皮案震驚了整個濱河市佩伤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌晦毙,老刑警劉巖生巡,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異结序,居然都是意外死亡障斋,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門徐鹤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來垃环,“玉大人,你說我怎么就攤上這事返敬∷熳” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵劲赠,是天一觀的道長涛目。 經(jīng)常有香客問我,道長凛澎,這世上最難降的妖魔是什么霹肝? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮塑煎,結(jié)果婚禮上沫换,老公的妹妹穿的比我還像新娘。我一直安慰自己最铁,他們只是感情好讯赏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布垮兑。 她就那樣靜靜地躺著,像睡著了一般漱挎。 火紅的嫁衣襯著肌膚如雪系枪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天磕谅,我揣著相機(jī)與錄音私爷,去河邊找鬼。 笑死怜庸,一個胖子當(dāng)著我的面吹牛当犯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播割疾,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼嘉栓!你這毒婦竟也來了宏榕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤侵佃,失蹤者是張志新(化名)和其女友劉穎麻昼,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體馋辈,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡抚芦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了迈螟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叉抡。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖答毫,靈堂內(nèi)的尸體忽然破棺而出褥民,到底是詐尸還是另有隱情,我是刑警寧澤洗搂,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布消返,位于F島的核電站,受9級特大地震影響耘拇,放射性物質(zhì)發(fā)生泄漏撵颊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一惫叛、第九天 我趴在偏房一處隱蔽的房頂上張望锰扶。 院中可真熱鬧,春花似錦记餐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽固耘。三九已至题篷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間厅目,已是汗流浹背番枚。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留损敷,地道東北人葫笼。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像拗馒,于是被迫代替她去往敵國和親路星。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

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