Skip to content

alpha release#74

Merged
Gonza10V merged 150 commits into
RudgeLab:mainfrom
MyersResearchGroup:main
Jun 22, 2026
Merged

alpha release#74
Gonza10V merged 150 commits into
RudgeLab:mainfrom
MyersResearchGroup:main

Conversation

@Gonza10V

Copy link
Copy Markdown
Collaborator

No description provided.

Gonza10V and others added 29 commits April 29, 2026 12:45
Refactor HeatShockTransformation transfer logic and add protocol generator improvements
…ssembly-protocol-script

Improve ManualAssembly markdown protocol formatting and links
…-into-subfolders

Reorganize scripts into manual/automated_ot2/libre and split simulator vs manual tests
…tion_factor param

- Change 2: use one tip for the entire LB distribution step (new_tip='never')
- Change 1: share each dilution well across all replicates; seed dilution2 before
  any agar aspirations; use a clean second tip for dilution-2 agar platings to
  prevent cross-concentration contamination; parameterise calculate_plate_layout
  with wells_per_dilution so dilution and agar plates expand independently
- Change 3: replace volume_lb_transfer with dilution_factor (default 10); derive
  volume_lb_transfer = volume_bacteria_transfer * (dilution_factor - 1); validate
  well volume sufficiency in __init__ and physical well capacity in run() via
  well.max_volume
- Add tests/test_plating.py: 32 unit tests covering init wiring, all validation
  limits, dilution_factor behaviour, param merge hierarchy, and plate layout logic
Mix volume is now derived as min(19, volume_lb_transfer + volume_bacteria_transfer - 1)
so the p20 never tries to aspirate more than is physically in the well for low
dilution factors. Adds three tests covering default, small-factor, and large-factor cases.
scripts/manual/manual_assembly_protocol.md is produced at runtime by
generate_manual_assembly_protocol.py and should not be committed.
Add scripts/manual/*.md to .gitignore so future runs don't accidentally
re-track it.
All three generate_manual_*.py scripts had default --input/--output paths
pointing to scripts/ instead of scripts/manual/ after the directory
reorganisation. Updated defaults so scripts run correctly from repo root
without arguments.

Added manual_plating_input.json and manual_transformation_input.json as
example inputs for the plating and transformation generators, mirroring
the GFP/RFP constructs already present in manual_assembly_input.json.
- ManualPlating: read replicates, number_dilutions, and volume params
  from plating_data so JSON-driven runs reflect the input file rather
  than silently falling back to constructor defaults
- ManualAssembly: remove hard-coded cycles from default Digest/Ligate
  profile entries so thermocycling_cycles actually takes effect at
  render time (the fallback logic in the renderer was already correct)
- .gitignore: add scripts/manual/*.md to cover generated protocol output
  files (this entry was edited locally but not staged in the earlier commit)
Replace the hard-coded cycle count assertion with an explicit variable
so the test documents the pass-through behaviour rather than pinning
the old default value that was removed in the previous fix.
Refactor plating protocol: single LB tip, shared dilution wells, dilu…
Generates plating_layout.json and plating_layout.xlsx during simulation,
mapping each agar well to its construct, source well, replicate, and
dilution ratio. Excel shows a visual 96-well plate grid with dilutions
color-coded within each physical plate section.
Wells beyond index 96 now spill to plate_2 instead of generating
invalid well names past column 12. Adds regression test covering
the 97-construct single-dilution case.
- Fill all missing docstrings across assembly, plating, transformation,
  sample_preparation, calibration, and utils modules
- Expand generate_protocol module docstring with full CLI flag reference,
  JSON input format examples, and copy-paste terminal workflow for all
  three protocol stages (automated + manual bench variants)
- Set up Sphinx skeleton in docs/ with sphinx-rtd-theme, autodoc, napoleon,
  and viewcode extensions; includes User Guide and API Reference sections
- Add .readthedocs.yaml for automated Read the Docs integration
- Update .gitignore to exclude docs/_build/ and Python cache files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add agar plate map outputs (JSON and Excel) to Plating protocol
Replace internal repo paths (scripts/manual/manual_*.json) with
generic filenames (assembly_input.json, transformation_spec.json,
plating_input.json) so examples reflect real user workflows rather
than pointing to specific repo directories.
Simplify input file paths in workflow docs and code snippets
…ation, and plating workflows

- Includes detailed example protocols for heat shock transformation, plating, and DNA assembly
- Adds Python implementation of each protocol with modular parameter control
- Provides metadata-driven JSON configuration files for protocol automation and testing simulation
- Includes Excel templates for visualization and input mapping
Add comprehensive JSON and Python test inputs for assembly, transform…
@Gonza10V Gonza10V merged commit 50c2418 into RudgeLab:main Jun 22, 2026
1 check passed
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.

3 participants