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

Hilmar Lapp lapp@gnf.org
Thu, 05 Apr 2001 11:16:06 -0700

Mark Wilkinson wrote:
> Chris Mungall wrote:
> > foreach $ann ($feature->annotations) {
> >   print $ann->description;
> >   printf "%s said that %s is a %s because\n",
> >     $ann->association->person,
> >     $feature->name,
> >     $ann->controlled_vocab_term->description,
> >     $ann->association->evidence_as_text;
> I guess in a sense this addresses exactly the problem that I am trying to deal
> with - that there is not much structure to the annotations in BioPerl at the
> moment.  Tag/Value is all well and good for simple things, but I am finding
> that my hands are tied when I try to apply more complex annotations to a
> Feature object.

Well, that was exactly my point. I wasn't suggesting in any way to
keep the Annotation object as it is now, but to redesign the whole
thing such that there is a consensus sort-of interface with a bunch of
simple-minded or rather sophisticated implementations each reflecting
some specific sort of annotation.

I can also easily imagine that there are other types of tree-like
annotations, not necessarily restricted to sequences, e.g. for array
data (tissue source, treatments, etc). I'd actually enjoy seeing an
Annotation object (re)design that takes steps in this direction (i.e.,
tries to abstract what can be abstracted on a reasonably low-pain

> My short-sighted solution was to stick GO directly onto the feature object, but
> I see now that this is not a good way to go.  However, The above code is
> exactly what I wanted to achieve!  If we come up with a consensus of what a
> BioPerl hierarchical-structured "generic annotation" API should look like I
> will get started.

Yeah, that's where I wanted it :-))

> I do believe, however, that (as in the code above) the annotation must be an
> attribute of the feature, with a formal method for getting to it, rather than a
> standalone thing (as Bio::Annotations are now).

Right. Annotations in a general sense I think are common enough to
stick an accessor onto the SeqFeatureI interface.

Hilmar Lapp                            email: lapp@gnf.org
GNF, San Diego, Ca. 92121              phone: +1-858-812-1757