Open reece opened 5 years ago
As discussed in #113, we won't support circular sequences as a schema property.
Instead, we will add support for callers to request that a sequence is interpreted as circular.. Possible features:
circular=False
to fetch method (i.e., ~fabgz.py:62). By default, no change in behavior. If circular=True
, allow end < start and handle cross-origin sequence fetches.Seqrepo(..., circular_fn=None). circular_fn maps accessions → circular flag. If None, no change to current behavior (and same as False). Could also be
True(or
lambda (ac): True`), then effectively end < start isn't an error and good luck. The challenge with this is that fetch is a sequence-level function, irrespective of alias. It's possible that we can implement this as part of the SequenceProxy (but I'm unsure).This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days.
This issue was closed because it has been stalled for 7 days with no activity.
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 7 days.
Seqrepo does not currently provide special support for circular sequences. It should.
The easier implementation is with a boolean that assumes the origin at interbase position 0. An alternative is to support arbitrary origin locations by storing the origin position. For linear sequences, the value is unset. All coordinate computations would need to be modified to circularly permute based on this origin.