<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [

<!-- Process this file with docbook-to-man to generate an nroff manual
     page: `docbook-to-man manpage.sgml > manpage.1'.  You may view
     the manual page with: `docbook-to-man manpage.sgml | nroff -man |
     less'.  A typical entry in a Makefile or Makefile.am is:

manpage.1: manpage.sgml
	docbook-to-man $< > $@

    
	The docbook-to-man binary is found in the docbook-to-man package.
	Please remember that if you create the nroff version in one of the
	debian/rules file targets (such as build), you will need to include
	docbook-to-man in your Build-Depends control field.

 -->

  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
  <!ENTITY dhfirstname "<firstname>Steffen</firstname>">
  <!ENTITY dhsurname   "<surname>Möller</surname>">
  <!-- Please adjust the date whenever revising the manpage. -->
  <!ENTITY dhdate      "<date>November 10, 2004</date>">
  <!ENTITY dhsection   "<manvolnum>1</manvolnum>">
  <!ENTITY dhemail     "<email>moeller@debian.org</email>">
  <!ENTITY dhusername  "Steffen Moeller">
  <!ENTITY dhucpackage "<refentrytitle>LONG-ORFS</refentrytitle>">
  <!ENTITY dhpackage   "long-orfs">

  <!ENTITY debian      "<productname>Debian</productname>">
  <!ENTITY gnu         "<acronym>GNU</acronym>">
  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
]>

<refentry>
  <refentryinfo>
    <address>
      &dhemail;
    </address>
    <author>
      &dhfirstname;
      &dhsurname;
    </author>
    <copyright>
      <year>2003</year>
      <holder>&dhusername;</holder>
    </copyright>
    &dhdate;
  </refentryinfo>
  <refmeta>
    &dhucpackage;

    &dhsection;
  </refmeta>
  <refnamediv>
    <refname>&dhpackage;</refname>

    <refpurpose>
Find/Score potential genes in genome-file using
the probability model in icm-file
</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <cmdsynopsis>
      <command>tigr-long-orgs</command>
	<arg>genome-file <option><replaceable>options</replaceable></option></arg>
    </cmdsynopsis>
  </refsynopsisdiv>
  <refsect1>
    <title>DESCRIPTION</title>
<para>
Program long-orfs takes a sequence file (in FASTA format) and
outputs a list of all long "potential genes" in it that do not
overlap by too much.  By "potential gene" I mean the portion of
an orf from the first start codon to the stop codon at the end.
</para><para>
The first few lines of output specify the settings of various
parameters in the program:
</para><para>
 Minimum gene length is the length of the smallest fragment
   considered to be a gene.  The length is measured from the first base
   of the start codon to the last base *before* the stop codon.
   This value can be specified when running the program with the  -g  option.
   By default, the program now (April 2003) will compute an optimal length
   for this parameter, where "optimal" is the value that produces the
   greatest number of long ORFs, thereby increasing the amount of data
   used for training.
</para><para>
 Minimum overlap length is a lower bound on the number of bases overlap
   between 2 genes that is considered a problem.  Overlaps shorter than
   this are ignored.
</para><para>
 Minimum overlap percent is another lower bound on the number of bases
   overlap that is considered a problem.  Overlaps shorter than this
   percentage of *both* genes are ignored.
</para><para>
The next portion of the output is a list of potential genes:
</para><para>
 Column 1 is an ID number for reference purposes.  It is assigned
   sequentially starting with  1  to all long potential genes.  If
   overlapping genes are eliminated, gaps in the numbers will occur.
   The ID prefix is specified in the constant  ID_PREFIX .
</para><para>
 Column 2 is the position of the first base of the first start codon in
   the orf.  Currently I use atg, and gtg as start codons.  This is
   easily changed in the function  Is_Start () .
</para><para>
 Column 3 is the position of the last base *before* the stop codon.  Stop
   codons are taa, tag, and tga.  Note that for orfs in the reverse
   reading frames have their start position higher than the end position.
   The order in which orfs are listed is in increasing order by
   Max {OrfStart, End}, i.e., the highest numbered position in the orf,
   except for orfs that "wrap around" the end of the sequence.
</para><para>
When two genes with ID numbers overlap by at least a sufficient
amount (as determined by Min_Olap and Min_Olap_Percent ), they
are eliminated and do not appear in the output.
</para><para>
The final output of the program (sent to the standard error file so
it does not show up when output is redirected to a file) is the
length of the longest orf found.
</para><para>


Specifying Different Start and Stop Codons:
</para><para>
To specify different sets of start and stop codons, modify the file
gene.h .  Specifically, the functions:
</para><para>
   Is_Forward_Start     Is_Reverse_Start     Is_Start
   Is_Forward_Stop      Is_Reverse_Stop      Is_Stop
</para><para>
are used to determine what is used for start and stop codons.
</para><para>
Is_Start  and  Is_Stop  do simple string comparisons to specify
which patterns are used.  To add a new pattern, just add the comparison
for it.  To remove a pattern, comment out or delete the comparison
for it.
</para><para>
The other four functions use a bit comparison to determine start and
stop patterns.  They represent a codon as a 12-bit pattern, with 4 bits
for each base, one bit for each possible value of the bases, T, G, C
or A.  Thus the bit pattern  0010 0101 1100  represents the base
pattern  [C] [A or G] [G or T].  By doing bit operations (& | ~) and
comparisons, more complicated patterns involving ambiguous reads
can be tested efficiently.  Simple patterns can be tested as in
the current code.
</para><para>
For example, to insert an additional start codon of CAT requires 3 changes:
1. The line
        || (Codon & 0x218) == Codon
   should be inserted into  Is_Forward_Start , since 0x218 = 0010 0001 1000
   represents CAT.
2. The line
        || (Codon & 0x184) == Codon
   should be inserted into  Is_Reverse_Start , since 0x184 = 0001 1000 0100
   represents ATG, which is the reverse-complement of CAT.  Alternately,
   the #define constant  ATG_MASK  could be used.
3. The line
        || strncmp (S, "cat", 3) == 0
   should be inserted into  Is_Start .
</para>

  </refsect1>
  <refsect1>
    <title>OPTIONS</title>
    <variablelist>
      <varlistentry>
        <term><option>-g <replaceable>n</replaceable></option></term>
	<listitem>
	<para> Set minimum gene length to n.  Default is to compute an
           optimal value automatically.  Don't change this unless you
           know what you're doing.</para>
	</listitem>
      </varlistentry>
      <varlistentry>
       <term><option>-l</option></term><listitem><para>Regard the genome as linear (not circular), i.e., do not allow
           genes to "wrap around" the end of the genome.
           This option works on both  glimmer and long-orfs .
           The default behavior is to regard the genome as circular.</para></listitem>
      </varlistentry>
      <varlistentry>
       <term><option>-o <replaceable>n</replaceable></option></term><listitem><para>Set maximum overlap length to n.  Overlaps shorter than this
           are permitted.  (Default is 0 bp.)</para></listitem>
      </varlistentry>
      <varlistentry>
       <term><option>-p <replaceable>n</replaceable></option></term><listitem><para>Set maximum overlap percentage to n%.  Overlaps shorter than
           this percentage of *both* strings are ignored.  (Default is 10%.)</para></listitem>
      </varlistentry>
    </variablelist>
  </refsect1>
  <refsect1>
    <title>SEE ALSO</title>
    <para>
tigr-glimmer3 (1),
tigr-adjust (1),
tigr-anomaly	(1),
tigr-build-icm (1),
tigr-check (1),
tigr-codon-usage (1),
tigr-compare-lists (1),
tigr-extract (1),
tigr-generate (1),
tigr-get-len (1),
tigr-get-putative (1),
</para>
<para>
http://www.tigr.org/software/glimmer/
</para>

    <para>Please see the readme in /usr/share/doc/tigr-glimmer for a description on how to use Glimmer3.</para>
  </refsect1>
  <refsect1>
    <title>AUTHOR</title>

    <para>This manual page was quickly copied from the glimmer web site by &dhusername; &dhemail; for
      the &debian; system.
    </para>

  </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:2
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:nil
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->
