| etandem

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

Find tandem repeats in a nucleotide sequence

## Description

etandem identifies tandem repeats in a nucleotide sequence. It calculates a consensus sequence for a putative repeat region and scores potential repeats based on the number of matches and mismatches there are to the consensus. For a repeat to be identified, it must be within the specified minimum and maximum size and must score higher than the specified threshold score. The output is a standard EMBOSS report file with details of the location and score of any tandem repeats. Optionally, the output can be written in the format of the Sanger Centre quicktandem program.

Running etandem with a wide range of repeat sizes is inefficient. It is normally used after equicktandem has been run to identify putative sizes and locations of repeats.

## Algorithm

The input sequence is first converted so that it contains the characters `ACGT` or `N` only, i.e. any ambiguity codes are converted to N. etandem looks for sequence segments which match well to a consensus sequence calculated from non-overlapping windows over the sequence. For a given start point in the sequence and repeat size, a consensus sequence is built from contiguous sequence segments of that size.

The score for a segment (except the first segment which is not scored) is based on the number of matches and mismatches there are to the consensus: the score is incremented (+1) for a match and decremented (-1) for a mismatch. By default, an "N" can never mismatch with a nucleotide but this behaviour can be changed with the `-mismatch` option. The highest scoring segment is kept for each start position and repeat size.

Immediately adjacent segments that score higher than the specified threshold score are reported as a tandem repeat. The threshold score can be set on the command-line using the `-threshold` qualifier, the default is 20. For perfect repeats, the score is the equal to the length of the repeat. To allow for mismatches, the threshold score can be reduced. Each mismatch scores -1 instead of +1 so it scores 2 less than a perfect match of the same number of bases.

## Usage

Here is a sample session with etandem

The input sequence is the human herpesvirus tandem repeat.

    % etandem -noorigfile
    Find tandem repeats in a nucleotide sequence
    Input nucleotide sequence: tembl:L46634
    Minimum repeat size [10]: 6
    Maximum repeat size [6]:
    Output report [l46634.tan]:

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

## Command line arguments

    Find tandem repeats in a nucleotide sequence
    Version: EMBOSS:6.6.0.0

       Standard (Mandatory) qualifiers:
      [-sequence]          sequence   Nucleotide sequence filename and optional
                                      format, or reference (input USA)
       -minrepeat          integer    [10] Minimum repeat size (Integer, 2 or
                                      higher)
       -maxrepeat          integer    [Same as -minrepeat] Maximum repeat size
                                      (Integer, same as -minrepeat or higher)
      [-outfile]           report     [*.etandem] Output report file name (default
                                      -rformat table)

       Additional (Optional) qualifiers: (none)
       Advanced (Unprompted) qualifiers:
       -threshold          integer    [20] Threshold score (Any integer value)
       -mismatch           boolean    Allow N as a mismatch
       -uniform            boolean    Allow uniform consensus
       -origfile           outfile    [*.etandem] Sanger Centre program tandem
                                      output file (optional)

       Associated qualifiers:

       "-sequence" 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
       -scircular1         boolean    Sequence is circular
       -squick1            boolean    Read id and sequence only
       -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
       -rformat2           string     Report format
       -rname2             string     Base file name
       -rextension2        string     File name extension
       -rdirectory2        string     Output directory
       -raccshow2          boolean    Show accession number in the report
       -rdesshow2          boolean    Show description in the report
       -rscoreshow2        boolean    Show the score in the report
       -rstrandshow2       boolean    Show the nucleotide strand in the report
       -rusashow2          boolean    Show the full USA in the report
       -rmaxall2           integer    Maximum total hits to report
       -rmaxseq2           integer    Maximum hits to report for one sequence

       "-origfile" associated qualifiers
       -odirectory         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
[-sequence] (Parameter 1) | sequence | Nucleotide sequence filename and optional format, or reference (input USA) | Readable sequence | Required
-minrepeat | integer | Minimum repeat size | Integer, 2 or higher | 10
-maxrepeat | integer | Maximum repeat size | Integer, same as -minrepeat or higher | Same as -minrepeat
[-outfile] (Parameter 2) | report | Output report file name | (default -rformat table) | <*>.etandem
Additional (Optional) qualifiers
(none)
Advanced (Unprompted) qualifiers
-threshold | integer | Threshold score | Any integer value | 20
-mismatch | boolean | Allow N as a mismatch | Boolean value Yes/No | No
-uniform | boolean | Allow uniform consensus | Boolean value Yes/No | No
-origfile | outfile | Sanger Centre program tandem output file (optional) | Output file | <*>.etandem
Associated qualifiers
"-sequence" associated sequence qualifiers
-sbegin1 -sbegin_sequence | integer | Start of the sequence to be used | Any integer value | 0
-send1 -send_sequence | integer | End of the sequence to be used | Any integer value | 0
-sreverse1 -sreverse_sequence | boolean | Reverse (if DNA) | Boolean value Yes/No | N
-sask1 -sask_sequence | boolean | Ask for begin/end/reverse | Boolean value Yes/No | N
-snucleotide1 -snucleotide_sequence | boolean | Sequence is nucleotide | Boolean value Yes/No | N
-sprotein1 -sprotein_sequence | boolean | Sequence is protein | Boolean value Yes/No | N
-slower1 -slower_sequence | boolean | Make lower case | Boolean value Yes/No | N
-supper1 -supper_sequence | boolean | Make upper case | Boolean value Yes/No | N
-scircular1 -scircular_sequence | boolean | Sequence is circular | Boolean value Yes/No | N
-squick1 -squick_sequence | boolean | Read id and sequence only | Boolean value Yes/No | N
-sformat1 -sformat_sequence | string | Input sequence format | Any string |
-iquery1 -iquery_sequence | string | Input query fields or ID list | Any string |
-ioffset1 -ioffset_sequence | integer | Input start position offset | Any integer value | 0
-sdbname1 -sdbname_sequence | string | Database name | Any string |
-sid1 -sid_sequence | string | Entryname | Any string |
-ufo1 -ufo_sequence | string | UFO features | Any string |
-fformat1 -fformat_sequence | string | Features format | Any string |
-fopenfile1 -fopenfile_sequence | string | Features file name | Any string |
"-outfile" associated report qualifiers
-rformat2 -rformat_outfile | string | Report format | Any string | table
-rname2 -rname_outfile | string | Base file name | Any string |
-rextension2 -rextension_outfile | string | File name extension | Any string | tan
-rdirectory2 -rdirectory_outfile | string | Output directory | Any string |
-raccshow2 -raccshow_outfile | boolean | Show accession number in the report | Boolean value Yes/No | N
-rdesshow2 -rdesshow_outfile | boolean | Show description in the report | Boolean value Yes/No | N
-rscoreshow2 -rscoreshow_outfile | boolean | Show the score in the report | Boolean value Yes/No | Y
-rstrandshow2 -rstrandshow_outfile | boolean | Show the nucleotide strand in the report | Boolean value Yes/No | Y
-rusashow2 -rusashow_outfile | boolean | Show the full USA in the report | Boolean value Yes/No | N
-rmaxall2 -rmaxall_outfile | integer | Maximum total hits to report | Any integer value | 0
-rmaxseq2 -rmaxseq_outfile | integer | Maximum hits to report for one sequence | Any integer value | 0
"-origfile" associated outfile qualifiers
-odirectory | 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

etandem reads a single nucleotide sequence.

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

'tembl:L46634' is a sequence entry in the example nucleic acid database 'tembl'

### Database entry: tembl:L46634

    ID   L46634; SV 1; linear; genomic DNA; STD; VRL; 1272 BP.
    XX
    AC   L46634; L46689;
    XX
    DT   06-NOV-1995 (Rel. 45, Created)
    DT   04-MAR-2000 (Rel. 63, Last updated, Version 3)
    XX
    DE   Human herpesvirus 7 (clone ED132'1.2) telomeric repeat region.
    XX
    KW   telomeric repeat.
    XX
    OS   Human herpesvirus 7
    OC   Viruses; dsDNA viruses, no RNA stage; Herpesvirales; Herpesviridae;
    OC   Betaherpesvirinae; Roseolovirus.
    XX
    RN   [1]
    RP   1-1272
    RX   PUBMED; 7494318.
    RA   Secchiero P., Nicholas J., Deng H., Xiaopeng T., van Loon N., Ruvolo V.R.,
    RA   Berneman Z.N., Reitz M.S.Jr., Dewhurst S.;
    RT   "Identification of human telomeric repeat motifs at the genome termini of
    RT   human herpesvirus 7: structural analysis and heterogeneity";
    RL   J. Virol. 69(12):8041-8045(1995).
    XX
    FH   Key             Location/Qualifiers
    FH
    FT   source          1..1272
    FT                   /organism="Human herpesvirus 7"
    FT                   /strain="JI"
    FT                   /mol_type="genomic DNA"
    FT                   /clone="ED132'1.2"
    FT                   /db_xref="taxon:10372"
    FT   repeat_region   207..928
    FT                   /note="long and complex repeat region composed of various
    FT                   direct repeats, including TAACCC (TRS), degenerate copies
    FT                   of TRS motifs and a 14-bp repeat, TAGGGCTGCGGCCC"
    FT   misc_signal     938..998
    FT                   /note="pac2 motif"
    FT   misc_feature    1009
    FT                   /note="right genome terminus (...ACA)"
    XX
    SQ   Sequence 1272 BP; 346 A; 455 C; 222 G; 249 T; 0 other;
         aagcttaaac tgaggtcaca cacgacttta attacggcaa cgcaacagct gtaagctgca        60
         ggaaagatac gatcgtaagc aaatgtagtc ctacaatcaa gcgaggttgt agacgttacc       120
         tacaatgaac tacacctcta agcataacct gtcgggcaca gtgagacacg cagccgtaaa       180
         ttcaaaactc aacccaaacc gaagtctaag tctcacccta atcgtaacag taaccctaca       240
         actctaatcc tagtccgtaa ccgtaacccc aatcctagcc cttagcccta accctagccc       300
         taaccctagc tctaacctta gctctaactc tgaccctagg cctaacccta agcctaaccc       360
         taaccgtagc tctaagttta accctaaccc taaccctaac catgaccctg accctaaccc       420
         tagggctgcg gccctaaccc tagccctaac cctaacccta atcctaatcc tagccctaac       480
         cctagggctg cggccctaac cctagcccta accctaaccc taaccctagg gctgcggccc       540
         taaccctaac cctagggctg cggcccgaac cctaacccta accctaaccc taaccctagg       600
         gctgcggccc taaccctaac cctagggctg cggccctaac cctaacccta gggctgcggc       660
         ccgaacccta accctaaccc taaccctagg gctgcggccc taaccctaac cctagggctg       720
         cggccctaac cctaacccta actctagggc tgcggcccta accctaaccc taaccctaac       780
         cctagggctg cggcccgaac cctagcccta accctaaccc tgaccctgac cctaacccta       840
         accctaaccc taaccctaac cctaacccta accctaaccc taaccctaac cctaacccta       900
         accctaaccc taaccctaac cctaaccccg cccccactgg cagccaatgt cttgtaatgc       960
         cttcaaggca ctttttctgc gagccgcgcg cagcactcag tgaaaaacaa gtttgtgcac      1020
         gagaaagacg ctgccaaacc gcagctgcag catgaaggct gagtgcacaa ttttggcttt      1080
         agtcccataa aggcgcggct tcccgtagag tagaaaaccg cagcgcggcg cacagagcga      1140
         aggcagcggc tttcagactg tttgccaagc gcagtctgca tcttaccaat gatgatcgca      1200
         agcaagaaaa atgttctttc ttagcatatg cgtggttaat cctgttgtgg tcatcactaa      1260
         gttttcaagc tt                                                          1272
    //

## Output file format

The output is a standard EMBOSS report file.

The results can be output in one of several styles by using the command-line qualifier `-rformat xxx`, where 'xxx' is replaced by the name of the required format. The available format names are: embl, genbank, gff, pir, swiss, dasgff, debug, listfile, dbmotif, diffseq, draw, restrict, excel, feattable, motif, nametable, regions, seqtable, simple, srs, table, tagseq.

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

By default etandem writes a 'table' report file.

### Output files for usage example

### File: l46634.tan

    ########################################
    # Program: etandem
    # Rundate: Mon 15 Jul 2013 12:00:00
    # Commandline: etandem
    #    -noorigfile
    #    -sequence tembl:L46634
    #    -minrepeat 6
    # Report_format: table
    # Report_file: l46634.tan
    ########################################

    #=======================================
    #
    # Sequence: L46634     from: 1   to: 1272
    # HitCount: 5
    #
    # Threshold: 20
    # Minrepeat: 6
    # Maxrepeat: 6
    # Mismatch: No
    # Uniform: No
    #
    #=======================================

      Start     End  Strand   Score   Size  Count Identity Consensus
        793     936       +     120      6     24     93.8 acccta
        283     420       +      90      6     23     84.8 taaccc
        432     485       +      38      6      9     90.7 ccctaa
        494     529       +      26      6      6     94.4 ccctaa
        568     597       +      24      6      5    100.0 aaccct

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

## Data files

None

## Notes

Running etandem with a wide range of repeat sizes is inefficient. It is normally used after equicktandem has been run to identify putative sizes and locations of repeats.

## References

None.

## Warnings

None.

## Diagnostics

None.

## Exit status

It always exits with status 0.

## Known bugs

None.

## See also

Program name | Description
--- | ---
einverted | Find inverted repeats in nucleotide sequences
equicktandem | Find tandem repeats in nucleotide sequences
palindrome | Find inverted repeats in nucleotide sequence(s)

Running with a wide range of repeat sizes is inefficient. That is why equicktandem was written - to give a rapid estimate of the major repeat sizes.

## Authors

This program was originally written by Richard Durbin
Sanger Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge, CB10 1SA, UK.

Please report all bugs to the EMBOSS bug team (emboss-bug © emboss.open-bio.org) not to the original author.

This application was modified for inclusion in EMBOSS by Peter Rice
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.

## History

Completed 25 May 1999

## Target users

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

## Comments

None