@@ -35,31 +35,26 @@ def run(ctx):
35
35
# labware
36
36
tips200 = [ctx .load_labware ('opentrons_96_filtertiprack_200ul' , slot )
37
37
for slot in [1 , 4 ]]
38
- tips20 = ctx .load_labware ('opentrons_96_filtertiprack_20ul' , 7 )
39
- dest_plate_1 = ctx .load_labware ('biorad_96_wellplate_200ul_pcr' , 3 )
38
+ tips20 = [ ctx .load_labware ('opentrons_96_filtertiprack_20ul' , 7 )]
39
+ dest_plate_1 = ctx .load_labware ('biorad_96_wellplate_200ul_pcr' , 3 , 'Prep Plate' )
40
40
# custom labware Biorad semi-skirted 96-well plate held in a ELISA plate
41
- dest_plate_2 = ctx .load_labware ('biorad_96_wellplate_200ul_pcr' , 6 )
41
+ dest_plate_2 = ctx .load_labware ('biorad_96_wellplate_200ul_pcr' , 6 , 'Final Plate' )
42
42
# custom labware Biorad semi-skirted 96-well plate held in a ELISA plate
43
- source_plate = ctx .load_labware ('biorad_96_wellplate_200ul_pcr' , 5 )
43
+ source_plate = ctx .load_labware ('biorad_96_wellplate_200ul_pcr' , 5 , 'Reagent Plate' )
44
44
# custom labware Biorad semi-skirted 96-well plate held in a ELISA plate
45
45
46
46
47
47
# pipettes
48
48
m300 = ctx .load_instrument ('p300_multi_gen2' , m300_mount , tip_racks = tips200 )
49
-
50
- # m20 = ctx.load_instrument('p20_multi_gen2', m20_mount, tip_racks=tips20)
49
+ m20 = ctx .load_instrument ('p20_multi_gen2' , m20_mount , tip_racks = tips20 )
51
50
52
51
# reagents
53
- dpbs = [
54
- well for column in source_plate .columns ()[:8 ] for well in column ][:8 ] # col. 1-8
55
- article = source_plate .columns ()[8 ] # col. 9
56
- mas_mix = source_plate .columns ()[10 ] # col. 11
57
- water = source_plate .columns ()[11 ] # col. 12
58
-
59
- dpbs_destinations = [
60
- well for column in dest_plate_1 .columns ()[:8 ] for well in column ][:8 ] # col. 1-8
61
-
62
- art_destinations = dest_plate_1 .columns ()[0 ]
52
+ dpbs = source_plate .rows ()[0 ][:8 ] # col. 1-8
53
+ article = source_plate .rows ()[0 ][8 ] # col. 9
54
+ mas_mix = source_plate .rows ()[0 ][10 ] # col. 11
55
+ water = source_plate .rows ()[0 ][11 ] # col. 12
56
+ dpbs_destinations = dest_plate_1 .rows ()[0 ][:8 ] # col. 1-8
57
+ art_destinations = dest_plate_1 .rows ()[0 ][0 ]
63
58
64
59
# Helper Functions
65
60
def pick_up (pip ):
@@ -90,53 +85,59 @@ def slow_withdraw(pip, well, delay_seconds=1.0):
90
85
91
86
# step 2
92
87
pick_up (m300 )
93
- m300 .aspirate (160 , source_plate .rows ()[7 ] )
94
- m300 .dispense (160 , dest_plate_1 .rows ()[7 ] )
88
+ m300 .aspirate (160 , source_plate .rows ()[0 ][ 7 ]. bottom ( 1 ) )
89
+ m300 .dispense (160 , dest_plate_1 .rows ()[0 ][ 7 ]. bottom ( 2 ) )
95
90
m300 .drop_tip ()
96
91
97
92
# step 3 & 4
98
- # pick_up(m300)
99
- # m300.aspirate(20, article.bottom(1.0))
100
- # m300.dispense(20, dest_plate_1.bottom(2))[0]
101
- # m300.mix(20, 200)
102
- # m300.drop_tip()
103
-
104
- # # step 5 serial dilution
105
- # for column in dest_plate_1()[:7]:
106
- # pick_up(m300)
107
- # m300.aspirate(20)[0:6]
108
- # m300.dispense(20)[1:7]
109
- # m300.mix(20, 200)
110
- # m300.drop_tip()
111
-
112
- # # step 6 & 7
113
- # pick_up(m300)
114
- # m300.aspirate(40, dest_plate_1)[5]
115
- # m300.dispense(40, dest_plate_1)[7]
116
- # m300.mix(20, 200)
117
- # m300.drop_tip()
118
-
119
- # # step 8 transfer 20 uL of mas_mix into col 1-5 of dest plate 2
120
- # pick_up(m20)
121
- # For i in range (5):
122
- # m20.aspirate(20, mas_mix)
123
- # slow_withdraw(m20)
124
- # m20.dispense(20, dest_plate_2)[:5]
125
- # slow_withdraw(m20)
126
- # m20.drop_tip()
127
-
128
- # # step 9, 10, 11
129
- # For s, d in zip(dest_plate_1, dest_plate_2):
130
- # pick_up(m20)
131
- # m20.aspirate(5, s)[5:7]
132
- # m20.dispense(5, d)[:2]
133
- # slow_withdraw(m20)
134
- # m20.drop_tip()
135
-
136
- # # step 12
137
- # for i in range(2):
138
- # pick_up(m20)
139
- # m20.aspirate(5, water)
140
- # m20.dispense(5, dest_plate_2)[3:5]
141
- # slow_withdraw(m20)
142
- # m20.drop_tip()
93
+ pick_up (m20 )
94
+ m20 .aspirate (20 , article .bottom (1.0 ))
95
+ slow_withdraw (m20 )
96
+ m20 .dispense (20 , dest_plate_1 .rows ()[0 ][0 ].bottom (2.0 ))
97
+ m20 .mix (20 , 200 )
98
+ slow_withdraw (m20 )
99
+ m20 .drop_tip ()
100
+
101
+ # step 5 serial dilution
102
+ for s , d in zip (dest_plate_1 .rows ()[0 ][:6 ], dest_plate_1 .rows ()[0 ][1 :7 ]):
103
+ pick_up (m20 )
104
+ m20 .aspirate (20 , s .bottom (1.0 ))
105
+ m20 .dispense (20 , d .bottom (2.0 ))
106
+ m20 .mix (20 , 200 )
107
+ slow_withdraw (m20 , d )
108
+ m20 .drop_tip ()
109
+ m20 .drop_tip ()
110
+
111
+ # step 6 & 7
112
+ pick_up (m300 )
113
+ m300 .aspirate (40 , dest_plate_1 .rows ()[0 ][5 ]) # col 6
114
+ slow_withdraw (m300 , dest_plate_1 .rows ()[0 ][5 ])
115
+ m300 .dispense (40 , dest_plate_1 .rows ()[0 ][7 ]) # col 8
116
+ slow_withdraw (m300 , dest_plate_1 .rows ()[0 ][7 ])
117
+ m300 .mix (20 , 200 )
118
+ m300 .drop_tip ()
119
+
120
+ # step 8 transfer 20 uL of mas_mix into col 1-5 of dest plate 2
121
+ pick_up (m20 )
122
+ for d in dest_plate_2 .rows ()[0 ][:5 ]:
123
+ m20 .aspirate (20 , mas_mix )
124
+ slow_withdraw (m20 , mas_mix )
125
+ m20 .dispense (20 , d .bottom (2 ))
126
+ slow_withdraw (m20 , d )
127
+ m20 .drop_tip ()
128
+
129
+ # step 9, 10, 11
130
+ for s , d in zip (dest_plate_1 .rows ()[0 ][5 :8 ], dest_plate_2 .rows ()[0 ][:3 ]):
131
+ pick_up (m20 )
132
+ m20 .aspirate (5 , s )
133
+ m20 .dispense (5 , d )
134
+ slow_withdraw (m20 , d )
135
+ m20 .drop_tip ()
136
+
137
+ # step 12
138
+ for d in dest_plate_2 .rows ()[0 ][3 :5 ]:
139
+ pick_up (m20 )
140
+ m20 .aspirate (5 , water )
141
+ m20 .dispense (5 , d .bottom (2 ))
142
+ slow_withdraw (m20 , d )
143
+ m20 .drop_tip ()
0 commit comments