Bandage icon indicating copy to clipboard operation
Bandage copied to clipboard

Bandage can't find BLAST although it's installed

Open sentausa opened this issue 7 years ago • 6 comments

I have NCBI BLAST installed locally on my Linux computer, but Bandage can't find it.

$ which makeblastdb /home/es249628/bin/ncbi-blast-2.4.0+/bin/makeblastdb $ which blastn /home/es249628/bin/ncbi-blast-2.4.0+/bin/blastn

Everytime I click 'Build BLAST database' button in the BLAST search window of Bandage, it gives me an error message: "The program makeblastdb was not found. Please install NCBI BLAST to use this feature."

I'm using Bandage_Ubuntu_static_v0_8_1.

sentausa avatar Apr 11 '17 12:04 sentausa

This stuff is tricky. I tried to make Bandage just call which makeblastdb to see where it is, but I fear that Bandage doesn't have access to the same PATH variable as your shell or something. That would be why you can see it with which but Bandage can't.

I'll have to look into this more to come up with a good solution. In the mean time, a workaround may be to put your BLAST in a more standard location, like /usr/bin or /usr/local/bin. Let me know if that works.

rrwick avatar Apr 14 '17 04:04 rrwick

@rrwick - I'm having the same issue and placing BLAST in /usr/bin or /usr/local/bin hasn't solved it for me. I've tried adding BLAST in the same folder as Bandage and changing the $PATH accordingly, but to no avail. Do you have any other suggestions?

srcoulombe avatar Dec 04 '17 21:12 srcoulombe

Same issue. Used 'conda to install BLAST, thus it's in a somewhat unique location:

uaf134253:~ jpummil$ which makeblastdb /Users/jpummil/anaconda3/bin/makeblastdb

Considering a symbolic link to see if that will suffice....

jpummil avatar Feb 06 '18 16:02 jpummil

Edit: soft links seem to work just fine for resolving this. I'm on a Mac, but should be the same for Linux. Example: ln -s /Users/jpummil/anaconda3/bin/makeblastdb /usr/local/bin/makeblastdb

Also had to do the same for "blastn" and "tblastn"...

jpummil avatar Feb 06 '18 16:02 jpummil

+1 for all replies above.

Also, relating to @jpummil 's reply, /usr/local/bin seems to be the "path-to-be" on Mac as the System Integrity Protection of current Mac OS X (High Sierra in my case) seems to prohibit the creation of symlinks in /usr/bin, even when using sudo.

claczny avatar Nov 14 '18 06:11 claczny

This stuff is tricky. I tried to make Bandage just call which makeblastdb to see where it is

Hello

instead of wich that may respond diferently given os, and or version used.

you may want to use command -v makeblastdb instead of which furthermore command is posix

EricDeveaud avatar Mar 21 '19 13:03 EricDeveaud