Level 2 assembly, transformation, and test suite#102
Conversation
…-scar-bb representation
…ns within digestion
…Id:backbone in multi-design assemblylvl1
…bone match + composite numbering adjustment
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2237123595
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| backbone, | ||
| bsaI_impl, | ||
| ligase_impl, | ||
| self.bsaI_impl, | ||
| self.T4_ligase_impl, | ||
| self.sbol_doc, | ||
| ) |
There was a problem hiding this comment.
Update domestication Assembly call to new constructor/attr names
This Assembly(...) call still uses self.bsaI_impl and the old argument shape, but the class now stores self.BsaI_impl and requires both source_document and final_document. As written, domesticate_parts will fail at runtime (missing attribute or wrong arity) the first time this path is exercised, so domestication cannot complete.
Useful? React with 👍 / 👎.
| self, | ||
| abstract_designs: List[sbol2.ComponentDefinition] | ||
| | sbol2.CombinatorialDerivation, | ||
| final_doc: sbol2.Document = sbol2.Document(), |
There was a problem hiding this comment.
Replace shared default SBOL document in assembly_lvl1
Using sbol2.Document() as a default parameter creates one shared document instance across all calls, so repeated assembly_lvl1(...) invocations without an explicit final_doc will leak state between runs and can produce duplicate-URI collisions or contaminated outputs. This should default to None and allocate a fresh document inside the method.
Useful? React with 👍 / 👎.
| Returns: | ||
| A list of TU component definitions in sequential order. | ||
| """ | ||
| top_design = design_doc.componentDefinitions[0] |
There was a problem hiding this comment.
Resolve the actual top-level design before extracting L2 TUs
Selecting design_doc.componentDefinitions[0] assumes the first definition is the top-level construct, which is not guaranteed in SBOL documents containing many leaf parts. In those cases, TU extraction can silently target the wrong definition (often yielding empty/incorrect TU lists), causing level-2 assembly to fail or build the wrong design.
Useful? React with 👍 / 👎.
closes #29, #38, #39, #41, #42, #46, #47