尔云间生信代码|眼前一亮的富集图,GO富集网络图

小伙伴们肯定接触过一些GO富集图吧,GO富集是生物研究中最常见的分析方法之一,一般来讲,拿到一些基因之后,就要富集一下,看看有哪些功能。小云就经常做GO富集图,小云最常用的就是GO富集柱状图了,有时候也会画一些气泡图,但翻来覆去就这几种图,小伙伴们会不会觉得有些枯燥呢,今天小云就给大家带来了一种另类的GO富集图,这就是今天的主角,GO网络富集图。
代码如下
library("clusterProfiler")
library("org.Hs.eg.db")
library("enrichplot")
library("ggplot2")
##ID转化
rt=read.table("symbol.txt",sep="\t",check.names=F,header=T)
genes=as.vector(rt[,1])
entrezIDs <- mget(genes, org.Hs.egSYMBOL2EG, ifnotfound=NA)
entrezIDs <- as.character(entrezIDs)
out=cbind(rt,entrezID=entrezIDs)
write.table(out,file="id.txt",sep="\t",quote=F,row.names=F)
##GO富集分析
rt=read.table("id.txt",sep="\t",header=T,check.names=F
)
rt=rt[is.na(rt[,"entrezID"])==F,]
gene=rt$entrezID
ego <- enrichGO(gene = gene,
OrgDb = org.Hs.eg.db,
pvalueCutoff =0.05,
qvalueCutoff = 0.05,
ont="all",
readable =T)
write.table(ego,file="GO.txt",sep="\t",quote=F,row.names = F)
##环形网络图
geneList <- rt$logFC
names(geneList) <- rt$entrezID
cnetplot(ego,
foldChange = geneList,
#foldChange = NULL, #不展示倍数
circular = TRUE,
#node_label = FALSE, #如果太多,就不要显示基因名了
showCategory = 4, #显示富集的term数量,默认5
colorEdge = TRUE)
ggsave("clusterProfiler_circle.pdf", width = 13, height = 11)
这样就能画出来图了

这里显示了四条GO项,右侧发散出多条线的就是了,左侧是对应的富集到的基因,不同的GO项与基因之间用不同颜色的线链接。
点的颜色体现了差异基因的差异倍数,颜色越深,表示差异倍数越大,GO项对应的点的大小表示对应的基因的数量。可以根据需要调整展示出来的GO项的数目。
好了,这就是今天小云要向大家推荐的GO富集图了,大家看一下,是不是与众不同呢,小伙伴们如果觉得还不错的话,欢迎来和小云分享讨论啊。
特别说明:本代码经申请软件著作权,仅转让使用权,不转让所有权
如需代码及示例数据等文件,请扫码聊天框回复 “代码”领取!

写在文末:
如果您近期想做生信方面的文章而苦于没有思路,或者不知道如何来入手生信分析,或者兑具体的某一个图有作图需求,都可以扫码咨询小云,我们有专业的技术团队,生信热点思路设计、生信分析、热点方向生信挖掘等,如有需要,可扫码下方二维码了解详情 !
