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

SBOL 2-3 converter - Sub_component (Priority 1) #240

Open
PrashantVaidyanathan opened this issue Apr 8, 2024 · 3 comments · May be fixed by #282
Open

SBOL 2-3 converter - Sub_component (Priority 1) #240

PrashantVaidyanathan opened this issue Apr 8, 2024 · 3 comments · May be fixed by #282
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@PrashantVaidyanathan
Copy link

PrashantVaidyanathan commented Apr 8, 2024

No description provided.

@PrashantVaidyanathan
Copy link
Author

@goksel @jakebeal @cjmyers @Gonza10V - @Yehuda-Binik and I were having a discussion about this and we would like to hear your thoughts on the SBOL3 to SBOL2 conversion for a SubComponent.

@Yehuda-Binik
Copy link
Collaborator

In the SBOL3 documentation, it states that "SBOL 2 Component, Module, and FunctionalComponent objects map to SBOL 3 SubComponent objects." How would one convert an SBOL 3 component object into an SBOL 2 object? What specific set of rules would there be?

@Yehuda-Binik Yehuda-Binik changed the title SBOL 2-3 converter - SubComponent (Priority 1) SBOL 2-3 converter - Sub_component (Priority 1) Sep 6, 2024
@jakebeal
Copy link
Contributor

This is going to be the most complicated one, because the SBOL3 Component may need to be split into two SBOL2 objects, both a ModuleDefinition and a ComponentDefinition.

Basically, all hasModel and hasInteraction information needs to go into a ModuleDefinition and all hasSequence and hasConstraint information needs to go into a ComponentDefinition. The features go into one or both of these, depending on which models, interactions, and constraints they participate in. Basically, it's going to be quite messy.

Fortunately, there are very few actual nature SBOL2 documents out there with ModuleDefinition objects, so mostly we just have to worry about being able to round-trip and can have difficult to understand cases go to an exception if need be. I would recommend starting by working the examples in the IWBDA 2023 notebook. If we can handle all of those, we'll be in pretty good shape for normal SBOL3 to SBOL2 conversion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
4 participants