This is a test version of Biostars. For the public version, visit https://www.biostars.org.
BLAST Database error: No alias or index file found for nucleotide database

Hi,

I have an issue it has been already discuss here a lot, but I cannot find what i'm doing wrong..

For a blastn alignement against the human_genome DB I downloaded the database from the NCBI:

wget ftp://ftp.ncbi.nlm.nih.gov/blast/db/human_genome.*.tar.gz

decompress the files:

for a in human_genome.*.tar.gz; do tar xzf $a; done

Obtaining the index file : GCF_000001405.38_top_level.nal

I setup the BLASTDB

 BLASTDB=/my/path/human_genome_DB/

 blastn -query /my/path/final_assembly.fasta -db human_genome -out /my/path/host.txt

And get this error:

 BLAST Database error: No alias or index file found for nucleotide database [human_genome] in search path.

I also tried with -db /my/path/human_genome_DB but didn't work.- db GCF_000001405.38

I perform the same procedure with the nt database and it works .. do you have any idea what I'm doing wrong?

Thanks.

alignment

I think the name of the DB is human_genome, not human_genome_DB, no?

did you check the blastDB name is correct? (seems to but best to check anyway)

In your blastDB dir look for a file with extension .pal , that basename is your DBname

Could you try ls human_genome* while you're in /my/path/human_genome_DB and tell us what you have in that directory?

I assume /my/path/human_genome_DB is a directory so it won't work for -db.

I know this is quite some old thread, but I am having the exact same problem right now and I can't seem to find the answer here.

I downloaded these files from https://ftp.ncbi.nlm.nih.gov/blast/db/:

human_genome-nucl-metadata.json
human_genome.00.tar.gz
human_genome.00.tar.gz.md5 
human_genome.01.tar.gz
human_genome.01.tar.gz.md5

into a blast/db folder and extracted the tar.gz files. From this folder I am running

echo ">seq1\nAAAAAACAGCTTCAACTCCG" | blastn -db human_genome -dust no -word_size 20

this throws the error:

BLAST Database error: No alias or index file found for nucleotide database [human_genome] in search path [/[path_deleted]/blast/db::]

So the search path seems to be correct and the downloaded db should not require a makeblastdb. According to human_genome-nucl-metadata.json the db name is: "dbname": "human_genome". What am I doing wrong here?

I don't think blast will accept input from STDIN. Can you put the sequence in a file and provide via -query file option in your command line? With that small a sequence you may need to reduce the word size below 20.

It does indeed. It works with -remote. I found the error though. I put the db files from .00 and .01 in different folders, but they should be in the same. And the name of the database is: GCF_000001405.39_top_level

I see. human_genome should work as the name since the files have that basename?

Haven't used CLI blast in a while. I just thought human_genome was right since it was in the .json file :). Guess it just shouldn't work.

1 answer

Thanks a lot for your reply.

I checked for the name of the database again and the version of blastn I've installed. The last version of blastn I think needs a newer database format, in my case the human_genomic_v4 database. I downloaded and tried this one and it works.

Maybe this link can also help anyone :) ftp://ftp.ncbi.nlm.nih.gov/blast/db/v4

Regards

Default blast database format is now v5 and is needed by current blast+. What you downloaded was the OLD database format. Please be aware that v4 databases that you downloaded are not updated (last update was in February 2020).

Log in to answer this question.