stretcher

 

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

Needleman-Wunsch rapid global alignment of two sequences

Description

stretcher calculates an optimal global alignment of two sequences using a modification of the classic dynamic programming algorithm which uses linear space. The output is a standard alignment file. The substitution matrix, gap insertion penalty and gap extension penalties used to calculate the alignment may be specified.

Algorithm

The standard sequence global alignment program using the Needleman & Wunsch algorithm, as implemented in the program needle, requires O(MN) space and O(N) time. This is standard computer-science language for it needing an amount of computer memory that is proportional to the product of the two sequences being aligned and taking an amount of time that is proportional to the shorter of the two sequences. So if a 1 kb and a 10 kb sequence take 10 Mega-words of memory and 10 minutes to align, you should expect that in order to align a 10 kb sequence and a 1 Mb sequence you will need appoximately 10 Giga-words of memory and 100 minutes. Computer memory will rapidly be exhausted as the size of the aligned sequences increases.

This program implements the Myers and Miller algorithm for finding an optimal global alignment in an amount of computer memory that is only proportional to the size of the smaller sequence - O(N).

In computing, a benefit is seldom gained without a cost elsewhere. The cost of gaining a memory-efficient alignment is that it takes about twice the amount of time to do the alignment as the Needleman & Wunsch algorithm. In computer-science language the time is approximately O(2N).

Usage

Here is a sample session with stretcher


% stretcher tsw:hba_human tsw:hbb_human 
Needleman-Wunsch rapid global alignment of two sequences
Output alignment [hba_human.stretcher]: 

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

Command line arguments

   Standard (Mandatory) qualifiers:
  [-asequence]         sequence   Sequence filename and optional format, or
                                  reference (input USA)
  [-bsequence]         sequence   Sequence filename and optional format, or
                                  reference (input USA)
  [-outfile]           align      [*.stretcher] Output alignment file name

   Additional (Optional) qualifiers:
   -datafile           matrix     [EBLOSUM62 for protein, EDNAFULL for DNA]
                                  This is the scoring matrix file used when
                                  comparing sequences. By default it is the
                                  file 'EBLOSUM62' (for proteins) or the file
                                  'EDNAFULL' (for nucleic sequences). These
                                  files are found in the 'data' directory of
                                  the EMBOSS installation.
   -gapopen            integer    [12 for protein, 16 for nucleic] Gap penalty
                                  (Positive integer)
   -gapextend          integer    [2 for protein, 4 for nucleic] Gap length
                                  penalty (Positive integer)

   Advanced (Unprompted) qualifiers: (none)
   Associated qualifiers:

   "-asequence" associated qualifiers
   -sbegin1            integer    Start of the sequence to be used
   -send1              integer    End of the 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
   -sformat1           string     Input sequence format
   -sdbname1           string     Database name
   -sid1               string     Entryname
   -ufo1               string     UFO features
   -fformat1           string     Features format
   -fopenfile1         string     Features file name

   "-bsequence" associated qualifiers
   -sbegin2            integer    Start of the sequence to be used
   -send2              integer    End of the sequence to be used
   -sreverse2          boolean    Reverse (if DNA)
   -sask2              boolean    Ask for begin/end/reverse
   -snucleotide2       boolean    Sequence is nucleotide
   -sprotein2          boolean    Sequence is protein
   -slower2            boolean    Make lower case
   -supper2            boolean    Make upper case
   -sformat2           string     Input sequence format
   -sdbname2           string     Database name
   -sid2               string     Entryname
   -ufo2               string     UFO features
   -fformat2           string     Features format
   -fopenfile2         string     Features file name

   "-outfile" associated qualifiers
   -aformat3           string     Alignment format
   -aextension3        string     File name extension
   -adirectory3        string     Output directory
   -aname3             string     Base file name
   -awidth3            integer    Alignment width
   -aaccshow3          boolean    Show accession number in the header
   -adesshow3          boolean    Show description in the header
   -ausashow3          boolean    Show the full USA in the alignment
   -aglobal3           boolean    Show the full sequence in alignment

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

Standard (Mandatory) qualifiers Allowed values Default
[-asequence]
(Parameter 1)
Sequence filename and optional format, or reference (input USA) Readable sequence Required
[-bsequence]
(Parameter 2)
Sequence filename and optional format, or reference (input USA) Readable sequence Required
[-outfile]
(Parameter 3)
Output alignment file name Alignment output file <*>.stretcher
Additional (Optional) qualifiers Allowed values Default
-datafile This is the scoring matrix file used when comparing sequences. By default it is the file 'EBLOSUM62' (for proteins) or the file 'EDNAFULL' (for nucleic sequences). These files are found in the 'data' directory of the EMBOSS installation. Comparison matrix file in EMBOSS data path EBLOSUM62 for protein
EDNAFULL for DNA
-gapopen Gap penalty Positive integer 12 for protein, 16 for nucleic
-gapextend Gap length penalty Positive integer 2 for protein, 4 for nucleic
Advanced (Unprompted) qualifiers Allowed values Default
(none)

Input file format

stretcher reads any 2 sequence USAs of the same type (DNA or protein).

Input files for usage example

'tsw:hba_human' is a sequence entry in the example protein database 'tsw'

Database entry: tsw:hba_human

ID   HBA_HUMAN               Reviewed;         142 AA.
AC   P69905; P01922; Q1HDT5; Q3MIF5; Q53F97; Q96KF1; Q9NYR7; Q9UCM0;
DT   21-JUL-1986, integrated into UniProtKB/Swiss-Prot.
DT   23-JAN-2007, sequence version 2.
DT   16-JUN-2009, entry version 73.
DE   RecName: Full=Hemoglobin subunit alpha;
DE   AltName: Full=Hemoglobin alpha chain;
DE   AltName: Full=Alpha-globin;
GN   Name=HBA1;
GN   and
GN   Name=HBA2;
OS   Homo sapiens (Human).
OC   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi;
OC   Mammalia; Eutheria; Euarchontoglires; Primates; Haplorrhini;
OC   Catarrhini; Hominidae; Homo.
OX   NCBI_TaxID=9606;
RN   [1]
RP   NUCLEOTIDE SEQUENCE [GENOMIC DNA] (HBA1).
RX   MEDLINE=81088339; PubMed=7448866; DOI=10.1016/0092-8674(80)90347-5;
RA   Michelson A.M., Orkin S.H.;
RT   "The 3' untranslated regions of the duplicated human alpha-globin
RT   genes are unexpectedly divergent.";
RL   Cell 22:371-377(1980).
RN   [2]
RP   NUCLEOTIDE SEQUENCE [MRNA] (HBA2).
RX   MEDLINE=80137531; PubMed=6244294;
RA   Wilson J.T., Wilson L.B., Reddy V.B., Cavallesco C., Ghosh P.K.,
RA   Deriel J.K., Forget B.G., Weissman S.M.;
RT   "Nucleotide sequence of the coding portion of human alpha globin
RT   messenger RNA.";
RL   J. Biol. Chem. 255:2807-2815(1980).
RN   [3]
RP   NUCLEOTIDE SEQUENCE [GENOMIC DNA] (HBA2).
RX   MEDLINE=81175088; PubMed=6452630; DOI=10.1073/pnas.77.12.7054;
RA   Liebhaber S.A., Goossens M.J., Kan Y.W.;
RT   "Cloning and complete nucleotide sequence of human 5'-alpha-globin
RT   gene.";
RL   Proc. Natl. Acad. Sci. U.S.A. 77:7054-7058(1980).
RN   [4]
RP   NUCLEOTIDE SEQUENCE [GENOMIC DNA].
RX   PubMed=6946451; DOI=10.1073/pnas.78.8.5041;
RA   Orkin S.H., Goff S.C., Hechtman R.L.;
RT   "Mutation in an intervening sequence splice junction in man.";
RL   Proc. Natl. Acad. Sci. U.S.A. 78:5041-5045(1981).
RN   [5]
RP   NUCLEOTIDE SEQUENCE [GENOMIC DNA], AND VARIANT LYS-32.
RX   MEDLINE=21303311; PubMed=11410421;
RA   Zhao Y., Xu X.;
RT   "Alpha2(CD31 AGG-->AAG, Arg-->Lys) causing non-deletional alpha-
RT   thalassemia in a Chinese family with HbH disease.";


  [Part of this file has been deleted for brevity]

FT                                /FTId=VAR_002841.
FT   VARIANT     132    132       S -> P (in Questembert; highly unstable;
FT                                causes alpha-thalassemia).
FT                                /FTId=VAR_002843.
FT   VARIANT     134    134       S -> R (in Val de Marne; O(2) affinity
FT                                up).
FT                                /FTId=VAR_002844.
FT   VARIANT     136    136       V -> E (in Pavie).
FT                                /FTId=VAR_002845.
FT   VARIANT     137    137       L -> M (in Chicago).
FT                                /FTId=VAR_002846.
FT   VARIANT     137    137       L -> P (in Bibba; unstable; causes alpha-
FT                                thalassemia).
FT                                /FTId=VAR_002847.
FT   VARIANT     137    137       L -> R (in Toyama).
FT                                /FTId=VAR_035242.
FT   VARIANT     139    139       S -> P (in Attleboro; O(2) affinity up).
FT                                /FTId=VAR_002848.
FT   VARIANT     140    140       K -> E (in Hanamaki; O(2) affinity up).
FT                                /FTId=VAR_002849.
FT   VARIANT     140    140       K -> T (in Tokoname; O(2) affinity up).
FT                                /FTId=VAR_002850.
FT   VARIANT     141    141       Y -> H (in Rouen/Ethiopia; O(2) affinity
FT                                up).
FT                                /FTId=VAR_002851.
FT   VARIANT     142    142       R -> C (in Nunobiki; O(2) affinity up).
FT                                /FTId=VAR_002852.
FT   VARIANT     142    142       R -> H (in Suresnes; O(2) affinity up).
FT                                /FTId=VAR_002854.
FT   VARIANT     142    142       R -> L (in Legnano; O(2) affinity up).
FT                                /FTId=VAR_002853.
FT   VARIANT     142    142       R -> P (in Singapore).
FT                                /FTId=VAR_002855.
FT   CONFLICT     10     10       N -> H (in Ref. 13; BAD97112).
FT   HELIX         5     16
FT   HELIX        17     21
FT   HELIX        22     36
FT   HELIX        38     43
FT   HELIX        54     72
FT   HELIX        74     76
FT   HELIX        77     80
FT   HELIX        82     90
FT   HELIX        97    113
FT   TURN        115    117
FT   HELIX       120    137
FT   TURN        138    140
SQ   SEQUENCE   142 AA;  15258 MW;  15E13666573BBBAE CRC64;
     MVLSPADKTN VKAAWGKVGA HAGEYGAEAL ERMFLSFPTT KTYFPHFDLS HGSAQVKGHG
     KKVADALTNA VAHVDDMPNA LSALSDLHAH KLRVDPVNFK LLSHCLLVTL AAHLPAEFTP
     AVHASLDKFL ASVSTVLTSK YR
//

Database entry: tsw:hbb_human

ID   HBB_HUMAN               Reviewed;         147 AA.
AC   P68871; A4GX73; B2ZUE0; P02023; Q13852; Q14481; Q14510; Q45KT0;
AC   Q549N7; Q6FI08; Q6R7N2; Q8IZI1; Q9BX96; Q9UCD6; Q9UCP8; Q9UCP9;
DT   21-JUL-1986, integrated into UniProtKB/Swiss-Prot.
DT   23-JAN-2007, sequence version 2.
DT   16-JUN-2009, entry version 76.
DE   RecName: Full=Hemoglobin subunit beta;
DE   AltName: Full=Hemoglobin beta chain;
DE   AltName: Full=Beta-globin;
DE   Contains:
DE     RecName: Full=LVV-hemorphin-7;
GN   Name=HBB;
OS   Homo sapiens (Human).
OC   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi;
OC   Mammalia; Eutheria; Euarchontoglires; Primates; Haplorrhini;
OC   Catarrhini; Hominidae; Homo.
OX   NCBI_TaxID=9606;
RN   [1]
RP   NUCLEOTIDE SEQUENCE [GENOMIC DNA].
RX   MEDLINE=77126403; PubMed=1019344;
RA   Marotta C., Forget B., Cohen-Solal M., Weissman S.M.;
RT   "Nucleotide sequence analysis of coding and noncoding regions of human
RT   beta-globin mRNA.";
RL   Prog. Nucleic Acid Res. Mol. Biol. 19:165-175(1976).
RN   [2]
RP   NUCLEOTIDE SEQUENCE [GENOMIC DNA].
RX   MEDLINE=81064667; PubMed=6254664; DOI=10.1016/0092-8674(80)90428-6;
RA   Lawn R.M., Efstratiadis A., O'Connell C., Maniatis T.;
RT   "The nucleotide sequence of the human beta-globin gene.";
RL   Cell 21:647-651(1980).
RN   [3]
RP   NUCLEOTIDE SEQUENCE [GENOMIC DNA], AND VARIANT LYS-7.
RX   PubMed=16175509; DOI=10.1086/491748;
RA   Wood E.T., Stover D.A., Slatkin M., Nachman M.W., Hammer M.F.;
RT   "The beta-globin recombinational hotspot reduces the effects of strong
RT   selection around HbC, a recently arisen mutation providing resistance
RT   to malaria.";
RL   Am. J. Hum. Genet. 77:637-642(2005).
RN   [4]
RP   NUCLEOTIDE SEQUENCE [GENOMIC DNA].
RA   Lu L., Hu Z.H., Du C.S., Fu Y.S.;
RT   "DNA sequence of the human beta-globin gene isolated from a healthy
RT   Chinese.";
RL   Submitted (JUN-1997) to the EMBL/GenBank/DDBJ databases.
RN   [5]
RP   NUCLEOTIDE SEQUENCE [GENOMIC DNA], AND VARIANT ARG-113.
RA   Cabeda J.M., Correia C., Estevinho A., Cardoso C., Amorim M.L.,
RA   Cleto E., Vale L., Coimbra E., Pinho L., Justica B.;
RT   "Unexpected patterns of globin mutations in thalassemia patients from
RT   north of Portugal.";


  [Part of this file has been deleted for brevity]

FT   VARIANT     141    141       A -> V (in Puttelange; polycythemia; O(2)
FT                                affinity up).
FT                                /FTId=VAR_003082.
FT   VARIANT     142    142       L -> R (in Olmsted; unstable).
FT                                /FTId=VAR_003083.
FT   VARIANT     143    143       A -> D (in Ohio; O(2) affinity up).
FT                                /FTId=VAR_003084.
FT   VARIANT     144    144       H -> D (in Rancho Mirage).
FT                                /FTId=VAR_003085.
FT   VARIANT     144    144       H -> P (in Syracuse; O(2) affinity up).
FT                                /FTId=VAR_003087.
FT   VARIANT     144    144       H -> Q (in Little Rock; O(2) affinity
FT                                up).
FT                                /FTId=VAR_003086.
FT   VARIANT     144    144       H -> R (in Abruzzo; O(2) affinity up).
FT                                /FTId=VAR_003088.
FT   VARIANT     145    145       K -> E (in Mito; O(2) affinity up).
FT                                /FTId=VAR_003089.
FT   VARIANT     146    146       Y -> C (in Rainier; O(2) affinity up).
FT                                /FTId=VAR_003090.
FT   VARIANT     146    146       Y -> H (in Bethesda; O(2) affinity up).
FT                                /FTId=VAR_003091.
FT   VARIANT     147    147       H -> D (in Hiroshima; O(2) affinity up).
FT                                /FTId=VAR_003092.
FT   VARIANT     147    147       H -> L (in Cowtown; O(2) affinity up).
FT                                /FTId=VAR_003093.
FT   VARIANT     147    147       H -> P (in York; O(2) affinity up).
FT                                /FTId=VAR_003094.
FT   VARIANT     147    147       H -> Q (in Kodaira; O(2) affinity up).
FT                                /FTId=VAR_003095.
FT   CONFLICT     26     26       Missing (in Ref. 15; ACD39349).
FT   CONFLICT     42     42       F -> L (in Ref. 13; AAR96398).
FT   HELIX         6     16
FT   TURN         21     23
FT   HELIX        24     35
FT   HELIX        37     42
FT   HELIX        44     46
FT   HELIX        52     57
FT   HELIX        59     77
FT   TURN         78     80
FT   HELIX        82     94
FT   TURN         95     97
FT   HELIX       102    119
FT   HELIX       120    122
FT   HELIX       125    142
FT   HELIX       144    146
SQ   SEQUENCE   147 AA;  15998 MW;  A31F6D621C6556A1 CRC64;
     MVHLTPEEKS AVTALWGKVN VDEVGGEALG RLLVVYPWTQ RFFESFGDLS TPDAVMGNPK
     VKAHGKKVLG AFSDGLAHLD NLKGTFATLS ELHCDKLHVD PENFRLLGNV LVCVLAHHFG
     KEFTPPVQAA YQKVVAGVAN ALAHKYH
//

Output file format

The output is a standard EMBOSS alignment file.

The results can be output in one of several styles by using the command-line qualifier -aformat xxx, where 'xxx' is replaced by the name of the required format. Some of the alignment formats can cope with an unlimited number of sequences, while others are only for pairs of sequences.

The available multiple alignment format names are: unknown, multiple, simple, fasta, msf, trace, srs

The available pairwise alignment format names are: pair, markx0, markx1, markx2, markx3, markx10, srspair, score

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

The default output format is 'markx0'.

Output files for usage example

File: hba_human.stretcher

########################################
# Program: stretcher
# Rundate: Tue 15 Jul 2008 12:00:00
# Commandline: stretcher
#    [-asequence] tsw:hba_human
#    [-bsequence] tsw:hbb_human
# Align_format: markx0
# Report_file: hba_human.stretcher
########################################

#=======================================
#
# Aligned_sequences: 2
# 1: HBA_HUMAN
# 2: HBB_HUMAN
# Matrix: EBLOSUM62
# Gap_penalty: 12
# Extend_penalty: 2
#
# Length: 149
# Identity:      65/149 (43.6%)
# Similarity:    90/149 (60.4%)
# Gaps:           9/149 ( 6.0%)
# Score: 277
# 
#
#=======================================

                10        20        30        40         
HBA_HU MV-LSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHF-D
       :: :.: .:. : : ::::  .  : : ::: :. . .: :. .:  : :
HBB_HU MVHLTPEEKSAVTALWGKV--NVDEVGGEALGRLLVVYPWTQRFFESFGD
               10          20        30        40        

       50             60        70        80        90   
HBA_HU LSH-----GSAQVKGHGKKVADALTNAVAHVDDMPNALSALSDLHAHKLR
       ::      :. .:: :::::  : .. .::.:..    . ::.::  :: 
HBB_HU LSTPDAVMGNPKVKAHGKKVLGAFSDGLAHLDNLKGTFATLSELHCDKLH
       50        60        70        80        90        

           100       110       120       130       140  
HBA_HU VDPVNFKLLSHCLLVTLAAHLPAEFTPAVHASLDKFLASVSTVLTSKYR
       ::: ::.:: . :.  :: :   :::: : :.  : .: :.  :  :: 
HBB_HU VDPENFRLLGNVLVCVLAHHFGKEFTPPVQAAYQKVVAGVANALAHKYH
      100       110       120       130       140       


#---------------------------------------
#---------------------------------------

Data files

For protein sequences EBLOSUM62 is used for the substitution matrix. For nucleotide sequence, EDNAMAT is used. Others can be specified.

EMBOSS data files are distributed with the application and stored in the standard EMBOSS data directory, which is defined by EMBOSS environment variable EMBOSS_DATA.

Users can provide their own data files in their own directories. Project specific files can be put in the current directory, or for tidier directory listings in a subdirectory called ".embossdata". Files for all EMBOSS runs can be put in the user's home directory, or again in a subdirectory called ".embossdata".

The directories are searched in the following order:

Notes

A global pairwise alignment is one where it is assumed that the two sequences have diverged from a common ancestor and that the program should try to stretch the two sequences, introducing gaps where necessary, in order to show the alignment over the whole length of the two sequences that best illustrates their similarities. In contrast, a local alignment program like matcher simply finds local, small parts of the two sequences where there is some similarity and makes no assumption about the whole length of the sequence needing to be similar.

References

  1. E. Myers and W. Miller, "Optimal Alignments in Linear Space," CABIOS 4, 1 (1988), 11-17.

Warnings

Demonstration of similarity is not evidence of homology! This program will produce a global alignment even if there is no biological justification for thinking that there might be a common ancestor.

Diagnostic Error Messages

None.

Exit status

It exits with a status of 0.

Known bugs

None.

See also

Program name Description
est2genome Align EST sequences to genomic DNA sequence
needle Needleman-Wunsch global alignment of two sequences

Author(s)

The original program was written by Gene Myers and Webb Miller in 1989.

This application was modified for inclusion in EMBOSS by Ian Longden (il © sanger.ac.uk)
Sanger Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge, CB10 1SA, UK.

History

Completed 13th May 1999.

Target users

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

Comments

None