![953dcb456ac35e7bbde951987b3e32d1.png](https://i-blog.csdnimg.cn/blog_migrate/96cd2dc44a872571adcfdbd0543dfb0d.jpeg)
|撰文:莫北
在文献中经常会看到一些漂亮的网络图,如下:
![1fba1ea46a539a577799e2819688a665.png](https://i-blog.csdnimg.cn/blog_migrate/6c4ba159a56da41a3699b4a42de9ebf4.jpeg)
![b0449abfc73b3eba90d82554c9846136.png](https://i-blog.csdnimg.cn/blog_migrate/950ed5b6721af7b724ae8a713c141195.jpeg)
说到网络图的绘制,大家可能首先想到的是Cytoscape,它在生物学相关的领域应用非常广泛。不过上面两篇文章的图可不是它的风格,我这里给大家推荐另一款开源软件:Gephi。
Gephi最常见是用于社交网络数据分析,如下,是我手工整理的《天龙八部》中部分人物的关系网络。我们可以看到段王爷是如何实力抢镜力压三大男主的,尽管金庸老爷子心中的男一号可能是段誉。
![850f56bbe9e308930ae8eb751bc3ad86.png](https://i-blog.csdnimg.cn/blog_migrate/cd41525a19e6110c3de15b90df7ffe61.jpeg)
除了媒体的社交网络分析,在自然科学领域,特别是微生物生态学相关的学者,像以上两个例子一样,通常更倾向于使用igraph和Gephi做微生物群落的共发生网络分析(Co-occurrence network analysis )。
当然如果你理解了网络图原理,你也可以用Gephi去展示基因互作网络、代谢网络、ceRNA网络等等。
下面就以第一篇文章网络图的数据为例,看下如何使用Gephi画图吧!
软件的安装
Gephi支持Windows、Mac、Linux三种常见的操作系统,目前官网最新的稳定版本是0.9.2,软件是储存在GitHub上,迅雷都用上了,下载速度依然比不上蜗牛爬,下个70M的软件折腾了1天。
为了避免初学者掉同样的坑,我已把下好的软件上传达到OmicShare论坛上,大家可直接戳这里下载安装。
需要注意的是,本软件的运行像Cytoscape一样也依赖JAVA,如果你的电脑没有安装较新版本的JRE,可以到官网下载安装。
另外,github也有0.9.3开发版本,我尝试了几次都没下载下来,感兴趣的话你们也可以去尝试下载。
数据准备与导入
类似于Cytoscape,网络图的数据一般有两个:边文件和点文件。
边文件,如下图,主要是由成对的节点Id构成,Sourse和Target两个点连成一条线(边),边文件中也可以加入边的描述信息,比如边的id、作用类型、权重等。
![7e022e6f39abf7a16ea4032682b07f23.png](https://i-blog.csdnimg.cn/blog_migrate/a02c98bf85af7b95b23484f4013c5cd2.jpeg)
点文件,主要是对边文件中的“点”进行描述,是点的属性文件,如下,可添加点的分组信息用于网络图的可视化。
![be3d6b76c364a3d2d77bffc4f13ea88d.png](https://i-blog.csdnimg.cn/blog_migrate/6120a87a63651ff8b52b62239b32649a.jpeg)
这两个文件中,边文件是必需要有的,它是构成网络图的核心,而点文件是非必需的。比如上文提到的《天龙八部》人物关系网络图只用到了边文件,如下。
![eb976da47175ebfbc57616899f6a2ec5.png](https://i-blog.csdnimg.cn/blog_migrate/fdbe0d9d106a3ea362c37d79bd2bd500.jpeg)
如果大家担心自己准备数据可能会有问题,可参考我这里的表头,没有数据的列,可以空着,最后另存成csv格式(逗号分隔)的文本文件。当然,Excel格式、制表符分隔的文本文件也是支持的,避免最后显示出错,这里仍推荐csv格式。
接下来,打开软件,软件安装时会自动识别系统语言,当然你可以自定义语言,因为是国外的软件,英语可能更容易理解,为避免翻译偏差我这里改成英文。
![ee564db3ab783afab91ab2256d7aae71.png](https://i-blog.csdnimg.cn/blog_migrate/286d1249a486b1a07b567f300a9644ec.jpeg)
然后通过File/Import spreadsheet导入边文件表格。
![dbd740cce26ade32e733ca45d443bf5b.png](https://i-blog.csdnimg.cn/blog_migrate/698490908b2d545edfb14487c5ef9174.jpeg)
在弹出的窗口中,如下,直接点Next按钮。
![64b2ccdd5a0e8ab4b902ec668ac580a6.png](https://i-blog.csdnimg.cn/blog_migrate/0aae73609e310f1666b9c09d29e6e884.jpeg)
接着,一些没有数据的空列可取消勾选,点finish按钮。
![bed5b2211bde889df167b27d101e6943.png](https://i-blog.csdnimg.cn/blog_migrate/ab9040d9cbad04c05a1c72dd3d1b4ae7.jpeg)
我们可以看到导入的网络共有296个节点,679个边,点OK按钮,在新的workspace中展示。
![c1d3ea9b2768f7b3335a2eab92e2b7e1.png](https://i-blog.csdnimg.cn/blog_migrate/0df825d150759d2fb882241ba1219493.jpeg)
初始效果如下:
![089968c4ac553b0797c14aae6c562952.png](https://i-blog.csdnimg.cn/blog_migrate/38919416b7fe454277d81001688258fb.jpeg)
接着,用同样的操作导入点文件表格,最后一步需要注意的是,把点文件信息导入当前的workspace中,如下。
![b8a1fbd018e044db51f9af76ada71249.png](https://i-blog.csdnimg.cn/blog_migrate/2d5e2d70a331b89b2cdad8e4fad12403.jpeg)
接着在统计选项卡下计算一下网络的属性信息,比如,平均度(Average degree)和模块化指数(Modularity),如下。
![ccad5eadbf3c697004a1dea53fb1cfff.png](https://i-blog.csdnimg.cn/blog_migrate/22ecc21667f1da63ee3cc3c8d86b70d2.jpeg)
网络图调整与导出
接着,调整点的Layout,这里改为FruchtermanReingold,参数保持默认,效果如下。
![980655b78978bf1a0c746e24cd3099e7.png](https://i-blog.csdnimg.cn/blog_migrate/aaba169acd0bcfeeccfc045ca3df1ebd.jpeg)
接着,调整点的颜色和大小。点的颜色在Partition选项下选择taxonomy列的数据,点的大小选degree,效果如下。
![d77205cb01db7ec1fd0edd0e271ddeef.png](https://i-blog.csdnimg.cn/blog_migrate/59ee634ca32db3ba1ed7e29ee905eafa.jpeg)
在Preview选项可看到这样的效果:
![83e2478ea79b815c6cd1284db5429aca.png](https://i-blog.csdnimg.cn/blog_migrate/2f9c71fc5e1e7c46ec598adf249a372e.jpeg)
点的颜色在Partition选项下选择计算得到的Modularity的数据,会按模块进行着色,得到下图的效果。
![35c1dbd5b546af12d9ac26d8f6fdf2f5.png](https://i-blog.csdnimg.cn/blog_migrate/b7f1564090eca93215d2b00044f7fd8d.jpeg)
在预览窗口设置渲染参数时如果取消勾选弯曲(Curved)选项,会得到“直直”的连线,如下。
![7691fe85b49be4effc77cecd2063adc5.png](https://i-blog.csdnimg.cn/blog_migrate/913da5be14488a6b9f779071c77e7621.jpeg)
当然,仔细调整边的粗细和点的描边大小,可得到文献范例2这样的效果。
![1c3060ba74add6fe9e706cdfdced1d3d.png](https://i-blog.csdnimg.cn/blog_migrate/265be8c62ba5985b80cd80cf52aeeecf.jpeg)
今天的内容就到这里啦!有问题也可以评论交流哦~
参考文献
[1] Barberán, Albert,Bates S T , Casamayor E O , et al. Using network analysis to exploreco-occurrence patterns in soil microbial communities[J].IsmeJournal, 2012, 6(2):343-351.
[2] Zhang B , Zhang J ,Liu Y , et al. Co-occurrence patterns of soybean rhizosphere microbiome at acontinental scale[J]. Soil Biology & Biochemistry, 2018, 118:178-186.
[3]Bastian, Mathieu,Sebastien Heymann, and Mathieu Jacomy. "Gephi: an open source software forexploring and manipulating networks." Icwsm 8 (2009): 361-362.