FASTA 1) (pronounced FAST-Aye) stands for FAST-All, reflecting the fact that it can be used for a fast protein comparison or a fast nucleotide comparison. This program achieves a high level of sensitivity for similarity searching at high speed. This is achieved by performing optimised searches for local alignments using a substitution matrix. The high speed of this program is achieved by using the observed pattern of word hits to identify potential matches before attempting the more time consuming optimised search. The trade-off between speed and sensitivity is controlled by the ktup parameter, which specifies the size of the word. Increasing the ktup decreases the number of background hits. Not every word hit is investigated but instead initially looks for segment's containing several nearby hits.

For more information see:


We kindly ask all users of EMBL-EBI Web Services to submit tool jobs in batches of no more than 30 at a time and not to submit more until the results and processing is complete. Please ensure that a valid email address is provided. Excessive usage of a particular resource will be dealt with in accordance with EMBL-EBI's Terms of Use. Please contact us if you need further information.


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 and XML::Simple

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


The WADL for the FASTA (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. Required.


An XML document providing details about the parameter.

For example:


Submit a job with the specified parameters.


POST email User e-mail address. Required. See Why do you need my e-mail address?
title an optional title for the job.
program FASTA suite program to use for search. Required.
stype Query sequence type. One of: dna, rna or protein. Required.
matrix Scoring matrix to be used for protein search.
match_scores Match/missmatch scores to use for nucleotide scoring matrix.
gapopen Score for the initiation of a gap.
gapext Score for each base/residue in a gap.
hsps Enable/disable output of multiple alignments per-hit.
expupperlim Upper E-value threshold.
explowlim Lower E-value threshold.
strand Nucleotide sequence strand to use for search. One of: both, top or bottom.
hist Display histogram.
annotfeats Display annotation features.
scores Maximum number of scores displayed in the output.
alignments Maximum number of alignments displayed in the output.
scoreformat Format to use for scores table in FASTA output.
stats Statistical model to use.
annotsym Annotation symbols to appear on alignments for query and/or database.
seqrange Region of the query sequence to use for the search. Default: whole sequence.
dbrange Range of sequence lengths in search database to include in search. Default: all sequences.
filter Low complexity sequence filter to process the query sequence before performing the search.
sequence Query sequences. The use of fasta formatted sequence is recommended. Required.
database List of database names for search. Required.
ktup Word size to use for sequence comparisons.

More detailed information about each parameter, including valid values can be obtained using the parameterdetails resource.


A plain text document containing the job identifier.


Get the status of a submitted job.


Parameters $jobId: job identifier. Required.


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. Required.


An XML document detailing the available result types.


Get the job result of the specified type.


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


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

1) Pearson W.R. and Lipman D.J. (1988)
Improved tools for biological sequence comparison.
Proc. Natl. Acad. Sci. U.S.A. 85(8):2444-8
PubMed: 3162770
DOI: 10.1073/pnas.85.8.2444
services/sss/fasta_rest.txt · Last modified: 2017/02/06 14:45 by duggan