1、安裝bioconductor及go分析涉及的相關包
source("http://bioconductor.org/biocLite.R")
options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")
biocLite("DO.db", type = "source")
biocLite("BiocUpgrade")
biocLite('clusterProfiler')
biocLite("fastmatch", type = "source")
biocLite("gridExtra")
biocLite("ggraph")
biocLite("UpSetR")
biocLite("cowplot")
biocLite("ggridges")
biocLite("org.Hs.eg.db")
biocLite("topGO")
biocLite("Rgraphviz")
在這一步經常出現以下報錯:
報錯類型1:Warning message: In file(filename, "r", encoding = encoding) : InternetOpenUrl failed: '操作超時'。
這類報錯的解決方法就是修改鏡像。R修改鏡像步驟:
打開RStudio,依次點擊:Tools → Packages → CRAN mirror
換鏡像的原則是,哪個鏡像方便安裝哪個包就用哪個鏡像

還有第二種修改鏡像的方法就是查看R安裝在哪兒,修改Rprofile.site.
R.home()
根據上述命令指出來的路徑修改鏡像
查找X:\XXX\R-X.X.X\etc\ 路徑下的Rprofile.site文件,用記事本的方式打開,寫入如下命令:
# set a CRAN mirror
local({r <- getOption("repos")
r["CRAN"] <- "https://mirrors.ustc.edu.cn/CRAN/"
options(repos=r)})

報錯類型2:package ‘XXX’ is not available (for R version X.X.X)
解決這類報錯常見思路:1、查看安裝包名字有沒有寫錯;2、版本是太新還是太舊,一般而言,都是版本太舊導致的;3、這個安裝包是不是一個依賴包,比如"cowplot"是一個依賴於bioconductor的包,就不能直接用“install.packages("cowplot")”這種方式安裝,要先安裝好bioconductor,再安裝biocLite("cowplot");
2、go基因富集分析
如果你的原始數據為ENTREZID格式,則不需要通過bitr轉化,如果不是的話,需要通過bitr轉化為ENTREZID格式。如果你不知道啥是ENTREZID和SYMBOL,見下面的例子。
ENTREZID SYMBOL Gene name location
1501 CTNND2 catenin delta 2 5p15.2
154664 ABCA13 ATP binding cassette subfamily A member 13 7p12.3
1585 CYP11B2 cytochrome P450 family 11 subfamily B member 2 8q24.3
go基因富集分析正式開始:
install.packages(xlsx)
install.packages(readxl)
library(xlsx)
library(readxl)
model<-read.xlsx("F:/download/38gene.xlsx",1,header=F)
model<-data.frame(model)
library(clusterProfiler)
GENEID_model = bitr(model, fromType="SYMBOL", toType="ENTREZID", OrgDb="org.Hs.eg.db")
#GENID_LIST=as.vector(t(GENEID_model))
go_model <- enrichGO(GENEID_model, OrgDb = org.Hs.eg.db, ont='ALL',pAdjustMethod = 'BH',pvalueCutoff = 0.05,
qvalueCutoff = 0.2,keyType = 'ENTREZID')
write.csv((as.data.frame(go_model)),"F:/download/GENEID_model.csv",row.names =F)
###go富集結果barplot圖
barplot(go_model,showCategory=20,drop=T)
####go富集結果點圖
dotplot(go_model,showCategory=50)
###繪制GO的網絡關系圖
go.BP <- enrichGO(go_model, OrgDb = org.Hs.eg.db, ont='CC',pAdjustMethod = 'BH', pvalueCutoff = 0.05, qvalueCutoff = 0.2, keyType = 'ENTREZID')
plotGOgraph(go.BP)
###ont='CC'也可以改為ont='BP'或ont='MF'
