Trying To Run Psipred But Failing To Use Blastpgp
2
1
Entering edit mode
8.1 years ago
arronslacey ▴ 280

Hi - I am trying to run psipred (http://bioinfadmin.cs.ucl.ac.uk/downloads/psipred/) and it requires blast+ to be installed. I have done this, and all the blast executables are stored in /usr/local/bin. psipred finds blastpgp, but incurs a fatal error:

Running PSI-BLAST with sequence example.fasta ...
FATAL: Error whilst running blastpgp - script terminated!

does anyone have any experience with psiblast? I assume many of you already use blast and would be interested if you encounter the same problem i am.

psipred might be failing to use blastpgp because it is failing to find blast databases. is there a standard way to store blast databases so that blast execs can access them?

thanks in advance.

blast+ • 10k views
ADD COMMENT
6
Entering edit mode
8.0 years ago
Hamish ★ 3.2k

The NCBI BLAST+ distribution does not include 'blastpgp', it has been replaced by the 'psiblast' program. The 'blastpgp' program is available in the legacy NCBI BLAST package (no longer supported), which is available from the NCBI's FTP site: ftp://ftp.ncbi.nlm.nih.gov/blast/executables/release/2.2.26/.

At the moment the PSIPRED documentation recommends the use of the legacy NCBI BLAST programs for PSI-BLAST rather than using NCBI BLAST+. However the distribution does contain an alternative script that uses the NCBI BLAST+ suite ('runpsipredplus'). From your description it is unclear (both 'runpsipred' and 'runpsipredplus' will produce that error message) which version of the PSIPRED scripts you are using?

In any case the current distribution of PSIPRED is configured to use a 'uniref90filt' BLAST database for the PSI-BLAST search. This is not provided, so you have to make it yourself (this assumes you are in the root of the PSIPRED installation, so 'pfilt' is found correctly):

wget ftp://ftp.uniprot.org/pub/databases/uniprot/uniref/uniref90/uniref90.fasta.gz
gunzip -v uniref90.fasta.gz
bin/pfilt uniref90.fasta > uniref90filt
formatdb -t uniref90filt -i uniref90filt

When using NCBI BLAST+ the 'formatdb' command should be replaced by the equivalent 'makeblastdb' command:

makeblastdb -dbtype prot -in uniref90filt -out uniref90filt

If you want to keep all your NCBI BLAST format databases in one place, you can use either the '$BLASTDB' environment variable or a '.ncbirc' file to configure a default location for the BLAST programs to look for the BLAST databases (see http://www.ncbi.nlm.nih.gov/books/NBK1763/#CmdLineAppsManual.Configuring_BLAST). Once this is configured you can put the database there, instead of in the PSIPRED installation. Alternatively you could modify the 'dbname' variable in the script to specify the complete path the the BLAST database, instead of just the name.

ADD COMMENT
0
Entering edit mode

@Hamish - this is an incredibly useful reply. I'm going through your instructions and I'll see how I get on. Yes I noticed BLAST+ doesn't contain blastpgp - I'll try the legacy version you have provided. Thanks very much.

ADD REPLY
0
Entering edit mode

got this working now thanks to your instructions. all the best

ADD REPLY
0
Entering edit mode

formatdb cannot open uniref90filt. could you help me with this?

ADD REPLY
0
Entering edit mode

I tried above to use 'uniref90flit' Blast database for psipred

wget ftp://ftp.uniprot.org/pub/databases/uniprot/uniref/uniref90/uniref90.fasta.gz
gunzip -v uniref90.fasta.gz
bin/pfilt uniref90.fasta > uniref90filt
makeblastdb -dbtype prot -in uniref90filt -out uniref90filt

I am having the following error makeblastdb: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

Anyone could help me with this

ADD REPLY
0
Entering edit mode

thank you Alastair Kerr im using legacy Blast for psipred and this solved my problem

ADD REPLY
0
Entering edit mode
3.6 years ago

This is a bit late, but I guess still relevant, as I had the similar problem and could solve it quiet easily by using the blast package for Ubuntu 16.04:

  sudo apt-get install ncbi-blast+

And pointing to the directory instead in the PSSpred.pl script:

$blastdir="/usr/bin"; #where blast program is

Hope that helps.

ADD COMMENT

Login before adding your answer.

Traffic: 1296 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6