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.