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, labware-library): add deck riser definition and new Lid category to LL #16410

Merged
merged 13 commits into from
Oct 23, 2024
1 change: 1 addition & 0 deletions app/src/organisms/ODD/QuickTransferFlow/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ export const SINGLE_CHANNEL_COMPATIBLE_LABWARE = [
'opentrons/opentrons_flex_96_tiprack_1000ul/1',
'opentrons/opentrons_flex_96_tiprack_200ul/1',
'opentrons/opentrons_flex_96_tiprack_50ul/1',
'opentrons/opentrons_tough_pcr_auto_sealing_lid/1',
Copy link
Contributor

Choose a reason for hiding this comment

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

@syao1226
Let's verify that the auto-sealing lid does not appear as selectable labware in the Quick Transfer flow. If it does appear, then I think the generateCompatibleLabwareForPipette utility needs to take into account lids or maybe this specific lid and possibly omit them from being added to the (SINGLE_CHANNEL_COMPATIBLE_LABWARE) array.

@smb2268
Is this accurate?

Copy link
Contributor

@smb2268 smb2268 Oct 22, 2024

Choose a reason for hiding this comment

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

Yeah, since this util is meant to return the labware that each pipette is able to aspirate/dispense into I think we should change the conditional on lines 16-17 of generateCompatibleLabwareForPipette to be:

        definition.allowedRoles != null &&
        (definition.allowedRoles.includes('adapter') || definition.allowedRoles.includes('lid'))

However, we do have an additional layer in the quick transfer flow that only shows labware with display categories reservoir, tubeRack, and wellPlate so the lid won't be displayed as an option regardless.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

okay i'll update generateCompatibleLabwareForPipette to omit lids. thanks!

'opentrons/opentrons_universal_flat_adapter_corning_384_wellplate_112ul_flat/1',
'opentrons/thermoscientificnunc_96_wellplate_1300ul/1',
'opentrons/thermoscientificnunc_96_wellplate_2000ul/1',
Expand Down
4 changes: 4 additions & 0 deletions components/src/images/labware/measurement-guide/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,10 @@ const FOOTPRINT_DIAGRAMS: Diagrams = {
new URL(FOOTPRINT_IMAGE_RELATIVE_PATH, import.meta.url).href,
new URL(DIMENSIONS_HEIGHT_PLATE_IMAGE_RELATIVE_PATH, import.meta.url).href,
],
lid: [
new URL(FOOTPRINT_IMAGE_RELATIVE_PATH, import.meta.url).href,
new URL(DIMENSIONS_HEIGHT_PLATE_IMAGE_RELATIVE_PATH, import.meta.url).href,
],
}

const ALUM_BLOCK_FOOTPRINTS: Diagrams = {
Expand Down
9 changes: 9 additions & 0 deletions labware-library/src/components/labware-ui/labware-images.ts
Original file line number Diff line number Diff line change
Expand Up @@ -468,4 +468,13 @@ export const labwareImages: Record<string, string[]> = {
import.meta.url
).href,
],
opentrons_tough_pcr_auto_sealing_lid: [
new URL(
'../../images/opentrons_tough_pcr_auto_sealing_lid.jpg',
import.meta.url
).href,
],
opentrons_flex_deck_riser: [
new URL('../../images/opentrons_flex_deck_riser.jpg', import.meta.url).href,
],
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions labware-library/src/localization/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export const CATEGORY_LABELS_BY_CATEGORY = {
trash: 'Trash',
other: 'Other',
adapter: 'Adapter',
lid: 'Lid',
}

export const PLURAL_CATEGORY_LABELS_BY_CATEGORY = {
Expand All @@ -20,6 +21,7 @@ export const PLURAL_CATEGORY_LABELS_BY_CATEGORY = {
wellPlate: 'Well Plates',
reservoir: 'Reservoirs',
aluminumBlock: 'Aluminum Blocks',
lid: 'Lid',
trash: 'Trashes',
other: 'Other',
}
Expand Down
6 changes: 6 additions & 0 deletions shared-data/js/labware.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,9 @@ import opentronsFlex96Tiprack1000UlV1Uncasted from '../labware/definitions/2/ope
import opentronsFlex96Tiprack200UlV1Uncasted from '../labware/definitions/2/opentrons_flex_96_tiprack_200ul/1.json'
import opentronsFlex96Tiprack50UlV1Uncasted from '../labware/definitions/2/opentrons_flex_96_tiprack_50ul/1.json'
import opentronsFlex96TiprackAdapterV1Uncasted from '../labware/definitions/2/opentrons_flex_96_tiprack_adapter/1.json'
import opentronsFlexDeckRiserV1Uncasted from '../labware/definitions/2/opentrons_flex_deck_riser/1.json'
import opentronsFlexLidAbsorbancePlateReaderModuleV1Uncasted from '../labware/definitions/2/opentrons_flex_lid_absorbance_plate_reader_module/1.json'
import opentronsToughPcrAutoSealingLidV1Uncasted from '../labware/definitions/2/opentrons_tough_pcr_auto_sealing_lid/1.json'
import opentronsUniversalFlatAdapterV1Uncasted from '../labware/definitions/2/opentrons_universal_flat_adapter/1.json'
import opentronsUniversalFlatAdapterCorning384Wellplate112UlFlatV1Uncasted from '../labware/definitions/2/opentrons_universal_flat_adapter_corning_384_wellplate_112ul_flat/1.json'
import opentrons96DeepWellTempModAdapterV1Uncasted from '../labware/definitions/2/opentrons_96_deep_well_temp_mod_adapter/1.json'
Expand Down Expand Up @@ -285,7 +287,9 @@ const opentronsFlex96Tiprack1000UlV1 = opentronsFlex96Tiprack1000UlV1Uncasted as
const opentronsFlex96Tiprack200UlV1 = opentronsFlex96Tiprack200UlV1Uncasted as LabwareDefinition2
const opentronsFlex96Tiprack50UlV1 = opentronsFlex96Tiprack50UlV1Uncasted as LabwareDefinition2
const opentronsFlex96TiprackAdapterV1 = opentronsFlex96TiprackAdapterV1Uncasted as LabwareDefinition2
const opentronsFlexDeckRiserV1 = opentronsFlexDeckRiserV1Uncasted as LabwareDefinition2
const opentronsFlexLidAbsorbancePlateReaderModuleV1 = opentronsFlexLidAbsorbancePlateReaderModuleV1Uncasted as LabwareDefinition2
const opentronsToughPcrAutoSealingLidV1 = opentronsToughPcrAutoSealingLidV1Uncasted as LabwareDefinition2
const opentronsUniversalFlatAdapterV1 = opentronsUniversalFlatAdapterV1Uncasted as LabwareDefinition2
const opentronsUniversalFlatAdapterCorning384Wellplate112UlFlatV1 = opentronsUniversalFlatAdapterCorning384Wellplate112UlFlatV1Uncasted as LabwareDefinition2
const thermoscientificnunc96Wellplate1300UlV1 = thermoscientificnunc96Wellplate1300UlV1Uncasted as LabwareDefinition2
Expand Down Expand Up @@ -452,7 +456,9 @@ const latestDefs = {
opentronsFlex96Tiprack200UlV1,
opentronsFlex96Tiprack50UlV1,
opentronsFlex96TiprackAdapterV1,
opentronsFlexDeckRiserV1,
opentronsFlexLidAbsorbancePlateReaderModuleV1,
opentronsToughPcrAutoSealingLidV1,
opentronsUniversalFlatAdapterV1,
opentronsUniversalFlatAdapterCorning384Wellplate112UlFlatV1,
thermoscientificnunc96Wellplate1300UlV1,
Expand Down
2 changes: 1 addition & 1 deletion shared-data/js/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ export type LabwareDisplayCategory =
| 'trash'
| 'other'
| 'adapter'

| 'lid'
export type LabwareVolumeUnits = 'µL' | 'mL' | 'L'

// TODO(mc, 2019-05-29): Remove this enum in favor of string + exported
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"ordering": [],
"brand": {
"brand": "Opentrons",
"brandId": []
},
"metadata": {
"displayName": "Opentrons Flex Deck Riser",
"displayCategory": "adapter",
"displayVolumeUnits": "\u00b5L",
"tags": []
},
"dimensions": {
"xDimension": 140,
"yDimension": 98,
"zDimension": 21
},
"wells": {},
"groups": [
{
"metadata": {},
"wells": []
}
],
"parameters": {
"format": "96Standard",
"quirks": [],
"isTiprack": false,
"isMagneticModuleCompatible": false,
"loadName": "opentrons_flex_deck_riser"
},
"namespace": "opentrons",
"version": 1,
"schemaVersion": 2,
"allowedRoles": ["adapter"],
"cornerOffsetFromSlot": {
"x": 0,
"y": 0,
"z": 0
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
},
"metadata": {
"displayName": "Opentrons Tough PCR Auto-Sealing Lid",
"displayCategory": "other",
"displayCategory": "lid",
"displayVolumeUnits": "\u00b5L",
"tags": []
},
Expand Down Expand Up @@ -60,6 +60,11 @@
"x": 0,
"y": 0,
"z": 8.193
},
"opentrons_flex_deck_riser": {
"x": 0,
"y": 0,
"z": 0
}
},
"gripForce": 15,
Expand Down
3 changes: 2 additions & 1 deletion shared-data/labware/schemas/2.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@
"wellPlate",
"aluminumBlock",
"adapter",
"other"
"other",
"lid"
]
},
"safeString": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ class DisplayCategory(str, Enum):
aluminumBlock = "aluminumBlock"
adapter = "adapter"
other = "other"
lid = "lid"


class LabwareRole(str, Enum):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
Literal["aluminumBlock"],
Literal["adapter"],
Literal["other"],
Literal["lid"],
]

LabwareFormat = Union[
Expand Down
Loading