PRANK 1) is a probabilistic multiple alignment program for DNA, codon and amino-acid sequences. It's based on a novel algorithm that treats insertions correctly and avoids over-estimation of the number of deletion events. In addition, PRANK borrows ideas from maximum likelihood methods used in phylogenetics and correctly takes into account the evolutionary distances between sequences. Lastly, PRANK allows for defining a potential structure for sequences to be aligned and then, simultaneously with the alignment, predicts the locations of structural units in the sequences.

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.


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


POST email User e-mail address. See Why do you need my e-mail address?
title an optional title for the job.
sequence sequences to align
data_file sequences to align
tree_file Tree file in Newick Binary Format.
do_njtree Compute NJ guide tree from input alignment
do_clustalw_tree Compute guide tree using ClustalW2
model_file Structure Model File.
output_format Format for output alignment file
trust_insertions Trust inferred insertions and do not allow their later matching
show_insertions_with_dots Show gaps created by insertions as dots, deletions as dashes
use_log_space Use log space for probabilities; slower but necessary for large numbers of sequences
use_codon_model Use codon substutition model for alignment; requires DNA, multiples of three in length
translate_DNA Translate DNA sequences to proteins and backtranslate results
mt_translate_DNA Translate DNA sequences to mt proteins, align and backtranslate results
gap_rate Gap Opening Rate
gap_extension Gap Extension Probability
tn93_kappa Parameter kappa for Tamura-Nei DNA substitution model
tn93_rho Parameter rho for Tamura-Nei DNA substitution model
guide_pairwise_distance Fixed pairwise distance used for generating scoring matrix in guide tree computation
max_pairwise_distance Maximum pairwise distance allowed in progressive steps of multiple alignment; allows making matching more stringent or flexible
branch_length_scaling Factor for scaling all branch lengths
branch_length_fixed Fixed value for all branch lengths
branch_length_maximum Upper limit for branch lengths
use_real_branch_lengths Use real branch lengths; using this can be harmful as scoring matrices became flat for large distances; rather use max_pairwise_distance
do_no_posterior Do not compute posterior probability; much faster if those not needed
run_once Do not iterate alignment
run_twice Iterate alignment
penalise_terminal_gaps Penalise terminal gaps as any other gap
do_posterior_only Compute posterior probabilities for given aligned sequences; may be unstable but useful
use_chaos_anchors Use chaos anchors to massively speed up alignments; DNA only
minimum_anchor_distance Minimum chaos anchor distance
maximum_anchor_distance Maximum chaos anchor distance
skip_anchor_distance Chaos anchor skip distance
drop_anchor_distance Chaos anchor drop distance
output_ancestors Output ancestral sequences and probability profiles; note additional files
noise_level Noise level; progress and debugging information
stay_quiet Stay quiet; disable all progress information
random_seed Set seed for random number generator; not recommended

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) Löytynoja A. and Goldman N. (2005)
An algorithm for progressive multiple alignment of sequences with insertions.
Proc. Natl. Acad. Sci. USA 102:10557-10562
PubMed: 16000407
DOI: 10.1073/pnas.0409137102
services/msa/prank_rest.txt · Last modified: 2014/09/05 11:39 by uludag