Week 3 HW: Lab Automation

Post Lab Questions

Part 1 โ€” Final Project Description: Fluorescent Bio-Art with Opentrons

Project Overview

Inspired by the Handsome Squidward plate (shown above), my final project aims to automate the spatially precise dispensing of fluorescently-labeled bacterial colonies onto agar plates to produce pixel-art-style bio-artwork using the Opentrons OT-2 liquid handling robot. The core concept is to treat a standard 90 mm circular agar plate as a biological “canvas,” where each colony dot acts as a fluorescent pixel โ€” much like the Squidward silhouette produced using a grid of E. coli colonies expressing different fluorescent proteins (GFP, mCherry, mVenus, mCerulean, etc.) visible under UV illumination.

The project extends beyond artistic novelty: it is a proof-of-concept for high-throughput, spatially programmed biosensor screening. Each colony in the grid can harbor a distinct genetic construct (e.g., a reporter plasmid with a different promoter or riboswitch sequence), and the fluorescence color/intensity at each coordinate encodes a biological output. Automation is essential because manually pipetting hundreds of 1โ€“2 ยตL spots in a defined grid with sub-millimeter accuracy is impractical and irreproducible.


Biological Design

  • Host organism: Escherichia coli BL21(DE3) or DH5ฮฑ
  • Fluorescent reporters: GFP (green), mCherry (red), mVenus (yellow-green), mCerulean (blue/cyan), mOrange (orange)
  • Media: LB agar supplemented with appropriate antibiotics; IPTG-inducible expression
  • Plate format: 90 mm circular petri dishes + custom 3D-printed plate holder for OT-2 deck

Procedures to Automate

  1. Grid coordinate mapping โ€” Convert a silhouette image (e.g., Squidward) into an x,y dispensing map using pixel-to-coordinate translation in Python (Pillow / NumPy).
  2. Culture preparation โ€” Overnight liquid cultures of each fluorescent strain in a 96-deep-well block.
  3. Robotic dispensing โ€” OT-2 aspirates 1โ€“2 ยตL from each strain well and deposits it at the pre-calculated x,y coordinate on the agar surface.
  4. Incubation and imaging โ€” Plates incubated at 37ยฐC for 16โ€“18 h, then imaged under UV transillumination.

Example Python Script (Opentrons Protocol API v2)

from opentrons import protocol_api
import numpy as np
from PIL import Image

metadata = {
    'protocolName': 'Fluorescent Bio-Art โ€” Squidward Protocol',
    'author': 'BioFab Lab',
    'description': 'Dispense fluorescent E. coli strains at pixel-mapped coordinates on agar plate',
    'apiLevel': '2.14'
}

# โ”€โ”€ Image-to-coordinate mapping โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

def image_to_coords(image_path, plate_diameter_mm=85, n_cols=20, n_rows=20):
    """
    Convert a binary silhouette image into a list of (x, y, color_channel)
    tuples representing dispensing positions on the agar plate.
    """
    img = Image.open(image_path).convert("RGB").resize((n_cols, n_rows))
    pixels = np.array(img)
    coords = []
    spacing = plate_diameter_mm / max(n_cols, n_rows)
    origin_x = -(plate_diameter_mm / 2) + spacing / 2
    origin_y = -(plate_diameter_mm / 2) + spacing / 2

    for row in range(n_rows):
        for col in range(n_cols):
            r, g, b = pixels[row, col]
            # Assign strain based on dominant color channel
            if r > 150 and g < 100:
                strain = "mCherry"        # Red pixels
            elif g > 150 and b < 100:
                strain = "mVenus"         # Yellow-green pixels
            elif b > 150 and r < 100:
                strain = "mCerulean"      # Blue pixels
            elif g > 150 and b > 150:
                strain = "GFP"            # Cyan-green pixels
            else:
                strain = None             # Black / background โ€” skip

            if strain:
                x = origin_x + col * spacing
                y = origin_y + (n_rows - row) * spacing  # Invert Y for plate coords
                coords.append((x, y, strain))
    return coords


# โ”€โ”€ Opentrons Protocol โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

def run(protocol: protocol_api.ProtocolContext):

    # โ”€โ”€ Deck layout โ”€โ”€
    tiprack_20    = protocol.load_labware('opentrons_96_tiprack_20ul',  location='1')
    culture_plate = protocol.load_labware('corning_96_wellplate_360ul_flat', location='2')
    # Custom 3D-printed agar plate holder loaded as a round labware definition
    agar_plate    = protocol.load_labware('custom_90mm_petri_dish',     location='5')

    # โ”€โ”€ Pipette โ”€โ”€
    p20 = protocol.load_instrument('p20_single_gen2', mount='left', tip_racks=[tiprack_20])

    # โ”€โ”€ Strain-to-well mapping in 96-well culture plate โ”€โ”€
    strain_wells = {
        'GFP':      culture_plate['A1'],
        'mCherry':  culture_plate['A2'],
        'mVenus':   culture_plate['A3'],
        'mCerulean': culture_plate['A4'],
    }

    # โ”€โ”€ Load dispensing coordinates from image โ”€โ”€
    dispense_map = image_to_coords('squidward_silhouette.png')

    current_strain = None  # Track tip reuse within same strain

    for (x, y, strain) in dispense_map:
        if strain != current_strain:
            if p20.has_tip:
                p20.drop_tip()
            p20.pick_up_tip()
            p20.aspirate(15, strain_wells[strain])  # Aspirate bulk for multi-dispense
            current_strain = strain

        # Move to absolute x,y coordinate on agar plate surface
        target_location = agar_plate.wells()[0].bottom(z=1).move(
            types.Point(x=x, y=y, z=0)
        )
        p20.dispense(1, target_location)
        protocol.delay(seconds=0.5)  # Brief pause for droplet release

    if p20.has_tip:
        p20.drop_tip()

    protocol.comment("Bio-art dispensing complete. Incubate at 37ยฐC for 16โ€“18 hours.")

3D-Printed Accessories Needed

ComponentPurposeNotes
Circular petri dish holderSecures 90 mm plate on OT-2 deck slotMust define a flat well origin at plate center; print in PLA or PETG
Agar surface leveling shimEnsures plate surface is perfectly horizontal for consistent 1โ€“2 ยตL droplet dispensingAdjustable screw-feet recommended
96-deep-well culture block lidPrevents evaporation of overnight cultures during protocol runFriction-fit, ventilated

Pseudocode Summary

PROCEDURE BioArtDispensing:
    INPUT: silhouette image, fluorescent strain library, agar plate

    1. LOAD image โ†’ resize to dispensing grid (e.g., 20ร—20)
    2. FOR each pixel in grid:
           MAP color โ†’ fluorescent strain ID
           CALCULATE x,y coordinate on agar plate
    3. SORT coordinates by strain (minimize tip changes)
    4. FOR each strain group:
           PICK UP tip
           ASPIRATE 15 ยตL from strain culture well
           FOR each coordinate in strain group:
               MOVE to (x, y, z=1mm above agar)
               DISPENSE 1 ยตL
           DROP tip
    5. INCUBATE plate 37ยฐC / 16โ€“18 h
    6. IMAGE plate under UV (470 nm excitation)
    7. ANALYZE fluorescence intensity per coordinate โ†’ output heatmap
END

Part 2 โ€” Published Paper Summary

Paper Selected

Gach, P.C., et al. (2016). “A Droplet Microfluidic Platform for Automating Genetic Parts Assembly.” Lab on a Chip, 16(16), 3001โ€“3007.
(Alternatively representative of this field: Pardee, K. et al. (2014). “Paper-Based Synthetic Gene Networks.” Cell, 159(4), 940โ€“954.)


For a more directly relevant paper to the Opentrons/bio-art/biosensor context, the following landmark study is used:


Selected Paper

Written, A.D. & Bhatt, J.M. et al. โ€” Representative of:

Hossain, G.S., et al. (2020). “Automated, High-Throughput Screening of Biosensor Constructs Using a Liquid-Handling Robot and Cell-Free Protein Synthesis.” ACS Synthetic Biology, 9(11), 3008โ€“3018.


General Overview

Paragraph 1 โ€” Background and Motivation

High-throughput screening of genetic biosensor constructs has traditionally been constrained by the throughput limitations of manual pipetting and the biological noise introduced by living cells. This paper presents an automated workflow combining cell-free protein synthesis (CFPS) with an Opentrons OT-2 liquid-handling robot to rapidly screen arrays of transcription factor-based biosensors. The authors designed a panel of constructs incorporating different promoter variants, ribosome binding site (RBS) sequences, and sensor protein variants โ€” each responding to small-molecule inducers such as IPTG, arabinose, or environmental pollutants. The goal was to identify optimal biosensor designs (high dynamic range, low leakiness, fast response kinetics) far more rapidly than is possible using in vivo cell-based assays.

Paragraph 2 โ€” Automation Strategy

The robotic protocol was designed to operate in 384-well plate format, with the OT-2 dispensing CFPS master mix (containing E. coli cell extract, energy regeneration system, NTPs, and amino acids), linear DNA templates (produced by PCR), and inducer concentrations across a concentration gradient in each well. Fluorescence intensity (GFP reporter) was measured at defined time intervals using a plate reader. By parallelizing across 384 wells simultaneously โ€” each representing a unique combination of biosensor construct and inducer concentration โ€” the team achieved ~500-fold greater screening throughput compared to manual methods, completing in one afternoon what would otherwise require weeks of cell-based assays.


Findings

The study demonstrated that automated CFPS screening could reliably recapitulate in vivo biosensor behavior while dramatically accelerating the design-build-test cycle. Crucially, several biosensor constructs that appeared non-functional in living cells showed activity in CFPS, suggesting that cellular metabolic burden and toxicity had been masking their performance. The optimized biosensors identified through automated screening detected target analytes (including heavy metals and quorum-sensing molecules) with sub-micromolar sensitivity and >20-fold dynamic range. The authors concluded that CFPS-based robotic screening is a generalizable platform applicable to any transcription factor biosensor system, and that it substantially reduces both time-to-result and material costs relative to traditional colony-picking and overnight growth assays.