宏基因组的基因组binning-BASALT 介绍和用法

宏基因组的基因组binning(分箱,即将测序数据中的reads或contigs分类到不同的基因组中)是一个关键步骤, 常用的软件是2018发表的metawrap,但是他一直没有更新, 这篇文章将介绍一个较新的binnin...

宏基因组的基因组binning(分箱,即将测序数据中的reads或contigs分类到不同的基因组中)是一个关键步骤, 常用的软件是2018发表的metawrap,但是他一直没有更新, 这篇文章将介绍一个较新的binning流程:BASALT及其具体使用方法

01

BASALT介绍

BASALT (Binning Across a Series of AssembLies Toolkit)是一个高效的基因组binning工具,旨在处理复杂的微生物组数据,特别是在多个组装(assemblies)之间进行binning时表现出色。它通过整合多个组装结果,提高了binning的准确性和完整性,尤其适用于处理高度复杂的微生物群落数据。

相较于metawrap,BASALT的分箱质量更好,但是更慢

BASALT的文章于2024年发表于Nature Communications,以下是BASALT的主要工作流程模块:

attachments-2026-01-cEZkEuKP695b856155ef9.png

02

下载安装方法

下载安装:


软件主页:https://github.com/EMBL-PKU/BASALT。

git clone https://github.com/EMBL-PKU/BASALT.gitpython BASALT_setup.pychmod -R 777 BASALT/bin/*
# 脚本下载训练模型python BASALT_models_download.py
# 手动下载训练模型wget https://figshare.com/ndownloader/files/41093033mv 41093033 BASALT.zipmv BASALT.zip ~/.cachecd ~/.cacheunzip BASALT.zip
# 注意大陆地区的无法科学上网的用户可以使用下面的代码安装python BASALT_setup_China_mainland.py# 或者,从腾讯 iCloud(https://share.weiyun.com/r33c2gqa)下载 BASALT.zip 的神经网络训练模型并运行mv BASALT.zip ~/.cachecd ~/.cacheunzip BASALT.zip

其他的还可以尝试使用docker, conda,singularity等软件安装,网页里都有写, 软件的运行需要samtools,CheckM2等一系列辅助软件,需要在环境变量里有

03


使用方法

1. 输入准备:

原始数据:每个样本的FASTA文件(如sample1.fa, sample2.fa)。

组装结果: 使用megahit或spades等组装出来的congtig.fa


2. 运行命令:

用法: BASALT [-h] [-a ASSEMBLIES] [-s SR_DATASETS] [-l LONG_DATASETS]  
              [-hf HIFI_DATASETS] [-c HI_C_DATASET] [-t THREADS] [-m RAM]  
              [-e EXTRA_BINNER] [-qc QUALITY_CHECK]  
              [--min-cpn MIN_COMPLETENESS] [--max-ctn MAX_CONTAMINATION]  
              [--mode RUNNING_MODE] [--module FUNCTIONAL_MODULE]  
              [--autopara AUTOBINING_PARAMETERS]  
              [--refinepara REFINEMENT_PARAMTER]  
  -h, --help  
                        显示帮助信息并退出。  
  -a ASSEMBLIES, --assemblies ASSEMBLIES  
                        组装序列文件列表,例如:`as1.fa,as2.fa`。  
  -s SR_DATASETS, --shortreads SR_DATASETS  
                        双端测序数据列表,例如:  
                        `r1_1.fq,r1_2.fq/r2_1.fq,r2_2.fq`(双端数据需使用`/`分隔)。  
                        注意,这里不是随便什么路径,要求一定要在同一个文件夹下。
  -l LONG_DATASETS, --longreads LONG_DATASETS  
                        包含ONT和PacBio长读长数据(不包括HiFi数据)。  
                        例如:`lr1.fq,lr2.fq`。  
  -hf HIFI_DATASETS, --hifi HIFI_DATASETS  
                        HiFi测序数据,例如:`hf1.fq,hf2.fq`。  
  -c HI_C_DATASET, --HIC HI_C_DATASET  
                        Hi-C测序数据列表,例如:`hc1.fq,hc2.fq`。  
  -t THREADS, --threads THREADS  
                        线程数,例如:`64`。  
  -m RAM, --ram RAM  
                        内存大小,最低建议`32G`。  
  -e EXTRA_BINNER, --extra_binner EXTRA_BINNER  
                        额外的分箱工具:  
                        `m`:MetaBinner  
                        `v`:Vamb  
                        例如:`-e m`表示在默认使用MetaBAT2、MaxBin2和CONCOCT的基础上,额外使用MetaBinner进行分箱。  
  -qc QUALITY_CHECK, --quality-check QUALITY_CHECK  
                        选择CheckM版本,默认`checkm`,可指定`checkm2`,例如:  
                        `-qc checkm2`用于质量检查。  
  --min-cpn MIN_COMPLETENESS  
                        过滤保留bin的最小完整度(默认`35`)。  
  --max-ctn MAX_CONTAMINATION  
                        过滤保留bin的最大污染度(默认`20`)。  
  --mode RUNNING_MODE  
                        运行模式:  
                        `new`:新建项目  
                        `continue`:继续运行  
                        例如:`--mode continue` / `--mode new`。  
  --module FUNCTIONAL_MODULE  
                        运行的功能模块(默认运行所有模块):  
                        `autobinning`:自动分箱  
                        `refinement`:分箱优化  
                        `reassembly`:重新组装  
                        例如:`--module reassembly` 仅运行重新组装模块。  
  --autopara AUTOBINING_PARAMETERS  
                        自动分箱模式:  
                        `more-sensitive`(默认)  
                        `sensitive`  
                        `quick`  
                        例如:`--autopara sensitive`。  
  --refinepara REFINEMENT_PARAMTER  
                        分箱优化参数:  
                        `deep`(默认)  
                        `quick`  
                        例如:`--refinepara quick`。

分析使用代码

二代数据,三代数据,hifi还有Hi-C数据都有对应的参数,具体看上面的帮助,不搞错就行

比如常见的二代和三代搭配

作者团队准备了测试文件以测试BASALT是否成功安装并且可以顺利运行。
https://figshare.com/articles/dataset/BASALT_demo_files/22323424可以科学上网的可以试试,

# 下载成功以后
unzip 22323424.zip
tar zxvf Data.tar.gz
cd Data/
BASALT -a assembly.fa -s sample1.R1.fq,sample1.R2.fq -l sample1.nanopore.fq -t 64 -m 300

-a是组装结果, -s 二代结果,-l长读长数据,分的很清楚不容易弄错,但是这个很慢,大概要3个多小时

04

注意事项


BASALT的程序输入 -a,-s等参数不是任意文件的路径,而是要把这些文件放置到脚本运行同一文件夹下,因为’/‘已经被用作文件之间的分隔符了。并且BASALT还不能设定输出路径,在输出时候自动将结果及重要过程文件输出至当前工作路径下,建议用户将需要分析的文件单独建立文件夹存放和运行BASALT,以免重复输出覆盖原有结果。用起来有点麻烦。




References:

  1. Qiu, Z., Yuan, L., Lian, CA. et al. BASALT refines binning from metagenomic data and increases resolution of genome-resolved metagenomic analysis. Nat Commun 15, 2179 (2024). https://doi.org/10.1038/s41467-024-46539-7
  2. https://github.com/EMBL-PKU/BASALT
  3. https://mp.weixin.qq.com/s/TlxaiQGjoiE3c0Onqatu8A

    4. https://asa-blog.netlify.app/p/binning/


你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
xun
xun

电路元件工程师

94 篇文章

作家榜 »

  1. omicsgene 745 文章
  2. 安生水 367 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 94 文章
  6. rzx 87 文章
  7. 红橙子 81 文章
  8. CORNERSTONE 72 文章