NCBI BLAST 1) 2) 3) is a sequence similarity search program. The emphasis is to find regions of sequence similarity, which will yield functional and evolutionary clues about the structure and function of the query sequence. WU-BLAST and NCBI BLAST are distinctly different software packages, although they have a common lineage for some portions of their code, so the services do their work differently, obtain different results and offer different features.

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: NcbiBlastCliClient.exe; Source: AbstractWsClient.cs, NcbiBlastClient.cs, NcbiBlastCliClient.cs A .NET runtime environment. If building from source development tools are also required. See the .NET tutorial for details.
Java Executable jar: NCBIBlast_Axis1.jar; Source:, Axis 1.4; All dependencies, including Axis 1.4 and Commons-CLI, are available in
Executable jar: NCBIBlast_JAXWS.jar; Source:, JAX-WS; Various dependencies including Commons-CLI, are available in
Perl SOAP::Lite XML::Compile::SOAP
PHP ncbiblast_lib_php_soap.php, ncbiblast_cli_php_soap.php, ncbiblast_web_php_soap.php PHP SOAP
Python SOAPpy suds
Ruby ncbiblast_soap4r.rb soap4r
Taverna 1.x NCBI BLAST (SOAP) Taverna 1.x
Taverna 2.x NCBI BLAST (SOAP) Taverna 2.x
VB.NET Source: AbstractWsClient.vb, NcbiBlastClient.vb, NcbiBlastCliClient.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 NCBI BLAST (SOAP) Web Service for a list.


The WSDL for the NCBI BLAST (SOAP) service:

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


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
program string BLAST program to use to perform the search.
matrix string Scoring matrix to be used in the search.
alignments int Maximum number of alignments displayed in the output.
scores int Maximum number of scores displayed in the output.
exp string E-value threshold.
dropoff int Amount score must drop before extension of hits is halted.
match_scores string Match/miss-match scores to generate a scoring matrix for for nucleotide searches.
gapopen int Penalty for the initiation of a gap.
gapext int Penalty for each base/residue in a gap.
filter string Low complexity sequence filter to process the query sequence before performing the search.
seqrange string Region of the query sequence to use for the search. Default: whole sequence.
gapalign boolean Perform gapped alignments.
compstats string Compositional adjustment or compositional statistics mode to use.
align int Alignment format to use in output.
stype string Query sequence type. One of: dna, rna or protein.
sequence string Query sequence. The use of fasta formatted sequence is recommended.
database list List of database names for search.

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) Camacho, C., Coulouris, G., Avagyan, V., Ma, N., Papadopoulos, J., Bealer, K. and Madden T.L. (2009)
BLAST+: architecture and applications.
BMC Bioinformatics 10:421
PubMed: 20003500
DOI: 10.1186/1471-2105-10-421
2) 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
3) Altschul, S.F., Gish, W., Miller, W., Myers, E.W. and Lipman, D.J. (1990)
Basic local alignment search tool.
Journal of Molecular Biology 215(3):403-10
PubMed: 2231712
services/sss/ncbi_blast_soap.txt · Last modified: 2014/09/05 13:34 by uludag