Open jakebeal opened 2 years ago
I don't think an SEP is needed for this. I think these clarifications can be simply included in the specification or a future best practice document.
On re-reading, I believe this should be handled as a best-practices examples document on "topology of components"
Per discussion at HARMONY 2022, there seems to be general agreement on this interpretation, and that it should be presented via an examples document.
I've come across an issue in our topological representation that I think needs clarification: how should we interpret topology type (circular vs. linear) with regards to a
SubComponent
?More specifically, given a
Component
C with aSubComponent
that is aninstanceOf
Component
S:My proposed answers:
Is the topology of a C constrained by the topology of S?**
I believe the answer to this question NO. Consider the following examples:
These examples show that it is reasonable to build a circular
Component
fromSubComponent
objects that areinstanceOf
linearComponent
objects and vice versa. This also implies that any mixture ofSubComponent
topologies should be able to produce either topology.Is the topology of S as a feature of C the same as the topology of S?
SubComponent
does not have atype
field, so we cannot explicitly designate a topology for aSubComponent
. I continue to believe this choice is correct, since it means one make nonsensical type changes things like declaring that a piece of DNA is protein in context.This means that the effective topology of a
SubComponent
as a feature has to be inferred. Accordingly, I would propose the following rule for interpretation of the topology of aSubComponent
, covering the common cases in which a circularSubComponent
is either used intact or is incorporated as a linear segment of a larger (possibly circular) construct.SubComponent
has ahasLocation
property other thanEntireSequence
or is thesubject
orobject
of aConstraint
whoserestriction
has valueprecedes
,strictlyPrecedes
,meets
,overlaps
,finishes
, orstarts
, then its topology MUST be interpreted as being linear.SubComponent
MUST be interpreted as having the same topology as itsinstanceOf
Component
.The only case this interpretation does not cover is that of a
Component
whose topology is changed without being combined with any other component. This case SHOULD be handled by "wrapping" theComponent
in aComponent
orLocalSubComponent
that changes its topology to explicitly represent a modification of circularity.Examples:
SubComponent
elements with appropriate locations on C's sequence. In this case, S2 is circular and C is circular but the S2 portion of C is linear.Constraint
withrestriction
valuecontains
,subject
S1, andobject
S2. Since this is not a linearizing constraint, S2 is still interpreted as being circular.Component
: cell strain C is created by transformation of cell strain S1 with a plasmid created by insertion of linear fragment S2 into circular plasmid S3. In this case, in order to represent the transformation, we need aLocalSubComponent
L, representing the plasmid combining S2 and S3, to be theobject
of thecontains
Constraint
whose subject is S1. Since L has atype
field, it can be explicitly markedcircular
, S2 and S3 are each included in L via acontains
Constraint
. The relationship of S2 and S3 is indicated via twomeets
Constraint
objects, and S2 and S3 are then correctly interpreted as linear portions of L.LocalSubComponent
L, this time representing the circularized version of S2 with itscircular
type. Acontains
constrain is used to include S2 in L. S2 is still interpreted as linear, since this is the topology of theComponent
, but it is a linear portion of a circular construct (which happens to not contain anything else besides S2).