目前需要做一个对GSE75214的基因的富集分析,之前做了基因ID到基因名称的转换,得到了所有的基因名称,在B站上找了一个教程,可以直接讲基因名称读入之后做GO富集分析,于是跟着教程操作了一遍。
确实可以出图!但是图上左边所有的标签都是错的,GSE75214这个是IBD肠炎的基因,但是最后做出来的所有标签都像是随机生成的,从神经系统到泌尿系统什么都有,就是没有和肠炎相关的,想问一下这个是中间哪一步错了(哭泣),感谢大佬的指点
下面附上我的代码
getwd()
rm(list=ls()) #清空环境内变量
options(stringsAsFactors = F) #避免自动将字符串转换为R语言因子
if(!requireNamespace("BiocManager",quietly=TRUE))
install.packages("BioManager")
BiocManager::install("GEOquery")
BiocManager::install("limma")
BiocManager::install("annotate")
BiocManager::install("writexl")
suppressMessages(library(GEOquery))
library(limma)
library(AnnoProbe)
library(tinyarray)
library(annotate)
#基因ID转换
rt1<-read.table("GSE75214_series_matrix.txt", header = TRUE, sep = "\t")
rownames(rt1)<-rt1[,1]
GSE_expr<-rt1[,-1]
gpl <- AnnoProbe::idmap('GPL6244')
GSE_data <- trans_array(GSE_expr, gpl)
rt2<-cbind(gene=rownames(GSE_data),GSE_data)
#富集分析
library(ggplot2)
library(clusterProfiler)
library(org.Hs.eg.db)
library(stats)
library(data.table)
library(dplyr)
library(ggpubr)
library(enrichplot)
library(stringi)
library(GOplot)
library(R.utils)
R.utils::setOption("clusterProfiler.download.method",'auto')
input <- rt2[,1]
input=unique(as.vector(input))
enterID=mget(input,org.Hs.egSYMBOL2EG,ifnotfound=NA)
enterID=as.character(enterID)
gene=enterID[enterID!="NA"]
write.table(gene,"gene.txt",quote=F,sep = "\t")
gene2=read.table("gene.txt",sep = "\t",header=T,check.names=1,row.names=1)
gene=as.vector(gene2[,1])
pvalueFiler=0.05
qvalueFiler=1
if(qvalueFiler>0.05){colorSe1="pvalue"}else{colorSe1="qvalue"}
#GO
kk=enrichGO(gene=gene,OrgDb=org.Hs.eg.db,pvalueCutoff=1,qvalueCutoff=1,ont="all",readable=T)
GO=as.data.frame(kk)
GO=GO[(GO$pvalue<pvalueFiler&GO$qvalue<qvalueFiler),]
write.table(GO,"GO.txt",sep = "\t",quote=F,row.names=F)
#显示数目
showNum=10
#绘图
pdf(file="GObarplot.pdf",width=10,height=7)
bar=barplot(kk,drop=TRUE,showCategory=showNum,label_format=80,split="ONTOLOGY",color=colorSe1)+facet_grid(ONTOLOGY~.,scale='free')
print(bar)
dev.off()
pdf(file="GObubble.pdf",width=10,height=7)
bub=dotplot(kk,showCategory=showNum,orderBy="GeneRatio",label_format=80,split="ONTOLOGY",color=colorSe1)+facet_grid(ONTOLOGY~.,scale='free')
print(bub)
dev.off()