I'd go for the source code update.
I am trying to use a pipeline that uses formatdb command of old BLAST. This option is been replaced by makeblastdb in newer versions of blast+ . I could not find archive for blast to download the old version. I am using CentOS 6.5.
Here is the program, if any body is interested to look at the source code:
https://github.com/chiulab/surpi/blob/master/plot_reads_to_gi.sh
2 answers
The term you're looking for is "Legacy BLAST" :-)
Here we go: ftp://ftp.ncbi.nlm.nih.gov/blast/executables/release/LATEST/
Also, your source code can be upgraded by modifying
formatdb -p F -i $3.$2.fasta
to
makeblastdb -dbtype nucl -in $3.$2.fasta
and
blastall -p blastn -m 8 -a 1 -b 1 -K 1 -d $3.$2.fasta -i $f -o $f.$2.$3.$4.blastn -e $4 >& $f.$2.$3.$4.error
to
legacy_blast.pl blastall -p blastn -m 8 -a 1 -b 1 -K 1 -d $3.$2.fasta -i $f -o $f.$2.$3.$4.blastn -e $4 >& $f.$2.$3.$4.error --path /path/to/blast/bin
EDIT: I highly recommend updating your copy of the code to use blast+. In fact, you could do the modifications and submit a PR, and the repo owner will appreciate it.
I agree. But if OP were writing their own code or using well-maintained/popular tools, they would not be dealing with this issue in the first place.
This pipeline is officially tested only on Ubuntu and I am using CentOS. I just finished the troubleshooting to know what it is exactly doing and made necessary changes in the scripts to make it work with default settings. will have to work on it further.
In UGENE full package you can use both BLAST and BLAST+ from GUI. The executables are also available in the external tool package.
By the way, you might like to automate your pipeline with the UGENE Workflow Designer.
Log in to answer this question.
I used the old BLAST on Ubuntu many years ago, so I just found it in Ubuntu packages: http://packages.ubuntu.com/trusty/blast2
I am not sure if it will work on CentOS though.
It won't work because of incompatible (package) systems and CentOS doesn't have Blast in the repo. The legacy blast binaries for generic linux should work though as stated by RamRS.