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

Hilmar Lapp hilmarl@yahoo.com
Thu, 05 Apr 2001 09:27:01 -0700

Mark Wilkinson wrote:
> 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.
> 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?

It may or may not become a standard. $feature->go() would mean
putting it into the SeqFeatureI interface, which IMHO is too
vendor-heavy (if you look at GO at a provider of some service,
similar to databanks). I'd rather like to see this a little bit
abstracted, if it is possible without too much pain. We can
redesign the whole Annotation scheme. What I can see as for what
could make sense is

- Bio::AnnotationI as a minimum interface any sort of annotation
has to implement; this interface should provide for methods at
least sufficient to dump out the thing to GFF.
- Bio::Annotation::* to contain various implementations of that
interface tailored to specific types of annotation, with
- Bio::Annotation::GO being the one that represents a GO
- Bio::SeqFeatureI gets a method annotation() returning a
Bio::AnnotationI implementing object.

Right now, there is no AnnotationI interface, and classes in
Bio::Annotation are additions to an annotation object, not

Hilmar Lapp                              email: hilmarl@yahoo.com
GNF, San Diego, Ca. 92122                phone: +1 858 812 1757