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

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

21a867d9-e076-47e0-bbe0-3c001071445a.png
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。

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