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%污染度 |
| Binette | 2024年新工具,使用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 found | DAS 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的分类注释,看是否真的混了不同物种。