Position Specific Iterative BLAST (PSI-BLAST) 1) refers to a feature of NCBI BLAST 2.0 in which a position-specific scoring matrix (PSSM) profile is constructed from set of BLAST alignments. The PSSM is then used to search the database in subsequent iterations allowing the detection of distant evolutionary relationships. This can be combined with the Pattern Hit Initiated BLAST (PHI-BLAST) mode to constrain the PSSM using a ProSite pattern to define the region(s) to be used when building the PSSM.

For more information see:

Web service registry entries:


We kindly ask all users of EMBL-EBI Web Services to submit tool jobs in batches of up to 30 at a time and to not submit more until the results and processing has completed for these. This enables users as well as the service maintainers to deal more easily with local and remote network outages as well as scheduled or unscheduled downtime.

Service provision happens on a fair-share basis. Overzealous usage of a particular resource will be dealt with in accordance to the EMBL-EBI's Terms of Use.


Sample clients are provided for a number of programming languages. For details of how to use these clients, download the client and run the program without any arguments.

Language Download Requirements
C# .NET Executable: PsiBlastCliClient.exe; Source: AbstractWsClient.cs, PsiBlastClient.cs, PsiBlastCliClient.cs A .NET runtime environment. If building from source development tools are also required. See the .NET tutorial for details.
Java Executable jar: PSIBlast_Axis1.jar; Source:, Axis 1.4; All dependencies, including Axis 1.4 and Commons-CLI, are available in
Perl SOAP::Lite

For further details of these tool-kits and workflow platforms see our Guide to Web Services.


The WSDL for the PSI-BLAST (SOAP) service:

The Kissinger Research Group, University of Georgia provide a SAWSDL for the PSI-BLAST (SOAP) web service, which is annotated using OBIws:



Get a list of the parameter names.

Arguments: none

Returns: a list of strings giving the names of the parameters.


Get details of a specific parameter.


  • parameterId: identifier/name of the parameter to fetch details of.

Returns: a wsParameterDetails describing the parameter and its values.

run(email, title, params)

Submit a job to the service.

Please note that a submission is required for each PSI-BLAST iteration to be performed. The initial submission is equivalent to a blastp using NCBI BLAST (NCBI BLAST (REST) or NCBI BLAST (SOAP)), but provides a list of hit identifiers for input to the next iteration. The second submission uses the hit identifier list, provided either via the selectedHits parameter or by reference to the previous iteration job identifier (previousjobid) to construct the PSSM to be used for the search. The result of the second submission provides a list of hit identifiers and a checkpoint file, containing the PSSM, for input to the next iteration. Subsequent submissions use the hit identifier list and the checkpoint file, passed via the selectedHits and cpfile parameters or by reference to the previous iteration job identifier (previousjobid), to perform the next iterations of the search and return an updated a list of hit identifiers and a checkpoint file for use as input to the next iteration.


Returns: a string containing the job identifier (jobId).


Get the status of a submitted job.


  • jobId: (required) job identifier.

Returns: a string containing the status.

The values for the status are:

  • RUNNING: the job is currently being processed.
  • FINISHED: job has finished, and the results can then be retrieved.
  • ERROR: an error occurred attempting to get the job status.
  • FAILURE: the job failed.
  • NOT_FOUND: the job cannot be found.

Further details can be found in Synchronous and Asynchronous Access: JDispatcher.


Get the available result types for a finished job.


  • jobId: (required) job identifier.

Returns: a list of wsResultType data structures describing the available result types.

getResult(jobId, type, parameters)

Get the result of a job of the specified type.


  • jobId: (required) job identifier.
  • type: (required) string specifying the result type to fetch. See getResultTypes(jobId) for details of the available types.
  • parameters: optional list of wsRawOutputParameter used to provide additional parameters for derived result types.

Returns: the result data for the specified type, base64 encoded. Depending on the SOAP library and programming language used the result may be returned in decoded form. For some result types (e.g. images) this will be binary data rather than a text string.

Data Types


The input parameters for the job:

Attribute Type Description
matrix string Scoring matrix to be used in the search.
gapopen int Score for the initiation of a gap.
gapext int Score for each base/residue in a gap.
expthr double E-value threshold for search.
psithr double E-value threshold for inclusion in PSSM.
scores int Maximum number of scores displayed in the output.
alignments int Maximum number of alignments displayed in the output.
alignView int Alignment view.
dropoff int Drop-off score for halting extension of the alignment.
finaldropoff int Drop-off score for halting extension of the final gapped alignment.
filter string Low complexity sequence filter.
seqrange string Range defining the region of the query sequence to use in the search.
sequence string Query sequence. The use of fasta formatted sequence is recommended.
database list List of database names for search.
previousjobid string The identifier for the previous PSI-BLAST iteration.
selectedHits base64 The list of identifiers for the hits to use to build the PSSM.
cpfile base64 Checkpoint file in ASN.1 Binary Format.

More detailed information about each parameter, including valid values can be obtained using the getParameterDetails(parameterId) operation.


Descriptive information about a tool parameter. Returned by getParameterDetails(parameterId).

Attribute Type Description
name string Name of the parameter.
description string Description of the parameter, suitable for use in option help interfaces.
type string Data type of the parameter.
values list of wsParameterValue List of valid values for the option.


Description of a tool parameter value. Used in wsParameterDetails.

Attribute Type Description
label string Display name of the value, for use in interfaces.
value string String representation of the value to be passed to the tool parameter.
defaultValue boolean Flag indicating if this value is the default.
properties list of wsProperty List of key/value pairs providing further information.


Properties of a tool parameter value. Used in wsParameterValue.

Attribute Type Description
key string
value string


Additional parameters passed when requesting a result. See getResult(jobId, type, parameters).

Attribute Type Description
name string
value list of string


Description of a result type. Returned by getResultTypes(jobId).

Attribute Type Description
identifier string Identifier for the result type. Passed as type to getResult(jobId, type, parameters).
label string Display name for use in user interfaces.
description string Description of the result type, for use in help interfaces.
mediaType string MIME type of the returned data.
fileSuffix string Suggested suffix for file name, if writing data to disk.
1) Altschul S.F., Madden T.L., Schaffer A.A., Zhang J., Zhang Z., Miller W. and Lipman D.J. (1997)
Gapped BLAST and PSI-BLAST: a new generation of protein database search programs.
Nucleic Acids Res. 25(17):3389-402.
PubMed: 9254694
DOI: 10.1093/nar/25.17.3389
services/sss/psiblast_soap.txt · Last modified: 2014/09/05 13:34 by uludag