跳转至

宏基因组代谢通路重建:MinPath/Pathway Tools/KEGG Mapper

一句话概述

代谢通路重建就是根据基因注释结果,推测微生物群落能干什么"化学活儿"——能分解什么、合成什么、消化什么,把零散的基因功能串成完整的代谢"生产线"。


核心知识点表格

知识点说明
代谢通路一系列连续的酶促反应组成的"生产线",完成特定的生化功能
MinPath用最简约原则估计代谢通路,避免高估功能多样性
KEGG Mapper基于KEGG数据库的在线通路映射工具
Pathway Tools基于MetaCyc数据库的通路推断工具,通路覆盖最广
HUMAnN3整合了MinPath的宏基因组功能分析流水线
MetaPathPredict2024年新工具,用机器学习预测不完整基因组的代谢模块

白话解释

想象一个汽车工厂的流水线: - 原材料(底物)→ 工位1加工 → 工位2加工 → ... → 成品(产物) - 每个工位就是一个(由一个基因编码) - 一整条流水线就是一条代谢通路

宏基因组测序告诉我们:群落里有哪些"工位"(基因/酶)。代谢通路重建就是要弄清楚:这些工位能不能连成完整的流水线?

难点在于: - 测序可能没测到某些基因(流水线上少了几个工位) - 一个酶可能参与多条通路(一个工位可能在多条流水线上) - 直接把检测到的酶映射到通路会高估功能("天真映射"问题)


工具详解

第一步:基因功能注释(前置步骤)

在做通路重建之前,需要先对基因做功能注释:

# 方法1:用eggNOG-mapper注释KO号
emapper.py \
    -i predicted_proteins.faa \  # 输入预测的蛋白序列
    --output eggnog_out \        # 输出前缀
    -m diamond \                 # 使用DIAMOND比对
    --cpu 16                     # 线程数

# 方法2:用KofamScan注释KO号(更准确)
exec_annotation \
    -f detail-tsv \              # 输出详细格式
    -o kofam_results.tsv \       # 输出文件
    predicted_proteins.faa \     # 输入蛋白序列
    --cpu 16                     # 线程数

# 方法3:用HUMAnN3一站式分析(内置MinPath)
humann \
    --input sample_R1.fastq.gz \  # 输入测序reads
    --output humann_out/ \        # 输出目录
    --threads 16                  # 线程数

MinPath:最简约通路推断

白话解释: MinPath的哲学是"能少不多"。如果检测到一些酶,它不会把所有可能包含这些酶的通路都算进去,而是找出能解释所有检测到的酶的最少通路集合。就像侦探推理时遵循"奥卡姆剃刀"原则——最简单的解释往往是对的。

为什么要用MinPath? - 直接映射(naïve mapping)会高估:40%以上的通路可能是假阳性 - MinPath的结果更保守但更可靠

# 安装MinPath
git clone https://github.com/mgtools/MinPath.git  # 克隆仓库
cd MinPath

# 准备输入文件(KO号列表,每行一个)
# 格式示例:
# K00001
# K00002
# K00003

# 运行MinPath(基于KEGG)
python MinPath.py \
    -ko ko_list.txt \        # 输入KO号列表
    -report minpath_report.txt \  # 输出通路报告
    -details minpath_details.txt  # 输出详细信息

# 运行MinPath(基于MetaCyc)
python MinPath.py \
    -ec ec_list.txt \         # 输入EC号列表
    -report minpath_metacyc_report.txt \
    -details minpath_metacyc_details.txt \
    -map ec2rxn \             # EC号到反应的映射
    -map rxn2pwy              # 反应到通路的映射

MinPath结果解读:

# minpath_report.txt 示例:
# path 00010  naive 1  minpath 1  fam0 10  fam-found 8  name Glycolysis
# path 00020  naive 1  minpath 1  fam0 8   fam-found 6  name TCA cycle
# path 00030  naive 1  minpath 0  fam0 7   fam-found 2  name PPP
#
# naive 1/0 = 天真映射是否预测存在
# minpath 1/0 = MinPath是否预测存在
# fam0 = 该通路总共需要多少基因家族
# fam-found = 实际检测到多少基因家族

KEGG Mapper Reconstruct:在线通路映射

白话解释: KEGG Mapper是最常用的通路可视化工具。你把KO号列表上传,它帮你画出彩色的通路图,有的酶存在(标绿),有的不存在(留白),一目了然。

# KEGG Mapper主要是在线工具
# 网址:https://www.genome.jp/kegg/mapper/reconstruct.html

# 准备输入文件(KO号列表)
# 从eggNOG-mapper结果中提取KO号
awk -F'\t' '$12 != "" {print $12}' eggnog_out.emapper.annotations \
    | tr ',' '\n' \          # 将逗号分隔的KO号拆成每行一个
    | sort -u \              # 去重排序
    > ko_list_for_kegg.txt   # 输出KO号列表

# 也可以用KEGG API进行自动化查询(需要KEGG订阅)
# 免费替代方案:用KEGG模块完整度脚本
python3 << 'EOF'
# 用KO号计算KEGG模块完整度
import re

# 读取KO号列表
with open("ko_list_for_kegg.txt") as f:
    kos = set(line.strip() for line in f)  # 读取所有KO号

print(f"检测到 {len(kos)} 个KO号")  # 打印检测到的KO号数量

# KEGG模块定义示例(实际使用时从KEGG下载完整定义)
modules = {
    "M00001": {  # 糖酵解模块
        "name": "Glycolysis (Embden-Meyerhof pathway)",
        "kos": ["K00844","K00845","K01810","K00850","K01623","K01624",
                "K00134","K00927","K01689","K00873"]
    },
    "M00002": {  # TCA循环模块
        "name": "TCA cycle",
        "kos": ["K01647","K01681","K00031","K00164","K00658","K01902",
                "K00234","K01676","K00024"]
    }
}

# 计算每个模块的完整度
for mid, info in modules.items():
    found = len(set(info["kos"]) & kos)  # 找到的KO数量
    total = len(info["kos"])              # 总共需要的KO数量
    completeness = found / total * 100    # 计算完整度百分比
    status = "完整" if completeness >= 75 else "不完整"  # 判断状态
    print(f"{mid} {info['name']}: {found}/{total} ({completeness:.1f}%) - {status}")
EOF

Pathway Tools + MetaCyc

白话解释: Pathway Tools是基于MetaCyc数据库的通路推断工具。MetaCyc收录了2969条代谢通路,比KEGG的400条模块多得多,覆盖面更广。但它的学习曲线更陡。

# Pathway Tools安装(需要注册获得许可证)
# 下载地址:https://bioinformatics.ai.sri.com/ptools/

# 通常通过MetaPathways流水线使用Pathway Tools
# 安装MetaPathways
git clone https://github.com/hallamlab/MetaPathways.git  # 克隆仓库

# 或者使用Pathway Tools的命令行模式
pathway-tools \
    -patho \                 # 运行PathoLogic推断
    -input predicted_genes.gbk \  # 输入GenBank格式注释文件
    -no-ce-blast             # 不运行额外的BLAST比较

HUMAnN3:一站式宏基因组功能分析

白话解释: HUMAnN3把基因注释和通路重建整合在一起,内部自动调用MinPath。输入reads文件,输出三个表:基因家族丰度、通路丰度、通路覆盖度。

# 安装HUMAnN3
conda install -c bioconda humann  # 安装humann

# 下载数据库
humann_databases --download chocophlan full /path/to/db \  # 下载核酸数据库
    --update-config yes
humann_databases --download uniref uniref90_diamond /path/to/db \  # 下载蛋白数据库
    --update-config yes

# 运行HUMAnN3
humann \
    --input sample_R1.fastq.gz \  # 输入质控后的reads
    --output humann_out/ \        # 输出目录
    --threads 16 \                # 线程数
    --metaphlan-options "--bowtie2db /path/to/metaphlan_db"  # MetaPhlAn数据库路径

# 输出文件说明:
# sample_genefamilies.tsv  — 基因家族丰度表
# sample_pathabundance.tsv — 通路丰度表(包含MinPath筛选)
# sample_pathcoverage.tsv  — 通路覆盖度表

# 合并多个样本的结果
humann_join_tables \
    --input humann_out/ \         # 输入目录
    --output merged_pathabundance.tsv \  # 合并的通路丰度表
    --file_name pathabundance      # 合并哪种类型的表

# 按分类层级汇总
humann_regroup_table \
    --input merged_pathabundance.tsv \  # 输入文件
    --output regrouped.tsv \            # 输出文件
    --groups uniref90_ko                # 按KO号重新分组

MetaPathPredict:新一代ML工具(2024年发表)

白话解释: MetaPathPredict用机器学习预测不完整基因组(如MAG)中的完整代谢模块。它比MinPath更擅长处理缺失数据的情况。

# 安装MetaPathPredict
pip install MetaPathPredict  # 安装

# 运行预测
metapathpredict predict \
    --input ko_matrix.tsv \    # 输入KO号矩阵(基因组×KO号)
    --output predictions.tsv   # 输出预测结果

常见报错与解决

报错原因解决方案
HUMAnN3 metaphlan database not foundMetaPhlAn数据库未下载metaphlan --install --bowtie2db /path/to/db
HUMAnN3运行极慢reads太多或数据库未本地化先过滤host reads,确保数据库在本地SSD
MinPath报cannot find mapping file路径不对检查MinPath安装路径下的data目录
KEGG Mapper上传限制免费版有文件大小限制分批上传或使用KofamScan本地注释
HUMAnN3输出全是UNMAPPEDreads质量太差或数据库不匹配检查reads质量,确保下载了完整数据库

速查表

# 工具选择指南
快速初步分析 → KEGG Mapper在线上传
标准宏基因组分析 → HUMAnN3(内置MinPath)
MAG代谢分析 → KofamScan注释 + MinPath推断
最广通路覆盖 → Pathway Tools + MetaCyc
不完整基因组 → MetaPathPredict(2024年新工具)

# 数据库对比
KEGG: ~400个代谢模块,23,000+条通路图,需订阅
MetaCyc: 2,969条代谢通路,17,412个反应,免费
UniRef: HUMAnN3使用的蛋白数据库

# 通路完整度判断
> 75% KO检测到 → 通路可能完整
50-75% → 通路可能存在但不完整
< 50% → 通路可能不存在

# HUMAnN3输出文件
*_genefamilies.tsv — 基因家族丰度(RPK)
*_pathabundance.tsv — 通路丰度(RPK)
*_pathcoverage.tsv — 通路覆盖度(0-1)

面试高频问题

Q1:什么是代谢通路重建?为什么要做?

A:代谢通路重建是根据检测到的基因/酶,推断微生物群落具有哪些代谢功能(如糖酵解、氨基酸合成等)。做这个分析可以从"谁在那里"深入到"谁在做什么",理解微生物群落的功能潜力。

Q2:MinPath和直接映射(naïve mapping)有什么区别?

A:直接映射把检测到的每个酶都映射到所有包含它的通路,会严重高估功能多样性(约40%是假阳性)。MinPath使用最简约原则,找出能解释所有检测到酶的最少通路集合,结果更可靠。

Q3:KEGG和MetaCyc有什么区别?你会选哪个?

A:KEGG有约400个代谢模块,MetaCyc有约2969条通路,MetaCyc覆盖面更广(7.4倍)。KEGG的优势是图形化展示好、使用广泛。如果做初步分析用KEGG,深入研究用MetaCyc。

Q4:HUMAnN3的分析流程是什么?

A:输入质控后的reads → MetaPhlAn做物种分类 → 构建物种特异性数据库 → 对reads做功能注释 → MinPath推断通路 → 输出基因家族丰度、通路丰度和通路覆盖度三个表。

Q5:如何判断一条代谢通路是否真正存在?

A:需要综合判断:①通路完整度(关键酶是否都检测到);②MinPath是否预测存在;③通路覆盖度(HUMAnN3的pathcoverage值)。一般通路完整度>75%且关键的限速酶存在,才较有把握认为通路功能存在。