The FASTA (pronounced FAST-Aye) suite of programs includes three specialist programs for searching databases with a set of sequence fragments 1), as may be obtained from protein mass spectrometry or Edman protein sequencing:

  • FASTF - Compares an ordered peptide mixture, as would be obtained by Edman degradation of a CNBr cleavage of a protein, against a protein database.
  • FASTM - Compares an ordered set of peptides to a protein sequence database or an ordered set of oligonucleotides to a nucleotide sequence database.
  • FASTS - Compares a set of short peptide fragments, as would be obtained from mass spectrometry analysis of a protein, against a protein database.

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
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 FASTM (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 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 be used for nucleotide search.
gapopen Score for the initiation of a gap.
gapext Score for each base/residue in a gap.
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.
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.
stats Statistical model to use.
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 set of peptides. A variation of the fasta sequence format, where the fragments are separated by commas, must be used. 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.

Note: the query set of fragment sequences must be formatted using a variation of the fasta sequence format where the individual fragments each begin on a new line and are separated by commas, for example:



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) Mackey A.J., Haystead T.A. and Pearson W.R. (2002)
Getting more from less: algorithms for rapid protein identification with multiple short peptide sequences.
Mol. Cell Proteomics 1(2):139-47.
PubMed: 12096132
DOI: 10.1074/mcp.M100004-MCP200
services/sss/fastm_rest.txt · Last modified: 2014/09/05 13:32 by uludag