首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >宏病毒组分析 (三):病毒的物种分类与功能基因深度注释

宏病毒组分析 (三):病毒的物种分类与功能基因深度注释

作者头像
天意生信云
发布2025-11-29 17:44:34
发布2025-11-29 17:44:34
260
举报

当我们拿到手中的vOTUs序列时,生物学解释工作才刚刚开始。与细菌不同,病毒缺乏像16S rRNA那样通用的分类标记基因,且变异速度极快,这使得传统的基于序列相似性的分类方法(如BLAST)往往失效。目前,基于基因共享网络(Gene-sharing Network)的方法已成为病毒分类的金标准。

同时,病毒不仅仅是“寄生者”,它们还经常携带宿主来源的代谢基因(AMGs)来增强宿主的代谢能力(如光合作用、碳代谢等)以利于自身复制。精准识别这些功能基因,是将病毒与生态系统功能联系起来的关键。

本篇将重点介绍两款重量级工具:vConTACT2(用于病毒分类构建)和 DRAM-v(用于病毒功能及AMG注释)。

前置步骤:基因预测 (Gene Prediction)

无论是分类还是功能注释,大多数工具都需要蛋白序列作为输入。因此,我们首先需要从vOTUs核酸序列中预测出编码基因。

工具:Prodigal (使用 -p meta 模式)。

用法

代码语言:javascript
复制
prodigal -i vOTUs.fasta -a vOTUs_proteins.faa -d vOTUs_genes.fna -o vOTUs.gff -p meta

-i vOTUs.fasta:指定输入文件,这里是vOTUs.fasta。

-o vOTUs.gff:输出基因的坐标信息,格式为GFF。

-d vOTUs_genes.fna:输出基因的核苷酸序列。

-a vOTUs_proteins.faa:输出基因的氨基酸序列。

-p meta:指定预测模式为宏基因组模式,默认是single模式。

我们主要需要vOTUs_proteins.faa(蛋白序列)作为后续输入。

模块一:病毒物种分类注释 (Viral Taxonomy)

工具介绍:vConTACT2

vConTACT2 是目前国际病毒分类委员会(ICTV)广泛认可的病毒分类工具。它不依赖单一标记基因,而是通过计算两个病毒基因组之间共享的基因簇(Protein Clusters, PCs)数量,构建全基因组层面的相似性网络。

  • 核心作用: ○ 将你的vOTUs与已知病毒数据库(如RefSeq)进行聚类。 ○ 基于网络拓扑结构,将病毒划分到属(Genus)或科(Family)水平的分类单元(Viral Clusters, VCs)。

环境部署

vConTACT2 依赖较多,安装时需格外注意。

代码语言:javascript
复制
# 1. 安装
mamba create -n vcontact2 -c bioconda -c conda-forge vcontact2
conda activate vcontact2

# 2. 数据库下载 (非常关键,必须匹配)
# 下载RefSeq原核病毒数据库 (ProkaryoticViralRefSeq)
wget https://bitbucket.org/MAVERICLab/vcontact2/downloads/ProkaryoticViralRefSeq201-Merged-DB.tar.gz
tar -xvf ProkaryoticViralRefSeq201-Merged-DB.tar.gz

软件核心用法

vConTACT2 需要两个核心输入:蛋白序列文件 和 基因与基因组的对应映射文件

数据准备:

由于输入格式要求严格,建议先按照以下格式整理(假设已有 vOTUs_proteins.faa):

  1. 基因组蛋白文件 (proteins.faa):包含所有vOTUs的蛋白序列。
  2. 基因-基因组映射文件 (gene_to_genome.csv):两列,无表头。第一列是基因ID,第二列是基因组ID(Contig ID)。
代码语言:javascript
复制
# 运行 vConTACT2
vcontact \
    --gene2genome gene_to_genome.csv \           # 映射文件
    --rel-mode 'Diamond' \                       # 使用Diamond进行快速比对
    --db 'ProkaryoticViralRefSeq201-Merged' \    # 指定下载的数据库目录
    --proteins proteins.faa \                    # 输入的蛋白序列
    --output-dir ./vcontact2_output \            # 输出目录
    --threads 16

结果解析与可视化

运行结束后,./vcontact2_output 目录下会生成大量文件,重点关注以下几个:

A. genome_by_genome_overview.csv (最核心的分类结果表)

这是文本形式的分类结果,告诉你每个vOTU归到了哪个类。

示例数据:

结果解读:

VC(Viral Cluster) : 近似于“病毒属”水平的聚类编号。如果你的vOTU和参考数据库中的病毒分到了同一个VC(如VC_102),且该VC中有已知分类的病毒(如Lectovirus),则可以推断你的vOTU属于该属。

VC_StatusClustered:成功聚类,置信度较高。

Singleton:该病毒自成一类,与其他任何病毒(包括数据库中的)都不相似,可能是新的病毒属。

Outlier:与某些病毒有联系,但联系不够紧密,无法归入任何VC。

Taxon:如果同VC中有已知RefSeq病毒,这里会显示其分类信息。

B. c1.ntw(网络文件)

作用:这是构建网络图的原始数据。

可视化方法

a. 打开软件 Cytoscape

b. 导入网络文件 c1.ntw

c. 导入属性文件 genome_by_genome_overview.csv(作为节点属性)。

d. 设置节点颜色:将“RefSeq”病毒设为灰色,将“My_vOTUs”设为红色。

e. 结果看点:你会看到你的红色节点如果和灰色的RefSeq节点紧密连接在一起,说明分类明确;如果红色节点聚集在一起形成独立的“孤岛”,说明你发现了一个全新的病毒类群。

模块二:病毒功能注释与AMG挖掘 (Functional Annotation)

工具介绍:DRAM-v

虽然我们可以用eggNOG-mapper做通用注释,但专门针对病毒的 DRAM-v (Distilled and Refined Annotation of Metabolism - viral)是目前更优的选择。

核心优势

专门针对AMG设计:它不仅注释基因功能,还通过一套严格的规则(基于基因在基因组末端的距离、病毒标志基因的存在等)对AMG进行打分,剔除假阳性

可视化极佳:提供“蒸馏”(Distill)功能,直接生成代谢通路热图。

环境部署

DRAM 的数据库配置非常庞大(通常需要100GB+),请预留足够时间和空间。

代码语言:javascript
复制
# 1. 安装
mamba create -n dram -c bioconda -c conda-forge dram
conda activate dram

# 2. 配置数据库 (这是最耗时的一步)
DRAM-setup.py prepare_databases \
    --output_dir /path/to/dram_db \
    --kofam_hmm_loc /path/to/kofam_profiles.hmm \ # 可选,提高KEGG精度
    --threads 16

软件核心用法

DRAM-v 的运行分为两步:注释(Annotate)和蒸馏(Distill)。注意:DRAM-v需要输入原始Contigs(为了计算基因位置)和Prodigal预测的基因位置信息。

Step 1: 注释 (Annotate)

代码语言:javascript
复制
DRAM-v.py annotate \
    -i vOTUs.fasta \                     # 输入病毒Contigs FASTA
    -v vOTUs_affi_contigs.tab \          # (可选) 病毒与其宿主的关联表,若无除去此参数
    -o dramv_output \                    # 输出目录
    --min_contig_size 5000 \             # 建议过滤短序列
    --threads 16

(注:DRAM-v内部会重新调用Prodigal,也可以通过参数指定已*(注:DRAM-v内部会重新调用Prodigal,也可以通过参数指定已有的GFF文件)

Step 2: 蒸馏 (Distill)

这一步将复杂的注释表转化为可读性强的汇总表。

代码语言:javascript
复制
DRAM-v.py distill \
    -i dramv_output/annotations.tsv \    # 上一步生成的注释表
    -o dramv_distill_output              # 汇总输出目录

结果解析

A. amg_summary.tsv (AMG汇总表 - 最重要)

这个表格列出了所有被判定为潜在AMG的基因及其可信度。

示例数据:

结果解读:

  • header:该基因所属的代谢通路(如光合作用、糖酵解)。
  • auxiliary_score(1-5) :重点关注。DRAM-v根据基因邻域环境给出的打分。 Score 1-2:高置信度AMG。表示该代谢基因周围有明显的病毒标志基因(如衣壳蛋白),且不在基因组末端(排除宿主污染的可能性)。 Score 4-5:低置信度。可能位于Contig边缘,或是单纯的宿主污染片段。
  • amg_flags:标记可能的警告信息。V 表示该基因附近有病毒特异性基因。

B. product.html (代谢热图)

作用:这是一个交互式的HTML文件。

怎么看

它将病毒按行排列,代谢模块(如碳固定、氮代谢、硫代谢)按列排列。

格子颜色深浅:表示该病毒基因组中包含该代谢通路基因的覆盖度。

实战意义:如果你看到某组病毒在“Photosynthesis(光合作用)”模块下有高亮色块,说明这组病毒可能携带psbA等基因,是典型的“辅助代谢”证据。

常见问题与避坑指南

  1. vConTACT2 结果全是 Singleton

○ 原因:环境病毒(如土壤、深海)通常在数据库中缺乏参考序列,这是正常现象。

○ 对策:虽然没有分类名,但你可以根据网络图,把聚在一起的Unknown vOTUs定义为一个新的Candidate Genus(候选属)。

  1. DRAM-v 找不到任何 AMG

○ 正常吗?:对于大多数噬菌体,找不到AMG是正常的。AMG通常富集在特定环境(如海洋透光层、特定营养循环活跃区)。

○ 检查:如果你的样本是人肠道,AMG确实相对较少;如果是海洋样本,通常能找到光合作用或磷代谢相关AMG。

  1. 硬件资源不足怎么办

○ vConTACT2和DRAM-v都非常消耗内存(32GB起步,建议64GB+)。如果本地服务器跑不动,建议使用精简版数据库或去云平台运算。

本章小结

通过本章的分析,我们的vOTUs已经有了“名分”和“职业”:

  1. 利用 vConTACT2,我们构建了病毒家族图谱,识别了它们与已知病毒的亲缘关系。
  2. 利用 DRAM-v,我们深入挖掘了病毒基因组中的“暗物质”,特别是识别出了高置信度的辅助代谢基因(AMGs),揭示了病毒操纵宿主代谢的潜在机制。

至此,我们对病毒本身的分析已经比较透彻。但病毒离不开宿主,“这些病毒到底感染谁?” 是宏病毒组分析中最后一块、也是最难拼上的拼图。

在下一篇文章中,我们将详细拆解 病毒宿主预测 (Virus-Host Prediction) 流程,介绍如何利用 CRISPR spacers、序列同源性和k-mer频率等多维证据,锁定病毒的宿主目标。

我们深知,科研的宝贵时间不应浪费在环境配置的反复试错与计算任务的漫长等待上。为此,我们推出的高性能计算服务器,正是为解决这些痛点而生。我们不仅为您准备了拥有大内存、多核心的强劲硬件,更将通用分析工具及所需数据库进行了预装和深度优化,为您打造一个“开箱即用”的宏基因组分析平台。让您告别繁琐配置,专注数据,加速您的科研进程。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 BioOmics 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前置步骤:基因预测 (Gene Prediction)
  • 模块一:病毒物种分类注释 (Viral Taxonomy)
    • 工具介绍:vConTACT2
    • 环境部署
    • 软件核心用法
    • 结果解析与可视化
      • A. genome_by_genome_overview.csv (最核心的分类结果表)
      • B. c1.ntw(网络文件)
  • 模块二:病毒功能注释与AMG挖掘 (Functional Annotation)
    • 工具介绍:DRAM-v
    • 环境部署
    • 软件核心用法
    • 结果解析
      • A. amg_summary.tsv (AMG汇总表 - 最重要)
      • B. product.html (代谢热图)
  • 常见问题与避坑指南
  • 本章小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档