[Biocorba-l] Annotations
Juha Muilu
muilu@ebi.ac.uk
Tue, 05 Jun 2001 10:27:31 +0100
Thanks Thomas for explaining the bioJava's annotations!
Thomas Down wrote:
>
> Ewan Birney wrote:
>
> >
> >
> >
> > - We need an explicit extension of SeqFeature which has-a annotation.
> >
> > (or mix-in of SeqFeature and Annotation? Hmmmm)
> >
> > - most sequence features (>95%) *do not* have annotations in real
> >life (believe me, i know) but certain ones have heavy annotation (eg
> >Genes).
> >
> I've been watching this with interest. I'm not really competant to talk
> about BioPerl,
> but here's a view of how we do this in BioJava, which might make an
> interesting extra
> data point. We handle this using a lightweight Annotatable interface.
> This just has one method:
>
> public interface Annotatable {
> public Annotation getAnnotation();
> }
I took that idea from you :-) What messes things here is that in the
Annotation is basically name value pair in the BSA and in bioJava it is
container of name value pairs. In the BSANE 0.3 the AnnotationHolder is
close to your Annotation.
Perhaps we should rename these entities. Already lot has changed from
the BSA spec. I will send the IDL definitions of current annotations in
next email so that people can give comments.
>
> Annotatable gets re-used in various places. For our purposes, the two
> imporatant cases
> are Sequence and Feature (equivalent to Bioperl SeqFeature), which both
> implement
> Annotatable.
Same. But I inherit the Annotatable already in the (BSA) Annotation
(which is super class of SeqFeature), which was a mistake.
>
> Annotation objects encapsulate key-value mappings. There are a couple of
> general-purpose implementations, or you can write your own (imposing
> whatever
> constraints you want). There's also a singleton object,
> Annotation.EMTPY_ANNOTATION.
>
> I'd definitely agree with Ewan about needing to make Features quite
> lightweight.
> If you don't need the annotation mechanism, you can just create a
> feature with the
> empty Annotation. If you're doing custom Feature implementations (the
> biojava-ensembl
> bridge has these, for instance) you can even go for the
> ultra-lightweight solution:
>
> public Annotation getAnnotation() {
> return Annotation.EMTPY_ANNOTATION;
> }
>
> This has been working pretty well for us so far, but I don't know how it
> would
> scale for Corba-over-a-network.
We can achieve this in CORBA as well. Having methods in interfaces
should not make entities any fatter. The additional code segment is
shared by all instances (please let me know if I am wrong. I will jump
out of the window)
It is matter of implementation how fat or light weight the server
instances become. Perhaps getAnnotation can just return null or generate
empty Annotation/AnnotationHolder on fly (so that we do not have even to
store references into a instance), if annotations are not needed of
course.
Or do people mean by the "light weightness" something else than just
memory usage?
>
> The big future issue for this is that we're starting to think about
> having slightly
> more formalized Annotations, where you have some overview of what keys
> to expect in an Annotation associated with a particular kind of feature.
> In the
Cool and very useful. Should the Annotation/AnnotationHolder interface
give this information ?
> last couple of weeks, I've been looking at RDF Schema and DAML as mechanisms
> which could be used to define annotation schemas. This ought to retrofit
> quite cleanly on top of the current Annotatable/Annotation API.
Martin could you comment this. How the constrained vocabulary
server/Candy etc. fit on this?
>
> Thomas
>
> _______________________________________________
> Biocorba-l mailing list
> Biocorba-l@biocorba.org
> http://www.biocorba.org/mailman/listinfo/biocorba-l
--
+--------------------------------------------------------------------+
|Juha Muilu, Ph.D., EMBL Outstation| Email: muilu@ebi.ac.uk |
|European Bioinformatics Institute | Phone: +44 (0)1223 494 624 |
|Wellcome Trust Genome Campus | Fax: +44 (0)1223 494 468 |
|Hinxton, Cambridge CB10 1SD, UK | http://industry.ebi.ac.uk/~muilu|
+--------------------------------------------------------------------+
--
+--------------------------------------------------------------------+
|Juha Muilu, Ph.D., EMBL Outstation| Email: muilu@ebi.ac.uk |
|European Bioinformatics Institute | Phone: +44 (0)1223 494 624 |
|Wellcome Trust Genome Campus | Fax: +44 (0)1223 494 468 |
|Hinxton, Cambridge CB10 1SD, UK | http://industry.ebi.ac.uk/~muilu|
+--------------------------------------------------------------------+