欢迎光临散文网 会员登陆 & 注册

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

2022-10-21 14:35 作者:尔云间  | 我要投稿


小伙伴们肯定接触过一些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富集图了,大家看一下,是不是与众不同呢,小伙伴们如果觉得还不错的话,欢迎来和小云分享讨论啊。

特别说明:本代码经申请软件著作权,仅转让使用权,不转让所有权

如需代码及示例数据等文件,请扫码聊天框回复 “代码”领取! 



写在文末:

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



尔云间生信代码|眼前一亮的富集图,GO富集网络图的评论 (共 条)

分享到微博请遵守国家法律