edialign

 

Wiki

The master copies of EMBOSS documentation are available at http://emboss.open-bio.org/wiki/Appdocs on the EMBOSS Wiki.

Please help by correcting and extending the Wiki pages.

Function

Local multiple alignment of sequences

Description

edialign is an EMBOSS version of the program DIALIGN2 by B. Morgenstern. It takes as input nucleic acid or protein sequences and produces as output a multiple sequence alignment. The sequences need not be similar over their complete length, since the program constructs alignments from gapfree pairs of similar segments of the sequences. Such segment pairs are referred to as "diagonals". If (possibly) coding nucleic acid sequences are to be aligned, edialign can optionally translate the compared "nucleic acid segments" to "peptide segments", or even perform comparisons at both nucleic acid and protein levels, so as to increase the sensitivity of the comparison.

Algorithm

For a complete explanation of the algorithm, see the references. In short :

As described in our papers, the program DIALIGN constructs alignments from gapfree pairs of similar segments of the sequences. Such segment pairs are referred to as "diagonals". Every possible diagonal is given a so-called weight reflecting the degree of similarity among the two segments involved. The overall score of an alignment is then defined as the sum of weights of the diagonals it consists of and the program tries to find an alignment with maximum score -- in other words : the program tries to find a consistent collection of diagonals with maximum sum of weights. This novel scoring scheme for alignments is the basic difference between DIALIGN and other global or local alignment methods. Note that DIALIGN does not employ any kind of gap penalty.

It is possible to use a threshold T for the quality of the diagonals. In this case, a diagonal is considered for alignment only if its "weight" exceeds this threshold. Regions of lower similarity are ignored. In the first version of the program (DIALIGN 1), this threshold was in many situations absolutely necessary to obtain meaningful alignments. By contrast, DIALIGN 2 should produce reasonable alignments without a threshold, i.e. with T = 0. This is the most important difference between DIALIGN 2 and the first version of the program. Nevertheless, it is still possible to use a positive threshold T to filter out regions of lower significance and to include only high scoring diagonals into the alignment.

The use of overlap weights improves the sensitivity of the program if multiple sequences are aligned but it also increases the running time, especially if large numbers of sequences are aligned. By default, "overlap weights" are used if up to 35 sequences are aligned but switched off for larger data sets.

If (possibly) coding nucleic acid sequences are to be aligned, DIALIGN optionally translates the compared "nucleic acid segments" to "peptide segments" according to the genetic code -- without presupposing any of the three possible reading frames, so all combinations of reading frames get checked for significant similarity. If this option is used, the similarity among segments will be assessed on the "peptide level" rather than on the "nucleic acid level".

For the levels of sequence similarity, release 2.2 of DIALIGN has two additional options:

The score that DIALIGN assigns to a fragment is based on the probability to find a fragment of the same respective length and number of matches (or BLOSUM values, if the translation option is used) in random sequences of the same length as the input sequences. If long genomic sequences are aligned, an iterative procedure can be applied where the program first looks for fragments with strong similarity. In subsequent steps, regions between these fragments are realigned. Here, the score of a fragment is based on random occurrence in these regions between the previously aligned segment pairs.

Usage

Here is a sample session with edialign


% edialign 
Local multiple alignment of sequences
Input sequence set: vtest.seq
Output file [vtest.edialign]: 
(gapped) output sequence(s) [vtest.fasta]: 

Go to the input files for this example
Go to the output files for this example

Command line arguments

Local multiple alignment of sequences
Version: EMBOSS:6.5.0.0

   Standard (Mandatory) qualifiers:
  [-sequences]         seqset     Sequence set filename and optional format,
                                  or reference (input USA)
  [-outfile]           outfile    [*.edialign] Output file name
  [-outseq]            seqoutall  [.] (Aligned) sequence
                                  set(s) filename and optional format (output
                                  USA)

   Additional (Optional) qualifiers (* if not always prompted):
*  -nucmode            menu       [n] Nucleic acid sequence alignment mode
                                  (simple, translated or mixed) (Values: n
                                  (simple); nt (translation); ma (mixed
                                  alignments))
*  -revcomp            boolean    [N] Also consider the reverse complement
   -overlapw           selection  [default (when Nseq =< 35)] By default
                                  overlap weights are used when Nseq =<35 but
                                  you can set this to 'yes' or 'no'
   -linkage            menu       [UPGMA] Clustering method to construct
                                  sequence tree (UPGMA, minimum linkage or
                                  maximum linkage) (Values: UPGMA (UPGMA); max
                                  (maximum linkage); min (minimum linkage))
   -maxfragl           integer    [40] Maximum fragment length (Integer 0 or
                                  more)
*  -fragmat            boolean    [N] Consider only N-fragment pairs that
                                  start with two matches
*  -fragsim            integer    [4] Consider only P-fragment pairs if first
                                  amino acid or codon pair has similarity
                                  score of at least n (Integer 0 or more)
   -itscore            boolean    [N] Use iterative score
   -threshold          float      [0.0] Threshold for considering diagonal for
                                  alignment (Number 0.000 or more)

   Advanced (Unprompted) qualifiers:
   -mask               boolean    [N] Replace unaligned characters by stars
                                  '*' rather then putting them in lowercase
   -dostars            boolean    [N] Activate writing of stars instead of
                                  numbers
   -starnum            integer    [4] Put up to n stars '*' instead of digits
                                  0-9 to indicate level of conservation
                                  (Integer 0 or more)

   Associated qualifiers:

   "-sequences" associated qualifiers
   -sbegin1            integer    Start of each sequence to be used
   -send1              integer    End of each sequence to be used
   -sreverse1          boolean    Reverse (if DNA)
   -sask1              boolean    Ask for begin/end/reverse
   -snucleotide1       boolean    Sequence is nucleotide
   -sprotein1          boolean    Sequence is protein
   -slower1            boolean    Make lower case
   -supper1            boolean    Make upper case
   -scircular1         boolean    Sequence is circular
   -sformat1           string     Input sequence format
   -iquery1            string     Input query fields or ID list
   -ioffset1           integer    Input start position offset
   -sdbname1           string     Database name
   -sid1               string     Entryname
   -ufo1               string     UFO features
   -fformat1           string     Features format
   -fopenfile1         string     Features file name

   "-outfile" associated qualifiers
   -odirectory2        string     Output directory

   "-outseq" associated qualifiers
   -osformat3          string     Output seq format
   -osextension3       string     File name extension
   -osname3            string     Base file name
   -osdirectory3       string     Output directory
   -osdbname3          string     Database name to add
   -ossingle3          boolean    Separate file for each entry
   -oufo3              string     UFO features
   -offormat3          string     Features format
   -ofname3            string     Features file name
   -ofdirectory3       string     Output directory

   General qualifiers:
   -auto               boolean    Turn off prompts
   -stdout             boolean    Write first file to standard output
   -filter             boolean    Read first file from standard input, write
                                  first file to standard output
   -options            boolean    Prompt for standard and additional values
   -debug              boolean    Write debug output to program.dbg
   -verbose            boolean    Report some/full command line options
   -help               boolean    Report command line options and exit. More
                                  information on associated and general
                                  qualifiers can be found with -help -verbose
   -warning            boolean    Report warnings
   -error              boolean    Report errors
   -fatal              boolean    Report fatal errors
   -die                boolean    Report dying program messages
   -version            boolean    Report version number and exit

Qualifier Type Description Allowed values Default
Standard (Mandatory) qualifiers
[-sequences]
(Parameter 1)
seqset Sequence set filename and optional format, or reference (input USA) Readable set of sequences Required
[-outfile]
(Parameter 2)
outfile Output file name Output file <*>.edialign
[-outseq]
(Parameter 3)
seqoutall (Aligned) sequence set(s) filename and optional format (output USA) Writeable sequence(s) <*>.format
Additional (Optional) qualifiers
-nucmode list Nucleic acid sequence alignment mode (simple, translated or mixed)
n (simple)
nt (translation)
ma (mixed alignments)
n
-revcomp boolean Also consider the reverse complement Boolean value Yes/No No
-overlapw selection By default overlap weights are used when Nseq =<35 but you can set this to 'yes' or 'no' Choose from selection list of values default (when Nseq =< 35)
-linkage list Clustering method to construct sequence tree (UPGMA, minimum linkage or maximum linkage)
UPGMA (UPGMA)
max (maximum linkage)
min (minimum linkage)
UPGMA
-maxfragl integer Maximum fragment length Integer 0 or more 40
-fragmat boolean Consider only N-fragment pairs that start with two matches Boolean value Yes/No No
-fragsim integer Consider only P-fragment pairs if first amino acid or codon pair has similarity score of at least n Integer 0 or more 4
-itscore boolean Use iterative score Boolean value Yes/No No
-threshold float Threshold for considering diagonal for alignment Number 0.000 or more 0.0
Advanced (Unprompted) qualifiers
-mask boolean Replace unaligned characters by stars '*' rather then putting them in lowercase Boolean value Yes/No No
-dostars boolean Activate writing of stars instead of numbers Boolean value Yes/No No
-starnum integer Put up to n stars '*' instead of digits 0-9 to indicate level of conservation Integer 0 or more 4
Associated qualifiers
"-sequences" associated seqset qualifiers
-sbegin1
-sbegin_sequences
integer Start of each sequence to be used Any integer value 0
-send1
-send_sequences
integer End of each sequence to be used Any integer value 0
-sreverse1
-sreverse_sequences
boolean Reverse (if DNA) Boolean value Yes/No N
-sask1
-sask_sequences
boolean Ask for begin/end/reverse Boolean value Yes/No N
-snucleotide1
-snucleotide_sequences
boolean Sequence is nucleotide Boolean value Yes/No N
-sprotein1
-sprotein_sequences
boolean Sequence is protein Boolean value Yes/No N
-slower1
-slower_sequences
boolean Make lower case Boolean value Yes/No N
-supper1
-supper_sequences
boolean Make upper case Boolean value Yes/No N
-scircular1
-scircular_sequences
boolean Sequence is circular Boolean value Yes/No N
-sformat1
-sformat_sequences
string Input sequence format Any string  
-iquery1
-iquery_sequences
string Input query fields or ID list Any string  
-ioffset1
-ioffset_sequences
integer Input start position offset Any integer value 0
-sdbname1
-sdbname_sequences
string Database name Any string  
-sid1
-sid_sequences
string Entryname Any string  
-ufo1
-ufo_sequences
string UFO features Any string  
-fformat1
-fformat_sequences
string Features format Any string  
-fopenfile1
-fopenfile_sequences
string Features file name Any string  
"-outfile" associated outfile qualifiers
-odirectory2
-odirectory_outfile
string Output directory Any string  
"-outseq" associated seqoutall qualifiers
-osformat3
-osformat_outseq
string Output seq format Any string  
-osextension3
-osextension_outseq
string File name extension Any string  
-osname3
-osname_outseq
string Base file name Any string  
-osdirectory3
-osdirectory_outseq
string Output directory Any string  
-osdbname3
-osdbname_outseq
string Database name to add Any string  
-ossingle3
-ossingle_outseq
boolean Separate file for each entry Boolean value Yes/No N
-oufo3
-oufo_outseq
string UFO features Any string  
-offormat3
-offormat_outseq
string Features format Any string  
-ofname3
-ofname_outseq
string Features file name Any string  
-ofdirectory3
-ofdirectory_outseq
string Output directory Any string  
General qualifiers
-auto boolean Turn off prompts Boolean value Yes/No N
-stdout boolean Write first file to standard output Boolean value Yes/No N
-filter boolean Read first file from standard input, write first file to standard output Boolean value Yes/No N
-options boolean Prompt for standard and additional values Boolean value Yes/No N
-debug boolean Write debug output to program.dbg Boolean value Yes/No N
-verbose boolean Report some/full command line options Boolean value Yes/No Y
-help boolean Report command line options and exit. More information on associated and general qualifiers can be found with -help -verbose Boolean value Yes/No N
-warning boolean Report warnings Boolean value Yes/No Y
-error boolean Report errors Boolean value Yes/No Y
-fatal boolean Report fatal errors Boolean value Yes/No Y
-die boolean Report dying program messages Boolean value Yes/No Y
-version boolean Report version number and exit Boolean value Yes/No N

Input file format

edialign reads nucleotide or protein sequences to be aligned.

The input is a standard EMBOSS sequence query (also known as a 'USA').

Major sequence database sources defined as standard in EMBOSS installations include srs:embl, srs:uniprot and ensembl

Data can also be read from sequence output in any supported format written by an EMBOSS or third-party application.

The input format can be specified by using the command-line qualifier -sformat xxx, where 'xxx' is replaced by the name of the required format. The available format names are: gff (gff3), gff2, embl (em), genbank (gb, refseq), ddbj, refseqp, pir (nbrf), swissprot (swiss, sw), dasgff and debug.

See: http://emboss.sf.net/docs/themes/SequenceFormats.html for further information on sequence formats.

Input files for usage example

File: vtest.seq

>HTL2  
LDTAPCLFSDGSPQKAAYVLWDQTILQQDITPLPSHETHSAQKGELLALICGLRAAKPWP
SLNIFLDSKY
>MMLV   
GKKLNVYTDSRYAFATAHIHGEIYRRRGLLTSEGKEIKNKDEILALLKALFLPKRLSIIH
CPGHQKGHSAEARGNRMADQAARKAAITETPDTSTLL
>HEPB 
RPGLCQVFADATPTGWGLVMGHQRMRGTFSAPLPIHTAELLAACFARSRSGANIIGTDNS
GRTSLYADSPSVPSHLPDRVH

Output file format

edialign produces two output files with a multiple sequence alignment. The first one is a file in DIALIGN format and the second one is a sequence file in any format you choose (by default fastA).

The input is a standard EMBOSS sequence query (also known as a 'USA').

Major sequence database sources defined as standard in EMBOSS installations include srs:embl, srs:uniprot and ensembl

Data can also be read from sequence output in any supported format written by an EMBOSS or third-party application.

The input format can be specified by using the command-line qualifier -sformat xxx, where 'xxx' is replaced by the name of the required format. The available format names are: gff (gff3), gff2, embl (em), genbank (gb, refseq), ddbj, refseqp, pir (nbrf), swissprot (swiss, sw), dasgff and debug.

See: http://emboss.sf.net/docs/themes/SequenceFormats.html for further information on sequence formats.

Capital letters denote aligned residues, i.e. residues involved in at least one of the "diagonals" in the alignment. Lower-case letters denote residues not belonging to any of these selected "diagonals". They are not considered to be aligned by DIALIGN. Thus, if a lower-case letter is standing in the same column with other letters, this is pure chance ; these residues are not considered to be homologous.

Numbers below the alignment reflect the degree of local similarity among sequences. More precisely, they represent the sum of weights of fragments connecting residues at the respective position. These numbers are normalized such that regions of maximum similarity always get a score of 9 - no matter how strong this maximum simliarity is. In previous verions of the program, '*' characters were used instead of numbers ; with the -stars=n option, '*' characters can be used as previously.

At the bottom of the file you can find the "guide tree" used to make the alignment, written in "nested parentheses" format.

Output files for usage example

File: vtest.fasta

>HTL2        
ldtapC-LFSDGSPQKAAYVLWDQTILQQDITPLPSHethsaqkgELLAliCglraAKPW
PSLNIFLDSKY-------------------------------------------------
-----------------------------------------
>MMLV        
gkk---------------------------------------------------------
--LNVYTDSRYafatahihgeiyrrrglltsegkeiknkdeilallkalflpkrlsiihc
pghqkghsaeargnrmADQAARKAAITETPDTSTLL-----
>HEPB        
rpgl-CqVFADATPTGWGLVMGHQRMRGTFSAPLPIHta------ELLAa-Cf---ARSR
SGANIIg-----------------------------------------------------
----------------TDNSGRTSLYADSPSVPSHLpdrvh

File: vtest.edialign

 
                           DIALIGN 2.2.1 
                           *************
 
          Program code written by Burkhard Morgenstern and Said Abdeddaim 
             e-mail contact: dialign (at) gobics (dot) de 
 
          Published research assisted by DIALIGN 2 should cite:  
 
             Burkhard Morgenstern (1999).
             DIALIGN 2: improvement of the segment-to-segment
             approach to multiple sequence alignment.
             Bioinformatics 15, 211 - 218. 

          For more information, please visit the DIALIGN home page at 

             http://bibiserv.techfak.uni-bielefeld.de/dialign/ 
 
         ************************************************************
 


   program call:  edialign  

 
   Aligned sequences:          length:
   ==================          =======
 
   1) HTL2                        70
   2) MMLV                        97
   3) HEPB                        81

   Average seq. length:           82.7 


   Please note that only upper-case letters are considered to be aligned. 


   Alignment (DIALIGN format):
   ===========================
 
HTL2               1   ldtapC-LFS DGSPQKAAYV LWDQTILQQD ITPLPSHeth saqkgELLAl 
MMLV               1   gkk------- ---------- ---------- ---------- ---------- 
HEPB               1   rpgl-CqVFA DATPTGWGLV MGHQRMRGTF SAPLPIHta- -----ELLAa 
                                                                 
                       0000000999 9999999999 9999999999 9999999000 0000000000 
 
HTL2              50   iCglraAKPW PSLNIFLDSK Y--------- ---------- ---------- 
MMLV               4   ---------- --LNVYTDSR Yafatahihg eiyrrrgllt segkeiknkd 
HEPB              44   -Cf---ARSR SGANIIg--- ---------- ---------- ---------- 
                                                                 
                       0000000000 0077777777 7000000000 0000000000 0000000000 
 
HTL2              71   ---------- ---------- ---------- ---------- ---------- 
MMLV              42   eilallkalf lpkrlsiihc pghqkghsae argnrmADQA ARKAAITETP 
HEPB              57   ---------- ---------- ---------- ------TDNS GRTSLYADSP 
                                                                 
                       0000000000 0000000000 0000000000 0000001111 1111111111 
 
HTL2              71   ---------- - 
MMLV              92   DTSTLL---- - 
HEPB              71   SVPSHLpdrv h 
                       
                       1111110000 0 
 

 
 
   Sequence tree:
   ==============

Tree constructed using UPGMA based on DIALIGN fragment weight scores
 
((HTL2        :0.145587HEPB        :0.145587):0.108531MMLV        :0.254117);
 
 

Data files

The scoring schemes are hard coded in the program and cannot be changed. For proteins edialign always uses the BLOSUM62 table.

Notes

We strongly recommend to use the "translation" option if nucleic acid sequences are expected to contain protein coding regions, as it will significantly increase the sensitivity of the alignment procedure in such cases.

If you want to compare long genomic sequences it is recommended to speed up the algorithm by:

It is also recommended to increase the chance of finding coding exons by setting "Nucleic acid sequence alignment mode" to "mixed alignment" (-nucmode=ma) and setting "Also consider the reverse complement" (-revcomp).

References

  1. B. Morgenstern, A. Dress, T. Werner. Multiple DNA and protein sequence alignment based on segment-to-segment comparison. Proc. Natl. Acad. Sci. USA 93, 12098 - 12103 (1996)
  2. B. Morgenstern. DIALIGN 2: improvement of the segment-to-segment approach to multiple sequence alignment. Bioinformatics 15, 211 - 218 (1999).
  3. B. Morgenstern, O. Rinner, S. Abdeddaim, D. Haase, K. F. X. Mayer, A. W. M. Dress H.-W. Mewes. Exon discovery by genomic sequence alignment. Bioinformatics 18, 777 - 787 (2002)

Warnings

Remember that lowercase characters represent parts of the sequence that are not aligned. You should not use the dialign output as such for sequence family or phylogeny studies, but take only part of the alignment and/or remove the lowercase characters using a multiple sequence editor. The current version of the program has no provision for doing this automatically.

Diagnostic Error Messages

None.

Exit status

It always exits with status 0.

Known bugs

None.

See also

Program name Description
emma Multiple sequence alignment (ClustalW wrapper)
infoalign Display basic information about a multiple sequence alignment
plotcon Plot conservation of a sequence alignment
prettyplot Draw a sequence alignment with pretty formatting
showalign Display a multiple sequence alignment in pretty format
tranalign Generate an alignment of nucleic coding regions from aligned proteins

Author(s)

The EMBOSS direct port was done by Alan Bleasby
European Bioinformatics Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD, UK

Please report all bugs to the EMBOSS bug team (emboss-bug © emboss.open-bio.org) not to the original author. based on ACD written by Guy Bottu (gbottu@ben.vub.ac.be) for a wrapper written at BEN, ULB, Brussels, Belgium

The program DIALIGN itself was written by Burkhard Morgenstern, Said Abdeddaim, Klaus Hahn, Thomas Werner, Kornelie Frech and Andreas Dress. Universitaet Bielefeld (FSPM and International Graduate School in Bioinformatics and Genome Research) - GSF Research Center (ISG, IBB, MIPS/IBI) - North Carolina State University - Universite de Rouen - MPI fuer Biochemie (Martinsried) - University of Goettingen, Institute of Microbiology and Genetics - Rhone-Poulenc Rorer

For help on the original DIALIGN2, contact: dialign@gobics.de

History

First committed on 5th December 2006.

Target users

This program is intended to be used by everyone and everything, from naive users to embedded scripts.

Comments

None