-
Notifications
You must be signed in to change notification settings - Fork 4
Description
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 a SubComponent that is an instanceOf Component S:
- Is the topology of a C constrained by the topology of S?
- Is the topology of S as a feature of C the same as the topology of 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:
- Circular plasmid C is created by ligation of linear fragments S1, S2, ..., Sn
- Linear construct C is created by cleaving circular plasmids S1 and S2 and joining them by ligation of the 3' end of S1 to the 5' end of S2.
These examples show that it is reasonable to build a circular Component from SubComponent objects that are instanceOf linear Component objects and vice versa. This also implies that any mixture of SubComponent 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 a type field, so we cannot explicitly designate a topology for a SubComponent. 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 a SubComponent, covering the common cases in which a circular SubComponent is either used intact or is incorporated as a linear segment of a larger (possibly circular) construct.
- If a
SubComponenthas ahasLocationproperty other thanEntireSequenceor is thesubjectorobjectof aConstraintwhoserestrictionhas valueprecedes,strictlyPrecedes,meets,overlaps,finishes, orstarts, then its topology MUST be interpreted as being linear. - Otherwise, the
SubComponentMUST be interpreted as having the same topology as itsinstanceOfComponent.
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" the Component in a Component or LocalSubComponent that changes its topology to explicitly represent a modification of circularity.
Examples:
- Plasmid C is built by insertion of linear fragment S1 into circular plasmid S2, as represented by two
SubComponentelements 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. - Cell strain C is created by transformation of cell strain S1 with circular plasmid S2. The relationship is indicated by a
Constraintwithrestrictionvaluecontains,subjectS1, andobjectS2. Since this is not a linearizing constraint, S2 is still interpreted as being circular. - Examples 1 and 2 combined in a single
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 aLocalSubComponentL, representing the plasmid combining S2 and S3, to be theobjectof thecontainsConstraintwhose subject is S1. Since L has atypefield, it can be explicitly markedcircular, S2 and S3 are each included in L via acontainsConstraint. The relationship of S2 and S3 is indicated via twomeetsConstraintobjects, and S2 and S3 are then correctly interpreted as linear portions of L. - Cell strain C is created by transformation of cell strain S1 with a circularized version of linear viral genome S2. Again we include a
LocalSubComponentL, this time representing the circularized version of S2 with itscirculartype. Acontainsconstrain 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).