diff --git a/api/src/opentrons/protocol_api/core/engine/load_labware_params.py b/api/src/opentrons/protocol_api/core/engine/load_labware_params.py index 29566eef9c6f..f0ee06676c78 100644 --- a/api/src/opentrons/protocol_api/core/engine/load_labware_params.py +++ b/api/src/opentrons/protocol_api/core/engine/load_labware_params.py @@ -46,8 +46,6 @@ "corning_48_wellplate_1.6ml_flat": 3, "corning_6_wellplate_16.8ml_flat": 3, "corning_96_wellplate_360ul_flat": 3, - "evotips_flex_96_tiprack_adapter": 2, - "evotips_opentrons_96_labware": 2, "nest_12_reservoir_15ml": 2, "nest_1_reservoir_195ml": 3, "nest_1_reservoir_290ml": 2, diff --git a/api/src/opentrons/protocol_engine/commands/evotip_dispense.py b/api/src/opentrons/protocol_engine/commands/evotip_dispense.py index 55fe620bdba3..e20fdb44ef9f 100644 --- a/api/src/opentrons/protocol_engine/commands/evotip_dispense.py +++ b/api/src/opentrons/protocol_engine/commands/evotip_dispense.py @@ -4,7 +4,6 @@ from typing import TYPE_CHECKING, Optional, Type, Union from typing_extensions import Literal -from opentrons.protocol_engine.errors import UnsupportedLabwareForActionError from .pipetting_common import ( PipetteIdMixin, FlowRateMixin, @@ -28,7 +27,6 @@ DefinedErrorData, ) from ..state.update_types import StateUpdate -from ..resources import labware_validation from ..errors import ProtocolEngineError if TYPE_CHECKING: @@ -86,11 +84,6 @@ async def execute(self, params: EvotipDispenseParams) -> _ExecuteReturn: labware_id = params.labwareId well_name = params.wellName - labware_definition = self._state_view.labware.get_definition(params.labwareId) - if not labware_validation.is_evotips(labware_definition.parameters.loadName): - raise UnsupportedLabwareForActionError( - f"Cannot use command: `EvotipDispense` with labware: {labware_definition.parameters.loadName}" - ) move_result = await move_to_well( movement=self._movement, model_utils=self._model_utils, diff --git a/api/src/opentrons/protocol_engine/commands/evotip_seal_pipette.py b/api/src/opentrons/protocol_engine/commands/evotip_seal_pipette.py index 7fa85241f369..24d9a7d266ee 100644 --- a/api/src/opentrons/protocol_engine/commands/evotip_seal_pipette.py +++ b/api/src/opentrons/protocol_engine/commands/evotip_seal_pipette.py @@ -7,8 +7,7 @@ from opentrons.protocol_engine.types import MotorAxis from typing_extensions import Literal -from opentrons.protocol_engine.errors import UnsupportedLabwareForActionError -from ..resources import ModelUtils, labware_validation +from ..resources import ModelUtils from ..types import PickUpTipWellLocation, FluidKind, AspiratedFluid from .pipetting_common import ( PipetteIdMixin, @@ -217,12 +216,6 @@ async def execute( labware_id = params.labwareId well_name = params.wellName - labware_definition = self._state_view.labware.get_definition(params.labwareId) - if not labware_validation.is_evotips(labware_definition.parameters.loadName): - raise UnsupportedLabwareForActionError( - f"Cannot use command: `EvotipSealPipette` with labware: {labware_definition.parameters.loadName}" - ) - well_location = self._state_view.geometry.convert_pick_up_tip_well_location( well_location=params.wellLocation ) diff --git a/api/src/opentrons/protocol_engine/commands/evotip_unseal_pipette.py b/api/src/opentrons/protocol_engine/commands/evotip_unseal_pipette.py index e8cde34fd5c2..ef4f55611255 100644 --- a/api/src/opentrons/protocol_engine/commands/evotip_unseal_pipette.py +++ b/api/src/opentrons/protocol_engine/commands/evotip_unseal_pipette.py @@ -7,7 +7,6 @@ from typing_extensions import Literal from opentrons.protocol_engine.resources.model_utils import ModelUtils -from opentrons.protocol_engine.errors import UnsupportedLabwareForActionError from opentrons.protocol_engine.types import MotorAxis from opentrons.types import MountType @@ -27,7 +26,6 @@ DefinedErrorData, SuccessData, ) -from ..resources import labware_validation if TYPE_CHECKING: from ..state.state import StateView @@ -86,11 +84,7 @@ async def execute(self, params: EvotipUnsealPipetteParams) -> _ExecuteReturn: well_name = params.wellName well_location = params.wellLocation - labware_definition = self._state_view.labware.get_definition(params.labwareId) - if not labware_validation.is_evotips(labware_definition.parameters.loadName): - raise UnsupportedLabwareForActionError( - f"Cannot use command: `EvotipUnsealPipette` with labware: {labware_definition.parameters.loadName}" - ) + is_partially_configured = self._state_view.pipettes.get_is_partially_configured( pipette_id=pipette_id ) diff --git a/api/src/opentrons/protocol_engine/resources/labware_validation.py b/api/src/opentrons/protocol_engine/resources/labware_validation.py index fb806e4d0b96..d918cfd6fe4d 100644 --- a/api/src/opentrons/protocol_engine/resources/labware_validation.py +++ b/api/src/opentrons/protocol_engine/resources/labware_validation.py @@ -21,11 +21,6 @@ def is_lid_stack(load_name: str) -> bool: return load_name == "protocol_engine_lid_stack_object" -def is_evotips(load_name: str) -> bool: - """Check if a labware is an evotips tiprack.""" - return load_name == "evotips_opentrons_96_labware" - - def validate_definition_is_labware(definition: LabwareDefinition) -> bool: """Validate that one of the definition's allowed roles is `labware`. diff --git a/api/tests/opentrons/protocol_engine/commands/test_evotip_dispense.py b/api/tests/opentrons/protocol_engine/commands/test_evotip_dispense.py index 72251a03a288..fb65dace28ec 100644 --- a/api/tests/opentrons/protocol_engine/commands/test_evotip_dispense.py +++ b/api/tests/opentrons/protocol_engine/commands/test_evotip_dispense.py @@ -38,7 +38,7 @@ def evotips_definition() -> LabwareDefinition: """A fixturee of the evotips definition.""" # TODO (chb 2025-01-29): When we migrate all labware to v3 we can clean this up return labware_definition_type_adapter.validate_python( - load_definition("evotips_opentrons_96_labware", 1) + load_definition("evotip_flex_96_labware", 1) ) diff --git a/api/tests/opentrons/protocol_engine/commands/test_evotip_seal_pipette.py b/api/tests/opentrons/protocol_engine/commands/test_evotip_seal_pipette.py index e4e70170374d..33aadeb8a36a 100644 --- a/api/tests/opentrons/protocol_engine/commands/test_evotip_seal_pipette.py +++ b/api/tests/opentrons/protocol_engine/commands/test_evotip_seal_pipette.py @@ -48,7 +48,7 @@ def evotips_definition() -> LabwareDefinition: """A fixturee of the evotips definition.""" # TODO (chb 2025-01-29): When we migrate all labware to v3 we can clean this up return labware_definition_type_adapter.validate_python( - load_definition("evotips_opentrons_96_labware", 1) + load_definition("evotip_flex_96_labware", 1) ) diff --git a/api/tests/opentrons/protocol_engine/commands/test_evotip_unseal_pipette.py b/api/tests/opentrons/protocol_engine/commands/test_evotip_unseal_pipette.py index 509aaeb482f4..ba30924e13b1 100644 --- a/api/tests/opentrons/protocol_engine/commands/test_evotip_unseal_pipette.py +++ b/api/tests/opentrons/protocol_engine/commands/test_evotip_unseal_pipette.py @@ -92,7 +92,7 @@ def evotips_definition() -> LabwareDefinition: """A fixturee of the evotips definition.""" # TODO (chb 2025-01-29): When we migrate all labware to v3 we can clean this up return labware_definition_type_adapter.validate_python( - load_definition("evotips_opentrons_96_labware", 1) + load_definition("evotip_flex_96_labware", 1) ) diff --git a/app/src/organisms/ODD/QuickTransferFlow/constants.ts b/app/src/organisms/ODD/QuickTransferFlow/constants.ts index 946c18658cce..a5c677145037 100644 --- a/app/src/organisms/ODD/QuickTransferFlow/constants.ts +++ b/app/src/organisms/ODD/QuickTransferFlow/constants.ts @@ -33,6 +33,11 @@ export const TRANSFER = 'transfer' export const DEFAULT_MM_TOUCH_TIP_OFFSET_FROM_TOP = -1 export const DEFAULT_MM_BLOWOUT_OFFSET_FROM_TOP = 0 +// this list is manually maintained +export const QUICK_TRANSFER_INCOMPATIBLE_LABWARE = [ + 'opentrons/evotip_flex_96_labware/1', +] + // these lists are generated by the util generateCompatibleLabwareForPipette in ./utils export const SINGLE_CHANNEL_COMPATIBLE_LABWARE = [ 'opentrons/agilent_1_reservoir_290ml/2', diff --git a/app/src/organisms/ODD/QuickTransferFlow/utils/generateCompatibleLabwareForPipette.ts b/app/src/organisms/ODD/QuickTransferFlow/utils/generateCompatibleLabwareForPipette.ts index 8ffaee4199e8..d8e703d4edc4 100644 --- a/app/src/organisms/ODD/QuickTransferFlow/utils/generateCompatibleLabwareForPipette.ts +++ b/app/src/organisms/ODD/QuickTransferFlow/utils/generateCompatibleLabwareForPipette.ts @@ -1,5 +1,6 @@ import { makeWellSetHelpers, getLabwareDefURI } from '@opentrons/shared-data' import { getAllDefinitions as getAllLatestDefValues } from '/app/local-resources/labware' +import { QUICK_TRANSFER_INCOMPATIBLE_LABWARE } from '../constants' import type { PipetteV2Specs, WellSetHelpers } from '@opentrons/shared-data' @@ -19,6 +20,12 @@ export function generateCompatibleLabwareForPipette( definition.allowedRoles.includes('system')) ) { return acc + } else if ( + QUICK_TRANSFER_INCOMPATIBLE_LABWARE.includes( + getLabwareDefURI(definition) + ) + ) { + return acc } else if (pipetteSpecs.channels === 1) { return [...acc, getLabwareDefURI(definition)] } else { diff --git a/shared-data/js/__tests__/labwareDefSchemaV2.test.ts b/shared-data/js/__tests__/labwareDefSchemaV2.test.ts index 73782087c46d..cb1d1d3db406 100644 --- a/shared-data/js/__tests__/labwareDefSchemaV2.test.ts +++ b/shared-data/js/__tests__/labwareDefSchemaV2.test.ts @@ -130,7 +130,7 @@ const expectedWellsNotMatchingZDimension: Record> = { 'opentrons_calibrationblock_short_side_right/1.json': new Set(['A2']), // this labware has a lip - 'evotips_opentrons_96_labware/2.json': standard96WellNames, + 'evotip_flex_96_labware/1.json': standard96WellNames, // Presumably a bug. Fixed in v3 of this labware. 'nest_1_reservoir_195ml/1.json': new Set(['A1']), diff --git a/shared-data/js/getLabware.ts b/shared-data/js/getLabware.ts index edbe4cc36a96..a5d62e43b475 100644 --- a/shared-data/js/getLabware.ts +++ b/shared-data/js/getLabware.ts @@ -44,11 +44,6 @@ export const LABWAREV2_DO_NOT_LIST = [ 'opentrons_ot3_96_tiprack_1000ul', 'opentrons_ot3_96_tiprack_50ul', 'opentrons_flex_lid_absorbance_plate_reader_module', - // temporarily blocking evotips until it is out of beta - 'evotips_flex_96_tiprack_adapter', - 'evotips_opentrons_96_labware', - 'evotips_tiprack_adapter', - 'evotips_reservoir_adapter', // temporarily blocking tiprack lids until stacker launches 'opentrons_flex_tiprack_lid', // temporarily blocking 20 uL Flex tip racks until they launch @@ -75,11 +70,11 @@ export const PD_DO_NOT_LIST = [ // temporarily blocking TC lid adapter and deck riser until it is supported in PD 'opentrons_tough_pcr_auto_sealing_lid', 'opentrons_flex_deck_riser', - // temporarily blocking evotips until it is supported in PD - 'evotips_flex_96_tiprack_adapter', - 'evotips_opentrons_96_labware', - 'evotips_tiprack_adapter', - 'evotips_reservoir_adapter', + // evotip is not supported in PD + 'evotip_flex_96_tiprack_adapter', + 'evotip_flex_96_labware', + 'evotip_flex_tall_adapter', + 'evotip_flex_short_adapter', // temporarily blocking tiprack lids until stacker launches 'opentrons_flex_tiprack_lid', // temporarily blocking 20 uL Flex tip racks until they launch diff --git a/shared-data/labware/definitions/2/evotips_opentrons_96_labware/2.json b/shared-data/labware/definitions/2/evotip_flex_96_labware/1.json similarity index 98% rename from shared-data/labware/definitions/2/evotips_opentrons_96_labware/2.json rename to shared-data/labware/definitions/2/evotip_flex_96_labware/1.json index 2a7ceee78388..07318307b889 100644 --- a/shared-data/labware/definitions/2/evotips_opentrons_96_labware/2.json +++ b/shared-data/labware/definitions/2/evotip_flex_96_labware/1.json @@ -15,10 +15,13 @@ ], "brand": { "brand": "opentrons", - "brandId": [] + "brandId": ["999-00254"], + "links": [ + "https://opentrons.com/products/opentrons-flex-evotip-adapter-set/" + ] }, "metadata": { - "displayName": "Evotips", + "displayName": "Evotip Labware in Opentrons Flex Top Adapter", "displayCategory": "wellPlate", "displayVolumeUnits": "µL", "tags": [] @@ -1006,11 +1009,11 @@ "tipLength": 51.0, "tipOverlap": 10.0, "isMagneticModuleCompatible": false, - "loadName": "evotips_opentrons_96_labware" + "loadName": "evotip_flex_96_labware" }, "namespace": "opentrons", "allowedRoles": ["labware"], - "version": 2, + "version": 1, "stackLimit": 5, "schemaVersion": 2, "cornerOffsetFromSlot": { @@ -1045,17 +1048,17 @@ "y": 0, "z": 22.5 }, - "evotips_reservoir_adapter": { + "evotip_flex_short_adapter": { "x": 0, "y": 0, "z": 18.5 }, - "evotips_flex_96_tiprack_adapter": { + "evotip_flex_96_tiprack_adapter": { "x": 0, "y": 0, "z": 71.78 }, - "evotips_tiprack_adapter": { + "evotip_flex_tall_adapter": { "x": 0, "y": 0, "z": 18.5 diff --git a/shared-data/labware/definitions/2/evotips_flex_96_tiprack_adapter/2.json b/shared-data/labware/definitions/2/evotip_flex_96_tiprack_adapter/1.json similarity index 72% rename from shared-data/labware/definitions/2/evotips_flex_96_tiprack_adapter/2.json rename to shared-data/labware/definitions/2/evotip_flex_96_tiprack_adapter/1.json index eca5fc5bba41..715277e95598 100644 --- a/shared-data/labware/definitions/2/evotips_flex_96_tiprack_adapter/2.json +++ b/shared-data/labware/definitions/2/evotip_flex_96_tiprack_adapter/1.json @@ -2,10 +2,13 @@ "ordering": [], "brand": { "brand": "Opentrons", - "brandId": [] + "brandId": ["999-00254"], + "links": [ + "https://opentrons.com/products/opentrons-flex-evotip-adapter-set/" + ] }, "metadata": { - "displayName": "Evotip Tiprack 96-Channel Adapter", + "displayName": "Opentrons Flex Evotip Tiprack 96-Channel Adapter", "displayCategory": "adapter", "displayVolumeUnits": "µL", "tags": [] @@ -27,10 +30,10 @@ "quirks": ["tiprackAdapterFor96Channel", "stackingMaxFive"], "isTiprack": false, "isMagneticModuleCompatible": false, - "loadName": "evotips_flex_96_tiprack_adapter" + "loadName": "evotip_flex_96_tiprack_adapter" }, "namespace": "opentrons", - "version": 2, + "version": 1, "schemaVersion": 2, "allowedRoles": ["adapter"], "cornerOffsetFromSlot": { diff --git a/shared-data/labware/definitions/2/evotips_reservoir_adapter/1.json b/shared-data/labware/definitions/2/evotip_flex_short_adapter/1.json similarity index 74% rename from shared-data/labware/definitions/2/evotips_reservoir_adapter/1.json rename to shared-data/labware/definitions/2/evotip_flex_short_adapter/1.json index 8bd04cf8a38b..bfc7ebeeb7af 100644 --- a/shared-data/labware/definitions/2/evotips_reservoir_adapter/1.json +++ b/shared-data/labware/definitions/2/evotip_flex_short_adapter/1.json @@ -2,10 +2,13 @@ "ordering": [], "brand": { "brand": "Opentrons", - "brandId": [] + "brandId": ["999-00254"], + "links": [ + "https://opentrons.com/products/opentrons-flex-evotip-adapter-set/" + ] }, "metadata": { - "displayName": "Evotip Soaking Reservoir Adapter", + "displayName": "Opentrons Flex Evotip Short Adapter", "displayCategory": "adapter", "displayVolumeUnits": "µL", "tags": [] @@ -27,7 +30,7 @@ "quirks": ["stackingMaxFive"], "isTiprack": false, "isMagneticModuleCompatible": false, - "loadName": "evotips_reservoir_adapter" + "loadName": "evotip_flex_short_adapter" }, "namespace": "opentrons", "version": 1, diff --git a/shared-data/labware/definitions/2/evotips_tiprack_adapter/1.json b/shared-data/labware/definitions/2/evotip_flex_tall_adapter/1.json similarity index 74% rename from shared-data/labware/definitions/2/evotips_tiprack_adapter/1.json rename to shared-data/labware/definitions/2/evotip_flex_tall_adapter/1.json index c94a430f98f1..1c586f25fc59 100644 --- a/shared-data/labware/definitions/2/evotips_tiprack_adapter/1.json +++ b/shared-data/labware/definitions/2/evotip_flex_tall_adapter/1.json @@ -2,10 +2,13 @@ "ordering": [], "brand": { "brand": "Opentrons", - "brandId": [] + "brandId": ["999-00254"], + "links": [ + "https://opentrons.com/products/opentrons-flex-evotip-adapter-set/" + ] }, "metadata": { - "displayName": "Evotip Tiprack Adapter", + "displayName": "Opentrons Flex Evotip Tall Adapter", "displayCategory": "adapter", "displayVolumeUnits": "µL", "tags": [] @@ -27,7 +30,7 @@ "quirks": ["stackingMaxFive"], "isTiprack": false, "isMagneticModuleCompatible": false, - "loadName": "evotips_tiprack_adapter" + "loadName": "evotip_flex_tall_adapter" }, "namespace": "opentrons", "version": 1, diff --git a/shared-data/labware/definitions/2/evotips_flex_96_tiprack_adapter/1.json b/shared-data/labware/definitions/2/evotips_flex_96_tiprack_adapter/1.json deleted file mode 100644 index 87f4cb1277eb..000000000000 --- a/shared-data/labware/definitions/2/evotips_flex_96_tiprack_adapter/1.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "ordering": [], - "brand": { - "brand": "Opentrons", - "brandId": [] - }, - "metadata": { - "displayName": "Evotips adapter", - "displayCategory": "adapter", - "displayVolumeUnits": "µL", - "tags": [] - }, - "dimensions": { - "xDimension": 156.5, - "yDimension": 105, - "zDimension": 132 - }, - "wells": {}, - "groups": [ - { - "metadata": {}, - "wells": [] - } - ], - "parameters": { - "format": "96Standard", - "quirks": ["tiprackAdapterFor96Channel", "stackingMaxFive"], - "isTiprack": false, - "isMagneticModuleCompatible": false, - "loadName": "evotips_flex_96_tiprack_adapter" - }, - "namespace": "opentrons", - "version": 1, - "schemaVersion": 2, - "allowedRoles": ["adapter"], - "cornerOffsetFromSlot": { - "x": -14.25, - "y": -3.5, - "z": 0 - } -} diff --git a/shared-data/labware/definitions/2/evotips_opentrons_96_labware/1.json b/shared-data/labware/definitions/2/evotips_opentrons_96_labware/1.json deleted file mode 100644 index 788e8eff8c4f..000000000000 --- a/shared-data/labware/definitions/2/evotips_opentrons_96_labware/1.json +++ /dev/null @@ -1,1054 +0,0 @@ -{ - "ordering": [ - ["A1", "B1", "C1", "D1", "E1", "F1", "G1", "H1"], - ["A2", "B2", "C2", "D2", "E2", "F2", "G2", "H2"], - ["A3", "B3", "C3", "D3", "E3", "F3", "G3", "H3"], - ["A4", "B4", "C4", "D4", "E4", "F4", "G4", "H4"], - ["A5", "B5", "C5", "D5", "E5", "F5", "G5", "H5"], - ["A6", "B6", "C6", "D6", "E6", "F6", "G6", "H6"], - ["A7", "B7", "C7", "D7", "E7", "F7", "G7", "H7"], - ["A8", "B8", "C8", "D8", "E8", "F8", "G8", "H8"], - ["A9", "B9", "C9", "D9", "E9", "F9", "G9", "H9"], - ["A10", "B10", "C10", "D10", "E10", "F10", "G10", "H10"], - ["A11", "B11", "C11", "D11", "E11", "F11", "G11", "H11"], - ["A12", "B12", "C12", "D12", "E12", "F12", "G12", "H12"] - ], - "brand": { - "brand": "opentrons", - "brandId": [] - }, - "metadata": { - "displayName": "Evotips", - "displayCategory": "wellPlate", - "displayVolumeUnits": "µL", - "tags": [] - }, - "dimensions": { - "xDimension": 127.75, - "yDimension": 86, - "zDimension": 55 - }, - "wells": { - "A1": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 14.08, - "y": 75.25, - "z": 1 - }, - "B1": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 14.08, - "y": 66.25, - "z": 1 - }, - "C1": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 14.08, - "y": 57.25, - "z": 1 - }, - "D1": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 14.08, - "y": 48.25, - "z": 1 - }, - "E1": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 14.08, - "y": 39.25, - "z": 1 - }, - "F1": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 14.08, - "y": 30.25, - "z": 1 - }, - "G1": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 14.08, - "y": 21.25, - "z": 1 - }, - "H1": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 14.08, - "y": 12.25, - "z": 1 - }, - "A2": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 23.08, - "y": 75.25, - "z": 1 - }, - "B2": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 23.08, - "y": 66.25, - "z": 1 - }, - "C2": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 23.08, - "y": 57.25, - "z": 1 - }, - "D2": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 23.08, - "y": 48.25, - "z": 1 - }, - "E2": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 23.08, - "y": 39.25, - "z": 1 - }, - "F2": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 23.08, - "y": 30.25, - "z": 1 - }, - "G2": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 23.08, - "y": 21.25, - "z": 1 - }, - "H2": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 23.08, - "y": 12.25, - "z": 1 - }, - "A3": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 32.08, - "y": 75.25, - "z": 1 - }, - "B3": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 32.08, - "y": 66.25, - "z": 1 - }, - "C3": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 32.08, - "y": 57.25, - "z": 1 - }, - "D3": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 32.08, - "y": 48.25, - "z": 1 - }, - "E3": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 32.08, - "y": 39.25, - "z": 1 - }, - "F3": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 32.08, - "y": 30.25, - "z": 1 - }, - "G3": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 32.08, - "y": 21.25, - "z": 1 - }, - "H3": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 32.08, - "y": 12.25, - "z": 1 - }, - "A4": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 41.08, - "y": 75.25, - "z": 1 - }, - "B4": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 41.08, - "y": 66.25, - "z": 1 - }, - "C4": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 41.08, - "y": 57.25, - "z": 1 - }, - "D4": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 41.08, - "y": 48.25, - "z": 1 - }, - "E4": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 41.08, - "y": 39.25, - "z": 1 - }, - "F4": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 41.08, - "y": 30.25, - "z": 1 - }, - "G4": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 41.08, - "y": 21.25, - "z": 1 - }, - "H4": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 41.08, - "y": 12.25, - "z": 1 - }, - "A5": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 50.08, - "y": 75.25, - "z": 1 - }, - "B5": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 50.08, - "y": 66.25, - "z": 1 - }, - "C5": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 50.08, - "y": 57.25, - "z": 1 - }, - "D5": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 50.08, - "y": 48.25, - "z": 1 - }, - "E5": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 50.08, - "y": 39.25, - "z": 1 - }, - "F5": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 50.08, - "y": 30.25, - "z": 1 - }, - "G5": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 50.08, - "y": 21.25, - "z": 1 - }, - "H5": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 50.08, - "y": 12.25, - "z": 1 - }, - "A6": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 59.08, - "y": 75.25, - "z": 1 - }, - "B6": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 59.08, - "y": 66.25, - "z": 1 - }, - "C6": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 59.08, - "y": 57.25, - "z": 1 - }, - "D6": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 59.08, - "y": 48.25, - "z": 1 - }, - "E6": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 59.08, - "y": 39.25, - "z": 1 - }, - "F6": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 59.08, - "y": 30.25, - "z": 1 - }, - "G6": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 59.08, - "y": 21.25, - "z": 1 - }, - "H6": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 59.08, - "y": 12.25, - "z": 1 - }, - "A7": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 68.08, - "y": 75.25, - "z": 1 - }, - "B7": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 68.08, - "y": 66.25, - "z": 1 - }, - "C7": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 68.08, - "y": 57.25, - "z": 1 - }, - "D7": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 68.08, - "y": 48.25, - "z": 1 - }, - "E7": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 68.08, - "y": 39.25, - "z": 1 - }, - "F7": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 68.08, - "y": 30.25, - "z": 1 - }, - "G7": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 68.08, - "y": 21.25, - "z": 1 - }, - "H7": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 68.08, - "y": 12.25, - "z": 1 - }, - "A8": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 77.08, - "y": 75.25, - "z": 1 - }, - "B8": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 77.08, - "y": 66.25, - "z": 1 - }, - "C8": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 77.08, - "y": 57.25, - "z": 1 - }, - "D8": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 77.08, - "y": 48.25, - "z": 1 - }, - "E8": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 77.08, - "y": 39.25, - "z": 1 - }, - "F8": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 77.08, - "y": 30.25, - "z": 1 - }, - "G8": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 77.08, - "y": 21.25, - "z": 1 - }, - "H8": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 77.08, - "y": 12.25, - "z": 1 - }, - "A9": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 86.08, - "y": 75.25, - "z": 1 - }, - "B9": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 86.08, - "y": 66.25, - "z": 1 - }, - "C9": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 86.08, - "y": 57.25, - "z": 1 - }, - "D9": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 86.08, - "y": 48.25, - "z": 1 - }, - "E9": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 86.08, - "y": 39.25, - "z": 1 - }, - "F9": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 86.08, - "y": 30.25, - "z": 1 - }, - "G9": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 86.08, - "y": 21.25, - "z": 1 - }, - "H9": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 86.08, - "y": 12.25, - "z": 1 - }, - "A10": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 95.08, - "y": 75.25, - "z": 1 - }, - "B10": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 95.08, - "y": 66.25, - "z": 1 - }, - "C10": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 95.08, - "y": 57.25, - "z": 1 - }, - "D10": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 95.08, - "y": 48.25, - "z": 1 - }, - "E10": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 95.08, - "y": 39.25, - "z": 1 - }, - "F10": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 95.08, - "y": 30.25, - "z": 1 - }, - "G10": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 95.08, - "y": 21.25, - "z": 1 - }, - "H10": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 95.08, - "y": 12.25, - "z": 1 - }, - "A11": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 104.08, - "y": 75.25, - "z": 1 - }, - "B11": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 104.08, - "y": 66.25, - "z": 1 - }, - "C11": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 104.08, - "y": 57.25, - "z": 1 - }, - "D11": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 104.08, - "y": 48.25, - "z": 1 - }, - "E11": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 104.08, - "y": 39.25, - "z": 1 - }, - "F11": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 104.08, - "y": 30.25, - "z": 1 - }, - "G11": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 104.08, - "y": 21.25, - "z": 1 - }, - "H11": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 104.08, - "y": 12.25, - "z": 1 - }, - "A12": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 113.08, - "y": 75.25, - "z": 1 - }, - "B12": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 113.08, - "y": 66.25, - "z": 1 - }, - "C12": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 113.08, - "y": 57.25, - "z": 1 - }, - "D12": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 113.08, - "y": 48.25, - "z": 1 - }, - "E12": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 113.08, - "y": 39.25, - "z": 1 - }, - "F12": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 113.08, - "y": 30.25, - "z": 1 - }, - "G12": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 113.08, - "y": 21.25, - "z": 1 - }, - "H12": { - "depth": 54, - "totalLiquidVolume": 1000, - "shape": "circular", - "diameter": 7, - "x": 113.08, - "y": 12.25, - "z": 1 - } - }, - "groups": [ - { - "metadata": { - "wellBottomShape": "v" - }, - "wells": [ - "A1", - "B1", - "C1", - "D1", - "E1", - "F1", - "G1", - "H1", - "A2", - "B2", - "C2", - "D2", - "E2", - "F2", - "G2", - "H2", - "A3", - "B3", - "C3", - "D3", - "E3", - "F3", - "G3", - "H3", - "A4", - "B4", - "C4", - "D4", - "E4", - "F4", - "G4", - "H4", - "A5", - "B5", - "C5", - "D5", - "E5", - "F5", - "G5", - "H5", - "A6", - "B6", - "C6", - "D6", - "E6", - "F6", - "G6", - "H6", - "A7", - "B7", - "C7", - "D7", - "E7", - "F7", - "G7", - "H7", - "A8", - "B8", - "C8", - "D8", - "E8", - "F8", - "G8", - "H8", - "A9", - "B9", - "C9", - "D9", - "E9", - "F9", - "G9", - "H9", - "A10", - "B10", - "C10", - "D10", - "E10", - "F10", - "G10", - "H10", - "A11", - "B11", - "C11", - "D11", - "E11", - "F11", - "G11", - "H11", - "A12", - "B12", - "C12", - "D12", - "E12", - "F12", - "G12", - "H12" - ] - } - ], - "parameters": { - "format": "96Standard", - "quirks": ["stackingOnly"], - "isTiprack": false, - "tipLength": 42.0, - "tipOverlap": 10.0, - "isMagneticModuleCompatible": false, - "loadName": "evotips_opentrons_96_labware" - }, - "namespace": "opentrons", - "allowedRoles": ["labware"], - "version": 1, - "stackLimit": 5, - "schemaVersion": 2, - "cornerOffsetFromSlot": { - "x": 0, - "y": 0, - "z": 0 - }, - "gripHeightFromLabwareBottom": 21.5, - "gripForce": 15, - "gripperOffsets": { - "default": { - "pickUpOffset": { - "x": 0, - "y": 0, - "z": 15 - }, - "dropOffset": { - "x": 0, - "y": 0, - "z": 15 - } - } - }, - "stackingOffsetWithLabware": { - "nest_96_wellplate_2ml_deep": { - "x": 0, - "y": 0, - "z": 22.5 - }, - "nest_1_reservoir_195ml": { - "x": 0, - "y": 0, - "z": 22.5 - }, - "evotips_flex_96_tiprack_adapter": { - "x": 0, - "y": 0, - "z": 76.78 - } - } -}