专栏首页小白鱼的生统笔记CoNet的关联网络推断过程演示

CoNet的关联网络推断过程演示

CoNet的关联网络推断方法演示

CoNet是一个关联网络推断工具,作为Cytoscape的一个插件来使用。CoNet的设计具有通用性,广泛用于检测生物实体(例如基因、代谢物或物种)的任何数据集中的潜在关联(Faust and Raes, 2016)。CoNet提供了多种网络推理方法,将相关系数、将相似性或相异度度量组合在一起,使关联网络推断更加灵活以及更具严谨性。

CoNet可将0-1数据、基因表达count值或物种丰度矩阵等作为输入,并输出一个网络,在该网络中,显著关联的对象(视为节点)之间通过边相连。下图总结了CoNet中的网络推理工作流程。

本篇通过来自某16S扩增子测序所得的微生物物种丰度数据,简介CoNet构建微生物共发生网络的方法,以展示CoNet的使用。

CoNet安装

首先打开Cytoscape,初次使用CoNet,首先需要安装。

点击菜单栏的“Apps”->“App Manager”,输入“CoNet”搜素,之后点击“Install”安装。等待一小会儿安装成功后,即可点击“Apps”->“CoNet”使用。

CoNet的微生物网络构建过程

接下来,开始展示CoNet构建微生物网络的操作。

整体流程按照Microbial association network construction tutorial(http://psbweb05.psb.ugent.be/conet/microbialnetworks/conet_new.php)中的默认过程来描述。更多拓展操作,有兴趣可自行研究。

1、数据导入

准备输入数据,OTU丰度表,以制表符为分隔。

第一列为OTU id,最后一列为OTU的界门纲目科属种注释信息。

这里我输入的不是biom格式的文件,考虑到biom操作起来没有txt表方便,且txt表使用更广泛。

打开CoNet,点击“Data menu”读取OTU丰度表,简单设置后,其余项默认,关闭窗口,进入下一环节。

2、数据预处理

CoNet提供了对OTU丰度表的预处理选项,可过滤一些不合适的数据,减小后续计算资源的消耗。

例如非常低丰度的OTU,通常它们存在很大的测量误差,且计算的相关性不可靠,推荐剔除。对于本示例,点击“Preprocessing and filtering menu”,选中“row_minocc”输入“10”,意为将样本中所有低于最小出现值10的OTU定义为无效OTU并以去除;选中“Keep sum of filtered rows”以及“col_norm”,将OTU丰度标准化为相对丰度。其余参数默认,关闭窗口。“

3、网络构建方法和阈值选择

点击“Methods menu”,进入CoNet的网络构建方法选择界面。CoNet提供了丰富的方法选择,允许使用多条件或阈值构建网络,充分体现了CoNet的灵活性。

从大方向上来说,CoNet中存在两种不同的网络构建方法。

(1)固定阈值法

顾名思义,选择所需的相关性、相似性或距离等计算方法组合,并为其指定对应的阈值。若OTU之间同时满足这些阈值要求,则认定OTU丰度间存在联系。

例如下示例,选择“Pearson correlation”指定阈值0.7,同时选择“Spearman correlation”指定阈值0.7。其余参数默认,关闭窗口。

(2)自动阈值法

这种方法是CoNet的特色。在选择所需的相关性、相似性或距离等计算方法组合后,不对它们指定某特定的阈值,而是通过输入初始边(连接)数自动为它们定义阈值。

例如下示例,选择“Pearson correlation”、“Spearman correlation”、“Bray Curtis dissimilarity”以及“Kullback-Leibler dissimilarity”共4种方法,点击“Automatic threshold setting”,输入起始边数“500”,选中“Top and bottom”。其余参数默认,关闭窗口。

4、获得初始网络

步骤3中的两种模式,根据需要选择一种设置。完毕后,返回主界面点击“GO”,CoNet将构建一个初始网络。

我选择的上述自动阈值法的设置参数,运行后获得了一个由81个节点和2005个边构成的初始网络。

5、置换检验

之所以称为“初始网络”,能看到它有非常多的边,影响对网络的解读。事实上很多边都是无效的,接下来将通过随机置换实现优化,执行置换检验获得p值过滤无效的边。

例如下示例,点击“Randomization menu”,在“Iterations”中输入随机置换次数“100”,选中“edgeScores”、“shuffle_rows”和“Renormalize”,p值设置为0.01。在“Select folder”选项中选择计算文件的输出路径,并命名,勾选“Save”。其余设置不变,关闭窗口返回CoNet主界面中点击“GO”,CoNet将对初始网络图进行置换检验。

等待一会儿出结果,可看到网络的边数减少了,即尽可能去除了无效的边,网络得到了优化。

6、自举(bootstrap)和最终网络获得

最终的p值是通过特定方法和边的置换和自举得分分布计算出来的,因此现在将计算引导分布,提供置信区间以进一步优化网络。

例如下示例,点击“Randomization menu”,在“Iterations”中输入次数“100”,选中“edgeScores”、“bootstrap”(重抽样方法为bootstrap)。

在上步置换步骤中已经计算了p值,而对于最终网络,需要合并p值,在“P-value merge”中选择“brown”作为p值合并策略。取消“Renormalize”并选择“Filter unstable edges”,程序会将初始得分超出引导分布0.95置信区间范围的边丢弃。

指定p值阈值,如0.01,并可以选择p值校正方法,如“benjaminihochberg”。在“Select folder”选项中选择计算文件的输出路径,并命名,勾选“Save”。可以加载上一步置换步骤中保存的计算文件作为零分布,在“Load null distributions”中指定。其余设置不变,关闭窗口返回CoNet主界面中点击“GO”,CoNet将对初始网络图进行自举获得引导分布。

等待一会儿出结果,可看到网络得到了进一步优化,到这里就获得了最终的网络。

Cytoscape的后续操作举例

获得了网络后,后续统计计算或者可视化就可以了。

如果您熟悉Cytoscape,后续的操作想必就很简单。如果不熟悉,建议在网上找一些教程学习。

网络可视化

Cytoscape最强大的地方就是网络的可视化,除了自带的方法外,还有非常丰富的开源插件可供使用(安装方法和CoNet一致),使我们可选N种方法美化网络。

这部分细节非常多,本篇不介绍,若您不熟悉Cytoscape,还请找其他教程学习了。

本人也懒得对这个示例做调整,就从网上随便整个图展示吧。

网络拓扑结构计算

点击点击菜单栏的“Tools”->“Network Analyzer”->“Network Analysis”->“Analyze Network”,可计算基本的网络拓扑结构,包含节点和边的特征以及网络凝聚性特征等。

关于各特征或属性的简介,可参考前文“节点和边特征”以及“网络图的凝聚性特征”。

节点度的幂律分布

节点度幂律分布是微生物共发生网络的普遍特征,Cytoscape为此提供了快捷的方法。

在计算的网络拓扑特征窗口中,点击“Node Degree Distribution”查看节点分布,并拟合幂律分布函数。

网络输出

对后的网络图片进行输出,或者将网络文件输出,导入其它工具(如R)进行分析。

图片输出,点击“File”->“Export as image”,保存为矢量图或位图就可以了。

网络文件输出,点击“File”->“Export”->“Network”,保存为特定文件类型。如“graphml”文件格式,可以直接使用Gephi(另一个强大的网络可视化工具)打开。

或者纯文本类型的节点属性列表或边属性列表文件,点击“File”->“Export”->“Table”,选择指定的网络节点(node)或边(edge)属性保存即可。实际上,纯文本类型的网络文件适用范围更广,可以很方便被其它软件识别,如R等,以及上述提到的Gephi,也可以读取纯文本表格。

参考文献

Faust K, Raes J. CoNet app: inference of biological association networks using Cytoscape. F1000 Research, 2016, 5:1519.

本文分享自微信公众号 - 小白鱼的生统笔记(gh_5f751e893315),作者:生信小白鱼 鲤小白

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 分子生态网络分析(MENA)构建微生物网络示例

    续前文“微生物共发生网络”,本篇继续简介分子生态网络分析(Molecular Ecological Network Analysis,MENA)方法。

    用户7585161
  • 基于16S的细菌群落功能预测工具PAPRICA(非OTU方法)

    常见的基于16S rRNA物种组成推断细菌群落代谢功能的方法,如PICRUSt、Tax4Fun、PAPRICA等,背后的基本概念是隐藏状态预测(hidden s...

    用户7585161
  • 生存分析及R包survival的Kaplan-Meier

    生存分析(Survival Analysis)是指一系列用来探究某事件发生时间的统计方法,可以用于建模许多不同的时间事件,包括生物学或非生物学领域。例如,癌症治...

    用户7585161
  • emlog插入优酷视频插件分享

    Youngxj
  • hybris安装执行install.sh -r b2c_acc initialize遇到build错误 8983端口

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    Jerry Wang
  • CocosCreator之KUOKUO带你做物理切割(第一部分)

    有趣的物理小游戏总能让小伙伴们爱不释手,而 CocosCreator 的内置物理引擎让其开发变得更加简单。今天 KUOKUO 就为大家带来物理切割,从零开始做出...

    白玉无冰
  • 动手写个数字输入框2:起手式——拦截非法字符

    前言  最近在用Polymer封装纯数字的输入框,开发过程中发现不是坑,也有不少值得研究的地方。本系列打算分4篇来叙述这段可歌可泣的踩坑经历: 《动手写个数字输...

    ^_^肥仔John
  • Nginx与淘宝Tengine的渊源

    2002年俄罗斯门户网站Rambler的程序员Igor Sysoev为Rambler.ru开发出Nginx,这是一款Web服务器、HTTP反向代理和邮件代理服务...

    后端技术探索
  • Zookeeper学习笔记

    Zookeeper是一个分布式应用程序协调服务,主要负责集中维护配置信息的服务,提供分布式的同步机制。其所有的服务都是做为其他分布式应用的基础。Zookeepe...

    大江小浪
  • CNCF网络研讨会:可观测性与监测的控制论(视频+PDF)

    在这次网络研讨会中,Instana的复杂性科学家和奇幻主义者William Louth将通过控制论的镜头回答这个(以及更多)问题。

    CNCF

扫码关注云+社区

领取腾讯云代金券