【生物信息学】基于SparCC, MENA, LSA, CoNet构建微生物相互作用网络

news2024/12/26 2:20:46

基于SparCC, MENA, LSA, CoNet构建微生物相互作用网络

  • 背景介绍
  • 网络推断技术用于宏基因组学及其存在的问题
  • 实现方法和工具
    • SparCC
    • MENA
    • LSA
    • CoNet
    • SPIEC-EASI
  • 总结
  • 参考资料

背景介绍

微生物之间的共现(Co-occurrence)可能有以下几种原因,它们可能具有一定的生态关系,或者在生态位上有重叠。
Reasons for co-occurrence
物种的关系可能是此消彼长、或者共增共减。
co-occurrence analysis in a nut shell
共现分析是一种网络推断技术,可以用来发现不同目标(例如基因、蛋白质、代谢物、物种等)之间的关系,基于可重复的观测中的丰度或者出现/缺失,尤其是应用在基因组学领域,比如基因调控网络推断。
网络推断技术

网络推断技术用于宏基因组学及其存在的问题

目前有两种实现网络的技术:
(1)第一种是基于相似性
不管是基于abundance还是incidence的数据,都可以计算成对物种之间的相似度矩阵,并随机化数据反复计算。考察实际相似度与打乱后相似度的显著性差异。最后保留具有意义的相似度并可视化。
基于相似度的网络推断
其存在的问题包括:
1.双零问题(double zeros):
微生物数据存在很多的0值。但是我们不知道该物种是低于检测限还是真的不存在。因此当存在很多0,就会得到很高的相似度。如下表所示,增加了0值后相似度显著的升高了。
双零问题
因此对于双零值,算法中要避免得到很高的相似度

  1. 群落组成的问题
    由于每个样本测序深度不同,因此即使物种个数相同,所占比例也不同。因此需要标准化,可以用每个样本物种的个数除以总样本物种的个数;或者重抽到相同深度
    另外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))
Robust correlations with SparCC
SparCC 对观测到的数据拟合狄利克雷分布,对物种的比例及相关性计算迭代计算多次。最后得到的相关性为分布的中位数。P值采用bootstrap方法计算。
SparCC迭代
SparCC是基于Python的软件,详见https://bitbucket.org/yonatanf/sparcc/src/default/

MENA

MENA,即分子生态学网络分析流水线(molecular ecological network analysis pipeline)
MENA
MENA的核心在于随机矩阵理论(Random matrix theory, RMT)
- 计算给定阈值的pearson相关矩阵的特征值间距分布
- 对于整个阈值范围都进行计算;
- 保留分布由高斯分布变为泊松分布的阈值;
- 保留阈值以上的所有相关性。
MENA

LSA

LSA,即Local similarity analysis, 计算时间序列之间的相似性。由于考虑了滞后效应,可以得到直接连接和不直接连接的边。这种方法在海洋和湖泊宏基因组中很受欢迎。基本计算原理和基于相似性的网络相同,只是将相似性按照时间进行了分割
LSA
LSA的流程为:

  • 时间序列被转换为正态分布;
  • 对于每对时间序列,局部相似性得分是使用动态规划的点积计算的(最多允许 3 个间隙)
  • 局部相似性得分除以时间序列的长度
  • 进行排列(permutation)以评估局部相似性得分的显着性
  • 排列(permutation)的p值经过多重检验校正(Bonferroni)
  • 网络由具有显着相似性分数的边构成

LSA pipeline
LSA example network

CoNet

基于组合效应(Ensemble-based)的网络

  • 不同相关性计算方法(pearson,spearman,bray-curtis)可表达不同的关系,但是随着阈值的增加彼此的结果会趋同。
  • 不同方法也会存在不同的错误,但是对于正确的结果却是一致的。

CoNet
对于每条边和每种方法,分别计算permutation和bootstrap分布。两者相比较得到最终的P值
Assessing significance
不同相关性计算方法(pearson,spearman,bray-curtis)得出的关系进行合并,以表达最终的关系

  • 合并特定方法得到的p-values
  • 合并后的p-value经过多重检验
  • 对于小于给定阈值的p-value对应的边进行删除。

Merging mearures
处理组合性(compositionality),主要的方法是重新标准化的置换(permutation with renormalization),称为ReBoot。

  1. 将所有的类群放在一个组内
  2. 对选定的分类单元对进行置换洗牌
  3. 按组重新归一化矩阵
  4. 计算分类单元对在打乱的、重新归一化的丰度上的随机分数

Dealing with compositionality
置换测试:消除相关性,但也消除由于组合性引起的任何偏差
重新标准化的置换:转移null分布
Dealing with compositionality
CoNet的特点:

  • 可以运行在Cytoscape plugin或者命令行
  • 适用于丰度数据,也适用于存在/缺失数据
  • 支持QIIME OTU表格式
  • 从谱系中分配更高级别的分类单元并计算它们之间的相关性
  • supports row groups
  • 支持环境元数据
  • 集成外部网络推理包,例如 minet(基于互信息的网络推理)和apriori(关联规则挖掘算法)
  • 提供各种预处理步骤、过滤选项和缺失值处理
  • 设置加载/保存
  • 分数分布绘图
  • 较好的文档和教程

conet features

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/187216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视频转换成gif动图如何操作?教你三步完成视频转gif

现在网络上流行的gif动图最常见的就是从用电影、电视剧等短视频中截取出来的画面做成gif动画。大家看到这些gif动图一定觉得使用视频转gif(https://www.gif.cn/)制作非常的复杂麻烦吧!其实,想要利用视频截取gif动画非常的简单。给…

Linux mysql安装

1、软件下载1.1、下载地址:https://www.mysql.com/2、Linux 查看centos版本(用于mysql版本选择)2.1、先使用 yum 安装 redhat-lsb:yum install -y redhat-lsb2.2、安装完成后,使用 -a 查看:lsb_release -a3…

前端必知:如何判断元素出现在视口内(性能优化涉及)

要检测一个元素是否可见或者两个元素是否相交的需求场景有这些: 图片懒加载——当图片滚动到可见时才进行加载内容无限滚动——也就是用户滚动到接近内容底部时直接加载更多,而无需用户操作翻页,给用户一种网页可以无限滚动的错觉检测广告的…

ABB机器人通过直接输入法设置工具坐标系的具体方法和步骤

ABB机器人通过直接输入法设置工具坐标系的具体方法和步骤 为什么要设置工具坐标系? 对于机器人来说,承受的负荷不同,各轴电机输出的电流和扭矩都会不同,错误地选用工具坐标系会导致机器人各轴机械部位的加速磨损,严重的可能会损坏机器人核心减速机等部件。 对于形状规则或…

【每日一题Day103】LC1669合并两个链表 | 模拟

合并两个链表【LC1669】 You are given two linked lists: list1 and list2 of sizes n and m respectively. Remove list1’s nodes from the ath node to the bth node, and put list2 in their place. The blue edges and nodes in the following figure indicate the resul…

STM32MP157开发板Linux+Qt项目实战:音乐播放器

stm32mp157开发板FS-MP1A是华清远见自主研发的一款高品质、高性价比的Linux单片机二合一的嵌入式教学级开发板。开发板搭载ST的STM32MP157高性能微处理器,集成2个Cortex-A7核和1个Cortex-M4 核,A7核上可以跑Linux操作系统,M4核上可以跑FreeRT…

内网穿透工具lanproxy的安装及使用

简介 lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,目前仅支持tcp流量转发,可支持任何tcp上层协议,可用作访问内网网站、本地支付接口调试、SSH访问、远程桌面等等,而且带Web在线管理面板,添加端…

JDBC之批处理

基本介绍 1.批处理 正常你要指向三行sql语句 就是 prepareStatement.execute(sql1)-发送-执行 prepareStatement.execute(sql2)-发送-执行 prepareStatement.execute(sql3)-发送-执行 一句一句发送然后指向,这样太麻烦 批处理就把sql1、sql2和sql3整合到一个集合中&…

【头歌】链栈的基本操作及应用

第1关:链栈的基本操作任务描述本关任务是实现链栈的基本操作函数,以实现判断栈是否为空、求栈的长度、进栈、出栈以及获取栈顶元素等功能。相关知识链式存储的栈栈的链式存储结构是采用某种链表结构,栈的链式存储结构简称为链栈。 这里采用单…

oracle11g SAP测试机归档日志暴增排查(一)

现象是oracle11g空间一天很快就被归档日志增加的文件爆满了,空间没有,oracle也不正常,当然sap也出现异常了。 看空间是就是/oracle没有空间了,用du * -sh 很快找到oraarch下面日志文件几分钟内产生大量的归档日志文件。 1、因为是…

面试京东软件测试岗,收到offer后我却毫不犹豫拒绝了....

我大学学的是计算机专业,毕业的时候,对于找工作比较迷茫,也不知道当时怎么想的,一头就扎进了一家外包公司,一干就是2年。我想说的是,但凡有点机会,千万别去外包! 在深思熟虑过后&am…

隐式Makefile详解

工程: Makefile: 第1行:指定Makefile所在的当前路径赋值给宏定义ROOTDIR; 第2行:指定Makefile所在的当前路径下的lib文件夹路径赋值给LIB_DIR; 第3行:指定Makefile所在的当前路径下的include文件夹路径赋值给INCLUDE_DIR; 第4行:指定Makefile所在的当前路径下的bin文件…

花40天啃完这份微服务架构笔记,终于挺进腾讯T3,它太重要了

都2023年了 还没用过微服务吗? 面试的时候高并发回答的总是不能让面试官满意? 一个互联网项目究竟有多少细节? 网上搜了一堆秒杀系统方案,究竟真实的线上电商该怎么做? 你缺乏这两个字 实战 消除痛点 解决面试 …

debian开启root登录

Debian桌面系统,默认不允许root用户登录,需要通过修改相应的配置文件“/etc/pam.d/gdm3”和“/etc/gdm3/deamon.conf”,才能使root用户登录 1.debian开启root登录 1.1修改配置文件 1.使用我们安装debian系统时创建的普通用户登录到系统的桌面 2.点击activities搜索termi…

关于TCP的四次挥手介绍

一、什么是TCP的四次挥手在网络数据传输中,传输层协议断开连接的过程我们称为四次挥手二、四次挥手的具体细节1. 第一次挥手:Client将FIN置为1,发送一个序列号seq给Server;进入FIN_WAIT_1状态;2. 第二次挥手&#xff1…

Ceres安装与卸载以及新旧版本中的问题

Ceres在SLAM优化中常常会用到,简单记录一下关于Ceres的一些问题 1、Ceres安装 1.1、安装依赖项 sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev1.2、下载Ceres Ceres的下载地址为&#x…

苏嵌实训——day17

文章目录1.1 信号灯集函数接口1.semget2.semctl3.封装初始化函数4. semop二 网络编程2.1 为什么要学习网络编程2.2 发展2.2.1 ARPnet2.2.2 TCP/IP协议2.3 网络体系结构以及OSI开放系统互联模型2.4 TCP/IP协议族2.5 五层模型2.6 TCP和UDP的异同点2.7 函数讲解2.7.1 socket2.7.2 …

k8s快速入门、集群部署-62

一:k8s简介 Kubernetes 简称 k8s。是用于自动部署,扩展和管理容器化应用程序的开源系统。 1.1 官方文档 中文官网:https://kubernetes.io/zh/ 中文社区:https://www.kubernetes.org.cn/ 官方文档:https://kubernete…

利用钉钉机器人Webhook向钉钉群推送告警通知

一、配置钉钉群 1、新建一个接收通知的钉钉群 如下图,创建一个接收通知的钉钉群 选择项目群,点创建 输入群名称,右侧选择群成员,最后点击右下角的创建 2、对群进行设置 点群右上角的设置按钮 点击 “智能群助手” 点 “添加机器人…

常见测试案例汇总

作者:~小明学编程 文章专栏:测试开发 格言:热爱编程的,终将被编程所厚爱。 目录 水杯的测试用例 功能性测试 界面测试 性能测试 兼容性测试 易用性测试 安全测试 电梯的测试用例 界面测试 功能测试 性能测试 兼容性…