cablastp icon indicating copy to clipboard operation
cablastp copied to clipboard

03367': 'exit status 2'

Open nsarode opened this issue 12 years ago • 3 comments

The database is Uniref-90 fasta file compressed using compress command. The folder essentially contains following files : coarse.fasta coarse.fasta.index coarse.links coarse.links.index coarse.seeds compressed compressed.index params

The database is in another user's account (though the complete path to it given to the progam)

Tried running cablastp using the following command


cablastp-search /path/capblastp-UNIREF90 /path/stn1_ALL_prodigal.prot --blast-args -max_target_seqs 10 -out stn1_ALL_prodigal.blast -num_threads 6 -outfmt '6 qseqid sseqid pident qcovs length mismatch qstart qend sstart send evalue bitscore stitle'

gs -max_target_seqs 10 -num_threads 6 -out stn1_ALL_prodigal.blast -outfmt '6 qseqid sseqid pident qcovs length mismatch qstart qend sstart send evalue bitscore stitle' Opening database in path/capblastp-UNIREF90... Opening compressed database... Done opening compressed database. Opening coarse database... Done opening coarse database. Done opening database in /path/capblastp-UNIREF90

Blasting query on coarse database... blastp -db path/capblastp-UNIREF90/blastdb-coarse -num_threads 24 -outfmt 5 -dbsize 4923603367 Error blasting coarse database: Error running 'blastp -db path/blastdb-coarse -num_threads 24 -outfmt 5 -dbsize 4923603367': 'exit status 2'.

stderr:

BLAST Database error: No alias or index file found for protein database [path/blastdb-coarse] in search path [path_to_input_file:/home/db/blastdb:]

Is this an issue with the compressing of the database ? it seems to open the compressed database just fine. The path given in stderr after 'in search path' is different from what I gave for the database.

nsarode avatar Oct 30 '13 20:10 nsarode

It looks like your compressed database is corrupt. Every compressed database contains a blast database of the compressed sequences, and this seems to be where cablastp-search is failing.

The blast database is created at the end of compression, and if it fails, it outputs an error message. But perhaps the error message was ignored? (The rest of the database would still be created.)

In either case, it should be possible to fix this without re-running compression. (Although it would be good to run compression on a smaller database and make sure everything runs correctly. If you get an error, please come back here with it and open a new issue.)

We can fix it by generating the BLAST database:

cd path/to/cablastp-UNIREF90
makeblastdb -dbtype prot -in ./coarse.fasta -out blastdb-coarse

Then re-running your cablastp-search command should do the trick.

BurntSushi avatar Oct 30 '13 20:10 BurntSushi

Thanks for the help. There was some serious issue with the compressed database I guess, cause the coarse.fasta file is zero bytes! As a result I obviously got the "BLAST options error: File ./coarse.fasta is empty" error. All I can do for it is re-compress the database myself (someone else had done that earlier). That should take a while. I had another COG database that was compressed properly and that seems to be running smoothly (so far).

There is another question though, even though my command is ~/path/to/capblast/cablastp-search path/database query_file --p="4" --blast-args -max_target_seqs 10 -num_threads 4 -out out.blast -outfmt '6 qseqid sseqid pident qcovs length mismatch qstart qend sstart send evalue bitscore stitle'

Why does the program ignore the num_threads and outfmt value given by me (see below) ? Should every individual parameter be preceded by --blast-args ?

Blasting query on coarse database... blastp -db /projects/home/nsarode3/Database/capblastp-cogs_db_aa/blastdb-coarse -num_threads 16 -outfmt 5 -dbsize 47558392

nsarode avatar Nov 01 '13 16:11 nsarode

All I can do for it is re-compress the database myself (someone else had done that earlier). That should take a while.

Dang, that sucks. Sorry about that. If the compressed database is still corrupt after that, could you please post the output of your cablastp-compress command, including the command itself?

Why does the program ignore the num_threads and outfmt value given by me (see below) ? Should every individual parameter be preceded by --blast-args ?

A search in compressed space actually involves two invocations of blast. First is a blast search against the compressed database, which always uses a particular output format so that it can be read by cablastp-search. The second blast search is on the expanded hits from the first search, and that invocation of blast will use your parameters to --blast-args verbatim. But since your search is failing on the first invocation, you're seeing the results of the compressed blast search, which won't include the --blast-args.

However, it is a bug that -num_threads is set to 16. It should probably be set to the value of the -p flag. I've filed a new issue #4.

BurntSushi avatar Nov 01 '13 16:11 BurntSushi