跳转至

MAG质量评估与精化:CheckM2/GUNC/DAS Tool

一句话概述

MAG质量评估就像给组装出来的基因组做"体检",看它有多完整(completeness)、有多少污染(contamination),以及是不是被别的物种基因"混进来"了(嵌合体chimerism)。


核心知识点表格

知识点说明
CheckM2用机器学习预测MAG的完整度和污染度,比CheckM1更快更准
GUNC检测基因组嵌合体(不同物种的contigs混在一起),CheckM检测不了
DAS Tool整合多个binner的结果,得到最优的非冗余bin集合
MIMAG标准高质量MAG: >90%完整度, <5%污染度; 中质量: >50%完整度, <10%污染度
Binette2024年新工具,使用CheckM2进行bin精化,比MetaWRAP更快

白话解释

假设你在玩拼图: - CheckM2 = 检查你的拼图拼了多少(完整度)、有没有把别的拼图碎片混进来(污染度) - GUNC = 检查你的拼图是不是把两幅不同画的碎片混在一起了(嵌合体检测) - DAS Tool = 你请了好几个人各自拼一遍,然后挑出每个人拼得最好的那些部分组合在一起

三个工具配合使用,才能全面评估MAG质量。


各工具详解

CheckM2

白话解释: CheckM2是MAG质量评估的"金标准"工具。它用机器学习模型来预测基因组的完整度和污染度,不需要知道这个基因组属于什么物种就能评估。

版本信息: 最新版v1.1.0(2025年2月发布),使用GTDB r214数据库训练。

与CheckM1的区别: | 特性 | CheckM1 | CheckM2 | |------|---------|---------| | 方法 | 基于谱系特异性标记基因 | 机器学习模型 | | 速度 | 较慢 | 快10-50倍 | | 对稀有物种 | 表现差 | 表现好(如Nanoarchaeota) | | 依赖 | 需要参考基因组谱系树 | 通用模型,不依赖谱系 |

# 安装CheckM2(推荐用conda)
conda create -n checkm2 -c bioconda -c conda-forge checkm2  # 创建独立环境
conda activate checkm2  # 激活环境

# 下载数据库(约3.5GB,只需下载一次)
checkm2 database --download --path /path/to/checkm2_db  # 下载参考数据库

# 设置数据库路径
export CHECKM2DB=/path/to/checkm2_db  # 设置环境变量

# 运行CheckM2评估MAG质量
checkm2 predict \
    --input bins_dir/ \      # 输入MAG所在目录
    --output-directory checkm2_results/ \  # 输出目录
    -x fa \                  # MAG文件扩展名(fa/fasta/fna)
    --threads 16             # 使用16个线程

# 查看结果
cat checkm2_results/quality_report.tsv  # 查看质量报告

结果解读:

# quality_report.tsv 关键列:
# Name          — MAG名称
# Completeness  — 完整度(%),越高越好
# Contamination — 污染度(%),越低越好
# Genome_Size   — 基因组大小(bp)
# GC_Content    — GC含量
# Coding_Density — 编码密度

# MIMAG质量分级标准:
# 高质量(HQ): Completeness > 90%, Contamination < 5%
# 中质量(MQ): Completeness > 50%, Contamination < 10%
# 低质量(LQ): Completeness < 50% 或 Contamination > 10%

GUNC(Genome UNClutterer)

白话解释: GUNC专门检测基因组嵌合体——就是两个不同物种的contigs被错误地混到了一个bin里。CheckM2检测不了这种问题,因为嵌合体可能"看起来"很完整、污染也不高,但实际上是两个物种拼在一起的"弗兰肯斯坦"。

为什么需要GUNC? 研究发现5-15%的"高质量"MAG实际上是未被检测到的嵌合体!

# 安装GUNC
conda install -c bioconda gunc  # 安装gunc

# 下载GUNC数据库
gunc download_db /path/to/gunc_db  # 下载参考数据库

# 运行GUNC检测嵌合体
gunc run \
    --input_dir bins_dir/ \       # 输入MAG目录
    --db_file /path/to/gunc_db/gunc_db_progenomes2.1.dmnd \  # 数据库文件
    --out_dir gunc_results/ \     # 输出目录
    --threads 16                  # 线程数

# 合并CheckM2和GUNC结果
gunc merge_checkm \
    --gunc_file gunc_results/GUNC.progenomes_2.1.maxCSS_level.tsv \  # GUNC结果
    --checkm_file checkm2_results/quality_report.tsv \  # CheckM2结果
    --out_file merged_quality.tsv  # 合并输出

GUNC结果解读:

# 关键指标:
# CSS (Clade Separation Score) — 嵌合体分离得分
#   CSS > 0.45 → 可能是嵌合体,需要警惕
#   CSS < 0.45 → 基本安全

# pass.GUNC 列:
#   True  → 通过GUNC检测,不是嵌合体
#   False → 未通过,可能是嵌合体,建议丢弃或重新binning

DAS Tool

白话解释: DAS Tool是一个"裁判工具",它把多个binning工具的结果放在一起比较,从中挑出最好的、不重复的bin组合。就像选秀节目,多个评委各自挑了一些选手,DAS Tool负责去重和选出最终名单。

版本信息: 最新版v1.1.7(2024年12月更新)

# 安装DAS Tool
conda install -c bioconda das_tool  # 安装DAS Tool

# 第一步:将每个binner的结果转换为DAS Tool输入格式
# 格式:contig_id \t bin_id(制表符分隔的两列)

# MetaBAT2结果转换
Fasta_to_Contig2Bin.sh \
    -i metabat2_bins/ \      # MetaBAT2输出的bins目录
    -e fa \                  # 文件扩展名
    > metabat2_contigs2bin.tsv  # 输出转换文件

# SemiBin2结果转换
Fasta_to_Contig2Bin.sh \
    -i semibin_bins/ \       # SemiBin2输出的bins目录
    -e fa \
    > semibin_contigs2bin.tsv

# 第二步:运行DAS Tool整合
DAS_Tool \
    -i metabat2_contigs2bin.tsv,semibin_contigs2bin.tsv \  # 输入多个binner的结果
    -l MetaBAT2,SemiBin2 \   # 对应的binner名称标签
    -c contigs.fa \          # 输入contigs文件
    -o das_tool_output \     # 输出前缀
    --write_bins \           # 输出精化后的bin文件
    --write_unbinned \       # 输出未binning的contigs
    -t 16 \                  # 线程数
    --score_threshold 0.5    # 得分阈值,默认0.5

# 第三步:查看结果
cat das_tool_output_DASTool_summary.tsv  # 查看汇总报告

完整的MAG质量评估流程

# ====== 推荐的完整流程 ======

# 1. 多个binner运行binning
# (参见592_宏基因组binning策略对比.md)

# 2. DAS Tool整合多个binner结果
DAS_Tool -i metabat2.tsv,semibin.tsv -l MB2,SB2 \
    -c contigs.fa -o refined --write_bins -t 16

# 3. CheckM2评估质量
checkm2 predict --input refined_DASTool_bins/ \
    --output-directory checkm2_out/ -x fa -t 16

# 4. GUNC检测嵌合体
gunc run --input_dir refined_DASTool_bins/ \
    --db_file gunc_db.dmnd --out_dir gunc_out/ -t 16

# 5. 筛选高质量MAG
# 使用Python脚本合并结果并筛选
python3 << 'EOF'
import pandas as pd  # 导入pandas

# 读取CheckM2结果
checkm = pd.read_csv("checkm2_out/quality_report.tsv", sep="\t")  # 读取质量报告

# 读取GUNC结果
gunc = pd.read_csv("gunc_out/GUNC.progenomes_2.1.maxCSS_level.tsv", sep="\t")  # 读取GUNC结果

# 合并两个表
merged = checkm.merge(gunc[["genome", "pass.GUNC"]], 
                       left_on="Name", right_on="genome")  # 按MAG名称合并

# 筛选高质量MAG(MIMAG标准 + GUNC通过)
hq_mags = merged[
    (merged["Completeness"] > 90) &   # 完整度>90%
    (merged["Contamination"] < 5) &   # 污染度<5%
    (merged["pass.GUNC"] == True)     # GUNC检测通过
]

# 输出结果
hq_mags.to_csv("high_quality_MAGs.tsv", sep="\t", index=False)  # 保存结果
print(f"高质量MAG数量: {len(hq_mags)}")  # 打印数量
EOF

新工具推荐:Binette(2024年)

白话解释: Binette是MetaWRAP bin精化模块的替代品,内部使用CheckM2评估,但通过复用中间结果(Prodigal和DIAMOND的输出)大幅加速了过程。

# 安装Binette
conda install -c bioconda binette  # 安装binette

# 运行Binette精化
binette \
    -d metabat2_bins semibin_bins \  # 输入多个binner的bins目录
    -c contigs.fa \                  # 输入contigs
    -o binette_output \              # 输出目录
    -t 16                            # 线程数

常见报错与解决

报错原因解决方案
CheckM2 database not found没下载或没设置数据库路径checkm2 database --download 并设置 CHECKM2DB 环境变量
pplacer fails (CheckM1)内存不足改用CheckM2,不需要pplacer
GUNC报diamond相关错误DIAMOND版本不兼容conda install diamond=2.1.8 指定兼容版本
DAS Tool报Fasta_to_Scaffolds2Bin.sh not foundDAS Tool版本>1.1.3改了脚本名Fasta_to_Contig2Bin.sh替代
No bins found matching extension文件扩展名不匹配检查 -e-x 参数(fa/fasta/fna)
CheckM2 tensorflow版本冲突Python/TensorFlow版本不兼容建议用独立conda环境安装v1.1.0

速查表

# MAG质量分级(MIMAG标准)
高质量(HQ): Completeness > 90%, Contamination < 5%
中质量(MQ): Completeness > 50%, Contamination < 10%
低质量(LQ): 其他

# 工具选择
质量评估(必选)→ CheckM2
嵌合体检测(推荐)→ GUNC
bin精化整合(推荐)→ DAS Tool 或 Binette

# 推荐流程
多个Binner → DAS Tool整合 → CheckM2评估 → GUNC筛嵌合体 → 筛选HQ/MQ MAG

# 最新版本(2025年)
CheckM2: v1.1.0(数据库v3)
GUNC: v1.0.6
DAS Tool: v1.1.7
Binette: v1.0+

# 常用命令速查
checkm2 predict --input bins/ -o out/ -x fa -t 16
gunc run --input_dir bins/ --db_file db.dmnd -o out/ -t 16
DAS_Tool -i a.tsv,b.tsv -l A,B -c contigs.fa -o out --write_bins -t 16

面试高频问题

Q1:为什么需要同时用CheckM2和GUNC?

A:CheckM2主要检测完整度和污染度,但它检测不了嵌合体(两个不同物种的contigs混在一起)。嵌合体MAG可能显示高完整度、低污染度,但实际上是错误的。GUNC专门检测这种嵌合体问题。研究发现5-15%的"高质量"MAG是未检测到的嵌合体。

Q2:CheckM2相比CheckM1有什么改进?

A:三个主要改进:①速度更快(10-50倍);②对稀有/特殊物种更准确(如Nanoarchaeota、Patescibacteria这类基因组缩小的物种);③使用通用机器学习模型,不依赖特定谱系的标记基因。

Q3:DAS Tool的工作原理是什么?

A:DAS Tool接收多个binning工具的结果,用单拷贝标记基因评估每个bin的质量得分,然后通过优化算法选出最优的非冗余bin集合。它不自己做binning,而是"裁判"角色。

Q4:什么是MIMAG标准?

A:MIMAG(Minimum Information about a Metagenome-Assembled Genome)是2017年发表的MAG报告最低标准。高质量MAG需要>90%完整度、<5%污染度,并且要有23S、16S、5S rRNA基因和至少18个tRNA基因。

Q5:如果CheckM2显示高完整度但GUNC不通过,你会怎么处理?

A:说明这个MAG可能是嵌合体。处理方法:①丢弃该MAG;②重新binning(可能需要更精细的参数);③手动检查contigs的分类注释,看是否真的混了不同物种。