NAME - will provide an object to hold info about a gene with GO annotation

GO::AnnotatedGene

DESCRIPTION

The GO::AnnotatedGene package allows creation of objects that contains the details of a gene as determined from a gene_associations file. Typically these objects will contain the following information:

Column  Cardinality   Contents          
------  -----------   -------------------------------------------------------------
    1       1         Database identifier of the annotated gene
    2       1         Standard name of the annotated gene
    9       0,1       Name of the product of the annotated gene
   10       0,n       Alias(es) of the annotated gene
   11       1         type of the annotated gene (one of gene, transcript, protein)

Further details can be found at:

http://www.geneontology.org/doc/GO.annotation.html#file

It is expected that AnnotatedGene objects will typically be created by concrete subclasses of AnnotationProvider

TODO

A lot....

Constructor

new

This is the constructor for a GO::AnnotatedGene object

It expects to receive the following named arguments:

databaseId    : The databaseId of the annotated gene
standardName  : The standardName of the annotated gene
type          : The type of the annotated gene (one of gene, transcript, protein)

In addition, the following optional arguments may also be provided:

productName   : The name of the product of the annotated gene
aliases       : A reference to an array of aliases

Usage:

my $annotatedGene = GO::AnnotatedGene->new(databaseId   => $databaseId,
                                           standardName => $standardName,
                                           type         => $type,
                                           productName  => $productName,
                                           aliases      => $aliases);

Public Instance Methods

databaseId

This public instance method returns the databaseId.

Usage :

my $databaseId = $annotatedGene->databaseId;

standardName

This public instance method returns the standardName.

Usage:

my $standardName = $annotatedGene->standardName;

type

This public instance method returns the type of the annotated gene.

Usage:

my $type = $annotatedGene->type;

productName

This public instance method returns the product name of the annotated gene, if one exists. Otherwise it returns undef.

Usage:

my $productName = $annotatedGene->productName;

aliases

This public instance method returns an array of aliases for the annotated gene. If no aliases exist, then an empty array will be returned.

Usage:

my @aliases = $annotatedGene->aliases;

Protected Methods

_handleMissingArgument

This protected method simply provides a simple way for concrete subclasses to deal with missing arguments from method calls. It will die with an appropriate error message.

Usage:

$self->_handleMissingArgument(argument=>'blah');

AUTHOR

Gavin Sherlock, sherlock@genome.stanford.edu