使用 MENA 和 Gephi 作分子生态网络分析(Molecular Ecological Network Analysis)图
文章目录
简单介绍
生物之间相互作用比如竞争、合作、共生等;由于进化生物之间存在某种系统发育关系,这些联系都能描述为生态网络,在生态网络中,每一个元素(生物或基因)可以描述成网络中的一个节点,他们之间的关系能描述成网络中的边。随着高通量测序、基因芯片等技术的发展,研究人员可以得到了空前庞大的数据量,而利用微生物16S测序数据得到的OTU丰度矩阵也可以进行网络分析,探究不同操作单元之间的互作关系。
什么是MENA
一个可以利用OTU数据进行在线分子生态网络分析的网站。
什么是Gephi
做关系网络图的软件,有可视化页面,基于Java的,不知道没装java能不能用,我之前装了而且配置过环境变量,然后Gephi打开就是能用的。
准备数据
网络分析的输入数据为OTU丰度矩阵,每一行对应一个OTU,每一列对应OTU在不同样品中的丰度,如下图
MENA网站登录和使用
网站地址: http://ieg4.rccc.ou.edu/MENA/
如无账号可以进行注册并登陆,注册只需要邮箱等信息即可。
登陆后界面的主要操作内容为前四部份,涉及上传数据、构建网络、分析网络以及查看此前上传和分析的网络结果。
上传数据
点击
选择文件
然后点击提交
提交成功后会自动显示上传数据的大致信息,包括样本数量、OTU数量等等。
构建网络
点击
选择你需要分析的数据集,提交
跳转到Select Dataset页面,选择需要进行网络分析的数据进行下一步,提交之后进入参数设置页面(如下图),具体涉及了数据过滤,相似性计算算法,RMT(随机矩阵理论)模型计算,提交后跳转至等待页面。
主界面点击“Search datasets and networks”,可查看当前的工作状态,Status显示为“done”时就可以了。(此步耗时可能比较长)
点击对应结果
选择一个合适的cutoff作为相似矩阵来构建网络
通常而言,cutoff选择的阈值越高,网络规模(节点数和边数)越小,拟合的R2也高。
多个网络需要比较,保持在同一(或尽可能接近的)cutoff值
点击提交。随后,将显示最终网络的节点数、边数、平均连通度、平均路径长度、拟合的R2。
分析网络和导出网络文件
返回主界面点击“Analyze the networks”,可对网络执行以下操作。
做完模块计算后。可以点击导出网络文件,下载边文件和节点数据。这在后面的作图中需要。
使用Gephi作图
作图的原理是:边文件(edge)给节点之间相连的信息,节点文件(node)补充节点的细节信息,比如rank等。所以边文件是必须的,实际上没有节点文件也能把图做出来,软件也支持导入邻接矩阵文件作图。
MENA导出的数据预处理
因为MENA导出的数据是以分隔符保存的文件,如果用Gephi打开标签不全没法打开,edge文件更是没有属性标签。所以用之前必须先加上,并且另存为Gephi能识别的.lsx文件。这些步骤使用excel就能完成
Excel打开和处理文件
选择分隔符
点下一步,选择空格分隔符,完成
node文件
node节点文件需要补充的属性标签是:
1:ID,(为了和边文件匹配)
2:Label,(作图的时候显示)
我的做法是,把Name复制一列,然后第一列改成ID,第二列改成Label,然后把数据中的无关符号去掉,保留数字。(具体处理方式依照作图需求,这边依照的是老师给的格式,多组处理使用R或python会方便很多)
结果:
另存为xlsx文件
edge文件
node节点文件需要补充的属性标签是:
Source | Target | Weight | ID | Type | ||
---|---|---|---|---|---|---|
实际上会发现用同样方法打开edge文件后格式是这样子:
OTU_1 | (pp) | OTU_10 | = | 1 |
OTU_1 | (pp) | OTU_19 | = | 1 |
OTU_1 | (pp) | OTU_23 | = | 1 |
OTU_1 | (pp) | OTU_26 | = | 1 |
OTU_1 | (pp) | OTU_1291 | = | 1 |
OTU_2 | (pp) | OTU_2977 | = | 1 |
OTU_3 | (pp) | OTU_41 | = | 1 |
其中。第一列和第三列和第5列是我们要用的值
分别的意义为:源节点,终结点,和权重
此外,我们还需要加入ID和type(是否有向边)
加上标签后:
Source | x | Target | y | Weight | ID | Type |
---|---|---|---|---|---|---|
OTU_1 | (pp) | OTU_10 | = | 1 | 0 | Directed |
OTU_1 | (pp) | OTU_19 | = | 1 | 1 | Directed |
OTU_1 | (pp) | OTU_23 | = | 1 | 2 | Directed |
OTU_1 | (pp) | OTU_26 | = | 1 | 3 | Directed |
OTU_1 | (pp) | OTU_1291 | = | 1 | 4 | Directed |
x和y是随意取的,因为文件是以空格为分隔符的,不能空着。
保存为.xlsx文件
导入node和edge文件
打开Gephi软件
导入边文件:
点下一步,没用的值就不用勾选了
点击完成
点击“边”查看:
再同样导入node文件
注意要加入现有的workspace
可以看到节点现在有详细数据了
制图
点击预览(overview):
拖动左下角使变清晰
给模块标颜色
因为node文件里面有了MENA分析后的注释信息,包含mudule、degree等,我们下一步的目的就是将这些注释在图上体现出来
设置颜色
点击apply
给每个点按照degree设置大小
我设的是min25,max50: apply:
设置布局和标签
布局选择Fruchterman Reingold
run后
概览点击刷新:
给图加上节点标签:
点击刷新:
最后就可以保存和导出了
由于在计算时过滤条件放宽了,导致节点较为分散
········································································
部分内容参考至CSDN博主「weixin_39532019」的原创文章,
原文链接:https://blog.csdn.net/weixin_39532019/article/details/111686206