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.
@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.
got this working now thanks to your instructions. all the best
formatdb cannot open uniref90filt. could you help me with this?
I tried above to use 'uniref90flit' Blast database for psipred
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
thank you Alastair Kerr im using legacy Blast for psipred and this solved my problem