Skip to content

Commit d4d09bd

Browse files
committed
refactor flow rates to define from the pipette
1 parent 849d8a1 commit d4d09bd

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

step-generation/src/__tests__/mix.test.ts

+12-6
Original file line numberDiff line numberDiff line change
@@ -104,27 +104,30 @@ describe('mix: change tip', () => {
104104
`
105105
mockPythonName.drop_tip()
106106
mockPythonName.pick_up_tip(location=mockPythonName)
107+
mockPythonName.flow_rate.aspirate = 2.1
108+
mockPythonName.flow_rate.dispense = 2.2
107109
mockPythonName.mix(
108110
repetitions=2,
109111
volume=5,
110112
location=mockPythonName["A1"].bottom(z=3.2),
111-
rate=(2.1 / mockPythonName.flow_rate.aspirate) + (2.2 / mockPythonName.flow_rate.dispense),
112113
)
113114
mockPythonName.drop_tip()
114115
mockPythonName.pick_up_tip(location=mockPythonName)
116+
mockPythonName.flow_rate.aspirate = 2.1
117+
mockPythonName.flow_rate.dispense = 2.2
115118
mockPythonName.mix(
116119
repetitions=2,
117120
volume=5,
118121
location=mockPythonName["B1"].bottom(z=3.2),
119-
rate=(2.1 / mockPythonName.flow_rate.aspirate) + (2.2 / mockPythonName.flow_rate.dispense),
120122
)
121123
mockPythonName.drop_tip()
122124
mockPythonName.pick_up_tip(location=mockPythonName)
125+
mockPythonName.flow_rate.aspirate = 2.1
126+
mockPythonName.flow_rate.dispense = 2.2
123127
mockPythonName.mix(
124128
repetitions=2,
125129
volume=5,
126130
location=mockPythonName["C1"].bottom(z=3.2),
127-
rate=(2.1 / mockPythonName.flow_rate.aspirate) + (2.2 / mockPythonName.flow_rate.dispense),
128131
)`.trimStart()
129132
)
130133
})
@@ -487,33 +490,36 @@ mockPythonName.touch_tip(mockPythonName["C1"], v_offset=-3.4)`.trimStart()
487490
`
488491
mockPythonName.drop_tip()
489492
mockPythonName.pick_up_tip(location=mockPythonName)
493+
mockPythonName.flow_rate.aspirate = 2.1
494+
mockPythonName.flow_rate.dispense = 2.2
490495
mockPythonName.mix(
491496
repetitions=2,
492497
volume=8,
493498
location=mockPythonName["A1"].bottom(z=3.2).move(types.Point(x=1, y=1)),
494-
rate=(2.1 / mockPythonName.flow_rate.aspirate) + (2.2 / mockPythonName.flow_rate.dispense),
495499
)
496500
mockPythonName.flow_rate.blow_out = 2.3
497501
mockPythonName.blow_out(mockPythonName["A1"].top(z=3.3))
498502
mockPythonName.touch_tip(mockPythonName["A1"], v_offset=-3.4)
499503
mockPythonName.drop_tip()
500504
mockPythonName.pick_up_tip(location=mockPythonName)
505+
mockPythonName.flow_rate.aspirate = 2.1
506+
mockPythonName.flow_rate.dispense = 2.2
501507
mockPythonName.mix(
502508
repetitions=2,
503509
volume=8,
504510
location=mockPythonName["B1"].bottom(z=3.2).move(types.Point(x=1, y=1)),
505-
rate=(2.1 / mockPythonName.flow_rate.aspirate) + (2.2 / mockPythonName.flow_rate.dispense),
506511
)
507512
mockPythonName.flow_rate.blow_out = 2.3
508513
mockPythonName.blow_out(mockPythonName["A1"].top(z=3.3))
509514
mockPythonName.touch_tip(mockPythonName["B1"], v_offset=-3.4)
510515
mockPythonName.drop_tip()
511516
mockPythonName.pick_up_tip(location=mockPythonName)
517+
mockPythonName.flow_rate.aspirate = 2.1
518+
mockPythonName.flow_rate.dispense = 2.2
512519
mockPythonName.mix(
513520
repetitions=2,
514521
volume=8,
515522
location=mockPythonName["C1"].bottom(z=3.2).move(types.Point(x=1, y=1)),
516-
rate=(2.1 / mockPythonName.flow_rate.aspirate) + (2.2 / mockPythonName.flow_rate.dispense),
517523
)
518524
mockPythonName.flow_rate.blow_out = 2.3
519525
mockPythonName.blow_out(mockPythonName["A1"].top(z=3.3))

step-generation/src/commandCreators/compound/mix.ts

+6-4
Original file line numberDiff line numberDiff line change
@@ -102,15 +102,17 @@ export function mixUtil(args: {
102102
`location=${labwarePythonName}[${formatPyStr(
103103
well
104104
)}]${formatPyWellLocation(pythonWellLocation)}`,
105-
`rate=(${aspirateFlowRateUlSec} / ${pipettePythonName}.flow_rate.aspirate) + (${dispenseFlowRateUlSec} / ${pipettePythonName}.flow_rate.dispense)`,
106105
]
107106
return {
108107
commands: [],
109108
// Note: we do not support mix in trashBin or wasteChute so location
110109
// will always be a well
111-
python: `${pipettePythonName}.mix(\n${indentPyLines(
112-
pythonArgs.join(',\n')
113-
)},\n)`,
110+
python:
111+
`${pipettePythonName}.flow_rate.aspirate = ${aspirateFlowRateUlSec}\n` +
112+
`${pipettePythonName}.flow_rate.dispense = ${dispenseFlowRateUlSec}\n` +
113+
`${pipettePythonName}.mix(\n${indentPyLines(
114+
pythonArgs.join(',\n')
115+
)},\n)`,
114116
}
115117
}
116118
return [

0 commit comments

Comments
 (0)