[Biojava-l] FramedFeature interface
Matthew Pocock
mrp@sanger.ac.uk
Thu, 13 Sep 2001 14:58:33 +0100
Schreiber, Mark wrote:
> Hi -
>
> Below is a work up for a possible FramedFeature interface
>
> Any comments?
Hi Mark,
This is my take on the issues. Don't let me stop you from writing code
and trying things out. After all, I rarely use frame information. I may
be missing the point somewhere along the line.
I'm fairly convinced that the strand and reading-frame of an exon are
orthogonal properties, and should not be co-encoded with something like
+/- [0..2]. My nose tells me that the reading frame is actualy a
propperty of the alignment between a transcript and a protein. This
property is then passed though several co-ordinate transforms to project
it down onto the genome, by which time it has become this hideous number
that is differently defined by almost every standard known to man. Of
course, we may be attempting to infer the protein, or the exact extent
of the exon which makes all of this more muddy than necisary. Classical
frames are very brital to simple edits like moving the start or end of
an exon. Three of the options I see are as follows:
1) Frame can be added to it's own interface (re FramedFeature)
+ we can just slot it in
- we will need a clear definition of how to interpret this frame
- it may not play well for multiple-inheritance with things like exon
2) Frame can be added to the features that appear to need it e.g. Exon
+ minimal change to APIs
- if Frame is applicable to several different types, we can't
easily re-use the frame concept
3) Frame is moved into the HomologyFeature interface as an indication
of how the alignment between the different sequences (e.g. DNA vs
Protein) can be re-constructed.
+ more robust to minor co-ordinate changes e.g. moving the start of
an exon
+ appears to model the information more cleanly
+ can be generalised to other features with intrinsic frames, not
necisarily in the range 0-2 e.g. micro-satelite repeats
- a break with tradition
- the API must be explained realy clearly
Does any of this tally with other peoples thoughts?
M