Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(hardware-testing): Adds protocols for testing inner-well geometry meniscus positions w/ Ethanol #17073

Merged
merged 76 commits into from
Dec 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
304f67a
protocol for measuring liquid height in PCR plate
andySigler Aug 28, 2024
f1f55b3
configure for test setup
andySigler Aug 29, 2024
2fc81fd
runs on robot
andySigler Aug 29, 2024
e51e8c6
use 1000ul tips; add starting-tip
andySigler Sep 12, 2024
1f52b09
wip
andySigler Sep 12, 2024
ae56690
google sheet for lhd
rclarke0 Oct 3, 2024
d646d10
added parameter for labware type
rclarke0 Oct 4, 2024
5d283d8
new volumes for NEST deep well
rclarke0 Oct 7, 2024
d1dd314
add support for tube rack testing
rclarke0 Oct 8, 2024
c0e4c3a
12 well reservoir
rclarke0 Oct 9, 2024
5023dd0
reservoir
rclarke0 Oct 10, 2024
5ae6c71
remove parameters
rclarke0 Oct 11, 2024
782e4e7
adds the 3mm protocol
andySigler Oct 17, 2024
b6d0941
lld-height-3mm-changes and parameter functions
rclarke0 Oct 22, 2024
e719396
fixed tube_volume reference
rclarke0 Oct 22, 2024
6058bcb
fix on tube volumes
rclarke0 Oct 22, 2024
0806440
added trials as parameter
rclarke0 Oct 23, 2024
9e155a8
adding middle volumes and adjusting _get_test_volumes
rclarke0 Oct 24, 2024
7c643aa
low vol tests
rclarke0 Oct 24, 2024
d84c950
adjusted script to allow for self filling of plates
rclarke0 Oct 29, 2024
a7f782e
change default dispense behavior
rclarke0 Oct 29, 2024
9ebb875
adding axygen_1_reservoir_90ml volumes
rclarke0 Oct 30, 2024
c928b27
added axygen volumes pause to empty labware
rclarke0 Oct 31, 2024
544a191
new volumes
rclarke0 Nov 12, 2024
bd73239
adding more labware
rclarke0 Nov 13, 2024
af6ceb2
change 50ul tuberack volumes, add eppendorf 2 ml tubes
rclarke0 Nov 19, 2024
06d93bb
volume changes for usascientific96well and axygen 90ml
rclarke0 Dec 6, 2024
38f3617
usascientific 96well 2.4ml
rclarke0 Dec 6, 2024
fe7085c
Merge branch 'edge' into hardware-testing-lld-get-liquid-height
andySigler Dec 10, 2024
ddce8fa
linting :)
andySigler Dec 10, 2024
0995b82
bring back import error
andySigler Dec 10, 2024
8d28af2
corrected volumes to match google sheet
rclarke0 Dec 10, 2024
5179af7
readd getalllabwaredefinitions
caila-marashaj Dec 10, 2024
a7e4d87
add schema version to check for subdirs
caila-marashaj Dec 10, 2024
2a80b0d
make 2 a string
caila-marashaj Dec 10, 2024
b7f649e
Merge branch 'edge' into hardware-testing-lld-get-liquid-height
rclarke0 Dec 10, 2024
193be62
merging labware changes
rclarke0 Dec 11, 2024
0ce2716
format fixes in labware
rclarke0 Dec 11, 2024
f5aab7a
Merge branch 'edge' into hardware-testing-lld-get-liquid-height
rclarke0 Dec 11, 2024
4efc18b
protocol for measuring liquid height in PCR plate
andySigler Aug 28, 2024
2b793b8
configure for test setup
andySigler Aug 29, 2024
2a71af6
runs on robot
andySigler Aug 29, 2024
6f5ed86
use 1000ul tips; add starting-tip
andySigler Sep 12, 2024
89454f6
wip
andySigler Sep 12, 2024
e1ab10f
google sheet for lhd
rclarke0 Oct 3, 2024
af9adb0
added parameter for labware type
rclarke0 Oct 4, 2024
e001151
new volumes for NEST deep well
rclarke0 Oct 7, 2024
7aa0805
add support for tube rack testing
rclarke0 Oct 8, 2024
66f933e
12 well reservoir
rclarke0 Oct 9, 2024
28131d6
reservoir
rclarke0 Oct 10, 2024
70eadb7
remove parameters
rclarke0 Oct 11, 2024
4fe8df7
adds the 3mm protocol
andySigler Oct 17, 2024
0dca529
lld-height-3mm-changes and parameter functions
rclarke0 Oct 22, 2024
1bd6188
fixed tube_volume reference
rclarke0 Oct 22, 2024
fdcc2ba
fix on tube volumes
rclarke0 Oct 22, 2024
cead7b3
added trials as parameter
rclarke0 Oct 23, 2024
69f7ff6
adding middle volumes and adjusting _get_test_volumes
rclarke0 Oct 24, 2024
bab5896
low vol tests
rclarke0 Oct 24, 2024
f2716cb
adjusted script to allow for self filling of plates
rclarke0 Oct 29, 2024
13750ae
change default dispense behavior
rclarke0 Oct 29, 2024
096e558
adding axygen_1_reservoir_90ml volumes
rclarke0 Oct 30, 2024
da54558
added axygen volumes pause to empty labware
rclarke0 Oct 31, 2024
e1db68c
new volumes
rclarke0 Nov 12, 2024
12107a6
adding more labware
rclarke0 Nov 13, 2024
26bda8e
change 50ul tuberack volumes, add eppendorf 2 ml tubes
rclarke0 Nov 19, 2024
83b09df
volume changes for usascientific96well and axygen 90ml
rclarke0 Dec 6, 2024
e5fecee
usascientific 96well 2.4ml
rclarke0 Dec 6, 2024
eec59ee
linting :)
andySigler Dec 10, 2024
558587b
bring back import error
andySigler Dec 10, 2024
e12498d
corrected volumes to match google sheet
rclarke0 Dec 10, 2024
1513332
add schema version to check for subdirs
caila-marashaj Dec 10, 2024
303c8e8
make 2 a string
caila-marashaj Dec 10, 2024
8355d04
format fixes in labware
rclarke0 Dec 11, 2024
063b02a
Merge branch 'hardware-testing-lld-get-liquid-height' of https://gith…
rclarke0 Dec 11, 2024
f636e75
Update labware.py
rclarke0 Dec 11, 2024
ccf12c0
Merge branch 'edge' into hardware-testing-lld-get-liquid-height
rclarke0 Dec 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 130 additions & 0 deletions hardware-testing/hardware_testing/protocols/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1,131 @@
"""Protocols."""
from opentrons.protocol_api import ParameterContext

from opentrons.protocols.labware import get_all_labware_definitions
from typing import List
from opentrons.protocols.parameters.types import ParameterChoice


def create_trials_parameter(parameters: ParameterContext) -> None:
"""Create parameter for number of trials."""
# NOTE: Place function inside def add_parameters(parameters) in protocol.
# NOTE: Copy ctx.params.num_of_trials, ctx.params.right_mount # type: ignore[attr-defined]
parameters.add_int(
variable_name="num_of_trials",
display_name="Number of Trials",
minimum=1,
maximum=100,
default=3,
)


def create_pipette_parameters(parameters: ParameterContext) -> None:
"""Create parameter for pipettes."""
# NOTE: Place function inside def add_parameters(parameters) in protocol.
# NOTE: Copy ctx.params.left mount, ctx.params.right_mount # type: ignore[attr-defined]
# to get result
# Left Mount
parameters.add_str(
variable_name="left_mount",
display_name="Left Mount",
description="Pipette Type on Left Mount.",
choices=[
{"display_name": "8ch 50ul", "value": "flex_8channel_50"},
{"display_name": "8ch 1000ul", "value": "flex_8channel_1000"},
{"display_name": "1ch 50ul", "value": "flex_1channel_50"},
{"display_name": "1ch 1000ul", "value": "flex_1channel_1000"},
{"display_name": "96ch 1000ul", "value": "flex_96channel_1000"},
{"display_name": "None", "value": "none"},
],
default="flex_1channel_50",
)
# Right Mount
parameters.add_str(
variable_name="right_mount",
display_name="Right Mount",
description="Pipette Type on Right Mount.",
choices=[
{"display_name": "8ch 50ul", "value": "flex_8channel_50"},
{"display_name": "8ch 1000ul", "value": "flex_8channel_1000"},
{"display_name": "1ch 50ul", "value": "flex_1channel_50"},
{"display_name": "1ch 1000ul", "value": "flex_1channel_1000"},
{"display_name": "None", "value": "none"},
],
default="flex_1channel_1000",
)


def create_labware_parameters(parameters: ParameterContext) -> None:
"""Create parameters for Labware Type."""
# NOTE: Place function inside def add_parameters(parameters) in protocol.
# NOTE: Copy ctx.params.labware_type # type: ignore[attr-defined] to get result

labware_list = get_all_labware_definitions()
available_labware_choices: List[ParameterChoice] = []
# Filter out labwaer containing the following strings
# TODO: change get_all_labware_definitions function to one
# that can filter labware by type and not by string
labware_filter_words = [
"trash",
"adapter",
"tiprack",
"etips",
"lid",
"calibrationblock",
]
filtered_labware = [
labware
for labware in labware_list
if not any(filter_word in labware for filter_word in labware_filter_words)
]

# Add labware to choices list
filtered_labware.sort()
for labware in filtered_labware:
shorten_opentrons_str = labware.replace("opentrons", "opt")
available_labware_choices.append(
{
"display_name": shorten_opentrons_str.replace("_", "").title()[:30],
"value": labware,
}
)

# Create Parameter
parameters.add_str(
variable_name="labware_type",
display_name="Labware",
description="Labware to probe.",
choices=available_labware_choices,
default="opentrons_10_tuberack_nest_4x50ml_6x15ml_conical",
)


def create_liquid_parameter(parameters: ParameterContext) -> None:
"""Create parameter to specify liquid type."""
# NOTE: Place function inside def add_parameters(parameters) in protocol.
# NOTE: Copy ctx.params.liquid_type # type: ignore[attr-defined] to get result

parameters.add_str(
variable_name="liquid_type",
display_name="Liquid Type",
description="Liquid being tested.",
choices=[
{"display_name": "Water", "value": "water"},
{"display_name": "Ethanol", "value": "ethanol"},
],
default="water",
)


def create_tube_volume_parameter(parameters: ParameterContext) -> None:
"""Select if reagent tube should be 15 ml or 50 ml."""
# NOTE: Place function inside def add_parameters(parameters) in protocol.
# NOTE: Copy ctx.params.tube_volume # type: ignore[attr-defined] to get result
parameters.add_int(
variable_name="tube_volume",
display_name="Tube Volume",
default=15,
minimum=15,
maximum=50,
unit="mL",
)
Loading
Loading