Skip to content

Serial Dilution with Color Visualization

Overview

This example demonstrates how to perform a serial dilution using colored water to visualize the dilution series. The example uses a 24-well plate and petri dishes as reservoirs.

Setup

python
from science_jubilee.Machine import Machine
from science_jubilee.tools.Syringe import Syringe
from science_jubilee.decks import Deck

# Connect to machine
m = Machine(address='192.168.1.2')
# Change the profile to your desired profile
deck = m.load_deck('calibrated-deck')

# Load and configure syringe tool
syringe_index = 2  # Adjust based on your machine configuration
syringe = Syringe(index=syringe_index,
                 name='syringe',
                 config='10cc_syringe_liquidhandling')
m.load_tool(syringe)
m.pickup_tool(syringe)

# Move to safe height for labware installation
m.move_to(z=150)

Loading Labware

python
# Load reservoirs (petri dishes)
water = m.load_labware("generic_petri_dish_100ml", 0)
color = m.load_labware("generic_petri_dish_100ml", 2)

# Access single well in petri dishes
water = water["A1"]
color = color["A1"]

# Load well plate for dilutions
samples = m.load_labware("greiner_24_wellplate_3300ul", 1)

Preparing Initial Solutions

Add Water to First Column

python
# Add decreasing amounts of water to first column
fill_volume = 2  # mL
step_size = 0.5
for well in samples.column_data[1]:
    syringe.transfer(
        vol=fill_volume,
        source=water,
        destination=well)
    fill_volume -= step_size

Add Water to Remaining Wells

python
# Add water to all other wells
fill_volume = 1.5  # mL
for column in range(2, len(samples.column_data)+1):
    syringe.transfer(
        vol=fill_volume,
        source=water,
        destination=list(samples.column_data[column]))

Add Colored Solution

python
# Add increasing amounts of colored solution to first column
fill_volume = 0.5
for well in samples.column_data[1]:
    syringe.transfer(
        vol=fill_volume,
        source=color,
        destination=well,
        mix_after=(1,2))
    fill_volume += step_size

Performing Serial Dilution

python
# Transfer and mix down each column
transfer_volume = 1.5
for row in samples.row_data:
    for column in range(1, len(samples.column_data)):
        syringe.transfer(
            vol=transfer_volume,
            source=samples.wells[f"{row}{column}"],
            destination=samples.wells[f"{row}{column+1}"],
            mix_after=(1,2))

Expected Results

  • First column: Decreasing water volume (2.0 to 0.5 mL) with increasing colored solution (0.5 to 2.0 mL)
  • Subsequent columns: Serial dilution of the first column's solutions
  • Visual gradient of color intensity across the plate
  • Each row represents an independent dilution series

Notes

  • Use appropriate volumes for your well plate (check well capacity)
  • Consider using colored solutions for visual verification
  • Mix thoroughly after each transfer for consistent dilutions
  • Monitor liquid levels in source reservoirs
  • Clean and maintain the syringe tool after use

Pre-release documentation · Internal research use only · Not authorized for redistribution.