首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >视频教程-纯代码复现nature/cell大型网络图并标注模块基因

视频教程-纯代码复现nature/cell大型网络图并标注模块基因

作者头像
KS科研分享与服务-TS的美梦
发布2026-04-02 13:03:00
发布2026-04-02 13:03:00
1240
举报

致谢首先感谢ChatGPT pro对我函数无数次的测试及修正!最终促成了这个内容!

起源于五年前的一篇cell,又被唤醒于2024年的一篇nature medicine。两篇文章这个图都是关于WGCNA后续结果的展示,胜在这个网络布局很好。被无数次问道如何制作,最开始的Cell是2020年的,一直是很多人的执念,所以下定决心实现。Cell原文描述应该是使用cytoscape进行网络可视化;Nature medicine描述采用的是igraph力导向布局,但是很难直接使用igraph的默认layout得到这个结果。所以重点在于layout布局,这里我们也是利用了WGCNA下游结果((视频教程)转录组/蛋白组WGCNA分析及个性化作图---你的CNS文章值得拥有)进行展示,全程纯代码实现网络效果,包括标注module通路!

(reference:【1】Chen et al., 2020, Cell 182, 226–244 July 9, 2020 ª 2020 Elsevier Inc. https://doi.org/10.1016/j.cell.2020.06.012,

【2】https://doi.org/10.1038/s41591-023-02790-x)

在整个过程中,在网络的构建步骤,我们写了一个通用的函数,所以这个网络不仅仅只针对WGCNA结果的展示,有类似的展示比如大型基因互作展示、hdWGCNA、hotspots、NMF等等,准备需要的数据,就可以实现。这个函数网络是随机分布的,可以尝试得到自己满意的分布:

代码语言:javascript
复制
library(igraph)
library(RColorBrewer)

edge_file <- read.csv('./edge_file.csv',header = T,row.names = 1)
nodes_files <- read.csv('./gene_module.csv',header = T,row.names = 1)

#plot
#================================================================================
png("test.png", width = 1200, height = 1200, res = 150)

set.seed(12345)
ks_large_network(edge_file, nodes_files,
                          cluster_spread=0.06,
                          pull_toward_center=0.25,
                          vertex_size=3)
dev.off()

得到我们需要的网络布局之后,就可以提取坐标信息在ggplot2中进行可视化了,提取的目的主要是为了后续其他操作能够更加灵活,比如添加module通路,这里实现了纯代码添加,不需要ps/AI。

也可以自定义基因分类,像文章中那样,这网络上展示基因上下调:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 KS科研分享与服务 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档