
                                   tcode 



Function

   Fickett TESTCODE statistic to identify protein-coding DNA

Description

   tcode tests DNA sequences for protein coding regions using an
   algorithm which looks for simple and universal differences between
   protein-coding and noncoding DNA.The original paper reports that the
   test had been thoroughly proven on 400,000 bases of sequence data: it
   misclassifies 5% of the regions tested and gives an answer of "No
   Opinion" one fifth of the time.

   The program slides a window of user-selectable size over the DNA
   sequence. For each window the TESTCODE statistic is applied. The
   results can be output as a text report or displayed graphically. The
   text output reports each window as "Coding", "Noncoding" or "No
   opinion". Entries marked "No opinion" have a TESTCODE value that falls
   between the maximum and minimum values required to report a region as
   noncoding or coding. For the graphical plot, all points above a green
   horizontal line are determined to be coding regions. Those below a red
   line are determined to be noncoding. Points between the red and green
   lines are "no opinion" ones.

Biological Relevance

   The statistic reflects the fact that codons are used with unequal
   frequency and that oligonucleotides and nucleotides tend to be
   repeated with a periodicity of three.

   This application can assist in determining the probability of a region
   of nucleic sequence encoding a functional protein.

Algorithm

   The Fickett (1982) algorithm is used (1).

   A window of at least 200 bases is moved over the sequence in steps of
   3 bases

   Let:

  A1 = Number of A's in positions 1,4,7 ...
  A2 = Number of A's in positions 2,5,8 ...
  A3 = Number of A's in positions 3,6,9 ...

   A position value is determined that reflects the degree to which each
   base is favoured in one codon position over another, i.e.

  Apos = MAX(A1,A2,A3) / MIN(A1,A2,A3)+1

   This is done for all 4 bases. The percentage composition of each base
   is also determined. Eight values are therefore determined, four
   position values and four composition values. These are then converted
   to probabilities (p) of coding using a look-up table provided as the
   data file for the program. The values in this look-up table have been
   determined experimentally using known coding and noncoding sequences.

   Each of the probabilities is multiplied by a weight (w) value (again
   from the look-up table) for the respective base. The weight value
   reflects the percentage of the time that each parameter alone
   successfully predicted coding or noncoding function for the sequences
   of known function.

   The TESTCODE statistic is then:

  p1w1 + p2w2 + p3w3 + p4w4 + p5w5 + p6w6 + p7w7 + p8w8

   A result of less than 0.74 is probably a non-coding region.
   A result equal or greater than 0.95 is probably a coding region.
   Anything in between these two values is uncertain.

Usage

   Here is a sample session with tcode


% tcode 
Fickett TESTCODE statistic to identify protein-coding DNA
Input sequence(s): tembl:hsfau1
Length of sliding window [200]: 
Output report [hsfau1.tcode]: 

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

   Example 2

   Produce a graphical plot


% tcode -plot -graph cps 
Fickett TESTCODE statistic to identify protein-coding DNA
Input sequence(s): tembl:hsfau1
Length of sliding window [200]: 

Created tcode.ps

   Go to the output files for this example

Command line arguments

   Standard (Mandatory) qualifiers (* if not always prompted):
  [-sequence]          seqall     Sequence database USA
   -window             integer    This is the number of nucleotide bases over
                                  which the TESTCODE statistic will be
                                  performed each time. The window will then
                                  slide along the sequence, covering the same
                                  number of bases each time.
*  -outfile            report     Output report file name
*  -graph              xygraph    Graph type

   Additional (Optional) qualifiers: (none)
   Advanced (Unprompted) qualifiers:
   -datafile           datafile   The default data file is Etcode.dat and
                                  contains coding probabilities for each base.
                                  The probabilities are for both positional
                                  and compositional information.
   -step               integer    The selected window will, by default, slide
                                  along the nucleotide sequence by three bases
                                  at a time, retaining the frame (although
                                  the algorithm is not frame sensitive). This
                                  may be altered to increase or decrease the
                                  increment of the slide.
   -plot               toggle     On selection a graph of the sequence (X
                                  axis) plotted against the coding score (Y
                                  axis) will be displayed. Sequence above the
                                  green line is coding, that below the red
                                  line is non-coding.

   Associated qualifiers:

   "-sequence" 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
   -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

   "-outfile" associated qualifiers
   -rformat             string     Report format
   -rname               string     Base file name
   -rextension          string     File name extension
   -rdirectory          string     Output directory
   -raccshow            boolean    Show accession number in the report
   -rdesshow            boolean    Show description in the report
   -rscoreshow          boolean    Show the score in the report
   -rusashow            boolean    Show the full USA in the report

   "-graph" associated qualifiers
   -gprompt             boolean    Graph prompting
   -gtitle              string     Graph title
   -gsubtitle           string     Graph subtitle
   -gxtitle             string     Graph x axis title
   -gytitle             string     Graph y axis title
   -goutfile            string     Output file for non interactive displays
   -gdirectory          string     Output directory

   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
   [-sequence]
   (Parameter 1) Sequence database USA Readable sequence(s) Required
   -window This is the number of nucleotide bases over which the TESTCODE
   statistic will be performed each time. The window will then slide
   along the sequence, covering the same number of bases each time.
   Integer 200 or more 200
   -outfile Output report file name Report output file
   -graph Graph type EMBOSS has a list of known devices, including
   postscript, ps, hpgl, hp7470, hp7580, meta, colourps, cps, xwindows,
   x11, tektronics, tekt, tek4107t, tek, none, null, text, data, xterm,
   png, xml EMBOSS_GRAPHICS value, or x11
   Additional (Optional) qualifiers Allowed values Default
   (none)
   Advanced (Unprompted) qualifiers Allowed values Default
   -datafile The default data file is Etcode.dat and contains coding
   probabilities for each base. The probabilities are for both positional
   and compositional information. Data file Etcode.dat
   -step The selected window will, by default, slide along the nucleotide
   sequence by three bases at a time, retaining the frame (although the
   algorithm is not frame sensitive). This may be altered to increase or
   decrease the increment of the slide. Integer 1 or more 3
   -plot On selection a graph of the sequence (X axis) plotted against
   the coding score (Y axis) will be displayed. Sequence above the green
   line is coding, that below the red line is non-coding. Toggle value
   Yes/No No

Input file format

   tcode reads any normal sequence USAs.

   The program will ignore ambiguity codes in the nucleic acid sequence
   and just accept the four common bases. This is a function of the
   algorithm, and the data tables.

  Input files for usage example

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

  Database entry: tembl:hsfau1

ID   HSFAU1     standard; DNA; HUM; 2016 BP.
XX
AC   X65921; S45242;
XX
SV   X65921.1
XX
DT   13-MAY-1992 (Rel. 31, Created)
DT   21-JUL-1993 (Rel. 36, Last updated, Version 5)
XX
DE   H.sapiens fau 1 gene
XX
KW   fau 1 gene.
XX
OS   Homo sapiens (human)
OC   Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi; Mammalia
;
OC   Eutheria; Primates; Catarrhini; Hominidae; Homo.
XX
RN   [1]
RP   1-2016
RA   Kas K.;
RT   ;
RL   Submitted (29-APR-1992) to the EMBL/GenBank/DDBJ databases.
RL   K. Kas, University of Antwerp, Dept of Biochemistry T3.22,
RL   Universiteitsplein 1, 2610 Wilrijk, BELGIUM
XX
RN   [2]
RP   1-2016
RX   MEDLINE; 92412144.
RA   Kas K., Michiels L., Merregaert J.;
RT   "Genomic structure and expression of the human fau gene: encoding the
RT   ribosomal protein S30 fused to a ubiquitin-like protein.";
RL   Biochem. Biophys. Res. Commun. 187:927-933(1992).
XX
DR   SWISS-PROT; P35544; UBIM_HUMAN.
DR   SWISS-PROT; Q05472; RS30_HUMAN.
XX
FH   Key             Location/Qualifiers
FH
FT   source          1..2016
FT                   /db_xref="taxon:9606"
FT                   /organism="Homo sapiens"
FT                   /clone_lib="CML cosmid"
FT                   /clone="15.1"
FT   mRNA            join(408..504,774..856,951..1095,1557..1612,1787..>1912)
FT                   /gene="fau 1"
FT   exon            408..504
FT                   /number=1
FT   intron          505..773
FT                   /number=1
FT   exon            774..856


  [Part of this file has been deleted for brevity]

FT                   RAKRRMQYNRRFVNVVPTFGKKKGPNANS"
FT   intron          857..950
FT                   /number=2
FT   exon            951..1095
FT                   /number=3
FT   intron          1096..1556
FT                   /number=3
FT   exon            1557..1612
FT                   /number=4
FT   intron          1613..1786
FT                   /number=4
FT   exon            1787..>1912
FT                   /number=5
FT   polyA_signal    1938..1943
XX
SQ   Sequence 2016 BP; 421 A; 562 C; 538 G; 495 T; 0 other;
     ctaccatttt ccctctcgat tctatatgta cactcgggac aagttctcct gatcgaaaac        6
0
     ggcaaaacta aggccccaag taggaatgcc ttagttttcg gggttaacaa tgattaacac       12
0
     tgagcctcac acccacgcga tgccctcagc tcctcgctca gcgctctcac caacagccgt       18
0
     agcccgcagc cccgctggac accggttctc catccccgca gcgtagcccg gaacatggta       24
0
     gctgccatct ttacctgcta cgccagcctt ctgtgcgcgc aactgtctgg tcccgccccg       30
0
     tcctgcgcga gctgctgccc aggcaggttc gccggtgcga gcgtaaaggg gcggagctag       36
0
     gactgccttg ggcggtacaa atagcaggga accgcgcggt cgctcagcag tgacgtgaca       42
0
     cgcagcccac ggtctgtact gacgcgccct cgcttcttcc tctttctcga ctccatcttc       48
0
     gcggtagctg ggaccgccgt tcaggtaaga atggggcctt ggctggatcc gaagggcttg       54
0
     tagcaggttg gctgcggggt cagaaggcgc ggggggaacc gaagaacggg gcctgctccg       60
0
     tggccctgct ccagtcccta tccgaactcc ttgggaggca ctggccttcc gcacgtgagc       66
0
     cgccgcgacc accatcccgt cgcgatcgtt tctggaccgc tttccactcc caaatctcct       72
0
     ttatcccaga gcatttcttg gcttctctta caagccgtct tttctttact cagtcgccaa       78
0
     tatgcagctc tttgtccgcg cccaggagct acacaccttc gaggtgaccg gccaggaaac       84
0
     ggtcgcccag atcaaggtaa ggctgcttgg tgcgccctgg gttccatttt cttgtgctct       90
0
     tcactctcgc ggcccgaggg aacgcttacg agccttatct ttccctgtag gctcatgtag       96
0
     cctcactgga gggcattgcc ccggaagatc aagtcgtgct cctggcaggc gcgcccctgg      102
0
     aggatgaggc cactctgggc cagtgcgggg tggaggccct gactaccctg gaagtagcag      108
0
     gccgcatgct tggaggtgag tgagagagga atgttctttg aagtaccggt aagcgtctag      114
0
     tgagtgtggg gtgcatagtc ctgacagctg agtgtcacac ctatggtaat agagtacttc      120
0
     tcactgtctt cagttcagag tgattcttcc tgtttacatc cctcatgttg aacacagacg      126
0
     tccatgggag actgagccag agtgtagttg tatttcagtc acatcacgag atcctagtct      132
0
     ggttatcagc ttccacacta aaaattaggt cagaccaggc cccaaagtgc tctataaatt      138
0
     agaagctgga agatcctgaa atgaaactta agatttcaag gtcaaatatc tgcaactttg      144
0
     ttctcattac ctattgggcg cagcttctct ttaaaggctt gaattgagaa aagaggggtt      150
0
     ctgctgggtg gcaccttctt gctcttacct gctggtgcct tcctttccca ctacaggtaa      156
0
     agtccatggt tccctggccc gtgctggaaa agtgagaggt cagactccta aggtgagtga      162
0
     gagtattagt ggtcatggtg ttaggacttt ttttcctttc acagctaaac caagtccctg      168
0
     ggctcttact cggtttgcct tctccctccc tggagatgag cctgagggaa gggatgctag      174
0
     gtgtggaaga caggaaccag ggcctgatta accttccctt ctccaggtgg ccaaacagga      180
0
     gaagaagaag aagaagacag gtcgggctaa gcggcggatg cagtacaacc ggcgctttgt      186
0
     caacgttgtg cccacctttg gcaagaagaa gggccccaat gccaactctt aagtcttttg      192
0
     taattctggc tttctctaat aaaaaagcca cttagttcag tcatcgcatt gtttcatctt      198
0
     tacttgcaag gcctcaggga gaggtgtgct tctcgg                                201
6
//

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, trace, listfile, dbmotif, diffseq, excel,
   feattable, motif, regions, seqtable, simple, srs, table, tagseq

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

   tcode outputs a report format file. The default format is 'table'.

   The resulting report file will be given a name relating to the
   analysed sequence together with the .tcode suffix by default. Should
   there be no sequence description, the default reverts to
   outfile.tcode.

   tcode optionally outputs a graph to the specified graphics device.

   The graphical display is output with the default file name tcode.1.
   and then the name of the selected graphical display (e.g. png; ps).

   The graph indicates the threshold for probably being coding with a
   green horizontal line and the threshold for probably not being coding
   with a red horizontal line.

  Output files for usage example

  File: hsfau1.tcode

########################################
# Program: tcode
# Rundate: Thu Jul 15 2004 12:00:00
# Report_format: table
# Report_file: hsfau1.tcode
########################################

#=======================================
#
# Sequence: HSFAU1     from: 1   to: 2016
# HitCount: 606
#
# Fickett TESTCODE statistic
#
#=======================================

  Start     End   Score Estimation
      1     200   0.673 Non-coding
      4     203   0.681 Non-coding
      7     206   0.649 Non-coding
     10     209   0.649 Non-coding
     13     212   0.649 Non-coding
     16     215   0.657 Non-coding
     19     218   0.687 Non-coding
     22     221   0.767 No opinion
     25     224   0.800 No opinion
     28     227   0.782 No opinion
     31     230   0.779 No opinion
     34     233   0.839 No opinion
     37     236   0.951 Coding
     40     239   0.916 No opinion
     43     242   0.900 No opinion
     46     245   0.839 No opinion
     49     248   0.835 No opinion
     52     251   0.926 No opinion
     55     254   0.887 No opinion
     58     257   0.927 No opinion
     61     260   0.873 No opinion
     64     263   0.873 No opinion
     67     266   0.927 No opinion
     70     269   1.033 Coding
     73     272   1.044 Coding
     76     275   1.012 Coding
     79     278   1.105 Coding
     82     281   1.022 Coding
     85     284   1.098 Coding
     88     287   0.976 Coding
     91     290   0.962 Coding
     94     293   0.944 No opinion
     97     296   0.897 No opinion


  [Part of this file has been deleted for brevity]

   1675    1874   1.015 Coding
   1678    1877   0.898 No opinion
   1681    1880   1.032 Coding
   1684    1883   0.898 No opinion
   1687    1886   0.891 No opinion
   1690    1889   0.907 No opinion
   1693    1892   1.005 Coding
   1696    1895   0.985 Coding
   1699    1898   0.907 No opinion
   1702    1901   0.985 Coding
   1705    1904   0.985 Coding
   1708    1907   0.988 Coding
   1711    1910   0.981 Coding
   1714    1913   1.001 Coding
   1717    1916   1.001 Coding
   1720    1919   1.004 Coding
   1723    1922   0.975 Coding
   1726    1925   0.975 Coding
   1729    1928   0.927 No opinion
   1732    1931   0.939 No opinion
   1735    1934   0.930 No opinion
   1738    1937   0.860 No opinion
   1741    1940   0.876 No opinion
   1744    1943   0.876 No opinion
   1747    1946   0.836 No opinion
   1750    1949   0.883 No opinion
   1753    1952   0.934 No opinion
   1756    1955   0.965 Coding
   1759    1958   1.012 Coding
   1762    1961   1.025 Coding
   1765    1964   0.940 No opinion
   1768    1967   0.978 Coding
   1771    1970   0.978 Coding
   1774    1973   1.012 Coding
   1777    1976   1.023 Coding
   1780    1979   1.023 Coding
   1783    1982   1.023 Coding
   1786    1985   1.012 Coding
   1789    1988   0.972 Coding
   1792    1991   0.943 No opinion
   1795    1994   1.031 Coding
   1798    1997   1.031 Coding
   1801    2000   0.926 No opinion
   1804    2003   0.845 No opinion
   1807    2006   0.804 No opinion
   1810    2009   0.765 No opinion
   1813    2012   0.765 No opinion
   1816    2015   0.765 No opinion

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

  Output files for usage example 2

  Graphics File: tcode.ps

   [tcode results]

  File: hsfau1.tcode

Data files

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

   To see the available EMBOSS data files, run:

% embossdata -showall

   To fetch one of the data files (for example 'Exxx.dat') into your
   current directory for you to inspect or modify, run:

% embossdata -fetch -file Exxx.dat

   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

   The default data file (look-up table) is Etcode.dat which contains the
   data from the original paper (1)

# Fickett TESTCODE data
# Nuc. Acids Res. 10(17) 5303-5318
#
# Position parameter values (last value must be 0.0)
1.9
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
0.0
#
#
# Content parameter values (last value must be 0.0)
0.33
0.31
0.29
0.27
0.25
0.23
0.21
0.17
0.00
#
#
# Position probabilities for A,C,G,T respectively
0.94 0.80 0.90 0.97
0.68 0.70 0.88 0.97
0.84 0.70 0.74 0.91
0.93 0.81 0.64 0.68
0.58 0.66 0.53 0.69
0.68 0.48 0.48 0.44
0.45 0.51 0.27 0.54
0.34 0.33 0.16 0.20
0.20 0.30 0.08 0.09
0.22 0.23 0.08 0.09
#
#
# Content probabilities for A,C,G,T respectively
0.28 0.82 0.40 0.28
0.49 0.64 0.54 0.24
0.44 0.51 0.47 0.39
0.55 0.64 0.64 0.40
0.62 0.59 0.64 0.55
0.49 0.59 0.73 0.75
0.67 0.43 0.41 0.56
0.65 0.44 0.41 0.69
0.81 0.39 0.33 0.51
0.21 0.31 0.29 0.58
#
#
# Weights for position
0.26
0.18
0.31
0.33
#
#
# Weights for content
0.11
0.12
0.15
0.14

   This file is retrievable using EMBOSSDATA.

   Window size is set by default to 200. The algorithm requires
   sufficient sequence to perform the statistic on. The original paper
   suggests a minimum window size of 200.

   Window stepping increment is set by default to 3. This will ensure the
   resulting information remains in frame.

  Alternative Data Files

   There are no alternative data files currently in the EMBOSS Data
   directory, but alternative values may be user defined.

Notes

   In the GCG package, the current (version 10.3) TESTCODE application's
   apparent interpretation of the algorithm is:

        MAX(A1,A2,A3) / MIN(A1,A2,A3)

   The EMBOSS tcode program uses the correct Fickett algorithm equation:

        MAX(A1,A2,A3) / MIN(A1,A2,A3) + 1

   thus any plot using the GCG TESTCODE aplication will be slightly
   higher than the tcode equivalent.

References

    1. Fickett, J.W. (1982) Nucleic Acids Research 10(17) pp.5303-5318
       "Recognition of protein coding regions in DNA sequences"

Warnings

   None.

Diagnostic Error Messages

   Standard error messages are given for incorrect sequence input.

Exit status

   It always exits with status 0.

See also

   Program name                       Description
   getorf       Finds and extracts open reading frames (ORFs)
   marscan      Finds MAR/SAR sites in nucleic sequences
   plotorf      Plot potential open reading frames
   showorf      Pretty output of DNA translations
   sixpack      Display a DNA sequence with 6-frame translation and ORFs
   syco         Synonymous codon usage Gribskov statistic plot
   wobble       Wobble base plot

  See Elsewhere

   TESTCODE - GCG package, Accelrys Inc. Uses a different interpretation
   of the same algorithm. Source code unavailable.

   SPIN - "Uneven positional base preferences" Staden software. Free to
   academics, versions for both X and Windows platforms.

Author(s)

   Alan Bleasby (ableasby © rfcgr.mrc.ac.uk)
   MRC Rosalind Franklin Centre for Genomics Research Wellcome Trust
   Genome Campus, Hinxton, Cambridge, CB10 1SB, UK

History

   Date of original completion: 2nd March 2003

Target users

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

Comments

   None
