SynBioDex / SBOL-examples

A repository to share/discuss/ask/propose how to represent examples using SBOL and SBOLVisual.
Apache License 2.0
3 stars 4 forks source link

Topology and SubComponents #14

Open jakebeal opened 2 years ago

jakebeal commented 2 years ago

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:

  1. Is the topology of a C constrained by the topology of S?
  2. 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:

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.

  1. If a SubComponent has a hasLocation property other than EntireSequence or is the subject or object of a Constraint whose restriction has value precedes, strictlyPrecedes, meets, overlaps, finishes, or starts, then its topology MUST be interpreted as being linear.
  2. Otherwise, the SubComponent MUST be interpreted as having the same topology as its instanceOf 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" the Component in a Component or LocalSubComponent that changes its topology to explicitly represent a modification of circularity.

Examples:

  1. Plasmid C is built by insertion of linear fragment S1 into circular plasmid S2, as represented by two 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.
  2. Cell strain C is created by transformation of cell strain S1 with circular plasmid S2. The relationship is indicated by a Constraint with restriction value contains, subject S1, and object S2. Since this is not a linearizing constraint, S2 is still interpreted as being circular.
  3. 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 a LocalSubComponent L, representing the plasmid combining S2 and S3, to be the object of the contains Constraint whose subject is S1. Since L has a type field, it can be explicitly marked circular, S2 and S3 are each included in L via a contains Constraint. The relationship of S2 and S3 is indicated via two meets Constraint objects, and S2 and S3 are then correctly interpreted as linear portions of L.
  4. Cell strain C is created by transformation of cell strain S1 with a circularized version of linear viral genome S2. Again we include a LocalSubComponent L, this time representing the circularized version of S2 with its circular type. A contains constrain is used to include S2 in L. S2 is still interpreted as linear, since this is the topology of the Component, but it is a linear portion of a circular construct (which happens to not contain anything else besides S2).
cjmyers commented 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.

jakebeal commented 2 years ago

On re-reading, I believe this should be handled as a best-practices examples document on "topology of components"

jakebeal commented 2 years ago

Per discussion at HARMONY 2022, there seems to be general agreement on this interpretation, and that it should be presented via an examples document.