基于综合特征的细菌噬菌体宿主预测工具iPHoP (Integrated Phage HOst Prediction)的介绍以及使用方法详细流程

介绍

iPHoP(Integrated Phage HOst Prediction)是一种基于综合特征的细菌噬菌体宿主预测方法。它是通过整合基因组序列、蛋白质序列和宿主基因组信息来预测细菌噬菌体的宿主范围。

iPHoP的预测过程分为三个步骤:特征提取、特征选择和宿主预测。在特征提取阶段,iPHoP会从噬菌体基因组和宿主基因组中提取一系列特征,包括基因组特征、蛋白质特征和宿主基因组特征。

在特征选择阶段,iPHoP使用机器学习算法从提取的特征中选择最具有预测能力的特征。常用的特征选择算法包括卡方检验、互信息和方差分析等。

在宿主预测阶段,iPHoP使用选择的特征来构建预测模型,通过对未知噬菌体进行预测,确定它们可能的宿主范围。

iPHoP具有以下特点:它是一种集成的预测方法,可以同时使用多个特征进行预测;它基于机器学习算法,可以根据不同的数据集进行预测;它能够预测细菌噬菌体的宿主范围,并提供预测的可靠性评估。

iPHoP已经在一些实验证明了其预测的准确性和可靠性,并且被广泛应用于细菌噬菌体宿主的研究中。

Overview

iPHoP stands for integrated Phage Host Prediction. It is an automated command-line pipeline for predicting host genus of novel bacteriophages and archaeoviruses based on their genome sequences.

The pipeline can be broken down into 6 main steps:

仓库:srouxjgi / iphop — Bitbucket

文章:iPHoP: An integrated machine learning framework to maximize host prediction for metagenome-derived viruses of archaea and bacteria | PLOS Biology 

下载代码库

git clone https://bitbucket.org/srouxjgi/iphop.git

大致的使用流程

A: 第1步:运行单个宿主预测工具

基于噬菌体的工具: RaFAH(https://doi.org/10.1016/j.patter.2021.100274):生成宿主属的预测结果及相应的评分,保存以备后续步骤5使用

宿主基础工具:

  • 使用blastn对宿主基因组进行比对。所有匹配度≥80%、长度≥500bp的片段被考虑在内。若匹配片段覆盖了“宿主”contig长度的≥50%,则忽略这些片段,因为它们往往源自几乎完全为病毒的contigs,可能源于基因组或MAGs中的污染,因此对于宿主预测不可靠。
  • 使用blastn对CRISPR间隔序列数据库进行比对。所有最多允许4个错配的匹配结果都被考虑。
  • WIsH(https://doi.org/10.1093/bioinformatics/btx383):基于病毒与宿主基因组k-mer组成相似性判断宿主关联
  • VHM-s2* 相似性(Alignment-free |$d_2^*$| oligonucleotide frequency dissimilarity measure improves prediction of hosts from metagenomically-derived viral sequences | Nucleic Acids Research | Oxford Academic / https://doi.org/10.1093/nargab/lqaa044):基于病毒与宿主基因组k-mer组成相似性判断宿主关联
  • PHP(https://doi.org/10.1186/s12915-020-00938-6):基于病毒与宿主基因组k-mer组成相似性判断宿主关联

B: 第2步:收集所有得分和基于宿主工具的所有命中之间的距离 * 对于两个潜在宿主(即,给定工具和查询病毒的两个匹配结果),距离是基于GTDB树(https://doi.org/10.1093/nar/gkab776)计算得出的。

C: 步骤3和4:为每种病毒 - 工具 - 候选宿主组合编制组织有序的命中列表 * 对于每个命中结果,将从同一病毒且使用相同工具获取的其他顶级命中结果进行汇总,并根据基线宿主与其他命中宿主之间的距离进行排序(参见步骤2)。 * 这些系列命中的结果被用作自动化分类器的输入,以推导出给定病毒 - 候选宿主对的评分。 * 这使得在评估每一个潜在宿主(每个命中结果)时,能够考虑到该病毒所获得的顶级命中结果的上下文信息。

D: 第5步:为每种病毒 - 候选宿主组合得出宿主基础工具的3个评分 * 仅基于blast或crispr匹配的顶级评分会被保留,因为这些方法本身在宿主预测上就足够可靠。 * 第三个评分通过考虑来自所有单独分类器的所有得分(参见步骤4)得出,即同时考虑所有5种宿主基础方法。

E: 第6步:计算每种病毒 - 候选宿主属组合的综合评分,整合宿主基础信号和噬菌体基础信号 * 将3个宿主基础评分(参见步骤5)与噬菌体基础评分(RaFAH - https://doi.org/10.1016/j.patter.2021.100274)结合,为所有病毒 - 候选宿主属对获得一个单一的综合评分。

conda安装

conda create -c conda-forge -n iphop_env python=3.8
conda activate iphop_env
mamba install -c conda-forge -c bioconda iphop

mamba没有的大家自己使用conda 安装一下就行,怎么配置conda基础环境可以参考:

轻快小miniconda3在linux下的安装配置-centos9stream-Miniconda3 Linux 64-bit_离线安装miniconde linux-CSDN博客

数据库下载

iphop download --db_dir path_to_iPHoP_db# 验证iphop download --db_dir path_to_iPHoP_db --full_verify

手动下载:

wget https://portal.nersc.gov/cfs/m342/iphop/db/iPHoP.latest_rw.tar.gztar -zxvf iPHoP.latest_rw.tar.gz

开始使用

超级简单直接运行

iphop predict --fa_file my_input_phages.fasta --db_dir path/to/iphop_db/Sept_2021_pub/ --out_dir iphop_output/

主要输出结果文件:

Main output files

Host_prediction_to_genus_mXX.csv, where XX is the minimum score cutoff selected (default: Host_prediction_to_genus_m90.csv)

This contains integrated results from host-based and phage-based tools at the host genus level:

VirusAAI to closest RaFAH referenceHost genusConfidence scoreList of methods
IMGVR_UViG_3300029435_00000248.49d__Bacteria;p__Bacteroidota;c__Bacteroidia;o__Bacteroidales;f__Bacteroidaceae;g__Prevotella98.50RaFAH;91.30 iPHoP-RF;89.50 CRISPR;70.20
IMGVR_UViG_3300029435_00000353.00d__Bacteria;p__Firmicutes_A;c__Clostridia;o__Lachnospirales;f__Lachnospiraceae;g__Agathobacter92.20blast;94.40
IMGVR_UViG_3300029435_00000353.00d__Bacteria;p__Firmicutes_A;c__Clostridia;o__Lachnospirales;f__Lachnospiraceae;g__Bacteroides_F90.90CRISPR;93.30 iPHoP-RF;51.70
IMGVR_UViG_3300029435_00000542.95d__Bacteria;p__Firmicutes_A;c__Clostridia;o__Oscillospirales;f__Ruminococcaceae;g__Gemmiger95.30blast;96.70 CRISPR;92.70 iPHoP-RF;82.50
IMGVR_UViG_3300029435_00000735.09d__Bacteria;p__Bacteroidota;c__Bacteroidia;o__Bacteroidales;f__Bacteroidaceae;g__Prevotella98.40CRISPR;98.80 iPHoP-RF;95.40 blast;93.60
IMGVR_UViG_3300029435_00000999.62d__Bacteria;p__Firmicutes_A;c__Clostridia;o__Lachnospirales;f__Lachnospiraceae;g__Lachnospira99.00CRISPR;98.80 blast;92.60 iPHoP-RF;70.90 RaFAH;65.80
IMGVR_UViG_3300029435_00000999.62d__Bacteria;p__Firmicutes_A;c__Clostridia;o__Lachnospirales;f__Lachnospiraceae;g__Roseburia95.70CRISPR;97.00 iPHoP-RF;56.80
IMGVR_UViG_3300029435_00001022.47d__Bacteria;p__Proteobacteria;c__Gammaproteobacteria;o__Burkholderiales;f__Burkholderiaceae;g__Sutterella97.60blast;98.30 CRISPR;80.00 iPHoP-RF;78.30
  • This output file lists for each prediction the virus sequence ID, the level of amino-acid similarity (AAI) between the query and the genomes in the RaFAH phage database, the predicted host genus, the confidence score calculated from all tools, and the list of scores for individual classifiers obtained for this virus-host pair.
  • For the detailed score by classifier, "RaFAH" represents the score derived from RaFAH (https://www.sciencedirect.com/science/article/pii/S2666389921001008), iPHoP-RF is the score derived from all host-based tools, CRISPR the score derived only from CRISPR hits, and blast the score derived only from blastn hits
  • All virus-host pairs for which the confidence score is higher than the selected cutoff (default = 90) are included, so each virus may be associated with multiple predictions (e.g. IMGVR_UViG_3300029435_000003 and IMGVR_UViG_3300029435_000009).

其他注意事项:

注意事项:我们建议所有用户首先使用标准数据库对相同的病毒序列运行iPHoP。同时,强烈建议仔细筛查所有MAGs(宏基因组组装基因组)以剔除污染,因为微生物MAGs中错误地归类的病毒contig可能导致高置信度的错误宿主预测。

注意事项:对于版本小于1.2.0的iPHoP,在添加自定义MAGs时,需要的是GTDB-tk v1.5.0的输出结果,目前与GTDB-tk v2的输出不兼容。但在1.2及更高版本中,这一问题应该已经得到了修复。

用户可以将他们自己的MAGs添加到宿主数据库中,例如从获取输入噬菌体的相同数据集或采样地点获得的MAGs。iPHoP中的"add_to_db"模块可用于此目的,需要为每个MAG提供fasta文件以及应用在这些相同MAG上的"gtdb-tk infer"功能的结果。示例文件集可在https://bitbucket.org/srouxjgi/iphop/downloads/Data_test_add_to_db.tar.gz 获取,基于Dalcin Martins等人发表的研究“Viral and metabolic controls on high rates of microbial sulfur and carbon cycling in wetland ecosystems”的数据。

要将MAGs添加到宿主数据库的完整过程如下:

使用wget下载示例数据包:

wget https://bitbucket.org/srouxjgi/iphop/downloads/Data_test_add_to_db.tar.gz

解压下载的数据包:

tar -xvf Data_test_add_to_db.tar.gz

 查看解压后的目录内容:

ls Data_test_add_to_db

其中,“Expected_results/”文件夹包含了使用Sept_2021_pub数据库或包含额外MAGs的新数据库时iPHoP的预期结果文件。“Input_viral_contigs.fasta”是输入文件。“Wetland_MAGs/”文件夹包含了所有MAGs的fasta文件。“Wetland_MAGs_GTDB-tk_results/”文件夹则包含了iPHoP将使用的gtdb-tk结果文件。

生成gtdb-tk结果文件

gtdbtk de_novo_wf --genome_dir Wetland_MAGs/ --bacteria --outgroup_taxon p__Patescibacteria --out_dir Wetland_MAGs_GTDB-tk_results/ --cpus 32 --force --extension fa
gtdbtk de_novo_wf --genome_dir Wetland_MAGs/ --archaea --outgroup_taxon p__Altarchaeota --out_dir Wetland_MAGs_GTDB-tk_results/ --cpus 32 --force --extension fa

创建一个新的iPHoP数据库,该数据库将包括GTDB基因组和用户提供的额外MAGs,但不包括GEM或IMG基因组

cd Data_test_add_to_db
iphop add_to_db --fna_dir Wetland_MAGs/ --gtdb_dir Wetland_MAGs_GTDB-tk_results/ --out_dir Sept_2021_pub_rw_w_Wetland_hosts --db_dir /path/to/iphop_db/Sept_2021_pub_rw/

 注意:为了避免复制大量文件,新数据库部分基于原始数据库的符号链接。这意味着如果原始数据库(此处为 "iphop_db/Sept_2021_pub/")被修改或删除,新的数据库也将无法正常工作。这也意味着应提供原始数据库的完整路径作为 "db_dir" 参数。

然后,可以使用"Sept_2021_pub_w_Wetland_hosts"文件夹作为iPHoP数据库进行宿主预测操作,例如:

iphop predict --fa_file Input_viral_contigs.fasta --db_dir Sept_2021_pub_rw_w_Wetland_hosts/ --out_dir test_add_db -t 4

引用信息

@article{roux_iphop_2023,
abstract = {The extraordinary diversity of viruses infecting bacteria and archaea is now primarily studied through metagenomics. While metagenomes enable high-throughput exploration of the viral sequence space, metagenome-derived sequences lack key information compared to isolated viruses, in particular host association. Different computational approaches are available to predict the host(s) of uncultivated viruses based on their genome sequences, but thus far individual approaches are limited either in precision or in recall, i.e., for a number of viruses they yield erroneous predictions or no prediction at all. Here, we describe iPHoP, a two-step framework that integrates multiple methods to reliably predict host taxonomy at the genus rank for a broad range of viruses infecting bacteria and archaea, while retaining a low false discovery rate. Based on a large dataset of metagenome-derived virus genomes from the IMG/VR database, we illustrate how iPHoP can provide extensive host prediction and guide further characterization of uncultivated viruses.},
author = {Roux, Simon and Camargo, Antonio Pedro and Coutinho, Felipe H. and Dabdoub, Shareef M. and Dutilh, Bas E. and Nayfach, Stephen and Tritt, Andrew},
doi = {10.1371/journal.pbio.3002083},
issn = {1545-7885},
journal = {PLOS Biology},
number = {4},
title = {{iPHoP}: {An} integrated machine learning framework to maximize host prediction for metagenome-derived viruses of archaea and bacteria},
volume = {21},
year = {2023},
}

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

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

相关文章

使用Go语言实现RESTful API

RESTful架构是一种设计风格,用于构建网络应用程序的API。它基于HTTP协议,并使用不同的HTTP方法(如GET、POST、PUT、DELETE等)来处理不同的操作。在Go语言中,我们可以使用标准库中的net/http包来实现RESTful API。 下面…

人工智能_机器学习089_DBSCAN聚类案例_DBSCAN聚类算法效果展示_使用轮廓系数来评分DBSCAN效果---人工智能工作笔记0129

dbscan = DBSCAN(eps = 0.2,min_samples =3) 我们指定半径是0.2 然后每个圆圈至少是3个数据就可以归为一类 dbscan.fit(X) 然后进行训练 # 得到每个样本的标签,分类结果 y_ =dbscan.labels_ 然后得到结果 ,注意这里不需要进行predict,因为fit直接就相当于分类了 plt.scatte…

前端跨域问题的解决思路

目录 前言 跨域问题的解决思路 一般跨域的解决方案 前言 做了一个简单页面,做了一些数据埋点,想通过企业微信机器人来推送数据,遇到了一些问题,顺便记录下。 跨域问题的解决思路 由于是项目比较简单,直接使用了aj…

Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase()解决大小写不一致问题

Java项目调试实战:如何高效调试Spring Boot项目中的GET请求,并通过equalsIgnoreCase解决大小写不一致问题 写在最前面全部过程Java equalsIgnoreCase() 方法idea中如何调试SpringBoot项目在IntelliJ IDEA中使用内置HTTP客户端设置断点和调试 补充&#x…

两阶段提交协议三阶段提交协议

两阶段提交协议 分布式事务是指会涉及到操作多个数据库的事务,在分布式系统中,各个节点之间在物理上相互独立,通过网络进行沟通和协调。 XA 就是 X/Open DTP 定义的交易中间件与数据库之间的接口规范(即接口函数),交易…

华为云CES监控与飞书通知

华为云负载均衡连接数监控与飞书通知 在云服务的日常运维中,持续监控资源状态是保障系统稳定性的关键步骤之一。本文通过一个实际案例展示了如何使用华为云的Go SDK获取负载均衡器的连接数,并通过飞书Webhook发送通知到团队群组,以便运维人员…

Js的String的replace(和replaceAll(

EcmaJavascriptJs的String的 replace( 和 replaceAll( 方法 String.prototype.replaceString.prototype.replaceAll 相同点 都是String.prototype的函数都是用于字符串替换都是两个参数第一个参数都可以是正则或字符串第二参数都可以是字符串或者回调函数, 回调会传入一个参…

使用Kafka与Spark Streaming进行流数据集成

在当今的大数据时代,实时数据处理和分析已经变得至关重要。为了实现实时数据集成和分析,组合使用Apache Kafka和Apache Spark Streaming是一种常见的做法。本文将深入探讨如何使用Kafka与Spark Streaming进行流数据集成,以及如何构建强大的实…

zlib.decompressFile报错 【Bug已解决-鸿蒙开发】

文章目录 项目场景:问题描述原因分析:解决方案:方案1方案2此Bug解决方案总结寄语项目场景: 最近也是遇到了这个问题,看到网上也有人在询问这个问题,本文总结了自己和其他人的解决经验,解决了zlib.decompressFile报错 的问题。 问题: zlib.decompressFile报错,怎么解…

光伏逆变器MPPT的作用、原理及算法

MPPT是逆变器非常核心的技术,MPPT电压在进行光伏电站设计时一项非常关键的参数。 一、什么是MPPT? (单块光伏组件的I-V、P-V曲线) 上图中,光伏组件的输出电压和电流遵循I-V曲线(绿色)、P-V曲线(蓝色),如果…

一篇文章学会Vim

一篇文章学会Vim 声明:以下内容均为我个人的理解,如果发现错误或者疑问可以联系我共同探讨 简介 Vim是一个高度可定制的终端文本编辑器,它可以很方便的创建和修改任何类型的文本。作为vi的升级版,有许多新的特性(以下列出的特性…

基于metersphere和supper-jacoco 测试覆盖率落地实践

一、背景及目标 背景 1、技术研发流程为测试 提供冒烟用例-开发根据用例自测-提测-开始测试,这一套流程,但是中间开发是否真实执行冒烟,测试并不知晓,而且测试提供冒烟用例是否符合标准也没法进行量化 2、公司产品属于saas产品&…

日常工作 经验总结

1,在使用vue2开发项目时,快捷有效的组件化component 若有参数传递时,可以通过这样传递 在component中: 2,上拉加载,下拉刷新 若是使用局部进行上拉加载 下拉刷新 且需要用到scroll-view时 那么需要切记scroll-view在内被mescroll-uni包裹。若场景有限 对于无数据显示…

PyTorch数据并行(DP/DDP)浅析

一直以来都是用的单机单卡训练模型,虽然很多情况下已经足够了,但总有一些情况得上分布式训练: 模型大到一张卡放不下;单张卡batch size不敢设太大,训练速度慢;当你有好几张卡,不想浪费&#xf…

YOLOv8改进 | 检测头篇 | ASFF改进YOLOv8检测头(全网首发)

一、本文介绍 本文给大家带来的改进机制是利用ASFF改进YOLOv8的检测头形成新的检测头Detect_ASFF,其主要创新是引入了一种自适应的空间特征融合方式,有效地过滤掉冲突信息,从而增强了尺度不变性。经过我的实验验证,修改后的检测头在所有的检测目标上均有大幅度的涨点效果,…

设计模式 七大原则

1.单一职责原则 单一职责原则(SRP:Single responsibility principle)又称单一功能原则 核心:解耦和增强内聚性(高内聚,低耦合)。 描述: 类被修改的几率很大,因此应该专注…

Vue: 多个el-select不能重复选择相同属性

一、场景 1.需求&#xff1a; 用户可自由选择需要修改的对象并同时修改多个属性&#xff0c;需要校验修改对象不能重复选择&#xff0c;但是可供修改属性是固定的 2.目标效果&#xff1a; 二、实现 1.主要代码&#xff1a; <template><el-selectv-model"se…

开源一套原创文本处理工具:Java+Bat脚本实现自动批量处理对账单工具

原创/朱季谦 这款工具是笔者在2018年初开发完成的&#xff0c;时隔两载&#xff0c;偶然想起这款小工具&#xff0c;于是&#xff0c;决定将其开源&#xff0c;若有人需要做类似Java批处理实现整理文档的工具&#xff0c;可参考该工具逻辑思路来实现。 该工具是运行在windos系统…

vercel部署Gemini pro

一、注册一个vercel账号&#xff08;这个东西类似于第三方的github pages&#xff0c;能部署github中的项目&#xff09; 二、注册结束后&#xff0c;填写github的账号&#xff08;需要事先在该github账号中fork一个gemini的repository&#xff09; 三、babaohuang/GeminiPro…

ssm基于vue框架和elementui组件的手机官网论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本手机官网就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&#x…