小编今天给大家分享的是R语言做GO富集分析相关方法,觉得有用的客官阔以看看。
百度网盘下载链接:
https://pan.baidu.com/s/1PPUW5YyJHjwxvkjmMi0Vtw?pwd=c9s8
提取码: c9s8
clusterProfiler包:功能也比较强大,主要是做GO和KEGG的功能富集及其可视化。
org.Hs.eg.db包:转换NCBI、ensemble等数据库中基因ID,symbol等之间的转换。
enrichplot包:实现多种可视化方法来解释富集结果。
4GOplot:功能富集绘图。
1、安装加载包;
if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")BiocManager::install("org.Hs.eg.db")BiocManager::install("DOSE")BiocManager::install("clusterProfiler")BiocManager::install("enrichplot")install.packages("colorspace")install.packages("stringi")install.packages("ggplot2")install.packages("digest")install.packages("GOplot")library(clusterProfiler)library(org.Hs.eg.db)library(enrichplot)library(ggplot2)library(stringi) library(GOplot)
2、设置工作路径;
setwd("D:\\demo\\GOcircos")
3、数据整理;
inputFile="input.txt"rt=read.table(inputFile,sep="\t",header=T,check.names=F)

genes=as.vector(rt[,1]) entrezIDs=mget(genes, org.Hs.egSYMBOL2EG, ifnotfound=NA) entrezIDs=as.character(entrezIDs) rt=cbind(rt,entrezID=entrezIDs) rt=rt[is.na(rt[,"entrezID"])==F,] gene=rt$entrezID
GO富集分析
GO=enrichGO(gene = gene, OrgDb = org.Hs.eg.db, pvalueCutoff =1, qvalueCutoff = 1, ont="all", readable =T) GO=as.data.frame(GO)

GO<-GO[(GO$pvalue<0.05 & GO$p.adjust<0.05),]write.table(GO,file="GO1.txt",sep="\t",quote=F,row.names = F)go=data.frame(Category = GO$ONTOLOGY,ID = GO$ID,Term = GO$Description, Genes = gsub("/", ", ", GO$geneID), adj_pval = GO$p.adjust)genelist=data.frame(ID = rt$gene, logFC = rt$logFC)row.names(genelist)=genelist[,1]circ <- circle_dat(go, genelist)termNum = 5 termNum=ifelse(nrow(go)<termNum,nrow(go),termNum)geneNum = nrow(genelist)
4、绘图、保存图片.
chord <- chord_dat(circ, genelist[1:geneNum,], go$Term[1:termNum])pdf(file="GOcircos.pdf",width = 10,height = 10.2)GOChord(chord, space = 0.001, gene.order = 'logFC', gene.space = 0.25, gene.size = 3, border.size = 0.1, process.label = 7) dev.off()

pdf(file="GOcluster.pdf",width = 12,height = 9)GOCluster(circ, as.character(go[1:termNum,3]))dev.off()

END
https://www.cloudtutu.com/
