After many many hours testing and searching on Internet, I can't make a database alias using the blastdb_aliastool.
It starts with a very undocumented NCBI tool at https://www.ncbi.nlm.nih.gov/books/NBK569848/ (updated in 2021) giving this simple command line
blastdb_aliastool -db nematode_mrna -gilist c_elegans_mrna.gi -dbtype nucl -out c_elegans_mrna -title "C. elegans refseq mRNA entries"
I'm trying it both on Windows and Linux and the problem is the same. Shortly :
- use update_blastdb.pl to download and decompress databases (swissprot, nr...) -> works fine
- check the database with blastdbcmd -> works fine
- download the GI list of interest on NCBI -> works fine
- create an alias of a downloaded database using the GI list with blastdb_aliastool -> FAILS
Point 4. is done with a command like:
blastdb_aliastool -db nr/nr -out nr/actinop -gilist D:/DEV/var/temp/actinomadura.gi -dbtype prot -title "nr Actino prot"
The result is:
Converted 98631 GIs from D:/DEV/var/temp/actinomadura.gi to binary format in nr/actinop.p.gil
BLAST Database error: BLASTDB alias file creation failed. Some referenced files may be missing
The folder where the Blast executables are placed contains the .ncbirc (Linux) and ncbi.ini (Windows) files where the parameter BlastBD is filled. Each NCBI database is in its own folder, it's why -db is nr/nr and not simply nr. But I found that the .gil file is not created if I don't give the complete path names:
blastdb_aliastool -db f:/BlastDB/nr/nr -out f:/BlastDB/nr/actinop -gilist D:/DEV/var/temp/actinomadura.gi -dbtype prot -title "nr Actino prot"
I read many old posts saying that GI list will disappear, it seems not (we can download it from NCBI and the argument of last tool version has gilist argument), I tried with a list of accession ID instead of GI list but I didn't find which arguments of blastdb_aliastool can work for this way.
The steps look like it's a simple process but I need your help to make it, thanks!
blast