Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Topology and SubComponents #14

Open
jakebeal opened this issue Jan 6, 2022 · 3 comments
Open

Topology and SubComponents #14

jakebeal opened this issue Jan 6, 2022 · 3 comments
Labels
enhancement New feature or request

Comments

@jakebeal
Copy link
Contributor

jakebeal commented Jan 6, 2022

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:

  • 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.

  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).
@jakebeal jakebeal added the enhancement New feature or request label Jan 6, 2022
@cjmyers
Copy link
Contributor

cjmyers commented Jan 6, 2022

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
Copy link
Contributor Author

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

@jakebeal
Copy link
Contributor Author

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

@LukasBuecherl LukasBuecherl transferred this issue from SynBioDex/SBOL-specification Oct 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants