我进行核酸比对时遇到了这个报错。
pwd
/data/csp/lyz/analysis/cas_syst.gene/6_chloroplast/chart/tmp.db
ls
[1].ndb [1].nhd [1].nhi [1].nhr [1].nin [1].njs [1].nog [1].nos [1].not [1].nsq [1].ntf [1].nto tmp.fasta
如上所示,我事先利用makeblastdb
建好了名为[1]的自建库,打算用它比对tmp.fasta。于是输入以下命令:
blastn -query ./tmp.fasta -db ./ -outfmt 7 -perc_identity 80 -evalue 0.00001 -num_threads 8 -out Cas_arg_blast1.txt
结果报错:BLAST Database error: No alias or index file found for nucleotide database [./] in search path [/data/csp/lyz/analysis/cas_syst.gene/6_chloroplast/chart/tmp.db::]
我觉得这是因blastn没找到自建库的缘故,但是命令已经指明了自建库的地址,这应该是blastn需要识别它指定的一种地址模式的结果。于是我上网查询了一些网友的经验,但似乎没有一个可靠的解决办法。
至此,我唯一能想到的是重建数据库看看。
makeblastdb -in ./tmp.fasta -parse_seqids -hash_index -dbtype nucl -out [1]
Building a new DB, current time: 12/23/2023 15:38:05
New DB name: /data/csp/lyz/analysis/cas_syst.gene/6_chloroplast/chart/tmp.db/[1]
New DB title: ./tmp.fasta
Sequence type: Nucleotide
Keep MBits: T
Maximum file size: 3000000000B
Adding sequences from FASTA; added 1 sequences in 0.00290108 seconds.
这时,我注意到原来blast自建库的DB name是给定了,也就是上面第三行的地址:/data/csp/lyz/analysis/cas_syst.gene/6_chloroplast/chart/tmp.db/[1]
,真相大白,blastn的参数-db不能只写到该文件夹,而是需加以数据库名,方可被识别。
网友评论