查看原文
其他

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

生信小白鱼 鲤小白 小白鱼的生统笔记 2022-07-05
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”,意为将样本中所有低于最小出现值10OTU定义为无效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.



链接

相关性和网络分析基础


Pearson、Spearman、Kendall、Polychoric、Polyserial相关系数简介及R计 

网络分析概述之网络基础简介 

网络拓扑结构-节点和边特征的简介和R计算 

网络拓扑结构-网络图的凝聚性特征和R计算 

微生物关联网络推断及一个简单的相关网络示例 

网络模块内连通度(Zi)和模块间连通度(Pi)及在R中计算 

降维分析


非约束排序(描述性的探索性分析):

主成分分析(PCA)主成分分析(PCA)    同时含数值和分类变量的PCA

模糊主成分分析(FPCA)

对应分析(CA)对应分析(CA)    去趋势对应分析(DCA

多重对应分析(MCA)    模糊对应分析(FCA

主坐标分析(PCoA)主坐标分析(PCoA)

非度量多维标度分析(NMDS)非度量多维标度分析(NMDS)

非约束排序中被动添加解释变量被动添加解释变量

约束排序(将解释变量通过回归方程拟合响应变量的统计模型):

冗余分析(RDA)冗余分析(RDA)    基于距离的冗余分析(db-RDA

主响应曲线(PRC)

典范对应分析(CCA)典范对应分析(CCA)

RDA、CCA的R2校正及约束轴的显著性检验

RDA、CCA的解释变量选择

RDA、CCA的变差分解(VAP 

对称分析(这类方法意在描述两个或多个矩阵之间的相关性):

典范相关分析(CCorA)

协惯量分析(CoIA)    多重协惯量分析(MCoIA)

协对应分析(CoCA)

RLQ和第四角分析

多元因子分析(MFA)

监督降维(带监督的降维方法,常用于分类):

判别分析(DA)

聚类和分类


层次聚类(无监督,描述性的探索性分析):

层次聚合:层次聚合分类    层次聚类结果的比较和评估

层次分划:双向指示种分析(TWINSPAN) 

非层次聚类(无监督,描述性的探索性分析):

划分聚类:k均值划分(k-means)    围绕中心点划分(PAM

模糊聚类:模糊c均值聚类(FCM)

避免不存在的类

潜变量分类(无监督,潜变量也可视为某种意义上的“降维”):

潜类别分析(LCA)    潜剖面分析(LPA约束聚类(无监督,将解释变量通过回归方程“约束”响应变量的模型):多元回归树 

监督分类(通过已知先验分组构建分类器模型):

决策树    随机森林分类

支持向量机分类

判别分析(DA)线性判别分析(LDA)    二次判别分析(QDA



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存