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

feat(shared-data, api): Add evo tips definition and restrictions on loading #17237

Open
wants to merge 3 commits into
base: chore_release-8.3.0
Choose a base branch
from

Conversation

Laura-Danielle
Copy link
Contributor

Overview

Add evo tips definition but as a labware so that liquid handling actions can happen in the 'labware'.

Test Plan and Hands on Testing

Need to check that the stackup works as expected

Changelog

  • Add evo tips definition
  • Add stacking component to nest deepwell plate
  • Add error check for the evo tips definition so that it is not accidentally loaded onto the deck

Review requests

Check that the labware role makes sense and the stacking part.

Risk assessment

Low. Adding a new labware.

@Laura-Danielle Laura-Danielle requested review from a team as code owners January 10, 2025 01:09
@Laura-Danielle Laura-Danielle requested review from TamarZanzouri and removed request for a team January 10, 2025 01:09
Copy link
Contributor

@CaseyBatten CaseyBatten left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall the labware definition looks good, we'll need to make final determinations on how its used (as a labware or as a "lid") before merging and also on how publicly it will be available, and how it will impact LPC.

@@ -14,6 +14,7 @@ const EXPECTED_VALID_QUIRKS = [
'gripperIncompatible',
'tiprackAdapterFor96Channel',
'stackingMaxFive',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This stackingMaxFive quirk can go away now that its unused in place of the stackLimit and compatibleParentLabware fields.

Comment on lines 1012 to 1013
"stackLimit": 5,
"compatibleParentLabware": ["nest_96_wellplate_2ml_deep", "nest_1_reservoir_195ml"],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, are these the only reservoirs we plan on supporting for now?

Comment on lines +47 to +54
def validate_labware_can_be_ondeck(definition: LabwareDefinition) -> bool:
"""Validate that the labware being loaded onto the deck can sit in a slot."""
return (
definition.parameters.quirks is None
or "stackingOnly" not in definition.parameters.quirks
)


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This quirk is fine, however theres some parallel work going on with the lids behavior that introduced a new labware parameter called isDeckSlotCompatible that could be used for the same thing as this quirk. We'll be using it for the tiprack lids and any other lids that cannot be placed on deck, and in theory could use it here too, although it would need to be updated to apply to regular labware loads as well and not just lid stacks. Not a blocker but eventually we'll probably want to consolidate the two.

"loadName": "evotips_opentrons_96_labware"
},
"namespace": "opentrons",
"allowedRoles": ["labware"],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Of note currently this will raise an error when we build a stackup of:
96ch Evo Tips Adapter -> Reservoir -> Evotips Labware due to a raise condition occurring in protocol_engine/state/labware.py which enforces that hybrid stacks must consist of at most an adapter-labware-lid combination, rather than an adapter-labware-labware combination. Given the new rules we have around stackLimits and compatibleParentLabware validations, I think we can do away with that raise case and allow this to be considered a labware and not a lid.

],
"parameters": {
"format": "96Standard",
"quirks": ["tiprackAdapterFor96Channel", "stackingMaxFive"],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stackingMaxFive can be removed here, do we need to add a stackLimit to this labware? It's at the "bottom" of the stack so I think not?

…aise fix

TODO determine stacking overlap for tiprack adapter with evo tips
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants