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'