| stretcher

## Function

Finds the best global alignment between two sequences

## Description

stretcher calculates a global alignment of two sequences using a modification of the classic dynamic programming algorithm which uses linear space.

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.

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
    Finds the best global alignment between 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 USA
      [-bsequence]         sequence   Sequence USA
      [-outfile]           align      Output alignment file name

       Additional (Optional) qualifiers:
       -datafile           matrix     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.
       -gappenalty         integer    Gap penalty
       -gaplength          integer    Gap length penalty

       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 standard output
       -filter              boolean    Read standard input, write 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 deaths

Standard (Mandatory) qualifiers | Allowed values | Default
--- | --- | ---
[-asequence] (Parameter 1) | Sequence USA | Readable sequence | Required
[-bsequence] (Parameter 2) | Sequence USA | Readable sequence | Required
[-outfile] (Parameter 3) | Output alignment file name | Alignment output file |
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
-gappenalty | Gap penalty | Positive integer | 12 for protein, 16 for nucleic
-gaplength | 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      STANDARD;      PRT;   141 AA.
    AC   P01922;
    DT   21-JUL-1986 (Rel. 01, Created)
    DT   21-JUL-1986 (Rel. 01, Last sequence update)
    DT   15-JUL-1999 (Rel. 38, Last annotation update)
    DE   HEMOGLOBIN ALPHA CHAIN.
    GN   HBA1 AND HBA2.
    OS   Homo sapiens (Human), Pan troglodytes (Chimpanzee), and
    OS   Pan paniscus (Pygmy chimpanzee) (Bonobo).
    OC   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Mammalia;
    OC   Eutheria; Primates; Catarrhini; Hominidae; Homo.
    RN   [1]
    RP   SEQUENCE FROM N.A. (ALPHA-1).
    RX   MEDLINE; 81088339.
    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   SEQUENCE FROM N.A. (ALPHA-2).
    RX   MEDLINE; 81175088.
    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   [3]
    RP   SEQUENCE FROM N.A. (ALPHA-2).
    RX   MEDLINE; 80137531.
    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   [4]
    RP   SEQUENCE FROM N.A. (ALPHA-1 AND ALPHA-2).
    RA   FLINT J., HIGGS D.R.;
    RL   Submitted (JAN-1997) to the EMBL/GenBank/DDBJ databases.
    RN   [5]
    RP   SEQUENCE.
    RA   BRAUNITZER G., GEHRING-MULLER R., HILSCHMANN N., HILSE K., HOBOM G.,
    RA   RUDLOFF V., WITTMANN-LIEBOLD B.;
    RT   "The constitution of normal adult human haemoglobin.";
    RL   Hoppe-Seyler's Z. Physiol. Chem. 325:283-286(1961).
    RN   [6]
    RP   SEQUENCE.
    RA   HILL R.J., KONIGSBERG W.;
    RT   "The structure of human hemoglobin: IV. The chymotryptic digestion of
    RT   the alpha chain of human hemoglobin.";
    RL   J. Biol. Chem. 237:3151-3156(1962).
    RN   [7]

      [Part of this file has been deleted for brevity]

    FT                                /FTId=VAR_002841.
    FT   VARIANT     130    130       A -> D (IN YUDA; O2 AFFINITY DOWN).
    FT                                /FTId=VAR_002842.
    FT   VARIANT     131    131       S -> P (IN QUESTEMBERT; HIGHLY UNSTABLE;
    FT                                CAUSES ALPHA-THALASSEMIA).
    FT                                /FTId=VAR_002843.
    FT   VARIANT     133    133       S -> R (IN VAL DE MARNE; O2 AFFINITY UP).
    FT                                /FTId=VAR_002844.
    FT   VARIANT     135    135       V -> E (IN PAVIE).
    FT                                /FTId=VAR_002845.
    FT   VARIANT     136    136       L -> M (IN CHICAGO).
    FT                                /FTId=VAR_002846.
    FT   VARIANT     136    136       L -> P (IN BIBBA; UNSTABLE;
    FT                                CAUSES ALPHA-THALASSEMIA).
    FT                                /FTId=VAR_002847.
    FT   VARIANT     138    138       S -> P (IN ATTLEBORO; O2 AFFINITY UP).
    FT                                /FTId=VAR_002848.
    FT   VARIANT     139    139       K -> E (IN HANAKAMI; O2 AFFINITY UP).
    FT                                /FTId=VAR_002849.
    FT   VARIANT     139    139       K -> T (IN TOKONAME; O2 AFFINITY UP).
    FT                                /FTId=VAR_002850.
    FT   VARIANT     140    140       Y -> H (IN ROUEN; O2 AFFINITY UP).
    FT                                /FTId=VAR_002851.
    FT   VARIANT     141    141       R -> C (IN NUNOBIKI; O2 AFFINITY UP).
    FT                                /FTId=VAR_002852.
    FT   VARIANT     141    141       R -> L (IN LEGNANO; O2 AFFINITY UP).
    FT                                /FTId=VAR_002853.
    FT   VARIANT     141    141       R -> H (IN SURESNES; O2 AFFINITY UP).
    FT                                /FTId=VAR_002854.
    FT   VARIANT     141    141       R -> P (IN SINGAPORE).
    FT                                /FTId=VAR_002855.
    FT   HELIX         4     35
    FT   HELIX        37     42
    FT   TURN         44     45
    FT   TURN         50     51
    FT   HELIX        53     71
    FT   TURN         72     74
    FT   HELIX        76     79
    FT   TURN         80     80
    FT   HELIX        81     89
    FT   TURN         90     91
    FT   TURN         95     95
    FT   HELIX        96    112
    FT   TURN        114    116
    FT   HELIX       119    136
    FT   TURN        137    139
    SQ   SEQUENCE   141 AA;  15126 MW;  5EC7DB1E CRC32;
         VLSPADKTNV KAAWGKVGAH AGEYGAEALE RMFLSFPTTK TYFPHFDLSH GSAQVKGHGK
         KVADALTNAV AHVDDMPNAL SALSDLHAHK LRVDPVNFKL LSHCLLVTLA AHLPAEFTPA
         VHASLDKFLA SVSTVLTSKY R
    //

### Database entry: tsw:hbb_human

    ID   HBB_HUMAN      STANDARD;      PRT;   146 AA.
    AC   P02023;
    DT   21-JUL-1986 (Rel. 01, Created)
    DT   21-JUL-1986 (Rel. 01, Last sequence update)
    DT   15-JUL-1999 (Rel. 38, Last annotation update)
    DE   HEMOGLOBIN BETA CHAIN.
    GN   HBB.
    OS   Homo sapiens (Human), Pan troglodytes (Chimpanzee), and
    OS   Pan paniscus (Pygmy chimpanzee) (Bonobo).
    OC   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Mammalia;
    OC   Eutheria; Primates; Catarrhini; Hominidae; Homo.
    RN   [1]
    RP   SEQUENCE.
    RC   SPECIES=HUMAN;
    RA   BRAUNITZER G., GEHRING-MULLER R., HILSCHMANN N., HILSE K., HOBOM G.,
    RA   RUDLOFF V., WITTMANN-LIEBOLD B.;
    RT   "The constitution of normal adult human haemoglobin.";
    RL   Hoppe-Seyler's Z. Physiol. Chem. 325:283-286(1961).
    RN   [2]
    RP   SEQUENCE FROM N.A.
    RC   SPECIES=HUMAN;
    RX   MEDLINE; 81064667.
    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   SEQUENCE OF 121-146 FROM N.A.
    RC   SPECIES=HUMAN;
    RX   MEDLINE; 85205333.
    RA   LANG K.M., SPRITZ R.A.;
    RT   "Cloning specific complete polyadenylylated 3'-terminal cDNA
    RT   segments.";
    RL   Gene 33:191-196(1985).
    RN   [4]
    RP   X-RAY CRYSTALLOGRAPHY (2.5 ANGSTROMS) OF DEOXYHEMOGLOBIN.
    RC   SPECIES=HUMAN;
    RX   MEDLINE; 76027820.
    RA   FERMI G.;
    RT   "Three-dimensional fourier synthesis of human deoxyhaemoglobin at
    RT   2.5-A resolution: refinement of the atomic model.";
    RL   J. Mol. Biol. 97:237-256(1975).
    RN   [5]
    RP   SEQUENCE.
    RC   SPECIES=P.TROGLODYTES;
    RX   MEDLINE; 66071496.
    RA   RIFKIN D.B., KONIGSBERG W.;
    RT   "The characterization of the tryptic peptides from the hemoglobin of
    RT   the chimpanzee (Pan troglodytes).";
    RL   Biochim. Biophys. Acta 104:457-461(1965).
    RN   [6]

      [Part of this file has been deleted for brevity]

    FT   VARIANT     140    140       A -> T (IN ST JACQUES: O2 AFFINITY UP).
    FT                                /FTId=VAR_003081.
    FT   VARIANT     140    140       A -> V (IN PUTTELANGE; POLYCYTHEMIA;
    FT                                O2 AFFINITY UP).
    FT                                /FTId=VAR_003082.
    FT   VARIANT     141    141       L -> R (IN OLMSTED; UNSTABLE).
    FT                                /FTId=VAR_003083.
    FT   VARIANT     142    142       A -> D (IN OHIO; O2 AFFINITY UP).
    FT                                /FTId=VAR_003084.
    FT   VARIANT     143    143       H -> D (IN RANCHO MIRAGE).
    FT                                /FTId=VAR_003085.
    FT   VARIANT     143    143       H -> Q (IN LITTLE ROCK; O2 AFFINITY UP).
    FT                                /FTId=VAR_003086.
    FT   VARIANT     143    143       H -> P (IN SYRACUSE; O2 AFFINITY UP).
    FT                                /FTId=VAR_003087.
    FT   VARIANT     143    143       H -> R (IN ABRUZZO; O2 AFFINITY UP).
    FT                                /FTId=VAR_003088.
    FT   VARIANT     144    144       K -> E (IN MITO; O2 AFFINITY UP).
    FT                                /FTId=VAR_003089.
    FT   VARIANT     145    145       Y -> C (IN RAINIER; O2 AFFINITY UP).
    FT                                /FTId=VAR_003090.
    FT   VARIANT     145    145       Y -> H (IN BETHESDA; O2 AFFINITY UP).
    FT                                /FTId=VAR_003091.
    FT   VARIANT     146    146       H -> D (IN HIROSHIMA; O2 AFFINITY UP).
    FT                                /FTId=VAR_003092.
    FT   VARIANT     146    146       H -> L (IN COWTOWN; O2 AFFINITY UP).
    FT                                /FTId=VAR_003093.
    FT   VARIANT     146    146       H -> P (IN YORK; O2 AFFINITY UP).
    FT                                /FTId=VAR_003094.
    FT   VARIANT     146    146       H -> Q (IN KODAIRA; O2 AFFINITY UP).
    FT                                /FTId=VAR_003095.
    FT   HELIX         5     15
    FT   TURN         16     17
    FT   HELIX        20     34
    FT   HELIX        36     41
    FT   HELIX        43     45
    FT   HELIX        51     55
    FT   TURN         56     56
    FT   HELIX        58     75
    FT   TURN         76     77
    FT   HELIX        78     94
    FT   TURN         95     96
    FT   TURN        100    100
    FT   HELIX       101    121
    FT   HELIX       124    142
    FT   TURN        143    144
    SQ   SEQUENCE   146 AA;  15867 MW;  EC9744C9 CRC32;
         VHLTPEEKSA VTALWGKVNV DEVGGEALGR LLVVYPWTQR FFESFGDLST PDAVMGNPKV
         KAHGKKVLGA FSDGLAHLDN LKGTFATLSE LHCDKLHVDP ENFRLLGNVL VCVLAHHFGK
         EFTPPVQAAY QKVVAGVANA LAHKYH
    //

## 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: Thu Jul 15 2004 12:00:00
    # 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: 148
    # Identity:      64/148 (43.2%)
    # Similarity:    89/148 (60.1%)
    # Gaps:           9/148 ( 6.1%)
    # Score: 272
    #
    #
    #=======================================

                    10        20        30        40
    HBA_HU V-LSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHF-DL
           : :.: .:. : : ::::  .  : : ::: :. . .: :. .:  : ::
    HBB_HU VHLTPEEKSAVTALWGKV--NVDEVGGEALGRLLVVYPWTQRFFESFGDL
                   10          20        30        40

           50             60        70        80        90
    HBA_HU SH-----GSAQVKGHGKKVADALTNAVAHVDDMPNALSALSDLHAHKLRV
           :      :. .:: :::::  : .. .::.:..    . ::.::  :: :
    HBB_HU STPDAVMGNPKVKAHGKKVLGAFSDGLAHLDNLKGTFATLSELHCDKLHV
           50        60        70        80        90

               100       110       120       130       140
    HBA_HU DPVNFKLLSHCLLVTLAAHLPAEFTPAVHASLDKFLASVSTVLTSKYR
           :: ::.:: . :.  :: :   :::: : :.  : .: :.  :  ::
    HBB_HU DPENFRLLGNVLVCVLAHHFGKEFTPPVQAAYQKVVAGVANALAHKYH
          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:

- . (your current directory)
- .embossdata (under your current directory)
- ~/ (your home directory)
- ~/.embossdata

## Notes

None.

## References

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

## Warnings

This program will produce a global alignment even if there is no biological justification for thinking that there might be a common ancestor.

Demonstration of similarity is not evidence of homology!

## Diagnostic Error Messages

None.

## Exit status

It exits with a status of 0.

## Known bugs

None.

## See also

Program name | Description
--- | ---
est2genome | Align EST and genomic DNA sequences
needle | Needleman-Wunsch global alignment

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