The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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