Skip to content

Refactor HeatShockTransformation transfer logic and add protocol generator improvements#7

Open
Aaron1776 wants to merge 2 commits intomainfrom
json_Oscar
Open

Refactor HeatShockTransformation transfer logic and add protocol generator improvements#7
Aaron1776 wants to merge 2 commits intomainfrom
json_Oscar

Conversation

@Aaron1776
Copy link
Collaborator

transformation.py:

  • Introduce self.plasmid_name_to_wells (name → [well_obj, ...]) populated at load time, replacing all positional/enumeration-based DNA well lookups
  • Introduce self.location_replicates derived from plasmid_locations, unifying 96-well plate and temp module code paths into a single loop structure
  • Rewrite _transfer_competent_cells with sequential well_index counter and per-chassis chassis_reaction_count dict for correct tube selection across multiple chassis types
  • Rewrite _transfer_DNA as a unified single method with no plate/temp module branching; uses self.transformations as ground truth throughout
  • _load_dna_into_dna_plate / _load_dna_into_temp_module now populate plasmid_name_to_wells instead of returning DNA_wells
  • _load_reagents_96plate / _load_reagents_temp_module return 2-tuple; _validate_protocol accounts for location_replicates in reaction counts
  • Add strain as first entry in dict_of_parts_in_thermocycler per well
  • Rewrite Transformation base class docstring to match current parameters; add comprehensive HeatShockTransformation docstring for all subclass params

generate_protocol.py:

  • Add generate_param_reference() to append a commented parameter table and full docstrings to every generated protocol for last-minute editing
  • Add --plasmid-locations CLI flag and plasmid_locations support throughout
  • Raise line-length threshold from 80 to 100 for single-line list formatting
  • Improve transformation protocol auto-detection for bare list format

assembly.py:

  • Initialize self.product_uri_to_wells = {}

Aaron1776 and others added 2 commits March 4, 2026 23:34
…rator improvements

transformation.py:
- Introduce self.plasmid_name_to_wells (name → [well_obj, ...]) populated at
  load time, replacing all positional/enumeration-based DNA well lookups
- Introduce self.location_replicates derived from plasmid_locations, unifying
  96-well plate and temp module code paths into a single loop structure
- Rewrite _transfer_competent_cells with sequential well_index counter and
  per-chassis chassis_reaction_count dict for correct tube selection across
  multiple chassis types
- Rewrite _transfer_DNA as a unified single method with no plate/temp module
  branching; uses self.transformations as ground truth throughout
- _load_dna_into_dna_plate / _load_dna_into_temp_module now populate
  plasmid_name_to_wells instead of returning DNA_wells
- _load_reagents_96plate / _load_reagents_temp_module return 2-tuple;
  _validate_protocol accounts for location_replicates in reaction counts
- Add strain as first entry in dict_of_parts_in_thermocycler per well
- Rewrite Transformation base class docstring to match current parameters;
  add comprehensive HeatShockTransformation docstring for all subclass params

generate_protocol.py:
- Add generate_param_reference() to append a commented parameter table and
  full docstrings to every generated protocol for last-minute editing
- Add --plasmid-locations CLI flag and plasmid_locations support throughout
- Raise line-length threshold from 80 to 100 for single-line list formatting
- Improve transformation protocol auto-detection for bare list format

assembly.py:
- Initialize self.product_uri_to_wells = {}

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…ta` format and inlined advanced parameters for improved clarity and consistency.
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.

1 participant