Week 3 HW: Lab automation

🤖 Part I: Python Script for Opentrons Artwork
Yin and Yang Symbol Yin and Yang Symbol

I wanted to do a yin and yang symbol so I went about designing it on the very helpful website made by Ronan! https://opentrons-art.rcdonovan.com

This is my design

First Time Running Code Visualisation/Simulation - Jupyter was kicking my ass! 😭

Second Time Running Code - A Success! 🥳 These weird long lines show the movement of the Opentrons robot

Click to view the Python of my Design 1 (BEWARE: It is super long!)
from opentrons import types

metadata = { ‘protocolName’: ‘HTGAA Opentrons Yin Yang Art’, ‘author’: ‘Hana’, ‘apiLevel’: ‘2.20’ }

— Robot deck setup constants —

TIP_RACK_DECK_SLOT = 9 COLORS_DECK_SLOT = 6 AGAR_DECK_SLOT = 5

well_colors = { ‘A1’ : ‘Red’, # Pink (mkate2_tf) ‘D1’ : ‘Cyan’, # Teal (mturquoise2) }

def run(protocol): # Load Labware with required display names for the Mock Simulator tips = protocol.load_labware(‘opentrons_96_tiprack_20ul’, TIP_RACK_DECK_SLOT, ‘Tips’) pipette = protocol.load_instrument(“p20_single_gen2”, “right”, [tips]) colors = protocol.load_labware(’nest_96_wellplate_200ul_flat’, COLORS_DECK_SLOT, ‘Inks’) plate = protocol.load_labware(’nest_96_wellplate_200ul_flat’, AGAR_DECK_SLOT, ‘Agar Plate’)

def paint_layer(points, color_well_name):
    pipette.pick_up_tip()
    # Direct dictionary access for Mock objects
    color_source = colors[color_well_name]
    target_well = plate['A1']
    
    for x, y in points:
        # Destination point relative to the well top
        destination = target_well.top().move(types.Point(x=x, y=y, z=0))
        
        pipette.aspirate(1, color_source)
        # Pass location into dispense for the simulator
        pipette.dispense(1, destination)
        
    pipette.drop_tip()

# --- FULL COORDINATE LISTS ---
mkate2_tf_points = [(-4.4, 39.6),(-2.2, 39.6),(0, 39.6),(2.2, 39.6),(4.4, 39.6),(-13.2, 37.4),(-11, 37.4),(-8.8, 37.4),(-6.6, 37.4),(-4.4, 37.4),(-2.2, 37.4),(0, 37.4),(2.2, 37.4),(4.4, 37.4),(6.6, 37.4),(8.8, 37.4),(-17.6, 35.2),(-15.4, 35.2),(-13.2, 35.2),(-11, 35.2),(-8.8, 35.2),(-6.6, 35.2),(-4.4, 35.2),(-2.2, 35.2),(0, 35.2),(2.2, 35.2),(4.4, 35.2),(6.6, 35.2),(8.8, 35.2),(11, 35.2),(-22, 33),(-19.8, 33),(-17.6, 33),(-15.4, 33),(-13.2, 33),(-11, 33),(-8.8, 33),(-6.6, 33),(-4.4, 33),(-2.2, 33),(0, 33),(2.2, 33),(4.4, 33),(6.6, 33),(8.8, 33),(11, 33),(13.2, 33),(-24.2, 30.8),(-22, 30.8),(-19.8, 30.8),(-17.6, 30.8),(-15.4, 30.8),(-13.2, 30.8),(-11, 30.8),(-8.8, 30.8),(-6.6, 30.8),(-4.4, 30.8),(-2.2, 30.8),(0, 30.8),(2.2, 30.8),(4.4, 30.8),(6.6, 30.8),(8.8, 30.8),(11, 30.8),(13.2, 30.8),(15.4, 30.8),(-26.4, 28.6),(-24.2, 28.6),(-22, 28.6),(-19.8, 28.6),(-17.6, 28.6),(-15.4, 28.6),(-13.2, 28.6),(-11, 28.6),(-8.8, 28.6),(-6.6, 28.6),(-4.4, 28.6),(-2.2, 28.6),(0, 28.6),(2.2, 28.6),(4.4, 28.6),(6.6, 28.6),(8.8, 28.6),(11, 28.6),(13.2, 28.6),(15.4, 28.6),(-28.6, 26.4),(-26.4, 26.4),(-24.2, 26.4),(-22, 26.4),(-19.8, 26.4),(-17.6, 26.4),(-15.4, 26.4),(-13.2, 26.4),(-11, 26.4),(-8.8, 26.4),(-6.6, 26.4),(-4.4, 26.4),(-2.2, 26.4),(0, 26.4),(2.2, 26.4),(4.4, 26.4),(6.6, 26.4),(8.8, 26.4),(11, 26.4),(13.2, 26.4),(15.4, 26.4),(-30.8, 24.2),(-28.6, 24.2),(-26.4, 24.2),(-24.2, 24.2),(-22, 24.2),(-19.8, 24.2),(-17.6, 24.2),(-15.4, 24.2),(-13.2, 24.2),(-11, 24.2),(-8.8, 24.2),(-6.6, 24.2),(-4.4, 24.2),(4.4, 24.2),(6.6, 24.2),(8.8, 24.2),(11, 24.2),(13.2, 24.2),(15.4, 24.2),(17.6, 24.2),(-33, 22),(-30.8, 22),(-28.6, 22),(-26.4, 22),(-24.2, 22),(-22, 22),(-19.8, 22),(-17.6, 22),(-15.4, 22),(-13.2, 22),(-11, 22),(-8.8, 22),(-6.6, 22),(6.6, 22),(8.8, 22),(11, 22),(13.2, 22),(15.4, 22),(17.6, 22),(-33, 19.8),(-30.8, 19.8),(-28.6, 19.8),(-26.4, 19.8),(-24.2, 19.8),(-22, 19.8),(-19.8, 19.8),(-17.6, 19.8),(-15.4, 19.8),(-13.2, 19.8),(-11, 19.8),(-8.8, 19.8),(-6.6, 19.8),(6.6, 19.8),(8.8, 19.8),(11, 19.8),(13.2, 19.8),(15.4, 19.8),(17.6, 19.8),(-35.2, 17.6),(-33, 17.6),(-30.8, 17.6),(-28.6, 17.6),(-26.4, 17.6),(-24.2, 17.6),(-22, 17.6),(-19.8, 17.6),(-17.6, 17.6),(-15.4, 17.6),(-13.2, 17.6),(-11, 17.6),(-8.8, 17.6),(-6.6, 17.6),(6.6, 17.6),(8.8, 17.6),(11, 17.6),(13.2, 17.6),(15.4, 17.6),(17.6, 17.6),(-35.2, 15.4),(-33, 15.4),(-30.8, 15.4),(-28.6, 15.4),(-26.4, 15.4),(-24.2, 15.4),(-22, 15.4),(-19.8, 15.4),(-17.6, 15.4),(-15.4, 15.4),(-13.2, 15.4),(-11, 15.4),(-8.8, 15.4),(-6.6, 15.4),(-4.4, 15.4),(4.4, 15.4),(6.6, 15.4),(8.8, 15.4),(11, 15.4),(13.2, 15.4),(15.4, 15.4),(17.6, 15.4),(-37.4, 13.2),(-35.2, 13.2),(-33, 13.2),(-30.8, 13.2),(-28.6, 13.2),(-26.4, 13.2),(-24.2, 13.2),(-22, 13.2),(-19.8, 13.2),(-17.6, 13.2),(-15.4, 13.2),(-13.2, 13.2),(-11, 13.2),(-8.8, 13.2),(-6.6, 13.2),(-4.4, 13.2),(-2.2, 13.2),(0, 13.2),(2.2, 13.2),(4.4, 13.2),(6.6, 13.2),(8.8, 13.2),(11, 13.2),(13.2, 13.2),(15.4, 13.2),(-37.4, 11),(-35.2, 11),(-33, 11),(-30.8, 11),(-28.6, 11),(-26.4, 11),(-24.2, 11),(-22, 11),(-19.8, 11),(-17.6, 11),(-15.4, 11),(-13.2, 11),(-11, 11),(-8.8, 11),(-6.6, 11),(-4.4, 11),(-2.2, 11),(0, 11),(2.2, 11),(4.4, 11),(6.6, 11),(8.8, 11),(11, 11),(13.2, 11),(15.4, 11),(-37.4, 8.8),(-35.2, 8.8),(-33, 8.8),(-30.8, 8.8),(-28.6, 8.8),(-26.4, 8.8),(-24.2, 8.8),(-22, 8.8),(-19.8, 8.8),(-17.6, 8.8),(-15.4, 8.8),(-13.2, 8.8),(-11, 8.8),(-8.8, 8.8),(-6.6, 8.8),(-4.4, 8.8),(-2.2, 8.8),(0, 8.8),(2.2, 8.8),(4.4, 8.8),(6.6, 8.8),(8.8, 8.8),(11, 8.8),(13.2, 8.8),(-37.4, 6.6),(-35.2, 6.6),(-33, 6.6),(-30.8, 6.6),(-28.6, 6.6),(-26.4, 6.6),(-24.2, 6.6),(-22, 6.6),(-19.8, 6.6),(-17.6, 6.6),(-15.4, 6.6),(-13.2, 6.6),(-11, 6.6),(-8.8, 6.6),(-6.6, 6.6),(-4.4, 6.6),(-2.2, 6.6),(0, 6.6),(2.2, 6.6),(4.4, 6.6),(6.6, 6.6),(8.8, 6.6),(11, 6.6),(-39.6, 4.4),(-37.4, 4.4),(-35.2, 4.4),(-33, 4.4),(-30.8, 4.4),(-28.6, 4.4),(-26.4, 4.4),(-24.2, 4.4),(-22, 4.4),(-19.8, 4.4),(-17.6, 4.4),(-15.4, 4.4),(-13.2, 4.4),(-11, 4.4),(-8.8, 4.4),(-6.6, 4.4),(-4.4, 4.4),(-2.2, 4.4),(0, 4.4),(2.2, 4.4),(4.4, 4.4),(6.6, 4.4),(8.8, 4.4),(-39.6, 2.2),(-37.4, 2.2),(-35.2, 2.2),(-33, 2.2),(-30.8, 2.2),(-28.6, 2.2),(-26.4, 2.2),(-24.2, 2.2),(-22, 2.2),(-19.8, 2.2),(-17.6, 2.2),(-15.4, 2.2),(-13.2, 2.2),(-11, 2.2),(-8.8, 2.2),(-6.6, 2.2),(-4.4, 2.2),(-2.2, 2.2),(0, 2.2),(2.2, 2.2),(4.4, 2.2),(-39.6, 0),(-37.4, 0),(-35.2, 0),(-33, 0),(-30.8, 0),(-28.6, 0),(-26.4, 0),(-24.2, 0),(-22, 0),(-19.8, 0),(-17.6, 0),(-15.4, 0),(-13.2, 0),(-11, 0),(-8.8, 0),(-6.6, 0),(-39.6, -2.2),(-37.4, -2.2),(-35.2, -2.2),(-33, -2.2),(-30.8, -2.2),(-28.6, -2.2),(-26.4, -2.2),(-24.2, -2.2),(-22, -2.2),(-19.8, -2.2),(-17.6, -2.2),(-15.4, -2.2),(-13.2, -2.2),(-11, -2.2),(-39.6, -4.4),(-37.4, -4.4),(-35.2, -4.4),(-33, -4.4),(-30.8, -4.4),(-28.6, -4.4),(-26.4, -4.4),(-24.2, -4.4),(-22, -4.4),(-19.8, -4.4),(-17.6, -4.4),(-15.4, -4.4),(-13.2, -4.4),(-37.4, -6.6),(-35.2, -6.6),(-33, -6.6),(-30.8, -6.6),(-28.6, -6.6),(-26.4, -6.6),(-24.2, -6.6),(-22, -6.6),(-19.8, -6.6),(-17.6, -6.6),(-15.4, -6.6),(-37.4, -8.8),(-35.2, -8.8),(-33, -8.8),(-30.8, -8.8),(-28.6, -8.8),(-26.4, -8.8),(-24.2, -8.8),(-22, -8.8),(-19.8, -8.8),(-17.6, -8.8),(-37.4, -11),(-35.2, -11),(-33, -11),(-30.8, -11),(-28.6, -11),(-26.4, -11),(-24.2, -11),(-22, -11),(-19.8, -11),(-37.4, -13.2),(-35.2, -13.2),(-33, -13.2),(-30.8, -13.2),(-28.6, -13.2),(-26.4, -13.2),(-24.2, -13.2),(-22, -13.2),(-19.8, -13.2),(-35.2, -15.4),(-33, -15.4),(-30.8, -15.4),(-28.6, -15.4),(-26.4, -15.4),(-24.2, -15.4),(-22, -15.4),(-2.2, -15.4),(0, -15.4),(2.2, -15.4),(-35.2, -17.6),(-33, -17.6),(-30.8, -17.6),(-28.6, -17.6),(-26.4, -17.6),(-24.2, -17.6),(-22, -17.6),(-4.4, -17.6),(-2.2, -17.6),(0, -17.6),(2.2, -17.6),(4.4, -17.6),(-33, -19.8),(-30.8, -19.8),(-28.6, -19.8),(-26.4, -19.8),(-24.2, -19.8),(-22, -19.8),(-4.4, -19.8),(-2.2, -19.8),(0, -19.8),(2.2, -19.8),(4.4, -19.8),(-33, -22),(-30.8, -22),(-28.6, -22),(-26.4, -22),(-24.2, -22),(-22, -22),(-4.4, -22),(-2.2, -22),(0, -22),(2.2, -22),(4.4, -22),(-30.8, -24.2),(-28.6, -24.2),(-26.4, -24.2),(-24.2, -24.2),(-22, -24.2),(-2.2, -24.2),(0, -24.2),(2.2, -24.2),(-28.6, -26.4),(-26.4, -26.4),(-24.2, -26.4),(-22, -26.4),(-19.8, -26.4),(-26.4, -28.6),(-24.2, -28.6),(-22, -28.6),(-19.8, -28.6),(-24.2, -30.8),(-22, -30.8),(-19.8, -30.8),(-17.6, -30.8),(-22, -33),(-19.8, -33),(-17.6, -33),(-17.6, -35.2),(-15.4, -35.2),(-13.2, -37.4)]

mturquoise2_points = [(13.2, 37.4),(15.4, 35.2),(17.6, 35.2),(17.6, 33),(19.8, 33),(22, 33),(19.8, 30.8),(22, 30.8),(24.2, 30.8),(19.8, 28.6),(22, 28.6),(24.2, 28.6),(26.4, 28.6),(19.8, 26.4),(22, 26.4),(24.2, 26.4),(26.4, 26.4),(28.6, 26.4),(-2.2, 24.2),(0, 24.2),(2.2, 24.2),(22, 24.2),(24.2, 24.2),(26.4, 24.2),(28.6, 24.2),(30.8, 24.2),(-4.4, 22),(-2.2, 22),(0, 22),(2.2, 22),(4.4, 22),(22, 22),(24.2, 22),(26.4, 22),(28.6, 22),(30.8, 22),(33, 22),(-4.4, 19.8),(-2.2, 19.8),(0, 19.8),(2.2, 19.8),(4.4, 19.8),(22, 19.8),(24.2, 19.8),(26.4, 19.8),(28.6, 19.8),(30.8, 19.8),(33, 19.8),(-4.4, 17.6),(-2.2, 17.6),(0, 17.6),(2.2, 17.6),(4.4, 17.6),(22, 17.6),(24.2, 17.6),(26.4, 17.6),(28.6, 17.6),(30.8, 17.6),(33, 17.6),(35.2, 17.6),(-2.2, 15.4),(0, 15.4),(2.2, 15.4),(22, 15.4),(24.2, 15.4),(26.4, 15.4),(28.6, 15.4),(30.8, 15.4),(33, 15.4),(35.2, 15.4),(19.8, 13.2),(22, 13.2),(24.2, 13.2),(26.4, 13.2),(28.6, 13.2),(30.8, 13.2),(33, 13.2),(35.2, 13.2),(37.4, 13.2),(19.8, 11),(22, 11),(24.2, 11),(26.4, 11),(28.6, 11),(30.8, 11),(33, 11),(35.2, 11),(37.4, 11),(17.6, 8.8),(19.8, 8.8),(22, 8.8),(24.2, 8.8),(26.4, 8.8),(28.6, 8.8),(30.8, 8.8),(33, 8.8),(35.2, 8.8),(37.4, 8.8),(15.4, 6.6),(17.6, 6.6),(19.8, 6.6),(22, 6.6),(24.2, 6.6),(26.4, 6.6),(28.6, 6.6),(30.8, 6.6),(33, 6.6),(35.2, 6.6),(37.4, 6.6),(15.4, 4.4),(17.6, 4.4),(19.8, 4.4),(22, 4.4),(24.2, 4.4),(26.4, 4.4),(28.6, 4.4),(30.8, 4.4),(33, 4.4),(35.2, 4.4),(37.4, 4.4),(39.6, 4.4),(11, 2.2),(13.2, 2.2),(15.4, 2.2),(17.6, 2.2),(19.8, 2.2),(22, 2.2),(24.2, 2.2),(26.4, 2.2),(28.6, 2.2),(30.8, 2.2),(33, 2.2),(35.2, 2.2),(37.4, 2.2),(39.6, 2.2),(6.6, 0),(8.8, 0),(11, 0),(13.2, 0),(15.4, 0),(17.6, 0),(19.8, 0),(22, 0),(24.2, 0),(26.4, 0),(28.6, 0),(30.8, 0),(33, 0),(35.2, 0),(37.4, 0),(39.6, 0),(-4.4, -2.2),(-2.2, -2.2),(0, -2.2),(2.2, -2.2),(4.4, -2.2),(6.6, -2.2),(8.8, -2.2),(11, -2.2),(13.2, -2.2),(15.4, -2.2),(17.6, -2.2),(19.8, -2.2),(22, -2.2),(24.2, -2.2),(26.4, -2.2),(28.6, -2.2),(30.8, -2.2),(33, -2.2),(35.2, -2.2),(37.4, -2.2),(39.6, -2.2),(-8.8, -4.4),(-6.6, -4.4),(-4.4, -4.4),(-2.2, -4.4),(0, -4.4),(2.2, -4.4),(4.4, -4.4),(6.6, -4.4),(8.8, -4.4),(11, -4.4),(13.2, -4.4),(15.4, -4.4),(17.6, -4.4),(19.8, -4.4),(22, -4.4),(24.2, -4.4),(26.4, -4.4),(28.6, -4.4),(30.8, -4.4),(33, -4.4),(35.2, -4.4),(37.4, -4.4),(39.6, -4.4),(-11, -6.6),(-8.8, -6.6),(-6.6, -6.6),(-4.4, -6.6),(-2.2, -6.6),(0, -6.6),(2.2, -6.6),(4.4, -6.6),(6.6, -6.6),(8.8, -6.6),(11, -6.6),(13.2, -6.6),(15.4, -6.6),(17.6, -6.6),(19.8, -6.6),(22, -6.6),(24.2, -6.6),(26.4, -6.6),(28.6, -6.6),(30.8, -6.6),(33, -6.6),(35.2, -6.6),(37.4, -6.6),(-13.2, -8.8),(-11, -8.8),(-8.8, -8.8),(-6.6, -8.8),(-4.4, -8.8),(-2.2, -8.8),(0, -8.8),(2.2, -8.8),(4.4, -8.8),(6.6, -8.8),(8.8, -8.8),(11, -8.8),(13.2, -8.8),(15.4, -8.8),(17.6, -8.8),(19.8, -8.8),(22, -8.8),(24.2, -8.8),(26.4, -8.8),(28.6, -8.8),(30.8, -8.8),(33, -8.8),(35.2, -8.8),(37.4, -8.8),(-15.4, -11),(-13.2, -11),(-11, -11),(-8.8, -11),(-6.6, -11),(-4.4, -11),(-2.2, -11),(0, -11),(2.2, -11),(4.4, -11),(6.6, -11),(8.8, -11),(11, -11),(13.2, -11),(15.4, -11),(17.6, -11),(19.8, -11),(22, -11),(24.2, -11),(26.4, -11),(28.6, -11),(30.8, -11),(33, -11),(35.2, -11),(37.4, -11),(-15.4, -13.2),(-13.2, -13.2),(-11, -13.2),(-8.8, -13.2),(-6.6, -13.2),(-4.4, -13.2),(-2.2, -13.2),(0, -13.2),(2.2, -13.2),(4.4, -13.2),(6.6, -13.2),(8.8, -13.2),(11, -13.2),(13.2, -13.2),(15.4, -13.2),(17.6, -13.2),(19.8, -13.2),(22, -13.2),(24.2, -13.2),(26.4, -13.2),(28.6, -13.2),(30.8, -13.2),(33, -13.2),(35.2, -13.2),(37.4, -13.2),(-17.6, -15.4),(-15.4, -15.4),(-13.2, -15.4),(-11, -15.4),(-8.8, -15.4),(-6.6, -15.4),(-4.4, -15.4),(4.4, -15.4),(6.6, -15.4),(8.8, -15.4),(11, -15.4),(13.2, -15.4),(15.4, -15.4),(17.6, -15.4),(19.8, -15.4),(22, -15.4),(24.2, -15.4),(26.4, -15.4),(28.6, -15.4),(30.8, -15.4),(33, -15.4),(35.2, -15.4),(-17.6, -17.6),(-15.4, -17.6),(-13.2, -17.6),(-11, -17.6),(-8.8, -17.6),(-6.6, -17.6),(6.6, -17.6),(8.8, -17.6),(11, -17.6),(13.2, -17.6),(15.4, -17.6),(17.6, -17.6),(19.8, -17.6),(22, -17.6),(24.2, -17.6),(26.4, -17.6),(28.6, -17.6),(30.8, -17.6),(33, -17.6),(35.2, -17.6),(-17.6, -19.8),(-15.4, -19.8),(-13.2, -19.8),(-11, -19.8),(-8.8, -19.8),(-6.6, -19.8),(6.6, -19.8),(8.8, -19.8),(11, -19.8),(13.2, -19.8),(15.4, -19.8),(17.6, -19.8),(19.8, -19.8),(22, -19.8),(24.2, -19.8),(26.4, -19.8),(28.6, -19.8),(30.8, -19.8),(33, -19.8),(-17.6, -22),(-15.4, -22),(-13.2, -22),(-11, -22),(-8.8, -22),(-6.6, -22),(6.6, -22),(8.8, -22),(11, -22),(13.2, -22),(15.4, -22),(17.6, -22),(19.8, -22),(22, -22),(24.2, -22),(26.4, -22),(28.6, -22),(30.8, -22),(33, -22),(-17.6, -24.2),(-15.4, -24.2),(-13.2, -24.2),(-11, -24.2),(-8.8, -24.2),(-6.6, -24.2),(-4.4, -24.2),(4.4, -24.2),(6.6, -24.2),(8.8, -24.2),(11, -24.2),(13.2, -24.2),(15.4, -24.2),(17.6, -24.2),(19.8, -24.2),(22, -24.2),(24.2, -24.2),(26.4, -24.2),(28.6, -24.2),(30.8, -24.2),(-15.4, -26.4),(-13.2, -26.4),(-11, -26.4),(-8.8, -26.4),(-6.6, -26.4),(-4.4, -26.4),(-2.2, -26.4),(0, -26.4),(2.2, -26.4),(4.4, -26.4),(6.6, -26.4),(8.8, -26.4),(11, -26.4),(13.2, -26.4),(15.4, -26.4),(17.6, -26.4),(19.8, -26.4),(22, -26.4),(24.2, -26.4),(26.4, -26.4),(28.6, -26.4),(-15.4, -28.6),(-13.2, -28.6),(-11, -28.6),(-8.8, -28.6),(-6.6, -28.6),(-4.4, -28.6),(-2.2, -28.6),(0, -28.6),(2.2, -28.6),(4.4, -28.6),(6.6, -28.6),(8.8, -28.6),(11, -28.6),(13.2, -28.6),(15.4, -28.6),(17.6, -28.6),(19.8, -28.6),(22, -28.6),(24.2, -28.6),(26.4, -28.6),(-13.2, -30.8),(-11, -30.8),(-8.8, -30.8),(-6.6, -30.8),(-4.4, -30.8),(-2.2, -30.8),(0, -30.8),(2.2, -30.8),(4.4, -30.8),(6.6, -30.8),(8.8, -30.8),(11, -30.8),(13.2, -30.8),(15.4, -30.8),(17.6, -30.8),(19.8, -30.8),(22, -30.8),(24.2, -30.8),(-13.2, -33),(-11, -33),(-8.8, -33),(-6.6, -33),(-4.4, -33),(-2.2, -33),(0, -33),(2.2, -33),(4.4, -33),(6.6, -33),(8.8, -33),(11, -33),(13.2, -33),(15.4, -33),(17.6, -33),(19.8, -33),(22, -33),(-11, -35.2),(-8.8, -35.2),(-6.6, -35.2),(-4.4, -35.2),(-2.2, -35.2),(0, -35.2),(2.2, -35.2),(4.4, -35.2),(6.6, -35.2),(8.8, -35.2),(11, -35.2),(13.2, -35.2),(15.4, -35.2),(17.6, -35.2),(-8.8, -37.4),(-6.6, -37.4),(-4.4, -37.4),(-2.2, -37.4),(0, -37.4),(2.2, -37.4),(4.4, -37.4),(6.6, -37.4),(8.8, -37.4),(11, -37.4),(13.2, -37.4),(-4.4, -39.6),(-2.2, -39.6),(0, -39.6),(2.2, -39.6),(4.4, -39.6)]

# --- EXECUTE ART ---
paint_layer(mkate2_tf_points, 'A1')    # Pink layer
paint_layer(mturquoise2_points, 'D1')  # Teal layer</pre>

Second design with an accent! 🤌🏼

First Time Running Code Visualisation/Simulation - Drum roll please 🥁

YAY!! 🥂 🍾

I had a problem with this design wherein I somehow used 5 pigments having intended only to use 3. I had to find out exactly which wells were a slight deviation in pigment. Having 5 pigments would make the Python unnecessarily complicated.

I really like this design but I think that the first is more feasible in vitro.

🤖 Part II: Post-Lab Questions

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

I found these two papers:

  1. AssemblyTron: flexible automation of DNA assembly with Opentrons OT-2 lab robots (Bryant Jr. et al. 2023)

This paper describes logistical problems that invesitably arise with trial and error DBTL (design, build, test, learn) cycles which characterise the field of synthetic biology. Thus far, many software and hardware platforms have been built to streamline and algorithmically perform each step of this cycle, but there has been a severe dearth in the automation of the build part of the cycle. Here, the researchers experiment with AssemblyTron - an open-source Python package, which is designed for build implementation in Opentrons liquid handling robotics with minimal human intervention - to assemble DNA. They find that AssemblyTron is able to carry out efficient PCR and DNA assembly as their “data provide[s] evidence that AssemblyTron delivers robust results for cloning workflows” (Bryant Jr. et al. 2023:8).

This has massive implications as this reduces the “time, training, costs and wastes associated with synthetic biology, which, along with open-source and affordable automation, will further foster the accessibility of synthetic biology and accelerate biological research and engineering” (Bryant Jr. et al. 2023:1). Scientists can spend more time asking questions, as well as learning from and designing experiements rather than scrutinising error-prone cloning methodologies.

  1. Automation of protein crystallization scaleup via Opentrons-2 liquid handling (DeRoo et al. 2025)

This article deals with protein crystallisation methodology utilising the Opentrons-2 liquid handling robot to work with a model protein, namely hen egg white lysozyme, and and a periplasmic protein from Campylobacter jejuni - a pathogenic bacteria associated with poultry. Together these create a crystal that is used in the Snow Lab for nanotechnological purposes which necessitate large, consistent batches.

This study “shows facile adaption of the Opentrons interface and hardware” (DeRoo et al. 2025:1) as this automated approach to protein crystallisation has been shown to

  • reduce manual labour
  • increase reliability in protein crystallisation
  • reduce variability

Thus “offering an economical and versatile tool for laboratories (Ibid)” which is significant as protein crystallisation is a time-consuming and fickle process.

All developed liquid handling routines and relevant data files, in addition to demonstration videos are available at https://github.com/jbderoo/Opentrons2-Protein-Crystallization

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

For my living heart sleeve idea: I would use Opentrons liquid-handling robot to mix the special transistor hydrogel precursors with the modified hypoimmunogenic cells of patients at precise ratios to make an even sleeve layer which behaves like normal human tissue as much as possible!