解决metawrap:BLAST Database error: Error: Not a valid version 4 database的问题。
在使用metawrap 1.3.0 进行分析的时候,需要用到blobology,classify_bins模块进行contigs或者bins的物种分类,该模块会需要用到blastn比对nt的数据库。如果出现这个提示:BLAST Database error: Error: Not a valid version 4 database。
说明你下载了新版本的nt数据库(V5),而这个数据库的比对,需要blast+ 2.8以上的版本,metawrap所携带的版本blast版本是2.2.28+,无法使用version 5的nt数据库。
解决这个问题的方法作者在下面链接中有回复:https://github.com/bxlab/metaWRAP/issues/266
- 使用2020年以前版本的nt的database (ftp://ftp.ncbi.nlm.nih.gov/blast/db/v4/)。
- 下载新版本blast+,更新到metawrap环境中。
对于已经有V5的nt数据库的我们来说,不想再去弄个V4。因此选择更新blast+。
失败经验:metawrap环境中不要尝试重装blast,也不要去卸载-重装,或者更新重装之类的方式,因为metawrap和blast共同依赖了挺多东西,这些安装方式都不可行。
简单有效的方式是:下载最新版blast:https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.10.1±x64-linux.tar.gz
解压缩后,将ncbi-blast-2.10.1+/bin文件中的所有文件复制到~miniconda3/envs/metawrap/bin/,选择替换。
这样就能解决blast和nt数据库版本不对应的问题。
备注:这是metawrap 1.3.0及以下版本存在的问题,后续作者如果更新了metawrap包里面的blast的版本应该就不会再出现这些问题。