一句话说明
DAS_Tool 将 MetaBAT2、MaxBin2、CONCOCT 等多个 binning 工具的结果进行整合去冗余,挑选出每组中质量最高的非冗余 bin 集合。
安装与配置
# 激活 binning 环境
conda activate binning
# 从 bioconda 安装 DAS_Tool(当前版本 v1.1.7)
conda install -c bioconda das_tool -y
# 安装依赖:ruby、prodigal、diamond、pullseq
conda install -c bioconda prodigal diamond pullseq -y
# 验证安装
DAS_Tool --version # 查看版本
DAS_Tool --help # 查看帮助
核心用法
第一步:准备各工具的 scaffold-to-bin 映射文件
# DAS_Tool 需要每个工具的"contig归属文件"
# 格式:contig名\tbin名(制表符分隔,两列)
# 从 MetaBAT2 结果提取
# Fasta_to_Scaffolds2Bin.sh:DAS_Tool 提供的辅助脚本
Fasta_to_Scaffolds2Bin.sh \
-i metabat2_bins/ \
-e fa \
> scaffolds2bin_metabat2.tsv # 生成 MetaBAT2 的映射文件
# 从 MaxBin2 结果提取
Fasta_to_Scaffolds2Bin.sh \
-i maxbin2_out/ \
-e fasta \
> scaffolds2bin_maxbin2.tsv # 生成 MaxBin2 的映射文件
# 从 CONCOCT 结果提取
Fasta_to_Scaffolds2Bin.sh \
-i concoct_bins/ \
-e fa \
> scaffolds2bin_concoct.tsv # 生成 CONCOCT 的映射文件
# 验证格式(应为两列:contig名 + bin名)
head -3 scaffolds2bin_metabat2.tsv # 预览前几行
# 主命令:整合多个 binning 结果
# --scaffolds2bin:多个映射文件,逗号分隔
# --labels:对应工具标签,逗号分隔
# --contigs:原始组装 fasta
# --outputbasename:输出文件前缀
# --search_engine:蛋白质搜索引擎(推荐 diamond,速度快)
# --write_bins:写出最终优化的 bin fasta 文件
DAS_Tool \
--scaffolds2bin scaffolds2bin_metabat2.tsv,scaffolds2bin_maxbin2.tsv,scaffolds2bin_concoct.tsv \
--labels metabat2,maxbin2,concoct \
--contigs assembly.fa \
--outputbasename das_tool_out/DASTool \
--search_engine diamond \
--write_bins \
--write_bin_evals \
--threads 16 # 线程数
参数详解
| 参数 | 说明 | 默认值 |
|---|
--scaffolds2bin | 各工具的映射文件(逗号分隔) | 必填 |
--labels | 各工具的标签(逗号分隔) | 必填 |
--contigs | 原始组装 fasta | 必填 |
--outputbasename | 输出前缀 | 必填 |
--search_engine | 蛋白搜索引擎(diamond/blast) | diamond |
--write_bins | 写出最终 bin fasta | 关闭 |
--write_bin_evals | 写出每个 bin 的质量评估 | 关闭 |
--score_threshold | bin 保留分数阈值(0-1) | 0.5 |
--threads | 线程数 | 1 |
--db_directory | 自定义数据库目录 | 内置 |
实战案例
# 场景:整合三种工具结果,优化肠道宏基因组 bin 集合
mkdir -p das_tool_out
# 1. 生成各工具映射文件
Fasta_to_Scaffolds2Bin.sh -i metabat2_bins/ -e fa > s2b_mb2.tsv
Fasta_to_Scaffolds2Bin.sh -i maxbin2_out/ -e fasta > s2b_mx2.tsv
Fasta_to_Scaffolds2Bin.sh -i concoct_bins/ -e fa > s2b_concoct.tsv
# 2. 运行 DAS_Tool(全部参数)
DAS_Tool \
--scaffolds2bin s2b_mb2.tsv,s2b_mx2.tsv,s2b_concoct.tsv \
--labels metabat2,maxbin2,concoct \
--contigs coassembly.fa \
--outputbasename das_tool_out/DASTool \
--search_engine diamond \
--write_bins \
--write_bin_evals \
--score_threshold 0.5 \
--threads 16
# 3. 查看整合后的高质量 bin
# _DASTool_bins/:最终优化的 bin 目录
ls das_tool_out/DASTool_DASTool_bins/ | wc -l # bin 数量
# 查看每个 bin 的质量得分
cat das_tool_out/DASTool_DASTool_summary.tsv # 完整质量报告
常见报错与解决
| 报错信息 | 原因 | 解决方法 |
|---|
diamond not found | Diamond 未安装 | conda install diamond |
No bins pass threshold | 所有 bin 质量低于阈值 | 降低 --score_threshold 到 0.2 |
scaffolds2bin file is empty | 映射文件为空 | 检查 bin 目录和扩展名 -e 是否匹配 |
ruby error | Ruby 版本不兼容 | 用 conda 安装 das_tool(含 ruby 依赖) |
| 输出 bin 比预期少 | DAS_Tool 去冗余了重复 bin | 正常现象,检查 summary 文件 |
速查表
# 生成映射文件(三种工具)
Fasta_to_Scaffolds2Bin.sh -i mb2_bins/ -e fa > s2b_mb2.tsv
Fasta_to_Scaffolds2Bin.sh -i mx2_out/ -e fasta > s2b_mx2.tsv
Fasta_to_Scaffolds2Bin.sh -i concoct_bins/ -e fa > s2b_cct.tsv
# 一键整合
DAS_Tool \
--scaffolds2bin s2b_mb2.tsv,s2b_mx2.tsv,s2b_cct.tsv \
--labels mb2,mx2,concoct \
--contigs assembly.fa \
--outputbasename out/DASTool \
--search_engine diamond \
--write_bins --threads 16
# 查看最终结果摘要
cat out/DASTool_DASTool_summary.tsv | column -t