宏基因组分箱(bin)流程metawrap的运行错误集锦
分箱工具metaWRAP
写在前面
再一次运行metawrap流程,终于将其中的问题全部解决,回想起来这篇记录已经一年了,说明只要不放弃,总会有一天可以解决问题的。另外,祝贺刘老师今天宏基因组培训课程圆满结束。你听了吗?
安装和使用请参照刘老师的两篇教程:
安装教程
https://blog.csdn.net/woodcorpse/article/details/83041516
使用教程
conda install tbl2asn-forever
测试使用常见问题及其解决
错误1:metawrap bin_refinement运行错误
metawrap bin_refinement -o BIN_REFINEMENT -t 8 -A INITIAL_BINNING/metabat2_bins/ -B INITIAL_BINNING/maxbin2_bins/ -C INITIAL_BINNING/concoct_bins/ -c 50 -x 10
显然这个步骤出现错误:意思是我没有正确指定数据库:
It seems that the CheckM data folder has not been set yet or has been removed. Running: 'checkm data setRoot'.
Where should CheckM store it's data?
Please specify a location or type 'abort' to stop trying:
运行下面代码,交互式的设置checkm工作路径
checkm data setRoot
接下来就出现了这样的错误,这是数据库指定错了,错误把checkm安装文件设置为数据库了,汗!!!
IOError: [Errno 2] No such file or directory: 'hmms/phylo.hmm'
指定正确的数据库
/home/wentao/Desktop/biostack/database/checkm/2015_01_16
没想到运行过程中还是出现了错误:这个错误是我擅自添加参数导致的运行代码:—skip-consolidation。不进行质量检测,
metawrap bin_refinement -o BIN_REFINEMENT -t 32 -A INITIAL_BINNING/metabat2_bins/ -B INITIAL_BINNING/maxbin2_bins/ -C INITIAL_BINNING/concoct_bins/ -c 50 -x 10 --skip-consolidation
OSError: [Errno 2] No such file or directory: 'binsO'
************************************************************************************************************************
***** Something went wrong with running CheckM.
随后去除该参数,成功运行:
metawrap bin_refinement -o BIN_REFINEMENT -t 36 -A INITIAL_BINNING/metabat2_bins/ -B INITIAL_BINNING/maxbin2_bins/ -C INITIAL_BINNING/concoct_bins/ -c 50 -x 10
下一个:将bin的丰度提取出来:
metawrap quant_bins -b BIN_REFINEMENT/metaWRAP_bins -t 36 -o QUANT_BINS -a ASSEMBLY/final_assembly.fasta CLEAN_READS/ERR*fastq
prokka注释
/home/wentao/Desktop/Shared_Folder/metage_pipe_Liu/bin_cs/BIN_REFINEMENT/metaWRAP_bins这里提示我prokka数据库太老了?
metaWRAP annotate_bins -o ./bin_annotate -t 36 \
-b BIN_REFINEMENT/metaWRAP_bins
出现
prokka --quiet --cpus 36 --outdir ./bin_annotate/prokka_out/bin.1 --prefix bin.1 ./bin_annotate/tmp_bin.fa
[tbl2asn] This copy of tbl2asn is more than a year old. Please download the current version.
[17:28:24] Could not run command: tbl2asn -V b -a r10k -l paired-ends -M n -N 1 -y 'Annotated using prokka 1.12 from https://github.com/tseemann/prokka' -Z \.\/bin_annotate\/prokka_out\/bin\.1\/bin\.1\.err -i \.\/bin_annotate\/prokka_out\/bin\.1\/bin\.1\.fsa 2> /dev/null
************************************************************************************************************************
***** Something went wrong with annotating bin.1. Exiting... *****
************************************************************************************************************************
设置数据库 进行物种注释需要使用数据库
which metawrap
# metawrap 位置
/home/wentao/miniconda3/envs/metawrap/bin/metawrap
物种注释:这里需要指定kraken数据库。
metawrap classify_bins -b BIN_REFINEMENT/metaWRAP_bins -o BIN_CLASSIFICATION -t 36
CheckM_databases数据库下载地址:
https://data.ace.uq.edu.au/public/CheckM_databases/
功能注释
metaWRAP annotate_bins -o FUNCT_ANNOT -t 32 -b BIN_REFINEMENT/metaWRAP_bins/
这一步出现错误:如下错误
------------------------------------------------------------------------------------------------------------------------
----- NOW ANNOTATING bin.1 -----
------------------------------------------------------------------------------------------------------------------------
prokka --quiet --cpus 32 --outdir FUNCT_ANNOT/prokka_out/bin.1 --prefix bin.1 FUNCT_ANNOT/tmp_bin.fa
[tbl2asn] This copy of tbl2asn is more than a year old. Please download the current version.
[13:03:34] Could not run command: tbl2asn -V b -a r10k -l paired-ends -M n -N 1 -y 'Annotated using prokka 1.12 from https://github.com/tseemann/prokka' -Z FUNCT_ANNOT\/prokka_out\/bin\.1\/bin\.1\.err -i FUNCT_ANNOT\/prokka_out\/bin\.1\/bin\.1\.fsa 2> /dev/null
************************************************************************************************************************
***** Something went wrong with annotating bin.1. Exiting... *****
************************************************************************************************************************
real 0m46.469s
user 8m51.537s
sys 1m57.964s
实际的运行命令是:
prokka --quiet --cpus 32 --outdir FUNCT_ANNOT/prokka_out/bin.1 --prefix bin.1 FUNCT_ANNOT/tmp_bin.fa
这一步是找不到 tbl2asn命令。
[tbl2asn] This copy of tbl2asn is more than a year old. Please download the current version.
[13:05:03] Could not run command: tbl2asn -V b -a r10k -l paired-ends -M n -N 1 -y 'Annotated using prokka 1.12 from https://github.com/tseemann/prokka' -Z FUNCT_ANNOT\/prokka_out\/bin\.1\/bin\.1\.err -i FUNCT_ANNOT\/prokka_out\/bin\.1\/bin\.1\.fsa 2> /dev/null
但是这两条命令合并起来分析就可以:
# 基因组注释
prokka --quiet --cpus 32 --outdir FUNCT_ANNOT/prokka_out/bin.1 --prefix bin.1 FUNCT_ANNOT/tmp_bin.fa
# 加上这条命令
tbl2asn -V b -a r10k -l paired-ends -M n -N 1 -y 'Annotated using prokka 1.12 from https://github.com/tseemann/prokka' -Z FUNCT_ANNOT\/prokka_out\/bin\.1\/bin\.1\.err -i FUNCT_ANNOT\/prokka_out\/bin\.1\/bin\.1\.fsa 2> /dev/null
所以这里我测试第二个bin:
prokka --quiet --cpus 32 --outdir FUNCT_ANNOT/prokka_out/bin.2 --prefix bin.2 FUNCT_ANNOT/tmp_bin.fa
tbl2asn -V b -a r10k -l paired-ends -M n -N 1 -y 'Annotated using prokka 1.12 from https://github.com/tseemann/prokka' -Z \.\/FUNCT_ANNOT\/csbin2\/bin1\.err -i \.\/FUNCT_ANNOT\/csbin2\/bin1\.fsa 2> /dev/null
到目前为止,我还是没有解决这个问题,为什么prokka不能完成单独注释,metawrap封装了的prokka也因为相同的原因流程无法继续往下走(2019)
直到今天我才发现这个解决方法,这里分享给大家;替换tbl2asn
conda install tbl2asn-forever