Skip to content

Level 2 assembly, transformation, and test suite#102

Open
doublergreer wants to merge 47 commits into
mainfrom
assembly_lvl2
Open

Level 2 assembly, transformation, and test suite#102
doublergreer wants to merge 47 commits into
mainfrom
assembly_lvl2

Conversation

@doublergreer
Copy link
Copy Markdown
Collaborator

closes #29, #38, #39, #41, #42, #46, #47

@doublergreer doublergreer requested a review from Gonza10V May 18, 2026 18:50
@Gonza10V
Copy link
Copy Markdown
Contributor

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment on lines 284 to 288
backbone,
bsaI_impl,
ligase_impl,
self.bsaI_impl,
self.T4_ligase_impl,
self.sbol_doc,
)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 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(),
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

level 2 moclo support

2 participants