[Biojava-l] circular sequences

Thomas Down td2@sanger.ac.uk
Sun, 28 Jan 2001 12:28:45 +0000

On Sun, Jan 28, 2001 at 09:58:08PM +1300, Mark Schreiber wrote:
> I don't mind giving it a go, I'm pretty new to biojava but keen to
> contribute. I think a will go for the circular veiw approach. Again the
> circularlocation wrapper is probably a good idea. I think it should be a
> wrapper on a StrandedFeature object as only DNA can be circular and
> 900..115 in the direct orientation is different to 900..115 in the reverse
> orientation.

Please be careful here -- there are actually four cases of a
stranded (directional) feature between those two positions:

  - 115-900, with the feature running clockwise round the circle
             (let's call this plus)
  - 115-900, minus.  If we're extending the current feature, this
    has the same Location property as the case above -- it just
    differs in the Strand property.

  - 900-115, plus (i.e. the part of the circle which wasn't
    covered by the above locations).
  - 900-115, minus.

It's also possible to have non-stranded features on a circle (say,
AT-rich tracts).  Here, there are just the two cases, 115-900
and 900-115.

The neatest way to handle this is to keep the features exactly
the same, and just have special location objects which understand
that they're on a circle, and that 115-900 is completely different
from 900-115.

Am I making sense here?

Good luck if you do want to have a go at an implementation -- it
would be great to have this in the project,