PSI-Search (REST)


PSI-Search 1) combines the Smith-Waterman search algorithm with the PSI-BLAST profile construction strategy to find distantly related protein sequences.

For more information see:


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
Perl LWP
Python3 urllib3, and xmltramp2

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


The WADL for the PSI-Search (REST) service:



List parameter names.


Parameters none


An XML document containing a list of parameter names.

For example:


Get detailed information about a parameter.


Parameters $parameterId: the name of the parameter


An XML document providing details about the parameter.

For example:


Submit a job with the specified parameters.

Please note that a submission is required for each PSI-Search iteration to be performed. The initial submission is equivalent to a protein ssearch using FASTA (FASTA (REST) or FASTA (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.


Due to the cpfile parameter, required by the third and subsequent iterations, being a binary data file, the submission for these iterations should use multipart/form-data encoding for the POST instead of application/x-www-form-urlencoded encoding.

POST email User e-mail address. See Why do you need my e-mail address?
title an optional title for the job.
matrix Scoring matrix to be used in the search.
gapopen Penalty for the initiation of a gap.
gapext Penalty for each base/residue in a gap.
expthr Search E-value threshold.
mask Enable/disable sequence masking for over-extension errors in PSSM construction.
psithr E-value threshold for inclusion into PSSM.
scores Maximum number of scores displayed in the output.
alignments Maximum number of alignments displayed in the output.
scoreformat Format for scores table in FASTA output.
annotfeats Display annotation features.
sequence Query sequence. The use of fasta formatted sequence is recommended.
database List of database names for search.
previousjobid Previous iteration's job identifier.
selectedHits Identifiers of hits to include in the PSSM.
cpfile PSI-BLAST checkpoint file from previous iteration.

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


A plain text document containing the job identifier.


Get the status of a submitted job.


Parameters $jobId: job identifier


A plain text document containing the job 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 available result types for a finished job.


Parameters $jobId: job identifier


An XML document detailing the available result types.


Get the job result of the specified type.


Parameters $jobId: job identifier
$resultType: type of result to retrieve. See resulttypes.


A document containing the result in the requested format. The MIME type of the returned document is set according to the format.

1) Li W., McWilliam H., Goujon M., Cowley A., Lopez R. and Pearson W.R. (2012)
PSI-Search: iterative HOE-reduced profile SSEARCH searching.
Bioinformatics 28(12):1650-1.
PMID: 22539666
DOI: 10.1093/bioinformatics/bts240
services/sss/psisearch_rest.txt · Last modified: 2015/03/16 14:42 by uludag