在上一篇文章中,我们通过 vConTACT2 和 geNomad 成功给病毒“上了户口”,知道了它们的分类学地位。但是,作为严格寄生的生物实体,病毒必须依赖宿主才能生存和繁衍。“这些病毒感染谁?” 是解析生态网络、理解病毒生态功能最关键的一环。
这篇教程将接续上一篇关于病毒分类学(vConTACT2/geNomad)的内容,带你进入宏病毒组分析中最具挑战性的环节——宿主预测。
我们将深入探讨iPHoP(Integrated Phage Host Prediction)这个集大成者的工具,并详细拆解其背后的逻辑、操作流程及结果解读。
在动手之前,我们需要理解这些工具的判断依据。这就像刑侦破案,需要不同维度的“证据”:
iPHoP (Integrated Phage Host Prediction) 不是一个单一的算法,而是一个流程框架(Pipeline)。它整合了上述多种方法(包括 Blast, CRISPR, WIsH, PHP, RaFAH 等),通过随机森林分类器给出一个综合评分,大大提高了预测的准确度和广度。
iPHoP 依赖较多,强烈建议使用 mamba 进行安装,以避免依赖冲突。
安装步骤:
# 1. 创建环境 (推荐使用 mamba,速度快)
mamba create -n iphop -c conda-forge -c bioconda iphop python=3.9
# 2. 激活环境
conda activate iphop
# 3. 检查是否安装成功
iphop --version
# 输出类似:iPHoP version 1.3.2 即为成功
这是最耗时的一步。iPHoP 依赖一个庞大的宿主基因组数据库(包含 GTDB 的代表性基因组)。
# 1. 创建数据库存放目录
mkdir iphop_db
cd iphop_db
# 2. 自动下载并构建数据库 (注意:需保持网络畅通,耗时较长)
# 该命令会自动下载最新数据库并解压配置
iphop download --db_dir .
# 注意:如果是服务器网络受限,可以本地下载 tar.gz 包后上传至服务器解压
# 官方数据源通常很大,解压后会包含 Sept_2021_pub 等文件夹
假设我们手头有一份宏病毒组组装好的病毒序列文件:vOTUs.fasta。
vOTUs.fasta (FASTA 格式,建议先剔除短于 5kb 的序列,以提高预测准确性)。# 基本运行命令
# --fa: 输入的病毒序列
# --db_dir: 刚才下载好的数据库路径
# --out_dir: 结果输出目录
# --num_threads: 线程数 (建议设高一点)
iphop predict \
--fa vOTUs.fasta \
--db_dir /path/to/iphop_db/Sept_2021_pub_rw/ \
--out_dir iphop_results \
--num_threads 24 \
--min_score 90
--min_score 90: iPHoP 会给每个预测打分(0-100)。通常 90分 被认为是高置信度的阈值,低于 90 的结果建议丢弃。--no_qc: 如果你的输入序列已经经过严格质控(如 VirSorter2 + CheckV),可以加上此参数跳过 iPHoP 自带的 QC,节省时间。
运行开始后,屏幕会滚动显示各模块的进度:
程序运行完毕后,iphop_results 目录下会有多个文件。我们需要重点关注的是 Host_prediction_to_genus_m90.csv (文件名可能略有不同,取决于版本,通常含 genus 和 m90)。
让我们打开 CSV 文件,典型的内容如下:

运行结束后,通过以下几点判断结果是否正常:
通过 iPHoP,我们将孤立的病毒序列与复杂的微生物群落联系了起来。
核心流程回顾:
mamba 安装 iPHoP,下载数百 GB 的数据库。iphop predict 并设置 score > 90。Host_genus 和 List_of_methods,优先信任 CRISPR 证据。现在已经掌握了病毒的身份(分类)和关系(宿主)。为了完成宏病毒组分析的闭环,下一步:计算病毒的丰度并在不同样本间进行差异分析(使用 CoverM 或 Bowtie2)。
我们深知,科研的宝贵时间不应浪费在环境配置的反复试错与计算任务的漫长等待上。为此,我们推出的高性能计算服务器,正是为解决这些痛点而生。我们不仅为您准备了拥有大内存、多核心的强劲硬件,更将通用分析工具及所需数据库进行了预装和深度优化,为您打造一个“开箱即用”的宏基因组分析平台。让您告别繁琐配置,专注数据,加速您的科研进程。