NAME
    Bio::ORA - Olfactory Receptor family Assigner (ORA)

SYNOPSIS
    Take a sequence object from, say, an inputstream, and find an Olfactory
    Receptor gene. HMM profiles are used in order to identify location,
    frame and orientation of such gene.

    Creating the ORA object, eg:

      use Bio::ORA;
      use Bio::SeqIO;

      my $inputstream = Bio::SeqIO->new( -file => 'seqfile', -format => 'fasta' );
      my $seqobj = $inputstream->next_seq();
      my $ORA_obj = Bio::ORA->new( $seqobj );

    Obtain an array holding the start point, the stop point, the DNA
    sequence and amino-acid sequence, eg:

      my $array_ref = $ORA_obj->{'_result'} if ( $ORA_obj->find() );

    Display result in genbank format, eg:

      $ORA_obj->show( 'genbank' );

DESCRIPTION
    Bio::ORA is a featherweight object for identifying mammalian olfactory
    receptor genes. The sequences should not be longer than 20kb. The
    returned array include location, sequence and statistic for the putative
    olfactory receptor gene. Fully functional with DNA and EST sequence, no
    intron supported.

    See Synopsis above for the object creation code.

DRIVER SCRIPT
      #!/usr/bin/perl -w
      use strict;

      use Bio::Seq;
      use Bio::ORA;

      my $inseq = Bio::SeqIO->new( '-file' => "< $yourfile", -format => 'fasta' );
      while (my $seq = $inseq->next_seq) {
        my $ORA_obj = Bio::ORA->new( $seq );
        if ( $ORA_obj->find() ) {
          $ORA_obj->show( 'genbank' );
        } else {
          print "  no hit!\n";
        }
      }

REQUIREMENTS
    To use this module you may need: * Bioperl (http://www.bioperl.org/)
    modules, * HMMER distribution (http://hmmer.janelia.org/) and * FASTA
    distribution (ftp://ftp.ebi.ac.uk/pub/software/unix/fasta/).

MORE
ORA home page is now http://ora.batlab.eu/
FEEDBACK
    User feedback is an integral part of the evolution of this modules. Send
    your comments and suggestions preferably to author.

AUTHOR
    Michael Bekaert (michael@batlab.eu)

    Address: School of Biology & Environmental Science University College
    Dublin Belfield, Dublin 4 Dublin Ireland

COPYRIGHT
    This work is licensed under a Creative Commons GNU General Public
    License License (GPL). The full text of the license can be found in the
    LICENSE file included with this module.

SEE ALSO
    perl(1), fasta, hmmer and bioperl web sites

APPENDIX
    The rest of the documentation details each of the object methods.
    Internal methods are usually preceded with a _

  _findexec

     Title   : _findexec
     Usage   : my $path = $self->_findexec( $exec );
     Function: Find an executable file in the $PATH.
     Returns : The full path to the executable.
     Args    : $exec (mandatory) executable to be find.

  new

     Title   : new
     Usage   : my $nb = Bio::ORA->new( $seqobj, $table, $aug, $hmm );
     Function: Initialize ORA object.
     Returns : An ORA object.
     Args    : $seqobj (mandatory) PrimarySeqI object (dna or rna),
               $table (optional) translation table/genetic code number,
                  the default value is 1,
               $aug (optional) use other start codon than AUG (default 0),
               $hmm (optional) path to hmm profiles by default ORA looks at
                 ./oaz.hmm.

  find

     Title   : find
     Usage   : my $bool = $ORI_obj->find( $evalue, $strand, $start, $end );
     Function: Identify an olfactory receptor protein.
     Returns : boolean.
     Args    : $evalue (optional) set the E-value (expected) threshold.
                 Default is 1e-40,
               $strand(optional) strand where search should be done (1 direct,
                 -1 reverse or 0 both). Default is 0,
               $start (optional) coordinate of the first nucleotide. Useful
                 for coordinate calculation when first is not 1. Default is 1,
               $end (optional) coordinate of the last nucleotide. Default is
                 the sequence length.

  _what_or

     Title   : _what_or
     Usage   : my $bool = $self->_what_oaz( $strand );
     Function: Use HMM profiles to identify an olfactory receptor gene.
     Returns : boolean.
     Args    : $strand (optional) strand where search should be done
               (1 direct, -1 reverse or 0 both). Default is 0.

  _find_orf

     Title   : _find_orf
     Usage   : my $bool = $self->_find_or( $strand, $start, $end );
     Function: Retrieve the olfactory receptor ORF.
     Returns : boolean.
     Args    : $strand (mandatory) strand where ORA have been found
               (1 direct or -1 reverse),
               $start (mandatory) coordinate of the first nucleotide,
               $end (mandatory) coordinate of the last nucleotide.

  getHits

     Title   : getHits
     Usage   : my @hits = Bio::ORA->getHits( $seq, $evalue, $ref );
     Function: Quick localization of ORs (use FASTA).
     Returns : Array of hits start/stop positions.
     Args    : $seq (mandatory) primarySeqI object (dna or rna),
               $evalue (mandatory) det the E-value threshold,
               $ref (optional) path to fasta reference file, by default ORA
                 look at ./or.fasta.

  getHits

     Title   : getHits
     Usage   : my @hits = Bio::ORA->getHits( $seq, $evalue, $ref );
     Function: Quick localization of ORs (use FASTA).
     Returns : Array of hits start/stop positions.
     Args    : $seq (mandatory) primarySeqI object (dna or rna),
               $evalue (mandatory) det the E-value threshold,
               $ref (optional) path to fasta reference file, by default ORA
                 look at ./or.fasta.

  show

     Title   : show
     Usage   : $ORA_obj->show( $outstyle );
     Function: Print result in various style.
     Returns : none.
     Args    : $outstyle (mandatory) 'fasta', 'genbank', 'cvs', 'xml' or 'R' style.

  _translation

     Title   : _translation
     Usage   : my ( $start, $end ) = $self->_translation();
     Function: format initiation and stop codons for regex.
     Returns : array with initiation and stop codons.
     Args    : none.

