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

Chris Mungall cjm@fruitfly.bdgp.berkeley.edu
Thu, 5 Apr 2001 10:43:20 -0700 (PDT)


On Thu, 5 Apr 2001, Ewan Birney wrote:

> 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
>     }

I hate testing things with isa() in this way; what's wrong with:

# obviously choose a more sensible method name here:
foreach $term ($seq_feature->attached_controlled_vocab_term_list) {
  # append to gff string
}

if you don't care about GO or any kind of attachable annotations then just
return an empty list here. voila!

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

GO terms generally end up being annotated on genes but the correct place
for them is on the gene products; ideally 
 
> 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...

At the end of the day the GO terms are just specialised DBLinks so maybe
this would do for most purposes?

> > 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>. 
> -----------------------------------------------------------------
> 
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l@bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l
>