Question: Trying To Run Psipred But Failing To Use Blastpgp
gravatar for arronslacey
7.6 years ago by
United Kingdom
arronslacey280 wrote:

Hi - I am trying to run 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+ • 9.8k views
ADD COMMENTlink modified 3.1 years ago by paul.zierep0 • written 7.6 years ago by arronslacey280
gravatar for Hamish
7.6 years ago by
Hamish3.2k wrote:

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:

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):

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 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 COMMENTlink modified 5.9 years ago by Alastair Kerr5.3k • written 7.6 years ago by Hamish3.2k

@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 REPLYlink written 7.6 years ago by arronslacey280

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

ADD REPLYlink written 7.6 years ago by arronslacey280

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

ADD REPLYlink written 7.1 years ago by chanjunming0

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

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: cannot open shared object file: No such file or directory

Anyone could help me with this

ADD REPLYlink modified 2.2 years ago • written 2.2 years ago by kdgm1230

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

ADD REPLYlink written 21 months ago by lrlrlr50
gravatar for paul.zierep
3.1 years ago by
paul.zierep0 wrote:

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 script:

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

Hope that helps.

ADD COMMENTlink written 3.1 years ago by paul.zierep0
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1305 users visited in the last hour