InterProScan 4.x (SOAP)

Please Note

The InterProScan 4.x web services were retired on Wednesday 9th April 2014.

With the release of InterPro 44.0 and the accompanying release of InterProScan 5 (5-44.0), InterProScan 4.x was frozen at the last release (InterProScan 4.8 with InterPro 43.1). All users are encouraged to migrate to the InterProScan 5 Web Services:


InterProScan 1) 2) is a tool that combines different protein signature recognition methods into one resource.

Note: this service uses InterProScan 4.x, for details about the currently available versions of InterProScan please see:

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.

If you are planning on systematically processing many sequences using this service please see InterProScan Web Service FAQ.

Nucleotide Sequences

To process nucleotide sequences using InterProScan 4.x:

  1. Translate your nucleotide sequence. The standalone version of InterProScan 4.x uses a basic ORF finding process to predict possible proteins for a nucleotide sequence. This uses EMBOSS sixpack to perform the translation and filter the resulting open reading frame (ORF) sequences by length. Alternative tools such as EMBOSS transeq are also available, but may require an additional filtering process to limit the ORF sequences to those above a certain length. These tools are available as part of the EMBOSS package, and via the Sequence Translation web services. For organisms where transcripts are spliced before translation, the use of more sophisticated gene prediction software is recommended to obtain probable protein sequences for the genes found.
  2. Filter ORFs by sequence length. Short sequences (<80 aa) are unlikely to have any signature matches, so unless there is additional evidence that the sequence occurs, short sequences can be discarded. The EMBOSS programs getorf and sixpack provide options to do length filtering when performing the translation.
  3. Significant hits from sequence similarity searches. The signatures used by InterProScan are based on known protein sequences so a filtering step by performing a BLAST or FASTA sequence similarity search with the ORF translations against the UniProtKB or UniParc protein sequence databases and only keeping sequences which have hits with E-values <0.001. In the case where an exact match is found to the sequence (using a sequence similarity search or services such as PICR or SeqCksum), you can go directly to the InterPro Matches databases to get the signature matches for the sequence (available in dbfetch and WSDbfetch as IPRMC or IPRMC UniParc, in the InterPro BioMart or on the InterPro FTP site).

Note: the standalone version of InterProScan 4.x can perform the translation and ORF length filtering as part of the submission and is recommended if you need to perform large numbers of analysis and have access to the required resources. See InterProScan 4.x Readme for details.


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: IPRScanCliClient.exe; Source: AbstractWsClient.cs, IPRScanClient.cs, IPRScanCliClient.cs A .NET runtime environment. If building from source development tools are also required. See the .NET tutorial for details.
Java Executable jar: IPRScan_Axis1.jar; Source:, Axis 1.4; All dependencies, including Axis 1.4 and Commons-CLI, are available in
Executable jar: IPRScan_JAXWS.jar; Source:, JAX-WS; Various dependencies including Commons-CLI, are available in
Perl SOAP::Lite XML::Compile::SOAP
PHP iprscan_lib_php_soap.php, iprscan_cli_php_soap.php, iprscan_web_php_soap.php PHP-SOAP
Python SOAPpy suds
Ruby iprscan_soap4r.rb soap4r
Taverna 1.x InterProScan (SOAP) Taverna 1.x
Taverna 2.x InterProScan (SOAP) Taverna 2.x
VB.NET Source: AbstractWsClient.vb, IPRScanClient.vb, IPRScanCliClient.vb A .NET runtime with development tools to build from source, see the .NET tutorial for details. For a .NET executable see the C# client above.

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


In addition to these sample clients users have submitted workflows using these services to the myExperiment workflow repository. See workflows using the InterProScan (SOAP) Web Service for a list.


The WSDL for the InterProScan SOAP service:

The Kissinger Research Group, University of Georgia provide a SAWSDL for the InterProScan (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.


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
appl list Signature method applications to run.
goterms boolean Enable/disable inclusion of Gene Ontology (GO) terms in result.
nocrc boolean Enable/disable sequence CRC look-up in InterPro Matches.
sequence string Protein sequence to analyse. The use of fasta formatted sequence is recommended.

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) Quevillon E., Silventoinen V., Pillai S., Harte N., Mulder N., Apweiler R. and Lopez R. (2005)
InterProScan: protein domains identifier.
Nucleic Acids Res. 33:W116-20
PubMed: 15980438
DOI: 10.1093/nar/gki442
2) Zdobnov E.M. and Apweiler R. (2001)
InterProScan–an integration platform for the signature-recognition methods in InterPro.
Bioinformatics 17(9):847-848
PubMed: 11590104
DOI: 10.1093/bioinformatics/17.9.847
services/archive/pfa/iprscan_soap.txt · Last modified: 2014/04/09 09:54 by hpm