安装并查询本地NCBI核苷酸数据库时遇nt.ndb文件缺失错误求助
解决BLAST本地nt数据库找不到.ndb文件的问题
问题原因
你存在两个关键操作错误:
- NCBI的nt数据库采用分块存储机制,
nt.119.tar.gz只是数据库的第119个分块文件,单独一个分块不包含完整的数据库核心索引(即报错提示的nt.ndb等文件)。 - 运行blastn时指定的数据库名称错误,应该使用主数据库名
nt,而非带分块编号的nt.119。
解决步骤
方法1:用官方脚本自动下载(推荐)
BLAST自带的update_blastdb脚本可自动下载并解压完整的nt数据库,包含所有分块和核心索引文件:
cd NCBI_nt_DB/ # --decompress参数会自动解压下载的压缩包 update_blastdb --decompress nt
下载完成后,直接执行正确的blastn命令:
blastn -db ./nt -query ../temp/query.fasta
方法2:手动补全索引文件(不推荐,易出错)
如果坚持手动下载,需先下载包含核心索引的主包nt.tar.gz,再补充分块文件:
# 下载主索引包 wget "ftp://ftp.ncbi.nlm.nih.gov/blast/db/nt.tar.gz" tar -zxvpf nt.tar.gz # 下载目标分块 wget "ftp://ftp.ncbi.nlm.nih.gov/blast/db/nt.119.tar.gz" tar -zxvpf nt.119.tar.gz
之后同样使用主数据库名运行blastn:
blastn -db ./nt -query ../temp/query.fasta
注意事项
- 单独的分块文件(如
nt.119.*)无法作为独立数据库使用,必须配合主索引文件。 update_blastdb脚本会自动处理分块与索引的依赖关系,是最省心的操作方式。
内容的提问来源于stack exchange,提问作者Becca
相关产品推荐
相关产品推荐

