makeblastdb issues
genizamt opened this issue · comments
command run:
transrate --threads 8 --assembly transcripts_CCDR_T0-output-v2-cdhitest --reference Oryza_sativa.IRGSP-1.0.cdna.all.fa
contig metrics are generated, but errors out when generating comparative metrics:
/local/cluster/transrate/lib/app/bin/transrate:13:in `raise': BLAST Error creating database: (RuntimeError)
USAGE
makeblastdb [-h] [-help] [-in input_file] [-input_type type]
-dbtype molecule_type [-title database_title] [-parse_seqids]
[-hash_index] [-mask_data mask_data_files] [-mask_id mask_algo_ids]
[-mask_desc mask_algo_descriptions] [-gi_mask]
[-gi_mask_name gi_based_mask_names] [-out database_name]
[-max_file_sz number_of_bytes] [-logfile File_Name] [-taxid TaxID]
[-taxid_map TaxIDMapFile] [-version]
DESCRIPTION
Application to create BLAST databases, version 2.2.31+
Use '-help' to print detailed descriptions of command line arguments
Error: Too many positional arguments (1), the offending value: ./
from /local/cluster/transrate/lib/app/ruby/2.2.0/gems/crb-blast-0.6.6/lib/crb-blast/crb-blast.rb:119:in makedb' from /local/cluster/transrate/lib/app/ruby/2.2.0/gems/crb-blast-0.6.6/lib/crb-blast/crb-blast.rb:514:in
run'
from /local/cluster/transrate/lib/app/lib/transrate/comparative_metrics.rb:154:in run_crb_blast' from /local/cluster/transrate/lib/app/lib/transrate/comparative_metrics.rb:23:in
run'
from /local/cluster/transrate/lib/app/lib/transrate/transrater.rb:115:in comparative_metrics' from /local/cluster/transrate/lib/app/lib/transrate/cmdline.rb:528:in
comparative_metrics'
from /local/cluster/transrate/lib/app/lib/transrate/cmdline.rb:405:in block in analyse_assembly' from /local/cluster/transrate/lib/app/lib/transrate/cmdline.rb:400:in
chdir'
from /local/cluster/transrate/lib/app/lib/transrate/cmdline.rb:400:in analyse_assembly' from /local/cluster/transrate/lib/app/lib/transrate/cmdline.rb:38:in
block (2 levels) in run'
from /local/cluster/transrate/lib/app/lib/transrate/cmdline.rb:37:in zip' from /local/cluster/transrate/lib/app/lib/transrate/cmdline.rb:37:in
block in run'
from /local/cluster/transrate/lib/app/lib/transrate/cmdline.rb:32:in chdir' from /local/cluster/transrate/lib/app/lib/transrate/cmdline.rb:32:in
run'
from /local/cluster/transrate/lib/app/bin/transrate:23:in `
how did you install transrate? It looks to me like transrate is trying to use a version of blast that you already have installed (2.3.31
), rather than the one it needs (2.2.29
)
You can either try transrate --install-deps
or try the binary distribution of transrate from http://hibberdlab.com/transrate/installation.html
Thanks for reporting this - it's actually a bug with how we load the dependencies in a rare case.
Do you have access to edit the /local/cluster/transrate/
file? Below I describe the fix depending on whether or not you can edit it:
If you can edit the file
replace the line:
export PATH=$SELFDIR/bin:$PATH
with:
export PATH=$SELFDIR/bin:$SELFDIR/lib/app/ruby/2.2.0/bin:$PATH
this will fix it for everyone who's using it
If you can't edit the file
when you run transrate, you'll have to run it like this:
PATH=/local/cluster/transrate/lib/app/ruby/2.2.0/bin:$PATH transrate
and put whatever arguments you wanted afterwards, e.g. in your example:
PATH=/local/cluster/transrate/lib/app/ruby/2.2.0/bin:$PATH transrate --threads 8 --assembly transcripts_CCDR_T0-output-v2-cdhitest --reference Oryza_sativa.IRGSP-1.0.cdna.all.fa
cc @cboursnell this is happening because bindeps installs to the GEM_HOME
unless told otherwise or it can't find it: https://github.com/blahah/bindeps/blob/master/lib/bindeps.rb#L191.
We should either update the transrate wrapper bash script as above