Skills › Scientific Agent Skills › opentrons-integration › basic_protocol_template.py
basic_protocol_template.py
68 lines · skills/opentrons-integration/scripts/basic_protocol_template.py at 5f2bc03
1"""Minimal Opentrons Flex protocol template.
3Simulate and analyze this protocol before any physical run. Replace the
4labware, volumes, liquids, and deck layout with a validated wet-lab method.
5"""
7from opentrons import protocol_api
9metadata = {
10 "protocolName": "Flex Basic Transfer Template",
11 "author": "Customize before use",
12 "description": "Transfer buffer from a reservoir into one plate well.",
13}
15requirements = {
16 "robotType": "Flex",
17 "apiLevel": "2.29",
18}
21def run(protocol: protocol_api.ProtocolContext) -> None:
22 """Load a minimal Flex deck and perform one 100 µL transfer."""
23 tips = protocol.load_labware(
24 load_name="opentrons_flex_96_tiprack_200ul",
25 location="D1",
26 label="200 µL Tips",
27 )
28 reservoir = protocol.load_labware(
29 load_name="nest_12_reservoir_15ml",
30 location="D2",
31 label="Buffer Reservoir",
32 )
33 destination_plate = protocol.load_labware(
34 load_name="nest_96_wellplate_200ul_flat",
35 location="C2",
36 label="Destination Plate",
37 )
38 protocol.load_trash_bin(location="A3")
40 pipette = protocol.load_instrument(
41 instrument_name="flex_1channel_1000",
42 mount="left",
43 tip_racks=[tips],
44 )
46 buffer = protocol.define_liquid(
47 name="Buffer",
48 description="Nonhazardous example buffer",
49 display_color="#1F77B4",
50 )
51 reservoir.load_liquid(
52 wells=["A1"],
53 volume=1_000,
54 liquid=buffer,
55 )
57 with protocol.group_steps(
58 name="Transfer Buffer",
59 description="Move 100 µL from reservoir A1 to plate A1.",
60 ):
61 pipette.transfer(
62 volume=100,
63 source=reservoir["A1"],
64 dest=destination_plate["A1"],
65 new_tip="always",
66 )
68 protocol.comment("Transfer complete.")