PICRUSt2在微生物功能预测分析中的应用解读

谷禾健康

在这里插入图片描述

微生物组学研究现已超越微生物群落组成分析得到更广泛的使用。大量的人类微生物组研究证据表明,肠道微生物组功能变化炎症和免疫反应的影响起到关键的影响作用

16S rRNA分析是微生物组研究作为最常用便捷且具有成本效益的测量技术,用于分析微生物组的菌落组成,但标记基因测序无法直接提供群落功能组成的信息。于是开发了生物信息学工具,利用16S rRNA基因数据来预测微生物组功能

其中,PICRUSt2已成为最流行的功能概况预测工具之一,可生成整个群落通路丰度。“功能”通常指的是基因家族,如KEGG同源基因和酶分类号,可以预测任意的特性。

PICRUSt1 具有一定的局限性

微生物群落标记基因测序的一个局限性在于它无法提供有关采样群落功能组成的信息。PICRUSt1于2013年开发,可根据标记基因测序图谱预测细菌群落的功能潜力

PICRUSt (Phylogenetic Investigation of Communities by Reconstruction of Unobserved States) 的原理基于已测细菌基因组的16S rRNA全长序列,推断它们的共同祖先的基因(同源基因)功能谱,对Greengenes数据库中其它未测物种的基因功能谱进行推断,构建古菌和细菌域全谱系的基因功能预测谱,最后,将测序得到的菌群组成“映射”到数据库中,对菌群代谢功能进行预测

PICRUSt1是为从16S标记序列预测功能而开发的,已被广泛使用,但有一定的局限性。标准PICRUSt1工作流程要求输入序列只能根据Greengenes数据库的兼容版本进行有参比对而生成的OTU表。PICRUSt1使用的细菌参考数据库自2013年以来未进行更新,并且缺少成千上万个最近添加的基因家族

PICRUSt2 具有更准确更全的数据库

2018年推出了全新版本的PICRUSt,即PICRUSt2(https://github.com/picrust/picrust2) ,该方法在PICRUSt1原始方法上有所改进

具体而言, PICRUSt2包含一个更新的,更大的基因家族和参考基因组数据库,可与任何可操作的分类单位(OTU)筛选或去噪算法互操作,并能够进行表型预测

基准测试表明,PICRUSt2比PICRUSt和其他竞争方法总体上更准确。PICRUSt2还允许添加自定义参考数据库

PICRUSt2 方法的优势

PICRUSt1流程将预测限制为Greengenes参考数据库中的OTU,因此排除了其他16S rRNA基因测序数据集中的许多公开序列。PICRUSt2无需再以GreenGene注释的OTU表为输入,可以直接读取OTU的代表序列自动完成物种注释,并进一步根据物种丰度组成预测群落功能

•用于预测的参考基因组数据库扩大了10倍以上

•允许输出MetaCyc 本体预测,可与普通宏基因组学的结果比较

•从Castor R包中添加隐藏状态预测算法

•通路丰度的推断现在依赖于MinPath,这使得这些预测更加严格

PICRUSt2 的工作流程

在这里插入图片描述

Picrust2集成了现有的开放源代码工具,以预测环境采样的16S rRNA基因序列的基因组。PICRUSt2中的系统发生放置基于三个工具的输出:HMMER、EPA-ng、GAPPA,以将研究序列(即OTU和ASV)放置到参考树中。

使用的方法更快的R包castor用于核心隐藏状态预测功能。然后生成元基因组图谱,可以通过贡献序列对其进行分层。最后,基于元基因组图谱预测途径的丰度

默认情况下,输出文件包括对酶分类(EC)编号,KEGG直系同源物(KO)MetaCyc途径丰度的预测。

谷禾报告中针对性的添加了碳水化合物活性酶数据库(CAZy)肠道代谢模块(GMM)肠脑模块(GBM)。GMM和GBM是从KEGG的KO映射出来的。

PICRUSt2 结果说明

在这里插入图片描述

EC_metagenome_out/ 细菌群落酶(EC)功能的丰度预测结果

ECpred_metagenome_unstrat_descr.tsv 为包含基因名称的丰度表,结构同上

在这里插入图片描述

KO_metagenome_out/ KO(KEGG Orthology)功能基因注释结果

KOpred_metagenome_unstrat_descr.tsv 为包含基因名称的丰度表,第一列是以KO ID名称代表特定的功能基因,第二列是功能基因的描述

丰度计算由16S rRNA拷贝数标准化后的OTU丰度表推断得到。

在这里插入图片描述

KEGGpathways_out/ KEGG代谢通路注释结果

上述预测得到的以KO ID为名称的KO功能,实则代表了特定的功能基因,将这些功能基因映射到具体的KEGG代谢途径(KEGG pathway)中,并统计各途径在各样本中的丰度,获得该表。

KEGGpath_abun_unstrat_descr.tsv为包含代谢通路的丰度表

在这里插入图片描述

pathways_out/ 代谢通路pathway添加注释,基于METACYC数据库的注释结果

METACYCpath_abun_unstrat_descr.tsv为包含代谢通路的丰度表

在这里插入图片描述

GMMmodelout/ 菌群代谢产物模块预测结果,modules.tsv为丰度表

在这里插入图片描述

GBMmodelout/ 菌群神经递质代谢产物模块预测结果,modules.tsv为丰度表

在这里插入图片描述

CAZYout/ 菌群碳水化合物代谢CAZy预测结果,pred_metagenome_unstrat.tsv为丰度表

在这里插入图片描述

COG_metagenome_out/ COG预测结果

COGpred_metagenome_unstrat_descr.tsv 为丰度表

在这里插入图片描述

PFAM_metagenome_out/ PFAM功能域模块预测结果

pred_metagenome_unstrat.tsv为丰度表

TIGRFAM_metagenome_out/ TIGRFAM功能域模块预测结果

pred_metagenome_unstrat.tsv为丰度表

out.tre 所有OTU代表序列构建的系统发育树文件

Intermediate/ 一些中间文件

数据库简介

KEGG,全称Kyoto Encyclopedia of Genes and Genomes,是一个从分子水平信息,特别是基因组测序和其他高通量实验技术产生的大规模分子数据库,以了解细胞、有机体和生态系统等生物系统的高级功能和效用的数据库资源。

MetaCyc,全称Metabolic Pathways From all Domains of Life,一个庞大而全面的数据库,只包含非冗余且通过实验手段阐明过的代谢通路。里有参与初级和次级代谢的各种通路以及相关代谢物生物化学反应,酶和基因等信息,通过存储具有代表性的实验验证的代谢通路,来对所有生命的代谢过程进行分类。

CAZy, 全称为Carbohydrate-Active enZYmes Database,碳水化合物酶相关的专业数据库,内容包括能催化碳水化合物降解、修饰、以及生物合成的相关酶系家族。

其包含五个主要分类:糖苷水解酶(Glycoside Hydrolases, GHs)、糖基转移酶(GlycosylTransferases, GTs)、多糖裂解酶(Polysaccharide Lyases, PLs)、糖酯酶(Carbohydrate Esterases, CEs)和氧化还原酶(Auxiliary Activities, AAs)。

此外,还包含与碳水化合物结合结构域(Carbohydrate-Binding Modules, CBMs)。五大分类和一个结构域下,都分别建立了多个Family。

GHs:糖苷键的水解和/或重排

GTs:糖苷键的形成

PLs:糖苷键的非水解裂解

CEs:水解碳水化合物的酯类

AAs:与 CAZymes 协同作用的氧化还原酶

CBMs:与碳水化合物结合

★ METACYC与KEGG都可以用来微生物的代谢通路预测,那么两者有什么区别呢?

MetaCyc的代谢物信息相较于KEGG提供内容更多,除了基础的物质信息以外,还包括物质的化学性质(如:油水分配系数、拓扑极性表面积、标准吉布斯自由能等)。

KEGG在通路方面的检索方式比MetaCyc更简单一些,通过通路名称或一个代谢物即可检索到相关的通路,而MetaCyc除了通路名称外,还需要提供通路中包含的4个底物才能检索到对应的通路;另外,在通路的完整度上,KEGG中更加注重的是在所有物种中的通路汇总到一张图上,而MetaCyc更加注重的是不同物种中通路的差异化

KEGG的通路会覆盖的更全一些,而MetaCyc相对会少一些,但是MetaCyc可以补充部分KEGG通路上不全的部分,因此KEGG与MetaCyc可以相互补充,达到相得益彰的效果

// 提示

想要查询不同功能的细节,解释生物学现象等,可以从数据库官网上查询,例如:

  • KEGG数据库:

在这里插入图片描述

  • MetaCyc数据库官网:
https://metacyc.org/
  • CAZY数据库:
http://www.cazy.org/
  • COG数据库:
https://www.ncbi.nlm.nih.gov/COG/

KEGG通路层级汇总:

Picrust2输出KEGG只有KO,KO层级通常有7、8千的功能条目。缺少PICRUSt1中分类合并为一级、二级、三级的3级通路,这里我们重新整理KEGG的层级数据并实现此功能,合并后仅剩500多个条目,方便比较和描述。

生成的分类层级文件

Picrust2/KEGG.PathwayL1.raw.txt

Picrust2/KEGG.PathwayL2.raw.txt

Picrust2/KEGG.Pathway.raw.txt

KEGG官网页面上给出了所有pathway的名字及其隶属关系,分成三个级别。

一级分类:共7个,分别是Metabolism(代谢)、Genetic Information Processing(遗传信息处理)、Environmental Information Processing(环境信息处理)、Cellular Processes(细胞过程)、Organismal Systems(有机系统)、Human Diseases(人类疾病)和Drug Development(药物开发)。

在这里插入图片描述

二级分类:在一级分类下面的分类,例如一级分类Cellular Processes下面包括5个二级分类:Transport and catabolism、Cell growth and death、Cellular community – eukaryotes、Cellular community – eukaryotes和Cell motility。

三级分类:二级分类下面的分类,例如二级分类Cell motility下面包括3个三级分类:Bacterial chemotaxis、Flagellar assembly和Regulation of actin cytoskeleton。

在这里插入图片描述

富集分析的结果一般都是三级分类,因此使用二级分类对三级分类进行汇总,可以快速找到相关的通路。例如Cell growth and death(细胞生长与死亡)相关通路。

根据3级层级分类通路数据,做KEGG分类层级图

在这里插入图片描述

预测信息可视化

得到的上述菌群功能丰度表之后,可以参考OTU丰度表做类似可视化分析。例如相对丰度构成图主成分分析PCA图功能差异图等。

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

springboot+minio+kkfileview实现文件的在线预览

在原来的文章中已经讲述过springbootminio的开发过程,这里不做讲述。 原文章地址: https://blog.csdn.net/qq_39990869/article/details/131598884?spm1001.2014.3001.5501 如果你的项目只是需要在线预览图片或者视频那么可以使用minio自己的预览地址进…

Java面试——中间件

OpenFeign 1、openFeign是一个HTTP客户端,它融合了springmvc的注解,使之可以用REST风格的映射来请求转发。 2、可以把openFegin理解为是controller层或是service层。可以取代springmvc控制层作为请求映射,亦或是作为service层处理逻辑&#…

Three.js和Babylon.js,webGL中的对比效果分析!

hello,今天分享一些three.js和babylon.js常识,为大家选择three.js还是babylon.js做个分析,欢迎点赞评论转发。 一、Babylon.js是什么 Babylon.js是一个基于WebGL技术的开源3D游戏引擎和渲染引擎。它提供了一套简单易用的API,使开发…

Threejs-02、坐标辅助器与轨道控制器使用

一、坐标辅助器 1、添加坐标辅助器 // 添加世界坐标辅助器 const axesHelper = new THREE.AxesHelper(2); scene.add(axesHelper);2、调整相机位置 //设置相机位置 camera.

卫星通信频段有哪些

卫星通信使用到的频段涵盖L, S, C, Ku, Ka等,而最常用的频段是C(4~8GHz)和Ku(12~18GHz)频段,而Ka(27-40GHz)频段是后起之秀。目前地球赤道上空有限的地球同步卫星轨位几乎已被各国占满,C和Ku频段内的频率资源被大量使用,而Ka频段的…

微软必应地图的三维实景功能

偶然看到微软必应地图的三维实景功能,由于比较感兴趣这方面的技术,所以试用了一下,感觉总体来说技术上比咱们自己的技术和设计要好很多。比如这个工具栏就设计的很简洁,人性化: 而且实景地图的范围也非常大,建立这么大…

webpack 优化构建速度的插件

1.HardSourceWebpackPlugin本地缓存 HardSourceWebpackPlugin这个插件比DLL动态链接库更优秀 HardSourceWebpackPlugin是webpack的插件,为模块提供中间缓存步骤。为了查看结果,您需要使用此插件运行webpack两次:第一次构建将花费正常的时间…

15天搭建ETF量化交易系统Day7—全自动化交易系统

搭建过程 每个交易者都应该形成一套自己的交易系统。 很多交易者也清楚知道,搭建自己交易系统的重要性。现实中,从0到1往往是最难跨越的一步。 授人鱼不如授人以渔,为了帮助大家跨出搭建量化系统的第一步,我…

HEXO博客常用命令(自用)

1、配置类命令 预览命令 hexo s 上传本地仓库: hexo g提交: hexo d更换主题:在_config.yml文件中:注意属性后面要跟着 # Extensions ## Plugins: https://hexo.io/plugins/ ## Themes: https://hexo.io/themes/ theme: vola…

嵌入式Linux系统编程 — 2.3 标准I/O库:格式化I/O

目录 1 格式化I/O简介 2 格式化输出 2.1 格式化输出函数简介 2.2 格式控制字符串 format 2.3 示例程序 3 格式化输入 3.1 格式化输入简介 3.2 格式控制字符串 format 3.3 示例程序 1 格式化I/O简介 在先前示例代码中,经常使用库函数 printf() 来输出程序中…

HTML5常用标签表单from

form表单标签 <!-- form表单其实就是一种&#xff1a;客户端和服务端数据交流一种方式机制。1&#xff1a; 服务端&#xff0c;提供数据接受地址&#xff08;gin/beego/inris&#xff09;比如&#xff1a;http://localhost:8080/toLogin2: 因为浏览器&#xff0c;在提交数据…

基于LangChain+LLM构建增强QA

前言 本文基于LangChain构建了针对自有领域数据的增强QA&#xff0c;支持以下数据源&#xff1a; 针对领域内需要精确回答的问题&#xff0c;从自有DB中查询&#xff1b;针对领域内其他自然语言QA&#xff0c;从自有知识的embedded向量数据库查询&#xff1b;针对领域内其他较…

硬件I2C读写MPU6050

硬件I2C读写MPU6050 SCL接PB10&#xff0c;SDA接PB11,但是硬件I2C引脚不可以任意指定。 查询引脚定义表&#xff0c;来规划引脚。但由于PB6,7,8,9被OLEDz占用&#xff0c;不方便接线了。 可以使用I2C2引脚&#xff0c;但必须是SCL对应PB10&#xff0c;SDA对应PB11&#xff0c;…

python类与面向对象编程

⚠️⚠️⚠️本章后半部分难度激增&#xff0c;请一定认真学习⚠️⚠️⚠️ ⚠️⚠️⚠️本章后半部分难度激增&#xff0c;请一定认真学习⚠️⚠️⚠️ ⚠️⚠️⚠️本章后半部分难度激增&#xff0c;请一定认真学习⚠️⚠️⚠️ 上篇回顾&#xff1a; 上篇我们帮天下第一…

冯喜运:6.7今日外汇黄金原油走势分析及日内操作策略

【黄金消息面分析】&#xff1a;美国初请失业金人数超预期&#xff0c;市场对美联储9月降息预期升温&#xff0c;全球降息潮起&#xff0c;黄金市场受支撑。北京时间本周四&#xff0c;美国劳工部公布的数据显示&#xff0c;截至6月1日当周初请失业金人数增加至22.9万人&#x…

docker bash: vi: command not found 修改文件无法使用 vi yum的方法

如题&#xff0c;被入坑很多次。也参考了很多的修复docker 中的vi yum等方法。最终都未解决。 因为要修改 已安装容器中的各类配置信息。无法使用vi yum很麻烦。除去使用docker 挂载文件方法外&#xff0c;还可以使用如下方法直接修改对应的配置文件信息。 如: 修改 logstas…

短剧系统投流版开发,为运营公司投流业务赋能

短剧系统投流版开发是一项复杂的任务&#xff0c;旨在为运营公司的投流业务提供强大的技术支持和赋能。以下是一些关键步骤和考虑因素&#xff0c;以确保短剧系统投流版的成功开发&#xff1a; 一、明确业务需求与目标 首先&#xff0c;需要深入了解运营公司的业务需求、目标…

Java基础语法---集合---ArrayList

ArrayList是什么 ArrayList可以看作是一个动态数组&#xff0c;提供了自动扩容的能力&#xff0c;意味着它能够根据需要自动调整其大小以容纳更多的元素&#xff0c;而无需预先指定数组的容量。 使用ArrayList需要加入包 import java.util.ArryList ArrayList与普通数组的不同…

Si3N4/SiC纳米复相陶瓷综合性能明显提升 下游可应用范围广泛

Si3N4/SiC纳米复相陶瓷综合性能明显提升 下游可应用范围广泛 Si3N4/SiC纳米复相陶瓷&#xff0c;是以碳化硅&#xff08;SiC&#xff09;纳米颗粒为第二相&#xff0c;弥散进入氮化硅&#xff08;Si3N4&#xff09;基体相制备得到的新型陶瓷材料&#xff0c;对碳化硅陶瓷具有强…

Cannot add ‘xxxxxx‘to Logic Analyzer

问题描述&#xff1a;Keil 中&#xff0c;直接切换到仿真中并添加变量到逻辑分析仪&#xff0c;会报如题类型错误。 解决方法&#xff1a; 需要在先在执行main函数&#xff0c;生成变量内容&#xff0c;然后在添加到逻辑分析仪。具体方法是&#xff0c;在mian 中打断点——运…