blahah / transrate

Understand your transcriptome assembly
http://hibberdlab.com/transrate
Other
100 stars 34 forks source link

makeblastdb issues #207

Open genizamt opened 7 years ago

genizamt commented 7 years ago

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:inrun' 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:inrun' 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:incomparative_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:inchdir' 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:inblock (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:inblock 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:inrun' from /local/cluster/transrate/lib/app/bin/transrate:23:in `

'

blahah commented 7 years ago

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

genizamt commented 7 years ago

Thanks for the reply,

I work on a linux cluster -common tools like BLAST get updated regularly. a local copy of transrate was installed by downloading the linux binary, unpacking and adding the directory to the path.

$transrate --install-deps ref Checking dependencies All dependencies installed

Ill could try to install a local copy of 2.2.29, but a similar user had the same makeblastdb problem. They mentioned a workaround, but no final resolution was provided. https://groups.google.com/forum/#!topic/transrate-users/7QZ4EXyMFLY

Is there a way to bypass the makeblastdb step and jump directly into the blast? standalone, the makeblastdb command works and generates the appropriate nin, nsq, and *nih. I could just move those to the appropriate transrate directory.

On 4/5/17 9:42 AM, Richard Smith-Unna wrote:

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

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/blahah/transrate/issues/207#issuecomment-291921895, or mute the thread https://github.com/notifications/unsubscribe-auth/AT4VNP_ZbSilEYFbPXYrL97kA4_cj1xpks5rs8R2gaJpZM4MzpnO.

blahah commented 7 years ago

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
blahah commented 7 years ago

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