full build workflow and demonstration#106
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: adfa3767b7
ℹ️ 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".
| overwrite: bool, | ||
| ) -> list[Any]: | ||
| try: | ||
| products = list(self.domestication(parts)) |
There was a problem hiding this comment.
Index domesticated products before retrying assembly
When full_build uses the recovery path for a failed level-1 assembly, this call generates domesticated plasmids but only keeps the returned ComponentDefinitions. The subsequent retry in _attempt_lvl1_then_domesticate still calls _run_one_lvl1_design, whose _construct_plasmid_dict searches only self.indexed_plasmids, so the newly domesticated part is invisible and recovery fails even though domestication succeeded. Index or wrap the returned domestication products as plasmid routes before retrying assembly.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
@codex good catch, plasmids have to be reindexed as they are created on the workflow so they are ready to use for new attempts of assembly. Please fix the described issue.
There was a problem hiding this comment.
Summary
- Updated the domestication recovery flow so domestication products are indexed immediately before transformation/plating and before any subsequent level-1 assembly retry. src/buildcompiler/buildcompiler.pyL1466-L1486
- Added
_index_domestication_productsto handle both SBOLComponentDefinitionoutputs and already-wrappedPlasmidroutes while avoiding duplicate indexed plasmids. src/buildcompiler/buildcompiler.pyL1489-L1500 - Added regression tests covering domestication product indexing and duplicate-safe plasmid route indexing. tests/test_full_build.pyL122-L158
Testing
- ✅
python -m pytest tests/test_full_build.py tests/integration/test_missing_lvl1_then_domestication.py -q - ✅
python -m pytest -q
Committed changes:
a352cbb—Index domesticated plasmids before assembly retry
Created PR:
Index domesticated plasmids before retrying assembly
| transformations_to_pudu_json( | ||
| strain_identities=strain_ids, | ||
| chassis_identities=[chassis for _ in strain_ids], | ||
| plasmid_sets=[products for _ in strain_ids], |
There was a problem hiding this comment.
Pair each transformed strain with its own plasmid
When a transformation batch contains multiple products, strain_ids has one entry per transformed strain but plasmid_sets=[products for _ in strain_ids] attaches the entire product list to every strain. This makes transformation_pudu_input.json instruct PUDU to transform each strain with all products instead of the corresponding single plasmid, producing invalid protocols for multi-product level-1/combinatorial builds. Build one plasmid set per product/strain pair instead.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
@codex good catch, please solve this issue.
There was a problem hiding this comment.
Summary
- Updated full-build PUDU transformation artifact generation so each transformed strain is paired with its corresponding single plasmid product when product and strain counts match. src/buildcompiler/buildcompiler.pyL1723-L1730
- Added
_plasmid_sets_for_transformed_strainsto preserve the prior fallback behavior for mismatched counts while fixing the one-product-per-strain path. src/buildcompiler/buildcompiler.pyL1781-L1787 - Added a regression test that verifies multi-product transformation JSON writes one plasmid per transformed strain instead of all products for every strain. tests/test_full_build.pyL226-L272
Testing
- ✅
python -m pytest tests/test_full_build.py -q - ✅
git diff --check - ✅
python -m pytest -q
Committed changes:
7629793—Pair transformed strains with individual plasmids
Created PR:
Pair transformed strains with their plasmids
…x-ci-test-failures Format Pudu transformation JSON test
No description provided.