On Monday 28th March 2011 the WSClustalW service was decommissioned and replaced by the following services:

The service documentation and clients below are historical and provided solely for reference purposes.


ClustalW is a fully automatic program for global multiple alignment of DNA and protein sequences. The alignment is progressive and considers the sequence redundancy. Trees can also be calculated from multiple alignments.

For more information about this tool see:

Web services registry entries:


Note: this service is based on ClustalW 1.83, which has been superseded by ClustalW 2.x. The WSClustalW2 service is based on the new version of ClustalW.


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: wsclustalw.exe; Source: wsclustalw.cs A .NET runtime environment. If building from source development tools are also required. See the .NET tutorial for details.
Java Executable jar: WSClustalW.jar; Source: Axis 1.4; All dependencies, including Axis 1.4 and Commons-CLI, are available in
Perl SOAP::Lite

For further details see WSClustalW Clients.


Service API

runClustalW(params, content)

Submits a ClustalW job to the service.


  • params an instance of the inputParams data structure.
  • content a list of data data structures describing the query sequence data.

Returns: a string containing the job ID (jobid).

align(sequences, alignment, email)


  • sequences string containing the set of sequences to align
  • alignment string containing the type of alignment to perform
  • email string containing a valid e-mail address.

Returns: a string containing the job ID (jobid).

alignIds(database, sequences, alignment, email)


  • database string containing the database name for the set of IDs
  • sequences string containing a list of entry IDs
  • alignment string containing the type of alignment to perform
  • email string containing a valid e-mail address.

Returns: a string containing the job ID (jobid).

tree(jobid, tree, email)


  • jobid string containing the jobid of the alignment to generate a tree from.
  • tree string containing the name of the required tree format.
  • email string containing a valid e-mail address.

Returns: a string containing the job ID (jobid).


Get the status of a job.


  • jobid the job identifier of the job to check status of.

Returns: a string indicating the status of the job. Current values are:

  • DONE: job has finished, and the results can then be retrieved.
  • ERROR: the job failed or no results where found
  • NOT_FOUND: the job id is no longer available (job results are deleted after 24 h)
  • PENDING: the job is in a queue waiting processing
  • RUNNING: the job is currently being processed


Get details of the result types available.


  • jobid the job identifier of the job to get result types for.

Returns: an array of WSFile structures describing the available result types for the job.

poll(jobid, type)

Wait until the job has finished and get the specified type of result data.


  • jobid the job identifier of the job to get result from.
  • type a string specifying the type of result to retrieve. See getResults(jobid) and WSFile for details of how to obtain valid values.

Returns: a base64 encoded string containing the result data. Depending on the SOAP library and programming language used the result may be returned in decoded form.


Structure containing the input data for the job

Attribute Type Description Default
type string Type of content being used. Value: 'sequence' required
content string Set of formatted sequences (fasta recommended) required

For example to specify an input sequence in Java:

Data inSeq = new Data();
inSeq.setType = "sequence";
inSeq.setContent = ">TestSequence1\nASAMPLESEQ\n" + ">TestSequence2\nANOTHERSAMPLESEQ\n";


A structure containing the parameters required to run the job.

Attribute Type Description Default
async boolean Asynchronous submission (recommended) false
email string Valid email address. See Why do you need my e-mail address? required
cpu string Deprecated
align boolean Perform alignment false
tree boolean Generate phylogenetic tree false
output string Alignment output format. Values: 'aln1', 'aln2', 'gcg', 'phylip', 'pir' or 'gde' 'aln1'
outorder string Sequence order in output alignment. Values: 'aligned' or 'input' 'aligned'
Pairwise alignment parameters
alignment string Alignment method. Values: 'fast' or 'full' 'full'
quicktree boolean Perform 'fast' alignment false
ktup int Word size
window int Window size
topdiags int Top diagonals to consider
pairgap int Gap penalty
score string Score type
Multiple alignment options
gapopen int Gap open penalty
endgaps boolean Do not score end gaps
gapext float Gap extension penalty
gapdist int Gap separation penalty
matrix string Scoring matrix set. Values: 'blosum', 'pam', 'gonnet' or 'id'
Phylogenetic tree
outputtree string Tree format. Values: 'none', 'nj', 'phylip' or 'dist' 'none'
kimura boolean Use Kimura's correction
tossgaps boolean Discard gap regions when calculating tree false


Structure describing a result type. Returned by the getResults(jobid) method.

Attribute Type Description
type string Symbolic name of the result type. Used with the poll(jobid, type) method.
ext string Recommended file extension for this result type.


If you have any questions or comments, or you plan to use this service as part of a course or for a high number of submissions, please contact us EMBL-EBI Support.

services/archive/msa/wsclustalw.txt · Last modified: 2013/04/23 16:26 by hpm