File size: 1,642 Bytes
dcd76cc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from opentrons import protocol_api

metadata = {
    'protocolName': 'My Protocol',
    'author': 'Your Name',
    'description': 'Description of the protocol',
    'apiLevel': '2.12'
}

def run(protocol: protocol_api.ProtocolContext):
    # Labware
    plate = protocol.load_labware('corning_96_wellplate_360ul_flat', '1')
    tiprack = protocol.load_labware('opentrons_96_tiprack_300ul', '2')
    pipette = protocol.load_instrument('p300_single_gen2', 'right', tip_racks=[tiprack])

    # Parameters
    num_samples = 96
    sample_volume = 200
    reagent_volume = 50

    # Reagent reservoirs
    reagent_reservoir = protocol.load_labware('usascientific_12_reservoir_22ml', '3')

    # Transfer reagent to samples
    for well in plate.wells()[:num_samples]:
        pipette.pick_up_tip()
        pipette.aspirate(reagent_volume, reagent_reservoir.wells()[0])
        pipette.dispense(reagent_volume, well)
        pipette.blow_out(well.top())
        pipette.drop_tip()

    # Mix samples
    for well in plate.wells()[:num_samples]:
        pipette.pick_up_tip()
        pipette.mix(5, sample_volume, well)
        pipette.drop_tip()

    # Incubate samples
    protocol.delay(minutes=30)  # Incubate for 30 minutes

    # Transfer samples to a new plate
    output_plate = protocol.load_labware('corning_96_wellplate_360ul_flat', '4')
    for src_well, dest_well in zip(plate.wells()[:num_samples], output_plate.wells()[:num_samples]):
        pipette.pick_up_tip()
        pipette.aspirate(sample_volume, src_well)
        pipette.dispense(sample_volume, dest_well)
        pipette.blow_out(dest_well.top())
        pipette.drop_tip()