Metawrap是一款非常强大的宏基因组数据分析包,包括宏基因组数据分析所需的所有模块:序列质控、物种注释、组装、单菌基因组分箱分析、单菌提纯、单菌重组装、单菌定量、单菌分类和注释和单菌基因组可视化。
正因为其功能强大,其依赖的数据库和软件较多。数据库的版本、软件版本与metawrap本身的版本要相匹配,否则会出现错误。
Classify 模块的报错
我在运行前几个模块都没有出错,但是到classify模块时开始出错
错误1
出错提示为“The file··· nt.00.nhd doesnt exist”
按照提示,我首先检查了config文件中的路径,是没有问题的;接着检查了数据库,里面的确不存在nt.00.nhd 文件。因此我又重新下载nt数据库(wget "ftp://ftp.ncbi.nlm.nih.gov/blast/db/nt.*.tar.gz"),但是下载后的压缩包无法解压缩(可能是由于数据库太大,60-70g,下载不稳定)。
后面在网上搜索到一些快速稳定地下载数据库的方法,我先是使用aspera的方法(ascp -v -k 1 -T -l 400m -i /home/crusta/.aspera/connect/etc/asperaweb_id_dsa.openssh anonftp@ftp.ncbi.nlm.nih.gov:/blast/db/nt.00.tar.gz ./ ),但是一次只能下载一个分库,将00改成*就报错。后面在师姐的推荐下使用了rsync -av --progress rsync://ftp.ncbi.nlm.nih.gov/blast/db/nt.*.tar.gz,能稳定的下载nt库并解压缩,解压后的文件确实跟原始的数据库不一样,但里面依然没有nt.00.nhd 文件,运行metawrap classify命令依然报错。
本来决定要放弃了,但是突然想起前两天GitHub上面一段note(https://github.com/bxlab/metaWRAP/blob/83e3fe342684119cb6a26a648a12d30d9196cf87/installation/database_installation.md?plain=1),提示如果blast版本超过2.6,需要下载nt库的v4版本(但前两天还没有解决稳定下载数据库的问题,并且我运行blastn -version 显示“blastn:2.6.0+,Package: blast 2.6.0, build···”,也不知道算不算超过,所以当时我忽略这个提示)。
随后运行rsync -av --progress rsync://ftp.ncbi.nlm.nih.gov/blast/db/v4/nt_v4.*.tar.gz .下载nt库,解压缩后“for a in nt_v4.*.tar.gz; do tar xzf $a; done”,确实有nt.00.nhd文件
看到有nt.00.nhd文件后,我确实大松一口气,终于可以运行这个模块了,更改了config文件中的路径,成功运行上了。
但四十分钟之后,出现了第二个错误
错误2
错误提示Failed to run taxator. Exiting····
又一顿查找,在GitHub上有该问题的解决方法(https://github.com/bxlab/metaWRAP/issues/287),需要替换两个文件
替换之后,要注意添加两个文件的运行权限,否则会提示permission denied。
chmod +x /···/classify_bins.sh
chmod +x /···/prune_blast_hits.py
最后运行classify模块,成功得到bin_taxonomy.tab。
想说,碰到问题多看GitHub!后续有问题再继续更新
参考:
1.https://github.com/bxlab/metaWRAP
2.https://github.com/bxlab/metaWRAP/blob/83e3fe342684119cb6a26a648a12d30d9196cf87/installation/database_installation.md?plain=1
3.https://github.com/bxlab/metaWRAP/issues/287