基于SparCC, MENA, LSA, CoNet构建微生物相互作用网络
- 背景介绍
- 网络推断技术用于宏基因组学及其存在的问题
- 实现方法和工具
- SparCC
- MENA
- LSA
- CoNet
- SPIEC-EASI
- 总结
- 参考资料
背景介绍
微生物之间的共现(Co-occurrence)可能有以下几种原因,它们可能具有一定的生态关系,或者在生态位上有重叠。
物种的关系可能是此消彼长、或者共增共减。
共现分析是一种网络推断技术,可以用来发现不同目标(例如基因、蛋白质、代谢物、物种等)之间的关系,基于可重复的观测中的丰度或者出现/缺失,尤其是应用在基因组学领域,比如基因调控网络推断。
网络推断技术用于宏基因组学及其存在的问题
目前有两种实现网络的技术:
(1)第一种是基于相似性
不管是基于abundance还是incidence的数据,都可以计算成对物种之间的相似度矩阵,并随机化数据反复计算。考察实际相似度与打乱后相似度的显著性差异。最后保留具有意义的相似度并可视化。
其存在的问题包括:
1.双零问题(double zeros):
微生物数据存在很多的0值。但是我们不知道该物种是低于检测限还是真的不存在。因此当存在很多0,就会得到很高的相似度。如下表所示,增加了0值后相似度显著的升高了。
因此对于双零值,算法中要避免得到很高的相似度。
- 群落组成的问题:
由于每个样本测序深度不同,因此即使物种个数相同,所占比例也不同。因此需要标准化,可以用每个样本物种的个数除以总样本物种的个数;或者重抽到相同深度。
另外pearson和 spearman考虑的是绝对值,因此标准化后会带来很大的偏差。而基于比例或者对数比例(log-ratio)的方法不受数据组成的影响,因为标准化后数据之间的比例不会变。具体如下图所示,标准化后pearson相关性改变了。
(2)第二种实现网络的技术是基于回归
将物种划分为source和target,使用多元回归计算物种之间的关系。也是要随机化数据重复计算。根据实际回归系数与随机得到的回归系数的关系进行判定。其优点在于可以检测多个物种的关系;并可以预测不对称的关系(如偏利共生)。缺点在于会出现假阳性、过拟合,且难以可视化。
实现方法和工具
SparCC
SparCC使用对数比例的方差来计算物种之间的相关性:
D
(
x
i
,
x
j
)
=
v
a
r
(
l
o
g
(
x
i
x
j
)
)
D(x_i, x_j)=var(log(\frac{x_i}{x_j}))
D(xi,xj)=var(log(xjxi))
SparCC 对观测到的数据拟合狄利克雷分布,对物种的比例及相关性计算迭代计算多次。最后得到的相关性为分布的中位数。P值采用bootstrap方法计算。
SparCC是基于Python的软件,详见https://bitbucket.org/yonatanf/sparcc/src/default/
MENA
MENA,即分子生态学网络分析流水线(molecular ecological network analysis pipeline)
MENA的核心在于随机矩阵理论(Random matrix theory, RMT)。
- 计算给定阈值的pearson相关矩阵的特征值间距分布;
- 对于整个阈值范围都进行计算;
- 保留分布由高斯分布变为泊松分布的阈值;
- 保留阈值以上的所有相关性。
LSA
LSA,即Local similarity analysis, 计算时间序列之间的相似性。由于考虑了滞后效应,可以得到直接连接和不直接连接的边。这种方法在海洋和湖泊宏基因组中很受欢迎。基本计算原理和基于相似性的网络相同,只是将相似性按照时间进行了分割。
LSA的流程为:
- 时间序列被转换为正态分布;
- 对于每对时间序列,局部相似性得分是使用动态规划的点积计算的(最多允许 3 个间隙)
- 局部相似性得分除以时间序列的长度
- 进行排列(permutation)以评估局部相似性得分的显着性
- 排列(permutation)的p值经过多重检验校正(Bonferroni)
- 网络由具有显着相似性分数的边构成
CoNet
基于组合效应(Ensemble-based)的网络
- 不同相关性计算方法(pearson,spearman,bray-curtis)可表达不同的关系,但是随着阈值的增加彼此的结果会趋同。
- 不同方法也会存在不同的错误,但是对于正确的结果却是一致的。
对于每条边和每种方法,分别计算permutation和bootstrap分布。两者相比较得到最终的P值。
不同相关性计算方法(pearson,spearman,bray-curtis)得出的关系进行合并,以表达最终的关系。
- 合并特定方法得到的p-values
- 合并后的p-value经过多重检验
- 对于小于给定阈值的p-value对应的边进行删除。
处理组合性(compositionality),主要的方法是重新标准化的置换(permutation with renormalization),称为ReBoot。
- 将所有的类群放在一个组内
- 对选定的分类单元对进行置换洗牌
- 按组重新归一化矩阵
- 计算分类单元对在打乱的、重新归一化的丰度上的随机分数
置换测试:消除相关性,但也消除由于组合性引起的任何偏差
重新标准化的置换:转移null分布
CoNet的特点:
- 可以运行在Cytoscape plugin或者命令行
- 适用于丰度数据,也适用于存在/缺失数据
- 支持QIIME OTU表格式
- 从谱系中分配更高级别的分类单元并计算它们之间的相关性
- supports row groups
- 支持环境元数据
- 集成外部网络推理包,例如 minet(基于互信息的网络推理)和apriori(关联规则挖掘算法)
- 提供各种预处理步骤、过滤选项和缺失值处理
- 设置加载/保存
- 分数分布绘图
- 较好的文档和教程
SPIEC-EASI
SPIEC-EASI
(SParse Inverse Covariance Estimation for Ecological Association Inference)利用了这样一个事实,即在某些假设下(考虑所有相关变量并且数据是多元正态分布的),逆协方差矩阵对应于没有间接边的网络。 简而言之,SPIEC-EASI 根据测序数据估计逆协方差矩阵。 使用逆协方差矩阵的网络推理在文献中也称为图高斯模型
,逆协方差矩阵
也称为精度或偏相关矩阵。
SPIEC-EASI
在R中有其实现,顺便说一下,SPIEC-EASI 包还为 SparCC 提供了替代实现。 有关 SPIEC-EASI 的详细信息,请查看PLoS Computational Biology 11(5) e1004226。
library(devtools)
install_github("zdk123/SpiecEasi")
library(SpiecEasi)
source('http://bioconductor.org/biocLite.R')
biocLite('phyloseq')
library(phyloseq)
install_github("hallucigenia-sparsa/seqtime")
library(seqtime)
总结
- MENA强项在于阈值的算法,且不需要人为设定阈值。
- SparCC特色在于相关性的计算方法。
- LSA引入了时间序列。
- CoNet将多种相关性综合考量。
另外,网络推断的局限:
- 相似性不等于因果性
- 类群可能具有显着的相似性分数,因为它们对环境变量(生态位共享)的反应相似或因为它们相互作用(直接或间接)或两者兼而有之
- 即使时间序列不相似,类群也可能相互作用(例如确定性混沌)
参考资料
[1] Microbial association network construction tutorial
[2] Inference of microbial association networks from metagenomic data
[3] SPIEC-EASI