[Bioperl-l] GO annotatinos in BioPerl. A tentative proposal...

Ewan Birney birney@ebi.ac.uk
Thu, 5 Apr 2001 17:18:08 +0100 (BST)


On Thu, 5 Apr 2001, Mark Wilkinson wrote:

> Hi All,
> 
> 
> What I propose to do is to create a new method of Feature objects,
> $Feature->GO, which would set/return the GO annotation object associated
> with that feature.  I would also modify the ->to_gff_string call such
> that it checked for the presence of a GO annotation and dumped that
> information into the GFF attributes field along with the other tag/value
> information.

My approach would be this  (this is the "mix-in" type approach)

   Define an interface called

       Bio::GOContainerI
          defines method ->each_GO();  # feel free to chose your own
method.


The ->to_gff_string can test 

    if( $seqfeature->isa('Bio::GOContainerI') ) {
         # yadda yadda
    }

Now make perhaps ::Gene object inheriet from Bio::GOContainerI as well as
from Bio::SeqFeatureI. 


Eh voila - GO annotation on genes, automatically recognised by
to_gff_string, but does not enforce every feature to "have" GO related
methods.


This is the pattern I have used in Bio::DBLinkContainerI as well...






> 
> Is there anyone out there who would discourage this, or who might have a
> better idea of how to approach this problem?  It seems to me that GO is
> eventually going to be the standard to which we are all annotating, so I
> think it is a good time to start making BioPerl features more
> GO-friendly...  or?
> 
> All opinions welcome!
> 
> Cheers all!
> 
> Mark
> 
> 
> --
> ---
> Dr. Mark Wilkinson
> Bioinformatics Group
> National Research Council of Canada
> Plant Biotechnology Institute
> 110 Gymnasium Place
> Saskatoon, SK
> Canada
> 
> 
> 
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l@bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l
> 

-----------------------------------------------------------------
Ewan Birney. Mobile: +44 (0)7970 151230, Work: +44 1223 494420
<birney@ebi.ac.uk>. 
-----------------------------------------------------------------