宏基因组的基因组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的主要工作流程模块:

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,以免重复输出覆盖原有结果。用起来有点麻烦。
4. https://asa-blog.netlify.app/p/binning/
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!