Week 3 HW: Lab Automation

1

Python Script for Opentrons Artwork

I have played around the colab and adjusted some parameters in the examples. Here is an interesting one I liked:

For my individual assignment, I decided to create a pattern of a typical fruit Lychee from my hometown. I chose the sketch below as a base, and then generated the coordinates with the help of automation art interface.

After running the code in the colab notebook, I got the following image:

2

Post-Lab Questions

1. Find and describe a published paper that utilizes the Opentrons or an automation tool to achieve novel biological applications.

In “AssemblyTron: flexible automation of DNA assembly with Opentrons OT-2 lab robots”,the authors demonstrate a published, peer-reviewed example of leveraging the Opentrons OT-2 open-source liquid-handling robot to enable a novel, scalable workflow for synthetic biology. They introduce AssemblyTron, a flexible automation framework that programmatically executes routine yet error-prone steps of DNA assembly—including reaction setup, multi-part mixing, and plate-based transfers—thereby converting manual bench protocols into reproducible, high-throughput robotic procedures. The novelty is not merely automating pipetting, but packaging DNA construction as a modular, reusable pipeline that lowers the barrier to running DBTL (Design–Build–Test–Learn) cycles at scale. By increasing throughput and consistency while reducing human variability, AssemblyTron enables faster iteration across many genetic construct variants, accelerating biological design space exploration and optimization—an example of how lab automation can directly advance modern biological engineering.

2. Write a description about what you intend to do with automation tools for your final project.

I will use the Opentrons OT-2 liquid-handling robot to accelerate the Build and Test phases of a DBTL workflow for my final project. My project aims to clone a cellulose-supporting enzyme coding sequence into an E. coli plasmid (for construct building and amplification), then transfer validated constructs into a cellulose-producing bacterium to test whether cellulose/SCOBY formation is faster or yields more material.

With OT-2, I will automate repetitive, error-prone liquid handling steps that otherwise slow down iteration: (1) parallel setup of DNA assembly reactions across multiple construct variants (e.g., different promoter/RBS strengths), (2) high-throughput preparation of colony PCR / verification reactions to screen many clones consistently, and (3) plate-based preparation of production tests by dispensing media and generating controlled condition gradients (e.g., carbon-source levels and buffering conditions) across wells. This automation will allow me to evaluate multiple genotypes and culture conditions in parallel with improved reproducibility, turning my project from a single-shot cloning attempt into a scalable screening pipeline.

  
# ------------------------------------------------------------
# Goal: Use OT-2 to automate a 24-well screening experiment:
#       (construct variants) × (culture conditions) in parallel
#       for cellulose/SCOBY pellicle formation.
# ------------------------------------------------------------

# 1) Define what you want to compare
constructs = [
    "enzyme_high_expression",     # plasmid variant A
    "enzyme_medium_expression",   # plasmid variant B
    "empty_vector_control"        # negative control
]

conditions = [
    {"carbon_level": "low",  "buffer": "A"},
    {"carbon_level": "mid",  "buffer": "A"},
    {"carbon_level": "high", "buffer": "A"},
    {"carbon_level": "low",  "buffer": "B"},
    {"carbon_level": "mid",  "buffer": "B"},
    {"carbon_level": "high", "buffer": "B"},
]

replicates = 2  # number of repeats per (construct × condition)

# 2) Build a 24-well plate layout (a "plate map")
#    plate_map maps each well -> {construct, condition, replicate}
plate_map = create_24well_map(constructs, conditions, replicates)

# 3) OT-2 deck setup (conceptual)
ot2.load_labware("24_well_plate", slot=1)
ot2.load_labware("reservoir_for_media_and_stocks", slot=2)
ot2.load_tip_racks(slots=[3, 6])

# 4) Prepare each well with standardized media + condition gradients
for well, meta in plate_map.items():
    ot2.dispense(source="base_media", dest=well)  # same base in every well

    # add carbon source stock according to condition (low/mid/high)
    ot2.add(source=f"carbon_stock_{meta['condition']['carbon_level']}",
            dest=well)

    # add buffer stock according to condition (A or B)
    ot2.add(source=f"buffer_{meta['condition']['buffer']}",
            dest=well)

    ot2.mix(well)

# 5) Inoculation step (choose one practical option)
# Option A (common): you inoculate manually after OT-2 prepares the plate.
# Option B: OT-2 inoculates if you provide cultures in tubes/reservoir wells.
for well, meta in plate_map.items():
    ot2.add(source=f"culture_{meta['construct']}", dest=well)
    ot2.mix(well)

# 6) Sampling transfer to an assay plate at defined time points
timepoints = ["Day3", "Day5", "Day7"]
ot2.load_labware("96_well_assay_plate", slot=4)

for t in timepoints:
    for well in plate_map:
        ot2.transfer(source=well, dest=get_assay_well(well, t),
                     what="supernatant_sample")

# 7) Export the experiment map so results stay traceable
export_json(plate_map, "24well_experiment_map.json")
export_csv_template(plate_map, "cellulose_screen_results.csv") 
  

This pseudocode describes a practical OT-2 workflow using a 24-well plate to screen cellulose/SCOBY formation across multiple plasmid constructs and culture conditions in parallel. First, it defines the construct variants (e.g., high expression, medium expression, and an empty-vector control) and a small set of environmental conditions (e.g., carbon-source levels and buffer types). It then generates a 24-well plate map so every well is traceable to a specific construct–condition–replicate combination. The OT-2 automates repetitive liquid handling by dispensing base media, adding condition “stocks” to create controlled gradients, mixing each well consistently, and optionally inoculating cultures. Finally, at scheduled time points, the OT-2 transfers standardized aliquots (e.g., supernatant samples) into an assay plate for measurements and exports the plate map so that downstream cellulose readouts (pellicle dry mass/thickness and basic chemistry measurements) can be linked back to the exact construct and condition.