diff --git a/app/src/assets/images/labware/opentrons_flex_deck_riser.png b/app/src/assets/images/labware/opentrons_flex_deck_riser.png
new file mode 100644
index 00000000000..a06f26bf445
Binary files /dev/null and b/app/src/assets/images/labware/opentrons_flex_deck_riser.png differ
diff --git a/app/src/assets/images/labware/opentrons_tough_pcr_auto_sealing_lid.png b/app/src/assets/images/labware/opentrons_tough_pcr_auto_sealing_lid.png
new file mode 100644
index 00000000000..bc0cffa3df6
Binary files /dev/null and b/app/src/assets/images/labware/opentrons_tough_pcr_auto_sealing_lid.png differ
diff --git a/app/src/assets/localization/en/protocol_setup.json b/app/src/assets/localization/en/protocol_setup.json
index f2e284e607e..94e679b4aba 100644
--- a/app/src/assets/localization/en/protocol_setup.json
+++ b/app/src/assets/localization/en/protocol_setup.json
@@ -120,6 +120,7 @@
"labware_position_check_step_description": "Recommended workflow that helps you verify the position of each labware on the deck.",
"labware_position_check_step_title": "Labware Position Check",
"labware_position_check_text": "Labware Position Check is a recommended workflow that helps you verify the position of each labware on the deck. During this check, you can create Labware Offsets that adjust how the robot moves to each labware in the X, Y and Z directions.",
+ "labware_quantity": "Quantity: {{quantity}}",
"labware_setup_step_description": "Gather the following labware and full tip racks. To run your protocol without Labware Position Check, place and secure labware in their initial locations.",
"labware_setup_step_title": "Labware",
"last_calibrated": "Last calibrated: {{date}}",
diff --git a/app/src/molecules/LabwareStackModal/LabwareStackModal.tsx b/app/src/molecules/LabwareStackModal/LabwareStackModal.tsx
index 9c6602023a8..7e7bd0766c7 100644
--- a/app/src/molecules/LabwareStackModal/LabwareStackModal.tsx
+++ b/app/src/molecules/LabwareStackModal/LabwareStackModal.tsx
@@ -32,6 +32,8 @@ import {
THERMOCYCLER_MODULE_TYPE,
} from '@opentrons/shared-data'
import tiprackAdapter from '/app/assets/images/labware/opentrons_flex_96_tiprack_adapter.png'
+import tcLid from '/app/assets/images/labware/opentrons_tough_pcr_auto_sealing_lid.png'
+import deckRiser from '/app/assets/images/labware/opentrons_flex_deck_riser.png'
import type { RobotType, RunTimeCommand } from '@opentrons/shared-data'
@@ -58,6 +60,13 @@ const LIST_ITEM_STYLE = css`
justify-content: ${JUSTIFY_SPACE_BETWEEN};
`
+const ADAPTER_LOAD_NAMES_TO_SHOW_IMAGE: { [key: string]: string } = {
+ opentrons_flex_96_tiprack_adapter: tiprackAdapter,
+ opentrons_flex_deck_riser: deckRiser,
+}
+const LABWARE_LOAD_NAMES_TO_SHOW_IMAGE: { [key: string]: string } = {
+ opentrons_tough_pcr_auto_sealing_lid: tcLid,
+}
interface LabwareStackModalProps {
labwareIdTop: string
commands: RunTimeCommand[] | null
@@ -87,6 +96,7 @@ export const LabwareStackModal = (
moduleModel,
labwareName,
labwareNickname,
+ labwareQuantity,
} = getLocationInfoNames(labwareIdTop, commands)
const topDefinition = getSlotLabwareDefinition(labwareIdTop, commands)
@@ -106,7 +116,26 @@ export const LabwareStackModal = (
moduleModel != null ? getModuleDisplayName(moduleModel) : null ?? ''
const isAdapterForTiprack =
adapterDef?.parameters.loadName === 'opentrons_flex_96_tiprack_adapter'
- const tiprackAdapterImg =
+
+ const labwareImg = Object.keys(LABWARE_LOAD_NAMES_TO_SHOW_IMAGE).includes(
+ topDefinition.parameters.loadName
+ ) ? (
+
+ ) : null
+
+ const adapterImg =
+ adapterDef != null &&
+ Object.keys(ADAPTER_LOAD_NAMES_TO_SHOW_IMAGE).includes(
+ adapterDef.parameters.loadName
+ ) ? (
+
+ ) : null
const moduleImg =
moduleModel != null ? (
@@ -139,25 +168,33 @@ export const LabwareStackModal = (
1
+ ? t('labware_quantity', { quantity: labwareQuantity })
+ : labwareNickname
+ }
/>
-
-
-
+ {labwareImg != null ? (
+ {labwareImg}
+ ) : (
+
+
+
+ )}
-
>
{adapterDef != null ? (
<>
+
- {isAdapterForTiprack ? (
- {tiprackAdapterImg}
+ {adapterImg != null ? (
+ {adapterImg}
) : (
)}
- {moduleModel != null ? (
-
- ) : null}
>
) : null}
{moduleModel != null ? (
-
-
- {moduleImg}
-
+ <>
+
+
+
+ {moduleImg}
+
+ >
) : null}
@@ -200,24 +237,35 @@ export const LabwareStackModal = (
<>
-
-
-
-
+ 1
+ ? t('labware_quantity', { quantity: labwareQuantity })
+ : labwareNickname
+ }
+ />
+ {labwareImg != null ? (
+ {labwareImg}
+ ) : (
+
+
+
+ )}
-
>
{adapterDef != null ? (
<>
+
- {isAdapterForTiprack ? (
- {tiprackAdapterImg}
+ {adapterImg != null ? (
+ {adapterImg}
) : (
)}
- {moduleModel != null ? (
-
- ) : null}
>
) : null}
{moduleModel != null ? (
-
-
- {moduleImg}
-
+ <>
+
+
+
+ {moduleImg}
+
+ >
) : null}
@@ -253,31 +301,23 @@ interface LabwareStackLabelProps {
}
function LabwareStackLabel(props: LabwareStackLabelProps): JSX.Element {
const { text, subText, isOnDevice = false } = props
- return isOnDevice ? (
-
- {text}
- {subText != null ? (
-
- {subText}
-
- ) : null}
-
- ) : (
+ return (
- {text}
+
+ {text}
+
{subText != null ? (
-
+
{subText}
) : null}
diff --git a/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/LabwareListItem.tsx b/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/LabwareListItem.tsx
index 6269be78e83..5b0bbae6bbf 100644
--- a/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/LabwareListItem.tsx
+++ b/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/LabwareListItem.tsx
@@ -26,7 +26,7 @@ import {
} from '@opentrons/components'
import { useCreateLiveCommandMutation } from '@opentrons/react-api-client'
import {
- getLabwareDisplayName,
+ getTopLabwareInfo,
getModuleDisplayName,
getModuleType,
HEATERSHAKER_MODULE_TYPE,
@@ -37,6 +37,7 @@ import {
THERMOCYCLER_MODULE_V2,
} from '@opentrons/shared-data'
+import { getLocationInfoNames } from '/app/transformations/commands'
import { ToggleButton } from '/app/atoms/buttons'
import { Divider } from '/app/atoms/structure'
import { SecureLabwareModal } from './SecureLabwareModal'
@@ -47,14 +48,10 @@ import type {
RunTimeCommand,
ModuleType,
LabwareDefinition2,
- LoadModuleRunTimeCommand,
LoadLabwareRunTimeCommand,
} from '@opentrons/shared-data'
import type { ModuleRenderInfoForProtocol } from '/app/resources/runs'
-import type {
- LabwareSetupItem,
- NestedLabwareInfo,
-} from '/app/transformations/commands'
+import type { LabwareSetupItem } from '/app/transformations/commands'
import type { ModuleTypesThatRequireExtraAttention } from '../utils/getModuleTypesThatRequireExtraAttention'
const LabwareRow = styled.div`
@@ -73,7 +70,6 @@ interface LabwareListItemProps extends LabwareSetupItem {
extraAttentionModules: ModuleTypesThatRequireExtraAttention[]
isFlex: boolean
commands: RunTimeCommand[]
- nestedLabwareInfo: NestedLabwareInfo | null
showLabwareSVG?: boolean
}
@@ -82,37 +78,48 @@ export function LabwareListItem(
): JSX.Element | null {
const {
attachedModuleInfo,
- nickName,
+ nickName: bottomLabwareNickname,
initialLocation,
- definition,
moduleModel,
- moduleLocation,
extraAttentionModules,
isFlex,
commands,
- nestedLabwareInfo,
showLabwareSVG,
+ labwareId: bottomLabwareId,
} = props
+ const loadLabwareCommands = commands?.filter(
+ (command): command is LoadLabwareRunTimeCommand =>
+ command.commandType === 'loadLabware'
+ )
+
+ const { topLabwareId, topLabwareDefinition } = getTopLabwareInfo(
+ bottomLabwareId ?? '',
+ loadLabwareCommands
+ )
+ const {
+ slotName,
+ labwareName,
+ labwareNickname,
+ labwareQuantity,
+ adapterName: bottomLabwareName,
+ } = getLocationInfoNames(topLabwareId, commands)
+
+ const isStacked =
+ labwareQuantity > 1 ||
+ bottomLabwareId != topLabwareId ||
+ moduleModel != null
+
const { i18n, t } = useTranslation('protocol_setup')
const [
secureLabwareModalType,
setSecureLabwareModalType,
] = useState(null)
- const labwareDisplayName = getLabwareDisplayName(definition)
const { createLiveCommand } = useCreateLiveCommandMutation()
const [isLatchLoading, setIsLatchLoading] = useState(false)
const [isLatchClosed, setIsLatchClosed] = useState(false)
- let slotInfo: string | null = null
-
- if (initialLocation !== 'offDeck' && 'slotName' in initialLocation) {
- slotInfo = initialLocation.slotName
- } else if (
- initialLocation !== 'offDeck' &&
- 'addressableAreaName' in initialLocation
- ) {
- slotInfo = initialLocation.addressableAreaName
- } else if (initialLocation === 'offDeck') {
+ let slotInfo: string | null = slotName
+ if (initialLocation === 'offDeck') {
slotInfo = i18n.format(t('off_deck'), 'upperCase')
}
@@ -126,50 +133,20 @@ export function LabwareListItem(
| HeaterShakerOpenLatchCreateCommand
| HeaterShakerCloseLatchCreateCommand
- if (initialLocation !== 'offDeck' && 'labwareId' in initialLocation) {
- const loadedAdapter = commands.find(
- (command): command is LoadLabwareRunTimeCommand =>
- command.commandType === 'loadLabware' &&
- command.result?.labwareId === initialLocation.labwareId
- )
- const loadedAdapterLocation = loadedAdapter?.params.location
-
- if (loadedAdapterLocation != null && loadedAdapterLocation !== 'offDeck') {
- if ('slotName' in loadedAdapterLocation) {
- slotInfo = loadedAdapterLocation.slotName
- } else if ('moduleId' in loadedAdapterLocation) {
- const module = commands.find(
- (command): command is LoadModuleRunTimeCommand =>
- command.commandType === 'loadModule' &&
- command.result?.moduleId === loadedAdapterLocation.moduleId
- )
- if (module != null) {
- slotInfo = module.params.location.slotName
- moduleDisplayName = getModuleDisplayName(module.params.model)
- }
- }
- }
- }
- if (
- initialLocation !== 'offDeck' &&
- 'moduleId' in initialLocation &&
- moduleLocation != null &&
- moduleModel != null
- ) {
- const moduleName = getModuleDisplayName(moduleModel)
+ if (moduleModel != null) {
moduleType = getModuleType(moduleModel)
+ moduleDisplayName = getModuleDisplayName(moduleModel)
+
const moduleTypeNeedsAttention = extraAttentionModules.find(
extraAttentionModType => extraAttentionModType === moduleType
)
- let moduleSlotName = moduleLocation.slotName
- if (moduleType === THERMOCYCLER_MODULE_TYPE) {
- moduleSlotName = isFlex ? TC_MODULE_LOCATION_OT3 : TC_MODULE_LOCATION_OT2
- }
- slotInfo = moduleSlotName
- moduleDisplayName = moduleName
+
switch (moduleTypeNeedsAttention) {
case MAGNETIC_MODULE_TYPE:
case THERMOCYCLER_MODULE_TYPE:
+ if (moduleType === THERMOCYCLER_MODULE_TYPE) {
+ slotInfo = isFlex ? TC_MODULE_LOCATION_OT3 : TC_MODULE_LOCATION_OT2
+ }
if (moduleModel !== THERMOCYCLER_MODULE_V2) {
secureLabwareInstructions = (
)}
- {nestedLabwareInfo != null || moduleDisplayName != null ? (
-
- ) : null}
+ {isStacked ? : null}
- {nestedLabwareInfo != null &&
- nestedLabwareInfo?.sharedSlotId === slotInfo ? (
- <>
-
-
+
+ {showLabwareSVG && topLabwareDefinition != null ? (
+
+ ) : null}
+
+
+ {labwareName}
+
+
-
- {nestedLabwareInfo.nestedLabwareDisplayName}
-
-
- {nestedLabwareInfo.nestedLabwareNickName}
-
-
+ {labwareQuantity > 1
+ ? t('labware_quantity', { quantity: labwareQuantity })
+ : labwareNickname}
+
+
+ >
+ {bottomLabwareName != null ? (
+ <>
+
+
+ {bottomLabwareName}
+
+
+ {bottomLabwareNickname}
+
+
>
) : null}
-
- {showLabwareSVG ? (
-
- ) : null}
-
-
- {labwareDisplayName}
-
-
- {nickName}
-
-
-
{moduleDisplayName != null ? (
<>
@@ -371,9 +352,7 @@ export function LabwareListItem(
marginTop="3px"
>
))}
diff --git a/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/SetupLabwareList.tsx b/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/SetupLabwareList.tsx
index 647f1543677..b71c84da0f8 100644
--- a/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/SetupLabwareList.tsx
+++ b/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/SetupLabwareList.tsx
@@ -6,10 +6,7 @@ import {
StyledText,
COLORS,
} from '@opentrons/components'
-import {
- getLabwareSetupItemGroups,
- getNestedLabwareInfo,
-} from '/app/transformations/commands'
+import { getLabwareSetupItemGroups } from '/app/transformations/commands'
import { LabwareListItem } from './LabwareListItem'
import type { RunTimeCommand } from '@opentrons/shared-data'
@@ -56,6 +53,7 @@ export function SetupLabwareList(
{allItems.map((labwareItem, index) => {
+ // filtering out all labware that aren't on a module or the deck
const labwareOnAdapter = allItems.find(
item =>
labwareItem.initialLocation !== 'offDeck' &&
@@ -70,7 +68,6 @@ export function SetupLabwareList(
extraAttentionModules={extraAttentionModules}
{...labwareItem}
isFlex={isFlex}
- nestedLabwareInfo={getNestedLabwareInfo(labwareItem, commands)}
/>
)
})}
diff --git a/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/SetupLabwareMap.tsx b/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/SetupLabwareMap.tsx
index 0334496fd6b..c8bc460bbf4 100644
--- a/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/SetupLabwareMap.tsx
+++ b/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/SetupLabwareMap.tsx
@@ -12,7 +12,7 @@ import {
FLEX_ROBOT_TYPE,
getDeckDefFromRobotType,
getSimplestDeckConfigForProtocol,
- parseInitialLoadedLabwareByAdapter,
+ getTopLabwareInfo,
THERMOCYCLER_MODULE_V1,
} from '@opentrons/shared-data'
@@ -22,14 +22,17 @@ import {
getProtocolModulesInfo,
getLabwareRenderInfo,
} from '/app/transformations/analysis'
+import { LabwareStackModal } from '/app/molecules/LabwareStackModal'
import { getStandardDeckViewLayerBlockList } from '/app/local-resources/deck_configuration'
import { OffDeckLabwareList } from './OffDeckLabwareList'
+import type { LabwareOnDeck } from '@opentrons/components'
import type {
CompletedProtocolAnalysis,
ProtocolAnalysisOutput,
+ LoadLabwareRunTimeCommand,
+ RunTimeCommand,
} from '@opentrons/shared-data'
-import { LabwareStackModal } from '/app/molecules/LabwareStackModal'
interface SetupLabwareMapProps {
runId: string
@@ -49,31 +52,25 @@ export function SetupLabwareMap({
if (protocolAnalysis == null) return null
- const commands = protocolAnalysis.commands
+ const commands: RunTimeCommand[] = protocolAnalysis.commands
+ const loadLabwareCommands = commands?.filter(
+ (command): command is LoadLabwareRunTimeCommand =>
+ command.commandType === 'loadLabware'
+ )
const robotType = protocolAnalysis.robotType ?? FLEX_ROBOT_TYPE
const deckDef = getDeckDefFromRobotType(robotType)
const protocolModulesInfo = getProtocolModulesInfo(protocolAnalysis, deckDef)
- const initialLoadedLabwareByAdapter = parseInitialLoadedLabwareByAdapter(
- commands
- )
-
const modulesOnDeck = protocolModulesInfo.map(module => {
- const labwareInAdapterInMod =
- module.nestedLabwareId != null
- ? initialLoadedLabwareByAdapter[module.nestedLabwareId]
- : null
- // only rendering the labware on top most layer so
- // either the adapter or the labware are rendered but not both
- const topLabwareDefinition =
- labwareInAdapterInMod?.result?.definition ?? module.nestedLabwareDef
- const topLabwareId =
- labwareInAdapterInMod?.result?.labwareId ?? module.nestedLabwareId
- const topLabwareDisplayName =
- labwareInAdapterInMod?.params.displayName ??
- module.nestedLabwareDisplayName
+ const isLabwareStacked =
+ module.nestedLabwareId != null && module.nestedLabwareDef != null
+ const {
+ topLabwareId,
+ topLabwareDefinition,
+ topLabwareDisplayName,
+ } = getTopLabwareInfo(module.nestedLabwareId ?? '', loadLabwareCommands)
return {
moduleModel: module.moduleDef.model,
@@ -84,15 +81,9 @@ export function SetupLabwareMap({
: {},
nestedLabwareDef: topLabwareDefinition,
- highlightLabware:
- topLabwareDefinition != null &&
- topLabwareId != null &&
- hoverLabwareId === topLabwareId,
- highlightShadowLabware:
- topLabwareDefinition != null &&
- topLabwareId != null &&
- hoverLabwareId === topLabwareId,
- stacked: topLabwareDefinition != null && topLabwareId != null,
+ highlightLabware: hoverLabwareId === topLabwareId,
+ highlightShadowLabware: hoverLabwareId === topLabwareId,
+ stacked: isLabwareStacked,
moduleChildren: (
// open modal
) : null}
@@ -130,59 +121,59 @@ export function SetupLabwareMap({
const labwareRenderInfo = getLabwareRenderInfo(protocolAnalysis, deckDef)
- const labwareOnDeck = map(
+ const labwareOnDeck: Array = map(
labwareRenderInfo,
- ({ labwareDef, displayName, slotName }, labwareId) => {
- const labwareInAdapter = initialLoadedLabwareByAdapter[labwareId]
- // only rendering the labware on top most layer so
- // either the adapter or the labware are rendered but not both
- const topLabwareDefinition =
- labwareInAdapter?.result?.definition ?? labwareDef
- const topLabwareId = labwareInAdapter?.result?.labwareId ?? labwareId
- const topLabwareDisplayName =
- labwareInAdapter?.params.displayName ?? displayName
- const isLabwareInStack =
- topLabwareDefinition != null &&
- topLabwareId != null &&
- labwareInAdapter != null
-
- return {
- labwareLocation: { slotName },
- definition: topLabwareDefinition,
+ ({ slotName }, labwareId) => {
+ const {
topLabwareId,
+ topLabwareDefinition,
topLabwareDisplayName,
- highlight: isLabwareInStack && hoverLabwareId === topLabwareId,
- highlightShadow: isLabwareInStack && hoverLabwareId === topLabwareId,
- labwareChildren: (
- {
- if (isLabwareInStack) {
- setLabwareStackDetailsLabwareId(topLabwareId)
- }
- }}
- onMouseEnter={() => {
- if (topLabwareDefinition != null && topLabwareId != null) {
- setHoverLabwareId(() => topLabwareId)
- }
- }}
- onMouseLeave={() => {
- setHoverLabwareId(null)
- }}
- >
-
-
- ),
- stacked: isLabwareInStack,
- }
+ } = getTopLabwareInfo(labwareId, loadLabwareCommands)
+ const isLabwareInStack = labwareId !== topLabwareId
+ return topLabwareDefinition != null
+ ? {
+ labwareLocation: { slotName },
+ definition: topLabwareDefinition,
+ highlight: isLabwareInStack && hoverLabwareId === topLabwareId,
+ highlightShadow:
+ isLabwareInStack && hoverLabwareId === topLabwareId,
+ stacked: isLabwareInStack,
+ labwareChildren: (
+ {
+ if (isLabwareInStack) {
+ setLabwareStackDetailsLabwareId(topLabwareId)
+ }
+ }}
+ onMouseEnter={() => {
+ if (topLabwareDefinition != null && topLabwareId != null) {
+ setHoverLabwareId(() => topLabwareId)
+ }
+ }}
+ onMouseLeave={() => {
+ setHoverLabwareId(null)
+ }}
+ >
+ {topLabwareDefinition != null ? (
+
+ ) : null}
+
+ ),
+ }
+ : null
}
)
+ const labwareOnDeckFiltered: LabwareOnDeck[] = labwareOnDeck.filter(
+ (labware): labware is LabwareOnDeck => labware != null
+ )
+
return (
@@ -191,7 +182,7 @@ export function SetupLabwareMap({
deckConfig={deckConfig}
deckLayerBlocklist={getStandardDeckViewLayerBlockList(robotType)}
robotType={robotType}
- labwareOnDeck={labwareOnDeck}
+ labwareOnDeck={labwareOnDeckFiltered}
modulesOnDeck={modulesOnDeck}
/>
diff --git a/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/__tests__/LabwareListItem.test.tsx b/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/__tests__/LabwareListItem.test.tsx
index 904395f7c98..50afda3d92f 100644
--- a/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/__tests__/LabwareListItem.test.tsx
+++ b/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLabware/__tests__/LabwareListItem.test.tsx
@@ -3,7 +3,10 @@ import { fireEvent, screen } from '@testing-library/react'
import { describe, it, beforeEach, vi, expect } from 'vitest'
import { MemoryRouter } from 'react-router-dom'
-import { opentrons96PcrAdapterV1 } from '@opentrons/shared-data'
+import {
+ opentrons96PcrAdapterV1,
+ getTopLabwareInfo,
+} from '@opentrons/shared-data'
import { useCreateLiveCommandMutation } from '@opentrons/react-api-client'
import { renderWithProviders } from '/app/__testing-utils__'
@@ -14,6 +17,7 @@ import {
mockTemperatureModule,
mockThermocycler,
} from '/app/redux/modules/__fixtures__'
+import { getLocationInfoNames } from '/app/transformations/commands'
import { mockLabwareDef } from '/app/organisms/LabwarePositionCheck/__fixtures__/mockLabwareDef'
import { SecureLabwareModal } from '../SecureLabwareModal'
import { LabwareListItem } from '../LabwareListItem'
@@ -28,7 +32,15 @@ import type { AttachedModule } from '/app/redux/modules/types'
import type { ModuleRenderInfoForProtocol } from '/app/resources/runs'
vi.mock('../SecureLabwareModal')
+vi.mock('/app/transformations/commands')
vi.mock('@opentrons/react-api-client')
+vi.mock('@opentrons/shared-data', async importOriginal => {
+ const actualSharedData = await importOriginal()
+ return {
+ ...actualSharedData,
+ getTopLabwareInfo: vi.fn(),
+ }
+})
const mockAdapterDef = opentrons96PcrAdapterV1 as LabwareDefinition2
const mockAdapterId = 'mockAdapterId'
@@ -87,12 +99,23 @@ describe('LabwareListItem', () => {
vi.mocked(useCreateLiveCommandMutation).mockReturnValue({
createLiveCommand: mockCreateLiveCommand,
} as any)
+ vi.mocked(getLocationInfoNames).mockReturnValue({
+ slotName: '7',
+ labwareName: 'Mock Labware Definition',
+ labwareNickname: 'nickName',
+ labwareQuantity: 1,
+ })
+ vi.mocked(getTopLabwareInfo).mockReturnValue({
+ topLabwareId: '1',
+ topLabwareDefinition: mockLabwareDef,
+ })
})
it('renders the correct info for a thermocycler (OT2), clicking on secure labware instructions opens the modal', () => {
render({
commands: [],
nickName: mockNickName,
+ labwareId: '7',
definition: mockLabwareDef,
initialLocation: { moduleId: mockModuleId },
moduleModel: 'thermocyclerModuleV1' as ModuleModel,
@@ -107,7 +130,6 @@ describe('LabwareListItem', () => {
} as any) as ModuleRenderInfoForProtocol,
},
isFlex: false,
- nestedLabwareInfo: null,
})
screen.getByText('Mock Labware Definition')
screen.getByText('nickName')
@@ -137,7 +159,6 @@ describe('LabwareListItem', () => {
} as any) as ModuleRenderInfoForProtocol,
},
isFlex: true,
- nestedLabwareInfo: null,
})
screen.getByText('Mock Labware Definition')
screen.getByText('A1+B1')
@@ -168,7 +189,6 @@ describe('LabwareListItem', () => {
} as any) as ModuleRenderInfoForProtocol,
},
isFlex: false,
- nestedLabwareInfo: null,
})
screen.getByText('Mock Labware Definition')
screen.getByTestId('slot_info_7')
@@ -203,7 +223,6 @@ describe('LabwareListItem', () => {
} as any) as ModuleRenderInfoForProtocol,
},
isFlex: false,
- nestedLabwareInfo: null,
})
screen.getByText('Mock Labware Definition')
screen.getByTestId('slot_info_7')
@@ -245,7 +264,7 @@ describe('LabwareListItem', () => {
nickName: mockNickName,
definition: mockLabwareDef,
initialLocation: { labwareId: mockAdapterId },
- moduleModel: 'temperatureModuleV1' as ModuleModel,
+ moduleModel: 'temperatureModuleV2' as ModuleModel,
moduleLocation: mockModuleSlot,
extraAttentionModules: [],
attachedModuleInfo: {
@@ -262,18 +281,11 @@ describe('LabwareListItem', () => {
} as any) as ModuleRenderInfoForProtocol,
},
isFlex: false,
- nestedLabwareInfo: {
- nestedLabwareDisplayName: 'mock nested display name',
- sharedSlotId: '7',
- nestedLabwareNickName: 'nestedLabwareNickName',
- nestedLabwareDefinition: mockLabwareDef,
- },
})
screen.getByText('Mock Labware Definition')
screen.getAllByText('7')
screen.getByText('Temperature Module GEN2')
- screen.getByText('mock nested display name')
- screen.getByText('nestedLabwareNickName')
+ screen.getByText('Mock Labware Definition')
screen.getByText('nickName')
})
@@ -293,10 +305,17 @@ describe('LabwareListItem', () => {
z: 1.2,
},
} as any
+ vi.mocked(getLocationInfoNames).mockReturnValue({
+ slotName: 'A2',
+ labwareName: 'Mock Labware Name',
+ labwareNickname: 'labware nick name',
+ labwareQuantity: 1,
+ adapterName: 'mock adapter name',
+ })
render({
commands: [mockAdapterLoadCommand],
- nickName: mockNickName,
+ nickName: 'mock adapter nick name',
definition: mockLabwareDef,
initialLocation: { labwareId: mockAdapterId },
moduleModel: null,
@@ -304,18 +323,13 @@ describe('LabwareListItem', () => {
extraAttentionModules: [],
attachedModuleInfo: {},
isFlex: false,
- nestedLabwareInfo: {
- nestedLabwareDisplayName: 'mock nested display name',
- sharedSlotId: 'A2',
- nestedLabwareNickName: 'nestedLabwareNickName',
- nestedLabwareDefinition: mockLabwareDef,
- },
+ labwareId: '5',
})
- screen.getByText('Mock Labware Definition')
+ screen.getByText('Mock Labware Name')
+ screen.getByText('labware nick name')
screen.getByText('A2')
- screen.getByText('mock nested display name')
- screen.getByText('nestedLabwareNickName')
- screen.getByText('nickName')
+ screen.getByText('mock adapter name')
+ screen.getByText('mock adapter nick name')
})
it('renders the correct info for a labware on top of a heater shaker', () => {
@@ -341,7 +355,6 @@ describe('LabwareListItem', () => {
} as any) as ModuleRenderInfoForProtocol,
},
isFlex: false,
- nestedLabwareInfo: null,
})
screen.getByText('Mock Labware Definition')
screen.getByTestId('slot_info_7')
@@ -363,6 +376,7 @@ describe('LabwareListItem', () => {
})
it('renders the correct info for an off deck labware', () => {
+ vi.mocked(getTopLabwareInfo)
render({
nickName: null,
definition: mockLabwareDef,
@@ -373,7 +387,6 @@ describe('LabwareListItem', () => {
extraAttentionModules: [],
attachedModuleInfo: {},
isFlex: false,
- nestedLabwareInfo: null,
})
screen.getByText('Mock Labware Definition')
screen.getByTestId('slot_info_OFF DECK')
diff --git a/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLiquids/SetupLiquidsMap.tsx b/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLiquids/SetupLiquidsMap.tsx
index 5338a9ce055..1b556692f8d 100644
--- a/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLiquids/SetupLiquidsMap.tsx
+++ b/app/src/organisms/Desktop/Devices/ProtocolRun/SetupLiquids/SetupLiquidsMap.tsx
@@ -14,7 +14,7 @@ import {
FLEX_ROBOT_TYPE,
getDeckDefFromRobotType,
getSimplestDeckConfigForProtocol,
- parseInitialLoadedLabwareByAdapter,
+ getTopLabwareInfo,
parseLabwareInfoByLiquidId,
parseLiquidsInLoadOrder,
THERMOCYCLER_MODULE_V1,
@@ -32,6 +32,8 @@ import {
import type {
CompletedProtocolAnalysis,
ProtocolAnalysisOutput,
+ RunTimeCommand,
+ LoadLabwareRunTimeCommand,
} from '@opentrons/shared-data'
interface SetupLiquidsMapProps {
@@ -50,13 +52,16 @@ export function SetupLiquidsMap(
if (protocolAnalysis == null) return null
+ const commands: RunTimeCommand[] = protocolAnalysis.commands
+ const loadLabwareCommands = commands?.filter(
+ (command): command is LoadLabwareRunTimeCommand =>
+ command.commandType === 'loadLabware'
+ )
+
const liquids = parseLiquidsInLoadOrder(
protocolAnalysis.liquids != null ? protocolAnalysis.liquids : [],
protocolAnalysis.commands ?? []
)
- const initialLoadedLabwareByAdapter = parseInitialLoadedLabwareByAdapter(
- protocolAnalysis.commands ?? []
- )
const robotType = protocolAnalysis.robotType ?? FLEX_ROBOT_TYPE
const deckDef = getDeckDefFromRobotType(robotType)
const labwareRenderInfo = getLabwareRenderInfo(protocolAnalysis, deckDef)
@@ -69,19 +74,11 @@ export function SetupLiquidsMap(
const protocolModulesInfo = getProtocolModulesInfo(protocolAnalysis, deckDef)
const modulesOnDeck = protocolModulesInfo.map(module => {
- const labwareInAdapterInMod =
- module.nestedLabwareId != null
- ? initialLoadedLabwareByAdapter[module.nestedLabwareId]
- : null
- // only rendering the labware on top most layer so
- // either the adapter or the labware are rendered but not both
- const topLabwareDefinition =
- labwareInAdapterInMod?.result?.definition ?? module.nestedLabwareDef
- const topLabwareId =
- labwareInAdapterInMod?.result?.labwareId ?? module.nestedLabwareId
- const topLabwareDisplayName =
- labwareInAdapterInMod?.params.displayName ??
- module.nestedLabwareDisplayName
+ const {
+ topLabwareId,
+ topLabwareDefinition,
+ topLabwareDisplayName,
+ } = getTopLabwareInfo(module.nestedLabwareId ?? '', loadLabwareCommands)
const nestedLabwareWellFill = getWellFillFromLabwareId(
topLabwareId ?? '',
liquids,
@@ -120,7 +117,7 @@ export function SetupLiquidsMap(
hover={topLabwareId === hoverLabwareId && labwareHasLiquid}
labwareHasLiquid={labwareHasLiquid}
labwareId={topLabwareId}
- displayName={topLabwareDisplayName}
+ displayName={topLabwareDisplayName ?? null}
runId={runId}
/>
@@ -140,59 +137,52 @@ export function SetupLiquidsMap(
labwareOnDeck={[]}
modulesOnDeck={modulesOnDeck}
>
- {map(
- labwareRenderInfo,
- ({ x, y, labwareDef, displayName }, labwareId) => {
- const labwareInAdapter = initialLoadedLabwareByAdapter[labwareId]
- // only rendering the labware on top most layer so
- // either the adapter or the labware are rendered but not both
- const topLabwareDefinition =
- labwareInAdapter?.result?.definition ?? labwareDef
- const topLabwareId =
- labwareInAdapter?.result?.labwareId ?? labwareId
- const topLabwareDisplayName =
- labwareInAdapter?.params.displayName ?? displayName
- const wellFill = getWellFillFromLabwareId(
- topLabwareId ?? '',
- liquids,
- labwareByLiquidId
- )
- const labwareHasLiquid = !isEmpty(wellFill)
- return (
-
- {
- setHoverLabwareId(topLabwareId)
- }}
- onMouseLeave={() => {
- setHoverLabwareId('')
- }}
- onClick={() => {
- if (labwareHasLiquid) {
- setLiquidDetailsLabwareId(topLabwareId)
- }
- }}
- cursor={labwareHasLiquid ? 'pointer' : ''}
- >
-
-
-
-
- )
- }
- )}
+ {map(labwareRenderInfo, ({ x, y }, labwareId) => {
+ const {
+ topLabwareId,
+ topLabwareDefinition,
+ topLabwareDisplayName,
+ } = getTopLabwareInfo(labwareId, loadLabwareCommands)
+ const wellFill = getWellFillFromLabwareId(
+ topLabwareId ?? '',
+ liquids,
+ labwareByLiquidId
+ )
+ const labwareHasLiquid = !isEmpty(wellFill)
+ return topLabwareDefinition != null ? (
+
+ {
+ setHoverLabwareId(topLabwareId)
+ }}
+ onMouseLeave={() => {
+ setHoverLabwareId('')
+ }}
+ onClick={() => {
+ if (labwareHasLiquid) {
+ setLiquidDetailsLabwareId(topLabwareId)
+ }
+ }}
+ cursor={labwareHasLiquid ? 'pointer' : ''}
+ >
+
+
+
+
+ ) : null
+ })}
{liquidDetailsLabwareId != null && (
{
vi.mocked(getLocationInfoNames).mockReturnValue({
labwareName: 'mock labware name',
slotName: '4',
+ labwareQuantity: 1,
})
mockTrackEvent = vi.fn()
vi.mocked(useTrackEvent).mockReturnValue(mockTrackEvent)
diff --git a/app/src/organisms/LiquidsLabwareDetailsModal/__tests__/LiquidsLabwareDetailsModal.test.tsx b/app/src/organisms/LiquidsLabwareDetailsModal/__tests__/LiquidsLabwareDetailsModal.test.tsx
index 54b8239da47..967a840ee75 100644
--- a/app/src/organisms/LiquidsLabwareDetailsModal/__tests__/LiquidsLabwareDetailsModal.test.tsx
+++ b/app/src/organisms/LiquidsLabwareDetailsModal/__tests__/LiquidsLabwareDetailsModal.test.tsx
@@ -65,6 +65,7 @@ describe('LiquidsLabwareDetailsModal', () => {
vi.mocked(getLocationInfoNames).mockReturnValue({
labwareName: 'mock labware name',
slotName: '5',
+ labwareQuantity: 1,
})
vi.mocked(getSlotLabwareDefinition).mockReturnValue(mockDefinition)
vi.mocked(getLiquidsByIdForLabware).mockReturnValue({
diff --git a/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLabware/LabwareMapView.tsx b/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLabware/LabwareMapView.tsx
index 21b6fb20854..339ad981daa 100644
--- a/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLabware/LabwareMapView.tsx
+++ b/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLabware/LabwareMapView.tsx
@@ -3,18 +3,22 @@ import { BaseDeck, Flex } from '@opentrons/components'
import {
FLEX_ROBOT_TYPE,
getSimplestDeckConfigForProtocol,
+ getTopLabwareInfo,
THERMOCYCLER_MODULE_V1,
} from '@opentrons/shared-data'
import { getStandardDeckViewLayerBlockList } from '/app/local-resources/deck_configuration'
import { getLabwareRenderInfo } from '/app/transformations/analysis'
+import type { LabwareOnDeck } from '@opentrons/components'
import type {
CompletedProtocolAnalysis,
DeckDefinition,
LabwareDefinition2,
- LoadedLabwareByAdapter,
+ RunTimeCommand,
+ LoadLabwareRunTimeCommand,
} from '@opentrons/shared-data'
+
import type { AttachedProtocolModuleMatch } from '/app/transformations/analysis'
interface LabwareMapViewProps {
@@ -23,7 +27,6 @@ interface LabwareMapViewProps {
labwareDef: LabwareDefinition2,
labwareId: string
) => void
- initialLoadedLabwareByAdapter: LoadedLabwareByAdapter
deckDef: DeckDefinition
mostRecentAnalysis: CompletedProtocolAnalysis | null
}
@@ -32,11 +35,16 @@ export function LabwareMapView(props: LabwareMapViewProps): JSX.Element {
const {
handleLabwareClick,
attachedProtocolModuleMatches,
- initialLoadedLabwareByAdapter,
deckDef,
mostRecentAnalysis,
} = props
const deckConfig = getSimplestDeckConfigForProtocol(mostRecentAnalysis)
+ const commands: RunTimeCommand[] = mostRecentAnalysis?.commands ?? []
+ const loadLabwareCommands = commands?.filter(
+ (command): command is LoadLabwareRunTimeCommand =>
+ command.commandType === 'loadLabware'
+ )
+
const labwareRenderInfo =
mostRecentAnalysis != null
? getLabwareRenderInfo(mostRecentAnalysis, deckDef)
@@ -44,16 +52,11 @@ export function LabwareMapView(props: LabwareMapViewProps): JSX.Element {
const modulesOnDeck = attachedProtocolModuleMatches.map(module => {
const { moduleDef, nestedLabwareDef, nestedLabwareId, slotName } = module
- const labwareInAdapterInMod =
- nestedLabwareId != null
- ? initialLoadedLabwareByAdapter[nestedLabwareId]
- : null
- // only rendering the labware on top most layer so
- // either the adapter or the labware are rendered but not both
- const topLabwareDefinition =
- labwareInAdapterInMod?.result?.definition ?? nestedLabwareDef
- const topLabwareId =
- labwareInAdapterInMod?.result?.labwareId ?? nestedLabwareId
+ const isLabwareStacked = nestedLabwareId != null && nestedLabwareDef != null
+ const { topLabwareId, topLabwareDefinition } = getTopLabwareInfo(
+ module.nestedLabwareId ?? '',
+ loadLabwareCommands
+ )
return {
moduleModel: moduleDef.model,
@@ -70,49 +73,48 @@ export function LabwareMapView(props: LabwareMapViewProps): JSX.Element {
}
: undefined,
highlightLabware: true,
- highlightShadowLabware:
- topLabwareDefinition != null && topLabwareId != null,
+ highlightShadowLabware: isLabwareStacked,
moduleChildren: null,
- stacked: topLabwareDefinition != null && topLabwareId != null,
+ stacked: isLabwareStacked,
}
})
- const labwareLocations = map(
+ const labwareLocations: Array = map(
labwareRenderInfo,
- ({ labwareDef, slotName }, labwareId) => {
- const labwareInAdapter = initialLoadedLabwareByAdapter[labwareId]
- // only rendering the labware on top most layer so
- // either the adapter or the labware are rendered but not both
- const topLabwareDefinition =
- labwareInAdapter?.result?.definition ?? labwareDef
- const topLabwareId = labwareInAdapter?.result?.labwareId ?? labwareId
- const isLabwareInStack =
- topLabwareDefinition != null &&
- topLabwareId != null &&
- labwareInAdapter != null
+ ({ slotName }, labwareId) => {
+ const { topLabwareId, topLabwareDefinition } = getTopLabwareInfo(
+ labwareId,
+ loadLabwareCommands
+ )
+ const isLabwareInStack = labwareId !== topLabwareId
- return {
- labwareLocation: { slotName },
- definition: topLabwareDefinition,
- topLabwareId,
- onLabwareClick: () => {
- handleLabwareClick(topLabwareDefinition, topLabwareId)
- },
- labwareChildren: null,
- highlight: true,
- highlightShadow: isLabwareInStack,
- stacked: isLabwareInStack,
- }
+ return topLabwareDefinition != null
+ ? {
+ labwareLocation: { slotName },
+ definition: topLabwareDefinition,
+ onLabwareClick: () => {
+ handleLabwareClick(topLabwareDefinition, topLabwareId)
+ },
+ highlight: true,
+ highlightShadow: isLabwareInStack,
+ stacked: isLabwareInStack,
+ }
+ : null
}
)
+ const labwareLocationsFiltered: LabwareOnDeck[] = labwareLocations.filter(
+ (labwareLocation): labwareLocation is LabwareOnDeck =>
+ labwareLocation != null
+ )
+
return (
diff --git a/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLabware/__tests__/LabwareMapView.test.tsx b/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLabware/__tests__/LabwareMapView.test.tsx
index 8729ae0f811..860d927578e 100644
--- a/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLabware/__tests__/LabwareMapView.test.tsx
+++ b/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLabware/__tests__/LabwareMapView.test.tsx
@@ -114,7 +114,6 @@ describe('LabwareMapView', () => {
handleLabwareClick: vi.fn(),
deckDef: (deckDefFixture as unknown) as DeckDefinition,
mostRecentAnalysis: ({} as unknown) as CompletedProtocolAnalysis,
- initialLoadedLabwareByAdapter: {},
attachedProtocolModuleMatches: [
{
...mockProtocolModuleInfo[0],
diff --git a/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLabware/index.tsx b/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLabware/index.tsx
index 1a54e2fc00d..2d440fc9516 100644
--- a/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLabware/index.tsx
+++ b/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLabware/index.tsx
@@ -25,10 +25,11 @@ import {
FLEX_ROBOT_TYPE,
getDeckDefFromRobotType,
getLabwareDefURI,
- getLabwareDisplayName,
+ getTopLabwareInfo,
getModuleDisplayName,
HEATERSHAKER_MODULE_TYPE,
- parseInitialLoadedLabwareByAdapter,
+ TC_MODULE_LOCATION_OT3,
+ THERMOCYCLER_MODULE_TYPE,
} from '@opentrons/shared-data'
import {
useCreateLiveCommandMutation,
@@ -38,8 +39,8 @@ import {
import { FloatingActionButton, SmallButton } from '/app/atoms/buttons'
import { ODDBackButton } from '/app/molecules/ODDBackButton'
import {
+ getLocationInfoNames,
getLabwareSetupItemGroups,
- getNestedLabwareInfo,
} from '/app/transformations/commands'
import {
getAttachedProtocolModuleMatches,
@@ -56,15 +57,12 @@ import type {
HeaterShakerCloseLatchCreateCommand,
HeaterShakerOpenLatchCreateCommand,
LabwareDefinition2,
- LabwareLocation,
LoadLabwareRunTimeCommand,
+ LabwareLocation,
RunTimeCommand,
} from '@opentrons/shared-data'
import type { HeaterShakerModule, Modules } from '@opentrons/api-client'
-import type {
- LabwareSetupItem,
- NestedLabwareInfo,
-} from '/app/transformations/commands'
+import type { LabwareSetupItem } from '/app/transformations/commands'
import type { SetupScreens } from '../types'
import type { AttachedProtocolModuleMatch } from '/app/transformations/analysis'
@@ -121,9 +119,6 @@ export function ProtocolSetupLabware({
protocolModulesInfo,
deckConfig
)
- const initialLoadedLabwareByAdapter = parseInitialLoadedLabwareByAdapter(
- mostRecentAnalysis?.commands ?? []
- )
const handleLabwareClick = (
labwareDef: LabwareDefinition2,
@@ -152,7 +147,7 @@ export function ProtocolSetupLabware({
}
}
}
- const selectedLabwareIsTopOfStack = mostRecentAnalysis?.commands.some(
+ const selectedLabwareIsStacked = mostRecentAnalysis?.commands.some(
command =>
command.commandType === 'loadLabware' &&
command.result?.labwareId === selectedLabware?.id &&
@@ -164,7 +159,7 @@ export function ProtocolSetupLabware({
return (
<>
{showLabwareDetailsModal &&
- !selectedLabwareIsTopOfStack &&
+ !selectedLabwareIsStacked &&
selectedLabware != null ? (
) : (
<>
@@ -239,17 +233,14 @@ export function ProtocolSetupLabware({
'labwareId' in labware.initialLocation &&
item.labwareId === labware.initialLocation.labwareId
)
- return mostRecentAnalysis != null && labwareOnAdapter == null ? (
+ return mostRecentAnalysis?.commands != null &&
+ labwareOnAdapter == null ? (
) : null
})}
@@ -257,7 +248,7 @@ export function ProtocolSetupLabware({
)}
{showLabwareDetailsModal &&
selectedLabware != null &&
- selectedLabwareIsTopOfStack ? (
+ selectedLabwareIsStacked ? (
['refetch']
- nestedLabwareInfo: NestedLabwareInfo | null
- commands?: RunTimeCommand[]
+ commands: RunTimeCommand[]
}
function RowLabware({
labware,
attachedProtocolModules,
refetchModules,
- nestedLabwareInfo,
commands,
}: RowLabwareProps): JSX.Element | null {
- const { definition, initialLocation, nickName } = labware
+ const {
+ initialLocation,
+ nickName: bottomLabwareNickname,
+ labwareId: bottomLabwareId,
+ } = labware
+ const loadLabwareCommands = commands?.filter(
+ (command): command is LoadLabwareRunTimeCommand =>
+ command.commandType === 'loadLabware'
+ )
+
+ const { topLabwareId } = getTopLabwareInfo(
+ bottomLabwareId ?? '',
+ loadLabwareCommands
+ )
+ const {
+ slotName: slot,
+ labwareName: topLabwareName,
+ labwareNickname: topLabwareNickname,
+ labwareQuantity: topLabwareQuantity,
+ adapterName,
+ } = getLocationInfoNames(topLabwareId, commands)
+
const { t, i18n } = useTranslation([
'protocol_command_text',
'protocol_setup',
@@ -451,47 +461,21 @@ function RowLabware({
matchedModule.attachedModuleMatch.moduleType === HEATERSHAKER_MODULE_TYPE
? matchedModule.attachedModuleMatch
: null
+ const isStacked =
+ topLabwareQuantity > 1 || adapterName != null || matchedModule != null
- let slotName: string = ''
- let location: JSX.Element | string | null = null
+ let slotName: string = slot
+ let location: JSX.Element =
if (initialLocation === 'offDeck') {
location = (
)
- } else if ('slotName' in initialLocation) {
- slotName = initialLocation.slotName
- location =
- } else if ('addressableAreaName' in initialLocation) {
- slotName = initialLocation.addressableAreaName
- location =
- } else if (labware.moduleLocation != null) {
- location = (
- <>
-
- >
- )
- } else if ('labwareId' in initialLocation) {
- const adapterId = initialLocation.labwareId
- const adapterLocation = commands?.find(
- (command): command is LoadLabwareRunTimeCommand =>
- command.commandType === 'loadLabware' &&
- command.result?.labwareId === adapterId
- )?.params.location
-
- if (adapterLocation != null && adapterLocation !== 'offDeck') {
- if ('slotName' in adapterLocation) {
- slotName = adapterLocation.slotName
- location =
- } else if ('moduleId' in adapterLocation) {
- const moduleUnderAdapter = attachedProtocolModules.find(
- module => module.moduleId === adapterLocation.moduleId
- )
- if (moduleUnderAdapter != null) {
- slotName = moduleUnderAdapter.slotName
- location =
- }
- }
- }
+ } else if (
+ matchedModule != null &&
+ matchedModule.attachedModuleMatch?.moduleType === THERMOCYCLER_MODULE_TYPE
+ ) {
+ slotName = TC_MODULE_LOCATION_OT3
+ location =
}
return (
{location}
- {nestedLabwareInfo != null || matchedModule != null ? (
-
- ) : null}
+ {isStacked ? : null}
- {getLabwareDisplayName(definition)}
+ {topLabwareName}
- {nickName}
+ {topLabwareQuantity > 1
+ ? t('protocol_setup:labware_quantity', {
+ quantity: topLabwareQuantity,
+ })
+ : topLabwareNickname}
- {nestedLabwareInfo != null &&
- nestedLabwareInfo?.sharedSlotId === slotName ? (
+ {adapterName != null ? (
<>
- {nestedLabwareInfo.nestedLabwareDisplayName}
+ {adapterName}
- {nestedLabwareInfo.nestedLabwareNickName}
+ {bottomLabwareNickname}
>
diff --git a/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLiquids/__tests__/LiquidDetails.test.tsx b/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLiquids/__tests__/LiquidDetails.test.tsx
index feeb3e863a4..720b6db7545 100644
--- a/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLiquids/__tests__/LiquidDetails.test.tsx
+++ b/app/src/organisms/ODD/ProtocolSetup/ProtocolSetupLiquids/__tests__/LiquidDetails.test.tsx
@@ -43,6 +43,7 @@ describe('LiquidDetails', () => {
vi.mocked(getLocationInfoNames).mockReturnValue({
slotName: '4',
labwareName: 'mock labware name',
+ labwareQuantity: 1,
})
vi.mocked(LiquidsLabwareDetailsModal).mockReturnValue(mock modal
)
})
diff --git a/app/src/organisms/QuickTransferFlow/__fixtures__/multiAspirateQuickTransfer.json b/app/src/organisms/QuickTransferFlow/__fixtures__/multiAspirateQuickTransfer.json
new file mode 100644
index 00000000000..0cd0df941c9
--- /dev/null
+++ b/app/src/organisms/QuickTransferFlow/__fixtures__/multiAspirateQuickTransfer.json
@@ -0,0 +1,8496 @@
+{
+ "$otSharedSchema": "#/protocol/schemas/8",
+ "schemaVersion": 8,
+ "metadata": {
+ "protocolName": "multiAspirateQuickTransfer",
+ "description": "This quick transfer moves liquids from a Opentrons 24 Tube Rack with Eppendorf 1.5 mL Safe-Lock Snapcap to a Axygen 1 Well Reservoir 90 mL",
+ "category": null,
+ "subcategory": null,
+ "tags": []
+ },
+ "designerApplication": {
+ "name": "opentrons/quick-transfer",
+ "version": "1.0.0",
+ "data": {
+ "pipette": {
+ "$otSharedSchema": "#/pipette/schemas/2/pipetteGeometrySchema.json",
+ "displayName": "Flex 1-Channel 1000 μL",
+ "model": "p1000",
+ "displayCategory": "FLEX",
+ "validNozzleMaps": { "maps": { "SingleA1": ["A1"] } },
+ "pickUpTipConfigurations": {
+ "pressFit": {
+ "presses": 1,
+ "increment": 0,
+ "configurationsByNozzleMap": {
+ "SingleA1": {
+ "default": {
+ "speed": 10,
+ "distance": 13,
+ "current": 0.2,
+ "tipOverlaps": {
+ "v0": {
+ "default": 10.5,
+ "opentrons/opentrons_flex_96_tiprack_1000ul/1": 10.5,
+ "opentrons/opentrons_flex_96_tiprack_200ul/1": 10.5,
+ "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5,
+ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 10.5,
+ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 10.5,
+ "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5
+ },
+ "v1": {
+ "default": 10.5,
+ "opentrons/opentrons_flex_96_tiprack_1000ul/1": 9.65,
+ "opentrons/opentrons_flex_96_tiprack_200ul/1": 9.76,
+ "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.09,
+ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1": 9.65,
+ "opentrons/opentrons_flex_96_filtertiprack_200ul/1": 9.76,
+ "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.09
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "dropTipConfigurations": {
+ "plungerEject": { "current": 1, "speed": 15 }
+ },
+ "plungerMotorConfigurations": { "idle": 0.3, "run": 1 },
+ "plungerPositionsConfigurations": {
+ "default": { "top": 0, "bottom": 71.5, "blowout": 76.5, "drop": 90.5 }
+ },
+ "availableSensors": {
+ "sensors": ["pressure", "capacitive", "environment"],
+ "pressure": { "count": 1 },
+ "capacitive": { "count": 1 },
+ "environment": { "count": 1 }
+ },
+ "partialTipConfigurations": {
+ "partialTipSupported": false,
+ "availableConfigurations": null
+ },
+ "backCompatNames": [],
+ "channels": 1,
+ "shaftDiameter": 4.5,
+ "shaftULperMM": 15.904,
+ "backlashDistance": 0.1,
+ "quirks": [],
+ "plungerHomingConfigurations": { "current": 1, "speed": 30 },
+ "pathTo3D": "pipette/definitions/2/geometry/single_channel/p1000/placeholder.gltf",
+ "nozzleOffset": [-8, -22, -259.15],
+ "pipetteBoundingBoxOffsets": {
+ "backLeftCorner": [-8, -22, -259.15],
+ "frontRightCorner": [-8, -22, -259.15]
+ },
+ "orderedRows": [{ "key": "A", "orderedNozzles": ["A1"] }],
+ "orderedColumns": [{ "key": "1", "orderedNozzles": ["A1"] }],
+ "nozzleMap": { "A1": [-8, -22, -259.15] },
+ "lldSettings": {
+ "t50": { "minHeight": 1, "minVolume": 0 },
+ "t200": { "minHeight": 1, "minVolume": 0 },
+ "t1000": { "minHeight": 1.5, "minVolume": 0 }
+ },
+ "liquids": {
+ "default": {
+ "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json",
+ "supportedTips": {
+ "t50": {
+ "uiMaxFlowRate": 785.2,
+ "defaultAspirateFlowRate": {
+ "default": 478,
+ "valuesByApiLevel": { "2.14": 478 }
+ },
+ "defaultDispenseFlowRate": {
+ "default": 478,
+ "valuesByApiLevel": { "2.14": 478 }
+ },
+ "defaultBlowOutFlowRate": {
+ "default": 478,
+ "valuesByApiLevel": { "2.14": 478 }
+ },
+ "defaultFlowAcceleration": 24000,
+ "defaultTipLength": 57.9,
+ "defaultReturnTipHeight": 0.71,
+ "aspirate": {
+ "default": {
+ "1": [
+ [0.7033, 4.9393, 0.669],
+ [1.0911, 4.233, 1.1657],
+ [1.7256, 2.8983, 2.6221],
+ [2.1344, 1.9062, 4.334],
+ [2.57, 1.3331, 5.5573],
+ [2.9178, 0.2816, 8.2595],
+ [3.0222, -3.2737, 18.6333],
+ [3.2233, 0.8766, 6.09],
+ [3.5033, 1.324, 4.648],
+ [4.4567, 1.7683, 3.0913],
+ [5.3878, 0.8747, 7.0738],
+ [6.1956, 0.3393, 9.9586],
+ [8.7911, 0.2504, 10.5095],
+ [10.5322, 0.1577, 11.3246],
+ [13.8389, 0.1047, 11.8827],
+ [23.01, 0.0579, 12.5301],
+ [29.4811, 0.0285, 13.2057],
+ [48.0456, 0.0147, 13.612],
+ [54.06, 0.0016, 14.2446]
+ ]
+ }
+ },
+ "dispense": {
+ "default": {
+ "1": [
+ [0.7033, 4.9393, 0.669],
+ [1.0911, 4.233, 1.1657],
+ [1.7256, 2.8983, 2.6221],
+ [2.1344, 1.9062, 4.334],
+ [2.57, 1.3331, 5.5573],
+ [2.9178, 0.2816, 8.2595],
+ [3.0222, -3.2737, 18.6333],
+ [3.2233, 0.8766, 6.09],
+ [3.5033, 1.324, 4.648],
+ [4.4567, 1.7683, 3.0913],
+ [5.3878, 0.8747, 7.0738],
+ [6.1956, 0.3393, 9.9586],
+ [8.7911, 0.2504, 10.5095],
+ [10.5322, 0.1577, 11.3246],
+ [13.8389, 0.1047, 11.8827],
+ [23.01, 0.0579, 12.5301],
+ [29.4811, 0.0285, 13.2057],
+ [48.0456, 0.0147, 13.612],
+ [54.06, 0.0016, 14.2446]
+ ]
+ }
+ },
+ "defaultPushOutVolume": 7
+ },
+ "t200": {
+ "uiMaxFlowRate": 802.5,
+ "defaultAspirateFlowRate": {
+ "default": 716,
+ "valuesByApiLevel": { "2.14": 716 }
+ },
+ "defaultDispenseFlowRate": {
+ "default": 716,
+ "valuesByApiLevel": { "2.14": 716 }
+ },
+ "defaultBlowOutFlowRate": {
+ "default": 716,
+ "valuesByApiLevel": { "2.14": 716 }
+ },
+ "defaultFlowAcceleration": 24000,
+ "defaultTipLength": 58.35,
+ "defaultReturnTipHeight": 0.71,
+ "aspirate": {
+ "default": {
+ "1": [
+ [1.5742, 3.2596, 1.8233],
+ [2.5158, 2.2718, 3.3782],
+ [4.47, 1.1953, 6.0865],
+ [5.4908, 0.5062, 9.1669],
+ [6.6658, 0.3243, 10.1658],
+ [9.6683, 0.2016, 10.9838],
+ [11.6442, 0.1543, 11.4405],
+ [19.8692, 0.0794, 12.3132],
+ [33.4958, 0.0375, 13.1444],
+ [51.9508, 0.0191, 13.7624],
+ [92.6067, 0.0074, 14.3699],
+ [152.3575, 0.0029, 14.7822],
+ [179.5925, 0.0013, 15.027],
+ [211.5867, 0.0009, 15.1088]
+ ]
+ }
+ },
+ "dispense": {
+ "default": {
+ "1": [
+ [1.5742, 3.2596, 1.8233],
+ [2.5158, 2.2718, 3.3782],
+ [4.47, 1.1953, 6.0865],
+ [5.4908, 0.5062, 9.1669],
+ [6.6658, 0.3243, 10.1658],
+ [9.6683, 0.2016, 10.9838],
+ [11.6442, 0.1543, 11.4405],
+ [19.8692, 0.0794, 12.3132],
+ [33.4958, 0.0375, 13.1444],
+ [51.9508, 0.0191, 13.7624],
+ [92.6067, 0.0074, 14.3699],
+ [152.3575, 0.0029, 14.7822],
+ [179.5925, 0.0013, 15.027],
+ [211.5867, 0.0009, 15.1088]
+ ]
+ }
+ },
+ "defaultPushOutVolume": 5
+ },
+ "t1000": {
+ "uiMaxFlowRate": 727.3,
+ "defaultAspirateFlowRate": {
+ "default": 716,
+ "valuesByApiLevel": { "2.14": 716 }
+ },
+ "defaultDispenseFlowRate": {
+ "default": 716,
+ "valuesByApiLevel": { "2.14": 716 }
+ },
+ "defaultBlowOutFlowRate": {
+ "default": 716,
+ "valuesByApiLevel": { "2.14": 716 }
+ },
+ "defaultFlowAcceleration": 24000,
+ "defaultTipLength": 95.6,
+ "defaultReturnTipHeight": 0.82,
+ "aspirate": {
+ "default": {
+ "1": [
+ [2.33, 2.388148, 3.699878],
+ [2.75, -1.230691, 12.131772],
+ [4.82, 0.868196, 6.359833],
+ [9.77, 0.322207, 8.991498],
+ [12.08, 0.156051, 10.614846],
+ [15.08, 0.147745, 10.715186],
+ [51.21, 0.03759, 12.376313],
+ [92.59, 0.010829, 13.746781],
+ [112.39, 0.005015, 14.285091],
+ [243.33, 0.00274, 14.540746],
+ [356.08, 0.000877, 14.994001],
+ [430.6, 0.000594, 15.094722],
+ [628.32, 0.000279, 15.230539],
+ [1000.28, 0.000106, 15.339007],
+ [1105.26, 0.000122, 15.323864]
+ ]
+ }
+ },
+ "dispense": {
+ "default": {
+ "1": [
+ [2.33, 2.388148, 3.699878],
+ [2.75, -1.230691, 12.131772],
+ [4.82, 0.868196, 6.359833],
+ [9.77, 0.322207, 8.991498],
+ [12.08, 0.156051, 10.614846],
+ [15.08, 0.147745, 10.715186],
+ [51.21, 0.03759, 12.376313],
+ [92.59, 0.010829, 13.746781],
+ [112.39, 0.005015, 14.285091],
+ [243.33, 0.00274, 14.540746],
+ [356.08, 0.000877, 14.994001],
+ [430.6, 0.000594, 15.094722],
+ [628.32, 0.000279, 15.230539],
+ [1000.28, 0.000106, 15.339007],
+ [1105.26, 0.000122, 15.323864]
+ ]
+ }
+ },
+ "defaultPushOutVolume": 20
+ }
+ },
+ "maxVolume": 1000,
+ "minVolume": 5,
+ "defaultTipracks": [
+ "opentrons/opentrons_flex_96_tiprack_1000ul/1",
+ "opentrons/opentrons_flex_96_tiprack_200ul/1",
+ "opentrons/opentrons_flex_96_tiprack_50ul/1",
+ "opentrons/opentrons_flex_96_filtertiprack_1000ul/1",
+ "opentrons/opentrons_flex_96_filtertiprack_200ul/1",
+ "opentrons/opentrons_flex_96_filtertiprack_50ul/1"
+ ]
+ }
+ }
+ },
+ "mount": "right",
+ "tipRack": {
+ "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": "Opentrons Flex 96 Tip Rack 200 µL",
+ "displayCategory": "tipRack",
+ "displayVolumeUnits": "µL",
+ "tags": []
+ },
+ "dimensions": {
+ "xDimension": 127.75,
+ "yDimension": 85.75,
+ "zDimension": 99
+ },
+ "gripForce": 16,
+ "gripHeightFromLabwareBottom": 23.9,
+ "wells": {
+ "A1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 11.38,
+ "z": 1.5
+ }
+ },
+ "groups": [
+ {
+ "metadata": {},
+ "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": [],
+ "isTiprack": true,
+ "tipLength": 58.35,
+ "tipOverlap": 10.5,
+ "isMagneticModuleCompatible": false,
+ "loadName": "opentrons_flex_96_tiprack_200ul"
+ },
+ "namespace": "opentrons",
+ "version": 1,
+ "schemaVersion": 2,
+ "cornerOffsetFromSlot": { "x": 0, "y": 0, "z": 0 },
+ "stackingOffsetWithLabware": {
+ "opentrons_flex_96_tiprack_adapter": { "x": 0, "y": 0, "z": 121 }
+ }
+ },
+ "source": {
+ "ordering": [
+ ["A1", "B1", "C1", "D1"],
+ ["A2", "B2", "C2", "D2"],
+ ["A3", "B3", "C3", "D3"],
+ ["A4", "B4", "C4", "D4"],
+ ["A5", "B5", "C5", "D5"],
+ ["A6", "B6", "C6", "D6"]
+ ],
+ "schemaVersion": 2,
+ "version": 1,
+ "namespace": "opentrons",
+ "metadata": {
+ "tags": [],
+ "displayName": "Opentrons 24 Tube Rack with Eppendorf 1.5 mL Safe-Lock Snapcap",
+ "displayVolumeUnits": "mL",
+ "displayCategory": "tubeRack"
+ },
+ "dimensions": {
+ "xDimension": 127.75,
+ "yDimension": 85.5,
+ "zDimension": 79.85
+ },
+ "parameters": {
+ "format": "irregular",
+ "isTiprack": false,
+ "isMagneticModuleCompatible": false,
+ "loadName": "opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap"
+ },
+ "wells": {
+ "D1": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 18.21,
+ "y": 17.59,
+ "z": 42.05
+ },
+ "C1": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 18.21,
+ "y": 36.87,
+ "z": 42.05
+ },
+ "B1": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 18.21,
+ "y": 56.15,
+ "z": 42.05
+ },
+ "A1": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 18.21,
+ "y": 75.43,
+ "z": 42.05
+ },
+ "D2": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 38.1,
+ "y": 17.59,
+ "z": 42.05
+ },
+ "C2": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 38.1,
+ "y": 36.87,
+ "z": 42.05
+ },
+ "B2": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 38.1,
+ "y": 56.15,
+ "z": 42.05
+ },
+ "A2": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 38.1,
+ "y": 75.43,
+ "z": 42.05
+ },
+ "D3": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 57.99,
+ "y": 17.59,
+ "z": 42.05
+ },
+ "C3": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 57.99,
+ "y": 36.87,
+ "z": 42.05
+ },
+ "B3": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 57.99,
+ "y": 56.15,
+ "z": 42.05
+ },
+ "A3": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 57.99,
+ "y": 75.43,
+ "z": 42.05
+ },
+ "D4": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 77.88,
+ "y": 17.59,
+ "z": 42.05
+ },
+ "C4": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 77.88,
+ "y": 36.87,
+ "z": 42.05
+ },
+ "B4": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 77.88,
+ "y": 56.15,
+ "z": 42.05
+ },
+ "A4": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 77.88,
+ "y": 75.43,
+ "z": 42.05
+ },
+ "D5": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 97.77,
+ "y": 17.59,
+ "z": 42.05
+ },
+ "C5": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 97.77,
+ "y": 36.87,
+ "z": 42.05
+ },
+ "B5": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 97.77,
+ "y": 56.15,
+ "z": 42.05
+ },
+ "A5": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 97.77,
+ "y": 75.43,
+ "z": 42.05
+ },
+ "D6": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 117.66,
+ "y": 17.59,
+ "z": 42.05
+ },
+ "C6": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 117.66,
+ "y": 36.87,
+ "z": 42.05
+ },
+ "B6": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 117.66,
+ "y": 56.15,
+ "z": 42.05
+ },
+ "A6": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 117.66,
+ "y": 75.43,
+ "z": 42.05
+ }
+ },
+ "brand": {
+ "brand": "Opentrons",
+ "brandId": [],
+ "links": [
+ "https://shop.opentrons.com/collections/opentrons-tips/products/tube-rack-set-1"
+ ]
+ },
+ "groups": [
+ {
+ "wells": [
+ "A1",
+ "B1",
+ "C1",
+ "D1",
+ "A2",
+ "B2",
+ "C2",
+ "D2",
+ "A3",
+ "B3",
+ "C3",
+ "D3",
+ "A4",
+ "B4",
+ "C4",
+ "D4",
+ "A5",
+ "B5",
+ "C5",
+ "D5",
+ "A6",
+ "B6",
+ "C6",
+ "D6"
+ ],
+ "metadata": {
+ "displayName": "Eppendorf 24x1.5 mL Safelock Snapcap",
+ "displayCategory": "tubeRack",
+ "wellBottomShape": "v"
+ },
+ "brand": {
+ "brand": "Eppendorf",
+ "brandId": [
+ "022363204",
+ "022363212",
+ "022363221",
+ "022363247",
+ "022363263",
+ "022363280",
+ "022363280",
+ "022363301",
+ "022363328"
+ ],
+ "links": [
+ "https://online-shop.eppendorf.us/US-en/Laboratory-Consumables-44512/Tubes-44515/Eppendorf-Safe-Lock-Tubes-PF-8863.html"
+ ]
+ }
+ }
+ ],
+ "cornerOffsetFromSlot": { "x": 0, "y": 0, "z": 0 }
+ },
+ "sourceWells": [
+ "D1",
+ "C1",
+ "B1",
+ "A1",
+ "D2",
+ "C2",
+ "B2",
+ "A2",
+ "D3",
+ "C3",
+ "B3",
+ "A3",
+ "D4",
+ "C4",
+ "B4",
+ "A4",
+ "D5",
+ "C5",
+ "B5",
+ "A5",
+ "D6",
+ "C6",
+ "B6",
+ "A6"
+ ],
+ "destination": {
+ "ordering": [["A1"]],
+ "brand": {
+ "brand": "Axygen",
+ "brandId": ["RES-SW1-LP"],
+ "links": [
+ "https://ecatalog.corning.com/life-sciences/b2c/US/en/Genomics-%26-Molecular-Biology/Automation-Consumables/Automation-Reservoirs/Axygen%C2%AE-Reagent-Reservoirs/p/RES-SW1-LP?clear=true"
+ ]
+ },
+ "metadata": {
+ "displayName": "Axygen 1 Well Reservoir 90 mL",
+ "displayCategory": "reservoir",
+ "displayVolumeUnits": "mL",
+ "tags": []
+ },
+ "dimensions": {
+ "xDimension": 127.76,
+ "yDimension": 85.47,
+ "zDimension": 19.05
+ },
+ "wells": {
+ "A1": {
+ "depth": 12.42,
+ "shape": "rectangular",
+ "xDimension": 106.76,
+ "yDimension": 70.52,
+ "totalLiquidVolume": 90000,
+ "x": 63.88,
+ "y": 42.735,
+ "z": 6.63
+ }
+ },
+ "groups": [
+ { "wells": ["A1"], "metadata": { "wellBottomShape": "flat" } }
+ ],
+ "parameters": {
+ "format": "trough",
+ "isTiprack": false,
+ "isMagneticModuleCompatible": false,
+ "loadName": "axygen_1_reservoir_90ml",
+ "quirks": ["centerMultichannelOnWells", "touchTipDisabled"]
+ },
+ "namespace": "opentrons",
+ "version": 1,
+ "schemaVersion": 2,
+ "cornerOffsetFromSlot": { "x": 0, "y": 0, "z": 0 }
+ },
+ "destinationWells": ["A1"],
+ "transferType": "consolidate",
+ "volume": 85,
+ "aspirateFlowRate": 716,
+ "dispenseFlowRate": 716,
+ "path": "multiAspirate",
+ "blowOut": "dest_well",
+ "tipPositionAspirate": 1,
+ "preWetTip": true,
+ "tipPositionDispense": 1,
+ "changeTip": "always",
+ "dropTipLocation": {
+ "cutoutFixtureId": "trashBinAdapter",
+ "cutoutId": "cutoutA3"
+ },
+ "delayAspirate": { "delayDuration": 2, "positionFromBottom": 8 },
+ "touchTipAspirate": 30,
+ "airGapAspirate": 4,
+ "mixOnDispense": { "mixVolume": 80, "repititions": 6 },
+ "airGapDispense": 100
+ }
+ },
+ "robot": { "model": "OT-3 Standard", "deckId": "ot3_standard" },
+ "labwareDefinitionSchemaId": "opentronsLabwareSchemaV2",
+ "labwareDefinitions": {
+ "opentrons/opentrons_flex_96_tiprack_200ul/1": {
+ "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": "Opentrons Flex 96 Tip Rack 200 µL",
+ "displayCategory": "tipRack",
+ "displayVolumeUnits": "µL",
+ "tags": []
+ },
+ "dimensions": {
+ "xDimension": 127.75,
+ "yDimension": 85.75,
+ "zDimension": 99
+ },
+ "gripForce": 16,
+ "gripHeightFromLabwareBottom": 23.9,
+ "wells": {
+ "A1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 14.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 23.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 32.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 41.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 50.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 59.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 68.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 77.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 86.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 95.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 104.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.59,
+ "totalLiquidVolume": 200,
+ "x": 113.38,
+ "y": 11.38,
+ "z": 1.5
+ }
+ },
+ "groups": [
+ {
+ "metadata": {},
+ "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": [],
+ "isTiprack": true,
+ "tipLength": 58.35,
+ "tipOverlap": 10.5,
+ "isMagneticModuleCompatible": false,
+ "loadName": "opentrons_flex_96_tiprack_200ul"
+ },
+ "namespace": "opentrons",
+ "version": 1,
+ "schemaVersion": 2,
+ "cornerOffsetFromSlot": { "x": 0, "y": 0, "z": 0 },
+ "stackingOffsetWithLabware": {
+ "opentrons_flex_96_tiprack_adapter": { "x": 0, "y": 0, "z": 121 }
+ }
+ },
+ "opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1": {
+ "ordering": [
+ ["A1", "B1", "C1", "D1"],
+ ["A2", "B2", "C2", "D2"],
+ ["A3", "B3", "C3", "D3"],
+ ["A4", "B4", "C4", "D4"],
+ ["A5", "B5", "C5", "D5"],
+ ["A6", "B6", "C6", "D6"]
+ ],
+ "schemaVersion": 2,
+ "version": 1,
+ "namespace": "opentrons",
+ "metadata": {
+ "tags": [],
+ "displayName": "Opentrons 24 Tube Rack with Eppendorf 1.5 mL Safe-Lock Snapcap",
+ "displayVolumeUnits": "mL",
+ "displayCategory": "tubeRack"
+ },
+ "dimensions": {
+ "xDimension": 127.75,
+ "yDimension": 85.5,
+ "zDimension": 79.85
+ },
+ "parameters": {
+ "format": "irregular",
+ "isTiprack": false,
+ "isMagneticModuleCompatible": false,
+ "loadName": "opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap"
+ },
+ "wells": {
+ "D1": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 18.21,
+ "y": 17.59,
+ "z": 42.05
+ },
+ "C1": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 18.21,
+ "y": 36.87,
+ "z": 42.05
+ },
+ "B1": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 18.21,
+ "y": 56.15,
+ "z": 42.05
+ },
+ "A1": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 18.21,
+ "y": 75.43,
+ "z": 42.05
+ },
+ "D2": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 38.1,
+ "y": 17.59,
+ "z": 42.05
+ },
+ "C2": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 38.1,
+ "y": 36.87,
+ "z": 42.05
+ },
+ "B2": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 38.1,
+ "y": 56.15,
+ "z": 42.05
+ },
+ "A2": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 38.1,
+ "y": 75.43,
+ "z": 42.05
+ },
+ "D3": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 57.99,
+ "y": 17.59,
+ "z": 42.05
+ },
+ "C3": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 57.99,
+ "y": 36.87,
+ "z": 42.05
+ },
+ "B3": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 57.99,
+ "y": 56.15,
+ "z": 42.05
+ },
+ "A3": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 57.99,
+ "y": 75.43,
+ "z": 42.05
+ },
+ "D4": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 77.88,
+ "y": 17.59,
+ "z": 42.05
+ },
+ "C4": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 77.88,
+ "y": 36.87,
+ "z": 42.05
+ },
+ "B4": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 77.88,
+ "y": 56.15,
+ "z": 42.05
+ },
+ "A4": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 77.88,
+ "y": 75.43,
+ "z": 42.05
+ },
+ "D5": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 97.77,
+ "y": 17.59,
+ "z": 42.05
+ },
+ "C5": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 97.77,
+ "y": 36.87,
+ "z": 42.05
+ },
+ "B5": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 97.77,
+ "y": 56.15,
+ "z": 42.05
+ },
+ "A5": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 97.77,
+ "y": 75.43,
+ "z": 42.05
+ },
+ "D6": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 117.66,
+ "y": 17.59,
+ "z": 42.05
+ },
+ "C6": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 117.66,
+ "y": 36.87,
+ "z": 42.05
+ },
+ "B6": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 117.66,
+ "y": 56.15,
+ "z": 42.05
+ },
+ "A6": {
+ "depth": 37.8,
+ "diameter": 8.7,
+ "shape": "circular",
+ "totalLiquidVolume": 1500,
+ "x": 117.66,
+ "y": 75.43,
+ "z": 42.05
+ }
+ },
+ "brand": {
+ "brand": "Opentrons",
+ "brandId": [],
+ "links": [
+ "https://shop.opentrons.com/collections/opentrons-tips/products/tube-rack-set-1"
+ ]
+ },
+ "groups": [
+ {
+ "wells": [
+ "A1",
+ "B1",
+ "C1",
+ "D1",
+ "A2",
+ "B2",
+ "C2",
+ "D2",
+ "A3",
+ "B3",
+ "C3",
+ "D3",
+ "A4",
+ "B4",
+ "C4",
+ "D4",
+ "A5",
+ "B5",
+ "C5",
+ "D5",
+ "A6",
+ "B6",
+ "C6",
+ "D6"
+ ],
+ "metadata": {
+ "displayName": "Eppendorf 24x1.5 mL Safelock Snapcap",
+ "displayCategory": "tubeRack",
+ "wellBottomShape": "v"
+ },
+ "brand": {
+ "brand": "Eppendorf",
+ "brandId": [
+ "022363204",
+ "022363212",
+ "022363221",
+ "022363247",
+ "022363263",
+ "022363280",
+ "022363280",
+ "022363301",
+ "022363328"
+ ],
+ "links": [
+ "https://online-shop.eppendorf.us/US-en/Laboratory-Consumables-44512/Tubes-44515/Eppendorf-Safe-Lock-Tubes-PF-8863.html"
+ ]
+ }
+ }
+ ],
+ "cornerOffsetFromSlot": { "x": 0, "y": 0, "z": 0 }
+ },
+ "opentrons/axygen_1_reservoir_90ml/1": {
+ "ordering": [["A1"]],
+ "brand": {
+ "brand": "Axygen",
+ "brandId": ["RES-SW1-LP"],
+ "links": [
+ "https://ecatalog.corning.com/life-sciences/b2c/US/en/Genomics-%26-Molecular-Biology/Automation-Consumables/Automation-Reservoirs/Axygen%C2%AE-Reagent-Reservoirs/p/RES-SW1-LP?clear=true"
+ ]
+ },
+ "metadata": {
+ "displayName": "Axygen 1 Well Reservoir 90 mL",
+ "displayCategory": "reservoir",
+ "displayVolumeUnits": "mL",
+ "tags": []
+ },
+ "dimensions": {
+ "xDimension": 127.76,
+ "yDimension": 85.47,
+ "zDimension": 19.05
+ },
+ "wells": {
+ "A1": {
+ "depth": 12.42,
+ "shape": "rectangular",
+ "xDimension": 106.76,
+ "yDimension": 70.52,
+ "totalLiquidVolume": 90000,
+ "x": 63.88,
+ "y": 42.735,
+ "z": 6.63
+ }
+ },
+ "groups": [
+ { "wells": ["A1"], "metadata": { "wellBottomShape": "flat" } }
+ ],
+ "parameters": {
+ "format": "trough",
+ "isTiprack": false,
+ "isMagneticModuleCompatible": false,
+ "loadName": "axygen_1_reservoir_90ml",
+ "quirks": ["centerMultichannelOnWells", "touchTipDisabled"]
+ },
+ "namespace": "opentrons",
+ "version": 1,
+ "schemaVersion": 2,
+ "cornerOffsetFromSlot": { "x": 0, "y": 0, "z": 0 }
+ }
+ },
+ "liquidSchemaId": "opentronsLiquidSchemaV1",
+ "liquids": {},
+ "commandSchemaId": "opentronsCommandSchemaV8",
+ "commands": [
+ {
+ "key": "f4f7bc7d-6360-4d02-8ea4-67ca84bd7767",
+ "commandType": "loadPipette",
+ "params": {
+ "pipetteName": "p1000_single_flex",
+ "mount": "right",
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex"
+ }
+ },
+ {
+ "key": "c11bb036-868a-4de7-b14c-bf939c04c1a7",
+ "commandType": "loadLabware",
+ "params": {
+ "displayName": "Opentrons Flex 96 Tip Rack 200 µL",
+ "labwareId": "5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1",
+ "loadName": "opentrons_flex_96_tiprack_200ul",
+ "namespace": "opentrons",
+ "version": 1,
+ "location": { "slotName": "B2" }
+ }
+ },
+ {
+ "key": "ee9a58e7-27cb-4f12-b784-57e0b36dec81",
+ "commandType": "loadLabware",
+ "params": {
+ "displayName": "Opentrons 24 Tube Rack with Eppendorf 1.5 mL Safe-Lock Snapcap",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "loadName": "opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap",
+ "namespace": "opentrons",
+ "version": 1,
+ "location": { "slotName": "C2" }
+ }
+ },
+ {
+ "key": "fac803ee-3a34-4ff0-a647-bd2fd80e1790",
+ "commandType": "loadLabware",
+ "params": {
+ "displayName": "Axygen 1 Well Reservoir 90 mL",
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "loadName": "axygen_1_reservoir_90ml",
+ "namespace": "opentrons",
+ "version": 1,
+ "location": { "slotName": "D2" }
+ }
+ },
+ {
+ "commandType": "pickUpTip",
+ "key": "209b6fbe-fd5d-4b0e-8962-0f01fac3452b",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1",
+ "wellName": "A1"
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "47e037e0-645d-4b62-87f2-89571f5d7fd6",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "f991d201-f247-4008-b168-a29db0c7c772",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "8a280aa4-1e0d-4042-b70d-51089bba6a3b",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "75b7299a-ad41-49b4-8fde-91c349f14e39",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "85745f9a-968f-47eb-bbd4-df50aa043ca1",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "5d88057d-d628-4e98-9309-e3cb61ac265a",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "a93d60e2-7384-4424-8321-390a4b7773f0",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A1",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "24a9efa7-734e-416d-9414-2b8e3c76d40c",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "d5ae5c7b-be7e-432c-9446-e19d7639895f",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "16022d46-0d25-47e5-bbcd-9a013d6f9d3d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "7dd756f4-ca23-4aa6-92b5-2dbf526d03aa",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "9bef74aa-162a-49e2-9359-463d0b60ee35",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "a6eb62e7-55d9-43c7-affa-035599657b7f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B1",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "bea28cf2-53f3-46d6-8b6d-c47f5bb4c883",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "41bc6573-d9d2-4f1e-98c7-1edb36c0dcb0",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "3c027cdb-b5f1-4935-a002-9084d922364f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 178,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "95c60f2c-98c9-4a12-9b00-1bc60755db02",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "c0ddcb2b-1ec5-43b3-b0a2-9321dc945fdc",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "f6173e16-8b09-4d17-9a27-8f8c4ff92a93",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "19a9a5f6-1431-4f29-bcc9-1ce211e4dd61",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "770e7b4d-9e31-43d0-8568-4e0067c47306",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "db2e5163-75a1-4e6a-a853-a9c28e39bbca",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "24080b5f-ed2a-494e-9ef4-a1a8c2b8d428",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "51c7246d-c3d9-4587-a7ad-7f5832e77eeb",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "8fdcf3b1-c393-498b-9a2c-6d3171b2717c",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "4b218532-536c-4e28-bd88-077f205b2d31",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "db52a99a-97bc-4247-8c7c-652fca97737c",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "17de7724-f39c-4e64-b6f1-eda040beb574",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "fb2c9049-ccb2-44a5-91af-b03e6ed0af0c",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "7ba7a88a-7d66-47c5-80f6-12dd3bded8b9",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "cd0a9b35-9212-41d0-9e8d-efe9c2f9bfe5",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "327fe8d6-ed1f-4b4a-b148-50e5c4c8059d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "9332c077-509d-44ba-acff-548d3b4be9f7",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "aa5f8d79-3328-4758-9c7a-74e22d9bcfd6",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "blowout",
+ "key": "e5156ba2-c8d6-4adb-aaee-1d2d45487de1",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "flowRate": 716,
+ "wellLocation": { "origin": "top", "offset": { "z": 0 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "f3a071a2-26b3-4c2a-af48-09aa9390e222",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 100,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 13.42, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "28182a58-c4df-4370-a36a-423c8b906548",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "moveToAddressableAreaForDropTip",
+ "key": "ba7ef859-2253-4be4-9f2e-469e320f22a7",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "addressableAreaName": "movableTrashA3",
+ "offset": { "x": 0, "y": 0, "z": 0 },
+ "alternateDropLocation": true
+ }
+ },
+ {
+ "commandType": "dropTipInPlace",
+ "key": "a8396a5d-38ee-4bcb-bdbc-8c8e81795635",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex"
+ }
+ },
+ {
+ "commandType": "pickUpTip",
+ "key": "995de4ca-d974-43ec-a2dc-fb43ef2e2586",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1",
+ "wellName": "B1"
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "361561d8-07b1-4ee7-b8de-903dd9aba0c0",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "afa25f55-7574-4196-b9fd-f3841796abf2",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "a81971ad-3a29-4af5-8925-9f9f8229c036",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "1acd41f2-813d-4686-9f51-0777ea5b6e4c",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "59e58eb7-3c49-4e56-802b-1aaf4b94a284",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "8ed9cf90-6b54-439c-91ed-2f12b349d403",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "ab603bec-0263-47c2-bb85-9e8c71e004b0",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C1",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "a8ebfa2e-21f1-476a-bfb3-0b8b4be2b20f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "d5ffe2cd-df3c-4eaa-a5d6-4cd59dcfe799",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "02bf218f-9d89-4c5f-8921-dc413a2bc8f5",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "eac9c15b-ddaf-4009-8ef0-4f6113ee9eff",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "8e954355-f051-4b98-8189-01c1c0026d23",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "9df8a1b3-277b-4805-89d9-557e9b2e1069",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D1",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "c56bf24a-431d-439b-904d-5b5b2041630f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "39ff7db4-720e-442c-aeff-65f19f1ee6fe",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "fe80f531-6451-47d3-8937-0613da19f3a2",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 178,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "28f060dc-953c-4e21-90a6-b92871886d25",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "8e91de58-6d00-429d-9665-d1e3a405c73e",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "b78fe58a-f1f7-4af4-a416-2145edc4439b",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "560205d7-e291-423c-a7a7-29e35bd93c34",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "a5e890ea-738f-446a-b3c8-7a2f8bcd5f2a",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "4ca28879-5c79-4043-a33c-9cc6ec7860ba",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "e1ec6f7b-5e30-4767-867a-1b98af8c59fb",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "5fcc99f7-b7a7-49c6-a429-1e958f650190",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "7f27eada-2424-41f5-9208-c0a689e8448a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "e16ba1d8-75ca-4965-aa20-bd8c8f75f11e",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "87abd0dd-2d00-4b9d-aa13-5311dfd0f2ee",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "5ae72f0f-5481-4bba-8ba2-e75feba31901",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "369f8644-05ab-4df5-a056-979118fe7447",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "9dc43e2c-89ef-4461-a3d5-b7553f1c0b10",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "b6699ced-2d77-46ad-89b9-8ac852b1f91a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "a5b933aa-6423-4d0a-84e4-84f920589951",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "71c8c394-d72f-4d10-8261-ee01118182f4",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "cdc543e3-33f1-4f2e-92b9-0619f124e952",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "blowout",
+ "key": "3aec6f63-b8d5-472c-974e-f95565b54287",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "flowRate": 716,
+ "wellLocation": { "origin": "top", "offset": { "z": 0 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "e63ae587-7993-4529-aaa7-455468473d40",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 100,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 13.42, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "9b47a61e-159d-4d2c-ad80-f7cafd52b5bf",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "moveToAddressableAreaForDropTip",
+ "key": "f78f2a01-a2ac-4216-baa9-891ec0f78d1a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "addressableAreaName": "movableTrashA3",
+ "offset": { "x": 0, "y": 0, "z": 0 },
+ "alternateDropLocation": true
+ }
+ },
+ {
+ "commandType": "dropTipInPlace",
+ "key": "e596a1a8-a26d-43d4-8012-b3e344ca9abf",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex"
+ }
+ },
+ {
+ "commandType": "pickUpTip",
+ "key": "773918c9-b8ea-4b12-9c13-d46ddda136c4",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1",
+ "wellName": "C1"
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "5e3e72e7-9474-422b-9ff3-53d84cb8f6aa",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "aa5685d2-5b65-4c77-90a7-c9171cb82dfa",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "e6f95a64-5b0d-4b63-8bd1-ed4a21f40708",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "9afe1b83-5de0-4d0e-ba28-15fe2e03354a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "d1a35e48-0b8a-4d10-853d-186518711aa1",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "58489011-03f2-4c32-a1fe-f4e0be4e8ed6",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "7234e88d-9c35-4ab4-aa82-75c440cb8941",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A2",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "a5ff3fe0-48d0-42ab-b093-267b189bb7f4",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "873f6fdf-72b5-44d0-8b6f-d6cbdfd1c308",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "70eb8210-bd4c-469c-af29-87cd5414f984",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "25ed72f8-37f1-4414-ad3e-794d6af3e975",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "dbe9802a-0bcd-467e-b1df-4e8dc6b15485",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "3063959d-a6f2-4047-9f0e-d0ea8e4f36e7",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B2",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "961b1d54-adb1-41e3-af93-9088024c8651",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "75253977-c94b-4073-8799-36fc6a586407",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "0997cd84-49f3-4ca7-9d16-46b4e31af537",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 178,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "e2ab4066-d1ca-4bce-9c16-fff685db5292",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "e6b5e475-03f4-4f3e-9202-b951f473df5e",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "49b3724e-6e19-48cc-a9c6-29e4a0fd29df",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "aaf33445-57c1-4986-9256-0896109ef9f2",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "9a3f98be-bec6-478c-91ab-d751f90d6a10",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "f4dfa490-9148-4d4b-b060-d6b7a6e4ff36",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "bb53fe28-7404-449d-94e4-4584a68b169e",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "6a1d3f25-3d2b-4950-9002-6cd1a2e67d22",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "b367759e-a098-43bc-ab64-ebb478705121",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "948b5be0-d13c-4583-bf9a-700b5d263685",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "7390c909-0044-4735-b39e-08ac449eddb2",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "5bb4f0db-b4bd-427b-a68e-5202340f41b8",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "47fcda11-8c29-4de8-979a-cbf2c14729e1",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "6c5b13e6-c5e5-4122-8780-8b2f9ea31bb9",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "947be914-4181-40cb-b2d8-eacb7624fceb",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "0a9c7835-7e82-40b9-b994-ddb4389ab866",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "015d6584-777e-402a-b9f3-f56c34b84a3b",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "0d2cd2a0-a74f-4f1f-a926-0f8ae15f07e3",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "blowout",
+ "key": "d38fbccf-cac9-457c-a2d5-b04a9acfdc8d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "flowRate": 716,
+ "wellLocation": { "origin": "top", "offset": { "z": 0 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "644a17dc-6618-4a9f-967b-daf272380bf7",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 100,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 13.42, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "9a015cab-df68-4abe-9d8c-bac8db3c81f1",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "moveToAddressableAreaForDropTip",
+ "key": "ab7e1126-4bee-4bd2-94ee-1b602a1491cf",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "addressableAreaName": "movableTrashA3",
+ "offset": { "x": 0, "y": 0, "z": 0 },
+ "alternateDropLocation": true
+ }
+ },
+ {
+ "commandType": "dropTipInPlace",
+ "key": "1855957d-a8a6-4f52-bff3-c99cdaeae76f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex"
+ }
+ },
+ {
+ "commandType": "pickUpTip",
+ "key": "aa9dbc6d-8c35-4009-9115-a7334a685b21",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1",
+ "wellName": "D1"
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "1379b64e-5e49-4f1e-8685-1844b67bf57a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "c9581277-734d-423a-9e45-7be1f2c5d19c",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "3d3c88ef-2e0c-4f6b-979e-aee296bb7a83",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "b3e9d61c-bef1-4f9a-ac64-fd07c7d8d876",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "27a153b1-b57d-4adc-8448-45f69372313e",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "d8b77571-d95e-4d7e-a54c-0f1686222755",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "c708af6a-6c58-48d8-9b8a-1c9a84f8c21e",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C2",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "e7c8ded4-aa43-4f6d-acb6-7038f55e42ee",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "f6770a77-f031-461e-a4aa-671f22362f66",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "cd6c4f4a-7445-4fd4-9323-a2f185d8e769",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "7a9faa71-6c10-4e2d-988c-eb9ba6f0eedc",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "246e7cc7-01f4-40d9-8b77-9e5f6ab9752f",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "f89492b2-cdaf-4e90-bd34-762a7d76d745",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D2",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "d18408a7-8865-4a0c-be2e-ec3fc2a68aa0",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D2",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "826e2065-6ba2-4155-a479-f68905df3c2e",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "e601d28c-c507-49cc-8b32-321416c8762d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 178,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "1d87ac17-52b7-40df-99e4-5e48920e799b",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "0a619a2e-3fea-4fa2-bad1-e40cde9b3ff6",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "191bc26d-ac2a-4da0-abc9-fe0663af9504",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "345627c3-effc-4d5e-a788-7a116c9e4670",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "4d055c79-01d8-47df-850a-6c1ff23e7711",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "942e02b7-3dac-4f2b-ae7d-fcc612e4ef73",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "b21d7cd0-4ff6-4786-b30a-d81098ab4f70",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "d0b4a5ff-155b-4d8b-9aa6-85b585470e1a",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "95cb1d3b-d5a0-427a-8c85-cfcedbd12c7c",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "38ad7575-be63-417e-b976-dd88568b3c27",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "96af9ab9-58d0-4e75-b77a-e2dff63eab0f",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "72f1d584-e167-4143-a708-d442235ca515",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "a5c6338e-3e4c-4332-b29d-9ee04d3cd050",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "f6b231fa-f138-4296-9790-1ead2675c7db",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "87a883ec-8ea8-441c-88fe-31c86b0ea1f1",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "9fcddaec-bcb5-42fa-a551-e05d2f95feec",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "20c10be3-ee88-4f4b-b169-0289ec975c22",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "e4522a4d-f64f-4496-b24e-6ab91f3b2602",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "blowout",
+ "key": "f1718269-ea9d-4f00-a744-8f91562266f9",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "flowRate": 716,
+ "wellLocation": { "origin": "top", "offset": { "z": 0 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "b7691851-d1ca-45d2-ab64-4ac9d5700984",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 100,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 13.42, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "be5eb383-58f7-47f3-be93-3c01fd0dd04e",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "moveToAddressableAreaForDropTip",
+ "key": "b4090cb4-a4f7-4a4b-94bc-ee49efead6e4",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "addressableAreaName": "movableTrashA3",
+ "offset": { "x": 0, "y": 0, "z": 0 },
+ "alternateDropLocation": true
+ }
+ },
+ {
+ "commandType": "dropTipInPlace",
+ "key": "4ebcd158-d57d-41ef-a336-80c0d721fff7",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex"
+ }
+ },
+ {
+ "commandType": "pickUpTip",
+ "key": "bb0b1332-a647-4dca-950c-3ac08684f0d9",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1",
+ "wellName": "E1"
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "67c219ac-f6e8-43f7-b381-ea99c889654f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "975d32f4-5e04-49ba-b226-48ae4d01ccab",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "eec5b7f8-7fa3-45e5-903c-7ac21daefe10",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "a8892d52-44c3-4499-98c3-ee70637b7d0d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "857bea26-1cdf-427b-a30e-e97c4a966978",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "682a4ae6-834c-49b6-b538-7bd58a244273",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "b297987a-0e0e-494c-86e9-4e4d4ff62202",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A3",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "52a9f8bb-cddb-4062-8695-9e1dd4666a5c",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "be82c212-7a3b-4417-9d9c-17c25536e7b6",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "9425de9d-5b63-46ac-b515-abcd9a023c36",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "fbb4ebf4-a860-4f1e-bce6-fb33d7b3071d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "df6c11d0-ebf5-4aa1-9c79-153a7f0837ae",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "efdb1d1c-e2ea-464c-a145-fc9cf70a4723",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B3",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "806c008a-21d7-4be3-8364-8063dec52cd1",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "5ca16307-b8c2-43f6-999d-6e2b6d89459e",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "c7aeafab-2543-451d-b93d-0d3e909bd20c",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 178,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "05fdf95a-a0f8-4bb7-9661-8adbcd435a32",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "237d8a7e-1706-4136-9e08-4dda257e9e7b",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "5a3f0f6e-342e-43be-91a8-7e1d48686efa",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "b5aaf5c2-50b9-410a-a042-52987cd52f5b",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "61d4de2e-7694-4fbe-9a38-f00ea06f8ed1",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "65301020-86f1-47db-972a-20cd674c5711",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "38ca6ef3-a405-4b2e-b98b-25799e94f7f5",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "ab2cbaba-ea71-4669-b05b-d851992aca7c",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "19c87d17-3a15-4796-b65c-8dc94fbef8c0",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "9727f6bf-e175-40af-943d-5cd17f011b17",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "b27a880d-5637-4a60-8426-b9fe7afc7171",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "bff427a6-55fc-4803-989f-6492b3c3d7c9",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "3429a8cc-34de-45b5-bd88-bada1af34689",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "d2d75efb-fa41-4671-bdb2-81c3cedfc996",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "2aeddbf0-7f22-40c3-b5bb-f6e954eeb62a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "0a87e8f6-d505-47e4-86ba-2c5dc55c8e4f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "e210d148-de3b-4b30-93d7-1a3fe61f9188",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "e984d07a-8de5-4ab1-8ad1-799a83c50af7",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "blowout",
+ "key": "d01bd5b4-0077-40f2-ae1c-674986d63ced",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "flowRate": 716,
+ "wellLocation": { "origin": "top", "offset": { "z": 0 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "6a734c02-a381-4b8d-ba1d-d7cbd21e65ab",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 100,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 13.42, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "585e0594-978a-487a-90f5-3ddf93519be0",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "moveToAddressableAreaForDropTip",
+ "key": "1c8063f0-0419-46ab-895d-4698283e1178",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "addressableAreaName": "movableTrashA3",
+ "offset": { "x": 0, "y": 0, "z": 0 },
+ "alternateDropLocation": true
+ }
+ },
+ {
+ "commandType": "dropTipInPlace",
+ "key": "c735932d-f573-4a81-8f05-604733f5f751",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex"
+ }
+ },
+ {
+ "commandType": "pickUpTip",
+ "key": "7b50fddd-f559-49fd-a124-e2838082fbcb",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1",
+ "wellName": "F1"
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "7ab5f30e-6a05-4113-8782-4666be6d54ce",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "9439eb2d-2209-4d40-91e8-47213719b081",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "3763dde3-236f-4776-b2e6-7d3d2cba76ad",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "96c8906c-07ba-4c1a-af18-1f4c3d00c16e",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "7acd7c2a-4f98-4d92-a327-b1739d67752b",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "1c29ccf2-605d-40c6-96e9-f7097eef84b8",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "69439ba6-2862-4e23-9391-5ed99896ebc0",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C3",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "c8e9ac30-d142-4a21-b22b-49b85879bc02",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "daf37ba9-4c58-474a-9068-fb8fd30d6a7e",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "59c4bfa4-8504-437b-8701-62da3e5aa96f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "e7e33367-5a50-4ef5-b3da-0c3b77950d22",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "163f0957-5af2-482f-aeb2-22e34f1c526c",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "b2a08345-b509-4e18-8a7f-533d3082e4cf",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D3",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "7205a00a-2b5b-48be-984f-137137801355",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D3",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "72c72e3c-436a-4e6b-b2f9-f5dda78fc1ef",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "7a961d44-f33f-4bdd-bd7e-7563892aae00",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 178,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "48da0ca6-d437-47e0-9019-4399eb05b8ad",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "4d6b07e3-d156-424e-ba82-a55004712581",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "40013b68-1b74-4697-a744-be4aeac941a6",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "498dc2d8-c180-4554-a030-2e7fff11ebd6",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "e4b55ee7-bf18-4aac-aec5-ad5cf888e3e4",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "fecde7ea-812a-4345-9795-432a42924a09",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "fb785825-efe8-4bc6-9dcc-4b84d056defe",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "1dd0b3e4-5cdf-4ec5-9d74-1025809a7be0",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "ac03e07f-ef7e-4a1f-b098-76bbcda69910",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "c7cbd4f2-32d5-4324-880d-5e82bd865ebd",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "5721152d-7d17-4552-abbd-9a2f991d7872",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "5a79788d-e955-4747-b872-5eb91801ae81",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "f25d709b-0011-47f9-bdf1-bc3fc75f2b6a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "c82b83d7-0d2a-4e0c-8e11-54e2a20662cb",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "2c885df3-3eef-4e9c-b897-7e2e3fddfb28",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "60372d89-cb94-4c4c-8de6-c473a6d061eb",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "b241cf09-1117-4c98-b718-0f0f7e6eaaa9",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "39a4aa25-9df6-45db-b6a2-66e5774727c7",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "blowout",
+ "key": "ccd899f9-fda7-4226-864d-d291b727248f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "flowRate": 716,
+ "wellLocation": { "origin": "top", "offset": { "z": 0 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "064191f2-fa33-4ddf-913a-055a40134bb9",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 100,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 13.42, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "6a23a411-b1a1-4923-a8c4-0c13a66facb7",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "moveToAddressableAreaForDropTip",
+ "key": "e9b14b65-b1c9-4d88-8e27-5b19c098bc0a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "addressableAreaName": "movableTrashA3",
+ "offset": { "x": 0, "y": 0, "z": 0 },
+ "alternateDropLocation": true
+ }
+ },
+ {
+ "commandType": "dropTipInPlace",
+ "key": "30943dd9-b4a6-4d90-9d55-0d70c9691837",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex"
+ }
+ },
+ {
+ "commandType": "pickUpTip",
+ "key": "8433307f-8f16-4f52-aec3-c40d052c794a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1",
+ "wellName": "G1"
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "0df6589e-fe7d-42ef-a4a8-5fa3b472f192",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "55e52dae-fc19-455a-9089-a4f8fc7c17ea",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "15221770-60b5-447c-92c5-26656debe206",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "81ae96d9-648b-492b-b0bd-8b49fd1c4939",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "2c94ad4b-85d4-4b3c-9539-354e509580c6",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "114556be-108d-406a-8dec-7b77b92750aa",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "251b2ff5-9a65-47e1-b227-f565cf80fa1d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A4",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "88f44785-ef1d-4f44-8f9d-f82374da83cf",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "503e94bf-4ef8-48ed-981e-7216db8288f4",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "08a41523-696a-44ff-8014-c25c06fdaffd",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "98cafca1-d16f-4710-9ebe-eba8694e6d9f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "80f7688c-1eb0-457a-b624-79eb2336a23e",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "4bc89b11-76bc-4d64-bb19-dfb5a6dd1362",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B4",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "2834b5bf-b816-49b8-b544-da738702f8a0",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "1d477ce2-94ae-429b-8558-68d02b2bb0ea",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "c70ce448-ef40-4401-a978-236896fbd33e",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 178,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "46c24b87-1aac-4c20-8a4f-ddd5d98f3a41",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "b3b6f10b-ded1-4a11-be9b-ec99eaf47770",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "2b982115-a51b-4429-a50e-9ee96b2d26aa",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "87d6e212-bc2f-4e27-8b8a-6bfdd38d1e0e",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "9fc0ec33-8546-42a0-84bb-0896fd64ca40",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "0c63daf5-884a-4605-b299-4d9aca256682",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "ad18a99f-b083-45e5-8214-29c72de758c6",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "4a09b7e7-2b29-41f2-b11c-39ee53c2a77c",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "9c774cf8-ec08-4ae9-926c-26e94450fb84",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "4d70e75d-6627-4833-9f2c-a9525a47d6b2",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "5d3b4d43-7e5d-4032-9031-cb2abd85e24d",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "14ad6082-caec-4cba-a100-8d9df62fa103",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "52a9a803-9fe5-4425-84fc-58f110de45ff",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "fca3b196-37a6-4e29-8853-abba83551cb0",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "1bb91aef-2889-44a2-813c-113a37f3ed68",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "79e24a83-b498-4924-8f8d-674c6bba1216",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "bbb2cf7a-369c-4491-96e4-7622a1585971",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "d6fdc611-8532-4d6e-90fc-901fc4fb762d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "blowout",
+ "key": "9c6d0cb4-b87a-48ce-a335-1a8345cd43fa",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "flowRate": 716,
+ "wellLocation": { "origin": "top", "offset": { "z": 0 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "a76b870d-0630-4beb-8f7a-7963204f0542",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 100,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 13.42, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "01c37c24-19ad-4a44-8424-00e9a731e195",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "moveToAddressableAreaForDropTip",
+ "key": "203ac8cf-3265-4fe7-950d-5280c8d45724",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "addressableAreaName": "movableTrashA3",
+ "offset": { "x": 0, "y": 0, "z": 0 },
+ "alternateDropLocation": true
+ }
+ },
+ {
+ "commandType": "dropTipInPlace",
+ "key": "3285c9a1-ef82-4162-afce-e3b551c26092",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex"
+ }
+ },
+ {
+ "commandType": "pickUpTip",
+ "key": "be26e9f2-8436-4cb9-afcc-712366a7d63a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1",
+ "wellName": "H1"
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "fe4e440d-a435-48ae-868d-eb939a55f1bb",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "3fadf77a-560c-42cb-866a-2d57d3db9e9f",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "e1a14854-69a2-46d5-8f8d-36e30c596d90",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "73105791-2386-4814-8e2b-b029ca480dfe",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "26e7530c-4e7e-476f-b429-5fe799d63045",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "189ce76c-2256-46a2-9b38-8df2c580f55c",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "03295b9b-3a81-4039-a3c5-01363d9a3b96",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C4",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "4875a1b3-01dd-4172-b7af-fb842e9055d8",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "d1f765e4-2f76-4350-9049-080d87426e7c",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "37756ce4-a9f9-46fd-98cb-28b9f1ec06b5",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "2aacedac-225e-47d1-a59b-760c08cc7333",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "78871d6b-ddbd-491c-98f7-afb207179b68",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "86507f9d-78d0-4fa0-b34f-23a698e740ec",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D4",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "2e6f809f-c7bf-4f51-8774-9e99aaa96b09",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D4",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "28d7350e-5ad4-4e6a-bccc-f1e8c9c3c0b8",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "fdbb89f0-82ac-48e3-b40c-ee88cc269883",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 178,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "57ce5d7b-3742-42a4-9a49-f120eed86b2a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "6d0647c5-2fc4-44f8-b176-b712899b11a7",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "b6eeff89-380b-4d35-b33f-35bb614ef566",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "09108611-b308-4af3-926e-63c56752b68c",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "9abfd079-af27-4a59-9418-2111b6bd089d",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "710d376a-ddea-4285-aebc-72124845116a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "8241ff1b-cda0-44c2-bbd9-af5d009a6de4",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "cc9c7b1b-b405-4544-b1ed-662c050b4fb8",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "e600dd33-de07-4fe0-ab7f-9a8b00cd6319",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "817dfafd-92ed-41d8-b7cb-e1f5dd5f7c6f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "2a6e8f4f-bcd0-497c-9556-06299b13e526",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "1f440219-5b2f-42a2-bb16-cbedc61b69b8",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "715c1990-cc20-47e1-8e36-2ec53c1aff9e",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "28cf26a4-8edb-4295-a1a5-d231b5c66181",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "ec9156f7-f492-4ef1-a0c6-86ad3c5e1dd1",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "0a075bfc-65bd-48f8-9e4f-b7db38dc4287",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "41c3f3cc-4eac-405f-8f13-3745278453fa",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "bdf2d6fc-1660-4a33-8e48-9089d4ea6d2b",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "blowout",
+ "key": "d26e30c7-174d-422d-8adc-be326945d1ed",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "flowRate": 716,
+ "wellLocation": { "origin": "top", "offset": { "z": 0 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "cdd93f87-5cf3-446c-87c5-94b1c9e4adad",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 100,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 13.42, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "0bd36a9d-dee4-4cdb-92ec-9fe36cf6e348",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "moveToAddressableAreaForDropTip",
+ "key": "ae9647c6-d85b-44d7-a1e8-d78ed4e917a3",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "addressableAreaName": "movableTrashA3",
+ "offset": { "x": 0, "y": 0, "z": 0 },
+ "alternateDropLocation": true
+ }
+ },
+ {
+ "commandType": "dropTipInPlace",
+ "key": "efbad48b-1a4d-48a3-95f0-f4a57dc519d5",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex"
+ }
+ },
+ {
+ "commandType": "pickUpTip",
+ "key": "d21fdf05-4ae1-44d2-945d-e7da776fbf08",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1",
+ "wellName": "A2"
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "19716a43-37d6-49c5-9cd3-ae3b5d05f9ce",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "cc6b1677-658c-44ad-8574-dfb83868a565",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "fa329850-e58d-4257-8e10-b37f379f2813",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "988d712a-5a60-467c-a653-8baa49e19c2a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "bf5b0ff6-22b9-4cf5-bb6f-4748d107f102",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "6e893c32-0992-4376-ab03-208da000626b",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "f8bc614b-250d-48a8-bb9e-8288add0c760",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A5",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "54fc819d-b3bd-4e80-8929-fdb89efbeb82",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "76c6ea93-2f53-4260-80e6-69d800739765",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "048f83fd-9ab2-4e93-88eb-4721232ed5df",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "d5659889-e5d3-4f92-a6dd-7d0f9107376a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "43c90a30-98b1-41f0-a6ce-e7cbcb939ab3",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "49d31f0c-d1c7-4a84-ade0-017354c42092",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B5",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "01d59e53-0973-4063-acfd-a1197e8b97da",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "23d00e24-8678-49af-88a9-d7fb07afbec2",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "867187a7-c619-4741-8919-d1ede6216f92",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 178,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "c795e047-6c43-4b65-9bdf-00fab29c23f5",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "f075fa6f-0e30-42ac-ba39-bdcf2821a531",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "1bcb81a0-8242-411d-8b14-3a1627796327",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "74bcecc1-1873-4fa0-b3ff-a02e91ee9adf",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "3dd89f91-463c-48df-bfc7-7290ecffc203",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "84609bd4-c855-41c2-9efe-334fe4836d0f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "83e6be3d-ca51-40f2-be85-2420d85aae3a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "ed334010-e7bd-47b3-ac7d-78efc90c9ef1",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "a4b8c916-f639-44bd-bef3-3f4bd82b2e58",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "01a2ebbf-89b0-4989-9034-3f33854a6d5f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "36ed3bc2-dd30-455d-b9ff-2fcea172b0fb",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "9a969761-322d-4a78-b68b-5031a885ff03",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "4cdb6d58-bd6e-4886-a26d-316cdfef14e6",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "3c84b840-edc8-4115-bbb0-aeeacb1ebb5f",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "5a4ff136-4acc-4fb7-b203-74294e80878e",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "30c7f2c3-b8e5-49e6-b892-8da189560163",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "41d71845-4cb3-4ccb-9231-efa5691687c1",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "19cf2502-f4dd-4561-9b56-fe67dcebe641",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "blowout",
+ "key": "7ddec1f4-2960-48bc-a644-d802c4def489",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "flowRate": 716,
+ "wellLocation": { "origin": "top", "offset": { "z": 0 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "96978d8a-cb3c-4baa-ae99-16fcf5589107",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 100,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 13.42, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "35960954-3b37-451c-b25f-51218a6507dc",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "moveToAddressableAreaForDropTip",
+ "key": "ab1fc749-9763-4009-b488-84b2f37fd4e9",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "addressableAreaName": "movableTrashA3",
+ "offset": { "x": 0, "y": 0, "z": 0 },
+ "alternateDropLocation": true
+ }
+ },
+ {
+ "commandType": "dropTipInPlace",
+ "key": "981c7f11-fc55-478e-8688-9e2d50f519e0",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex"
+ }
+ },
+ {
+ "commandType": "pickUpTip",
+ "key": "71267b15-1a35-494f-aa62-d88a7ee79d13",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1",
+ "wellName": "B2"
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "926cf4c4-4745-4c00-be09-c7b1874552b5",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "5e87ce79-79a8-4936-aefb-47ee6df67210",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "54a81f84-7ccd-43c5-b3bd-db1544e4a88c",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "d351646b-89b6-469a-a510-d53e7e57f14e",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "a35d4742-d154-40ae-a605-3e91d737458b",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "44498b79-6b81-4f33-98ea-bf05c5dd5b83",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "054f20dc-39ff-43e4-bb63-478c2cf377da",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C5",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "9da4f483-95a2-4d5b-9f9e-248f2ace935a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "85cb5d27-411e-4738-8557-4e412aa80e8a",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "22977fd3-52e6-4913-8af6-59dc99de36b1",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "965ad8bd-e785-4045-8ae4-a3058990907c",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "dc90b8dd-cba5-4a69-8875-443556bdfc28",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "c61f1228-e56a-469c-81a1-bf12dbcab33a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D5",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "eb8fae7d-3654-4c74-b8d3-d0668e67ade7",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D5",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "a7f4de76-b9d9-4ce8-8ead-923972844755",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "5d8a823a-536c-4fba-9c51-30ac37262f75",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 178,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "23fbb4db-8508-43c9-b363-7f6115ed28f3",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "5967c7e3-63c1-4a89-96f9-4001806c9126",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "0b7b357d-ba27-473e-a2dd-f5a7835c51b5",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "91e56b80-cfe8-4d5f-9c44-d092a9fd53d9",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "44440787-56e1-4432-af81-736ad978b8bf",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "d07028d4-a8b3-47c2-84a6-1ee8484999ea",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "7a771def-65a3-4d9b-863b-fa2f3a0456d4",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "c676d576-e0b8-4d29-b027-cdb0d2b501fa",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "68318b43-f5bd-41e8-93dd-afb39c045632",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "c372d26b-cefb-4243-b717-a7746812cc74",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "2a83d9ca-07c0-4a1d-96a3-cc938d52d3a0",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "7f4accb8-15d2-4b02-9d81-647483882fc4",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "e3cf52b8-50bb-46b2-bb13-3eae1fcab375",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "25e53030-61d6-49f1-a092-52f7de827e43",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "f0e3f2d3-9b17-4bda-b31a-79e0f62e079d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "548f9e7c-ce5a-4ff1-8cbb-0fb70665e3f5",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "9ecad576-ce5f-4708-b79e-f3f9f4c1bbea",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "6b9ad3c9-fe97-493d-9b83-9e61ccb91d4f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "blowout",
+ "key": "67c03f23-9b16-4928-8ab8-530bd6aa6b22",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "flowRate": 716,
+ "wellLocation": { "origin": "top", "offset": { "z": 0 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "4ae73deb-8326-4e2f-8f6f-ce2728d912ea",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 100,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 13.42, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "64463be2-cd46-46fc-bbd6-5a4ad311f71a",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "moveToAddressableAreaForDropTip",
+ "key": "8effbd79-ff6f-45a5-a0a0-142ae5daae47",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "addressableAreaName": "movableTrashA3",
+ "offset": { "x": 0, "y": 0, "z": 0 },
+ "alternateDropLocation": true
+ }
+ },
+ {
+ "commandType": "dropTipInPlace",
+ "key": "08b949b6-a228-4d11-ab97-334d99516b26",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex"
+ }
+ },
+ {
+ "commandType": "pickUpTip",
+ "key": "8e33b635-3ee9-468c-806f-6281b9496bf9",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1",
+ "wellName": "C2"
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "fbb4a80a-dbc6-46c4-8a99-8b4b95cf1b04",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "349ce0a6-860c-4efd-b738-4b8a7f9154e7",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "863357f8-5861-4b20-9edc-96aed0509ae9",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "eda82206-281d-4d64-985e-ad1eb53d6c0a",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "da1ce7d8-db5b-48c7-80b4-6972dcf193a8",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "ab280e20-c4e1-4a87-a3e6-5d8952bb8e05",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "dc0ff945-2fdf-4075-a6c4-1312b34a6d12",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A6",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "8c1542ce-af01-410e-a287-324ff7151818",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "A6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "41dc9a4c-cef5-4098-9d24-fda51a08d920",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "2e1440eb-4be7-4407-874e-c4a1bd1a000d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "762420eb-49ec-4825-bb10-79bc468bcbcb",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "803d7a8a-eed3-4088-843a-b99b481aa84b",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "f2513730-8872-43a9-b309-4e50c3cf54b5",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B6",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "0f5f3d90-748a-47a0-a15f-a25d00eb300b",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "B6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "8d588964-354a-4369-9e7e-0d9ed7e57410",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "f8645133-fd78-425c-91f2-0333414a262d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 178,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "bfb03df1-6c3e-4edf-baa4-feb49167002f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "0dd5c94a-e50d-416e-9f06-038baed5a08e",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "75823908-6e9a-4046-afb1-4638914bd5d4",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "4518bf79-9259-49e7-bd1e-57e1cb870f94",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "2d1ea61b-1d4c-4bda-9d8e-755b8d1eed73",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "ff408fe4-1b03-46bb-9d96-2f58c166d504",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "3565f961-e927-44f3-9473-c52762499d70",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "54b98240-ea85-4d09-90ba-8d4b1eddac84",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "2e511f4b-18e7-4269-bf56-3a203ce7038d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "3d68efd9-c02a-4b1c-ad03-4d360b84c6bc",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "e9e3e312-7da7-401d-a7cd-bc20ceeda270",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "279ba215-f776-47aa-a726-caea818fd1b2",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "50750e0f-d358-44d5-965d-3461d0c2ccef",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "38b0aabd-80cc-439a-896f-acc250f69df5",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "97908bc4-9a43-4e94-b2e3-cd1d7e14901c",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "99056f10-7477-45d6-8e4a-a7136c7bca53",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "d37c682c-4d6c-4e7f-96be-fbddb0fa6465",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "dabd70c0-b7a5-43a8-ad2e-02374ea7aa27",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "blowout",
+ "key": "3a004087-5d3e-4882-a1f7-73ec22a92b81",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "flowRate": 716,
+ "wellLocation": { "origin": "top", "offset": { "z": 0 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "75d73de1-7e37-4023-b2dc-6c920492c0cc",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 100,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 13.42, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "1c9ad922-e272-4a29-b677-57082b7d29c7",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "moveToAddressableAreaForDropTip",
+ "key": "18c5fb59-654c-4cec-9d2b-31a953bbefec",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "addressableAreaName": "movableTrashA3",
+ "offset": { "x": 0, "y": 0, "z": 0 },
+ "alternateDropLocation": true
+ }
+ },
+ {
+ "commandType": "dropTipInPlace",
+ "key": "195c048d-69bd-4d7a-abcf-d8289b33d6bb",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex"
+ }
+ },
+ {
+ "commandType": "pickUpTip",
+ "key": "e30b0959-6644-42df-9517-318a88289f1c",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1",
+ "wellName": "D2"
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "8bbfcfc9-a8c2-40a1-b83d-810f8bb90c48",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "8d5999a4-60b3-430b-b41c-5f782f4fe1ae",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "e6958abb-818c-4158-b632-299e679dfd74",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "f2cd7a0e-7c30-41eb-9d00-f0d6fd17d8e8",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "5a05834a-329a-49ab-b610-44c93efd4672",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "b8d664f5-652c-4a80-b0f1-246821f49078",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "b0866589-b102-42b3-bfe7-e8fa5b1dfc1b",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C6",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "80544fcd-dedb-47ff-91ca-59fd988d920d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "C6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "44a970eb-5dfe-43b7-b7fb-97f8a76492ed",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "61a30547-224e-4a2a-9377-1405eafa324e",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 85,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "moveToWell",
+ "key": "26258ed5-7bdc-4531-a496-8af4a183d7fd",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "x": 0, "y": 0, "z": 8 }
+ }
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "0e6a9995-b008-4a9a-8892-a0c7c4c1849c",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "touchTip",
+ "key": "6a25e3e6-635a-4f08-9b7d-648523d28875",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D6",
+ "wellLocation": { "origin": "bottom", "offset": { "z": 30 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "d4a2e677-be16-4075-8f0d-794366cf274d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 4,
+ "labwareId": "5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1",
+ "wellName": "D6",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 38.8, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "ecad5830-dc9b-47d2-8016-8aaf9b848219",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "e7c8e55e-57cf-4105-b53c-c1c08a3ea289",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 178,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "49e5c4f1-e780-4eac-8cd0-6cbf44f353f2",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "ddf5f01f-f8a2-4238-b6fc-5904f87f9143",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "c0725315-276d-4e0b-8d52-c6640e55a9dc",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "24989000-1733-44dd-9f03-1e90f6b85e6d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "c13c4efa-4b6c-45a6-83f3-f9c8b2a65244",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "aff053d3-e9df-4d42-9ab3-227f37707083",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "e406c821-6654-493b-94a7-482f1704be6d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "47439287-62d6-49ba-8e1b-9e1c16856e52",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "75e6cef0-b991-4572-bc4a-61077fab3964",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "6ce01b8d-f819-4686-a5dd-8745596cf40f",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "86c39865-eca6-4740-9dc5-1f47db79af37",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "604155f8-6e9a-4fd3-b23f-28e8c963a671",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "b38d27c8-12db-441d-96c2-6d19aaf5cee3",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "54097182-2bc6-49ec-bb74-61623f1748af",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "6fc1c7f7-a779-4ffa-bba5-98b8f706582d",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "4590ee5d-d9d9-4ba4-af6e-b977a7ef299e",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "da7185a0-f1dd-4156-94a8-2ec56ee006af",
+ "params": { "seconds": 2 }
+ },
+ {
+ "commandType": "dispense",
+ "key": "e180e4a6-84d1-4088-82ac-27da30391eb1",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 80,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ }
+ },
+ {
+ "commandType": "blowout",
+ "key": "bdf252af-9ae8-4ac7-9b29-390a1e337a05",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "flowRate": 716,
+ "wellLocation": { "origin": "top", "offset": { "z": 0 } }
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "ffbcdbb3-6b6f-4ccc-9027-5e141dfc3de5",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "volume": 100,
+ "labwareId": "7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 13.42, "x": 0, "y": 0 }
+ },
+ "flowRate": 716
+ },
+ "meta": { "isAirGap": true }
+ },
+ {
+ "commandType": "waitForDuration",
+ "key": "720f86cb-5ee1-4dc0-ad56-453318799d04",
+ "params": { "seconds": 2 }
+ },
+ {
+ "key": "a1f4ee6e-a64d-4cd0-95fe-49aa71e2e416",
+ "commandType": "moveToAddressableAreaForDropTip",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex",
+ "addressableAreaName": "movableTrashA3"
+ }
+ },
+ {
+ "key": "177dd291-955f-4029-8069-3b1d0bd4b2b7",
+ "commandType": "dropTipInPlace",
+ "params": {
+ "pipetteId": "b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex"
+ }
+ }
+ ],
+ "commandAnnotationSchemaId": "opentronsCommandAnnotationSchemaV1",
+ "commandAnnotations": []
+}
diff --git a/app/src/organisms/QuickTransferFlow/__fixtures__/quickTransferArgFixtures.ts b/app/src/organisms/QuickTransferFlow/__fixtures__/quickTransferArgFixtures.ts
new file mode 100644
index 00000000000..91fdc1a8cd8
--- /dev/null
+++ b/app/src/organisms/QuickTransferFlow/__fixtures__/quickTransferArgFixtures.ts
@@ -0,0 +1,3035 @@
+import type { QuickTransferSummaryState } from '../types'
+
+// a 1:1 transfer with a 96 channel
+export const singleTransferStepArgs = {}
+export const singleTransferInvariantContext = {}
+export const singleTransferRobotState = {}
+
+// a 1:many transfer with an 8 channel
+export const multiDispenseStepArgs = {}
+export const multiDispenseInvariantContext = {}
+export const multiDispenseRobotState = {}
+
+// a many:1 transfer with a single channel
+export const multiAspirateStepArgs = {
+ pipette: 'b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex',
+ volume: 85,
+ sourceLabware:
+ '5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1',
+ destLabware:
+ '7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1',
+ tipRack: 'opentrons/opentrons_flex_96_tiprack_200ul/1',
+ aspirateFlowRateUlSec: 716,
+ dispenseFlowRateUlSec: 716,
+ aspirateOffsetFromBottomMm: 1,
+ dispenseOffsetFromBottomMm: 1,
+ blowoutLocation: 'dest_well',
+ blowoutFlowRateUlSec: 716,
+ blowoutOffsetFromTopMm: 0,
+ changeTip: 'always',
+ preWetTip: true,
+ aspirateDelay: { seconds: 2, mmFromBottom: 8 },
+ dispenseDelay: null,
+ aspirateAirGapVolume: 4,
+ dispenseAirGapVolume: 100,
+ touchTipAfterAspirate: true,
+ touchTipAfterAspirateOffsetMmFromBottom: 30,
+ touchTipAfterDispense: false,
+ touchTipAfterDispenseOffsetMmFromBottom: 11.42,
+ dropTipLocation: '4ed9e4f7-36ec-44e7-9366-87cd11c687ca_trashBin',
+ aspirateXOffset: 0,
+ aspirateYOffset: 0,
+ dispenseXOffset: 0,
+ dispenseYOffset: 0,
+ name: null,
+ description: null,
+ nozzles: null,
+ commandCreatorFnName: 'consolidate',
+ mixFirstAspirate: null,
+ mixInDestination: { volume: 80, times: 6 },
+ sourceWells: [
+ 'A1',
+ 'B1',
+ 'C1',
+ 'D1',
+ 'A2',
+ 'B2',
+ 'C2',
+ 'D2',
+ 'A3',
+ 'B3',
+ 'C3',
+ 'D3',
+ 'A4',
+ 'B4',
+ 'C4',
+ 'D4',
+ 'A5',
+ 'B5',
+ 'C5',
+ 'D5',
+ 'A6',
+ 'B6',
+ 'C6',
+ 'D6',
+ ],
+ destWell: 'A1',
+}
+export const multiAspirateInvariantContext = {
+ labwareEntities: {
+ '5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1': {
+ id:
+ '5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1',
+ labwareDefURI: 'opentrons/opentrons_flex_96_tiprack_200ul/1',
+ def: {
+ 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: 'Opentrons Flex 96 Tip Rack 200 µL',
+ displayCategory: 'tipRack',
+ displayVolumeUnits: 'µL',
+ tags: [],
+ },
+ dimensions: { xDimension: 127.75, yDimension: 85.75, zDimension: 99 },
+ gripForce: 16,
+ gripHeightFromLabwareBottom: 23.9,
+ wells: {
+ A1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ },
+ groups: [
+ {
+ metadata: {},
+ 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: [],
+ isTiprack: true,
+ tipLength: 58.35,
+ tipOverlap: 10.5,
+ isMagneticModuleCompatible: false,
+ loadName: 'opentrons_flex_96_tiprack_200ul',
+ },
+ namespace: 'opentrons',
+ version: 1,
+ schemaVersion: 2,
+ cornerOffsetFromSlot: { x: 0, y: 0, z: 0 },
+ stackingOffsetWithLabware: {
+ opentrons_flex_96_tiprack_adapter: { x: 0, y: 0, z: 121 },
+ },
+ },
+ },
+ '5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1': {
+ id:
+ '5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1',
+ labwareDefURI:
+ 'opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1',
+ def: {
+ ordering: [
+ ['A1', 'B1', 'C1', 'D1'],
+ ['A2', 'B2', 'C2', 'D2'],
+ ['A3', 'B3', 'C3', 'D3'],
+ ['A4', 'B4', 'C4', 'D4'],
+ ['A5', 'B5', 'C5', 'D5'],
+ ['A6', 'B6', 'C6', 'D6'],
+ ],
+ schemaVersion: 2,
+ version: 1,
+ namespace: 'opentrons',
+ metadata: {
+ tags: [],
+ displayName:
+ 'Opentrons 24 Tube Rack with Eppendorf 1.5 mL Safe-Lock Snapcap',
+ displayVolumeUnits: 'mL',
+ displayCategory: 'tubeRack',
+ },
+ dimensions: { xDimension: 127.75, yDimension: 85.5, zDimension: 79.85 },
+ parameters: {
+ format: 'irregular',
+ isTiprack: false,
+ isMagneticModuleCompatible: false,
+ loadName: 'opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap',
+ },
+ wells: {
+ D1: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 18.21,
+ y: 17.59,
+ z: 42.05,
+ },
+ C1: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 18.21,
+ y: 36.87,
+ z: 42.05,
+ },
+ B1: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 18.21,
+ y: 56.15,
+ z: 42.05,
+ },
+ A1: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 18.21,
+ y: 75.43,
+ z: 42.05,
+ },
+ D2: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 38.1,
+ y: 17.59,
+ z: 42.05,
+ },
+ C2: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 38.1,
+ y: 36.87,
+ z: 42.05,
+ },
+ B2: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 38.1,
+ y: 56.15,
+ z: 42.05,
+ },
+ A2: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 38.1,
+ y: 75.43,
+ z: 42.05,
+ },
+ D3: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 57.99,
+ y: 17.59,
+ z: 42.05,
+ },
+ C3: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 57.99,
+ y: 36.87,
+ z: 42.05,
+ },
+ B3: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 57.99,
+ y: 56.15,
+ z: 42.05,
+ },
+ A3: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 57.99,
+ y: 75.43,
+ z: 42.05,
+ },
+ D4: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 77.88,
+ y: 17.59,
+ z: 42.05,
+ },
+ C4: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 77.88,
+ y: 36.87,
+ z: 42.05,
+ },
+ B4: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 77.88,
+ y: 56.15,
+ z: 42.05,
+ },
+ A4: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 77.88,
+ y: 75.43,
+ z: 42.05,
+ },
+ D5: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 97.77,
+ y: 17.59,
+ z: 42.05,
+ },
+ C5: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 97.77,
+ y: 36.87,
+ z: 42.05,
+ },
+ B5: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 97.77,
+ y: 56.15,
+ z: 42.05,
+ },
+ A5: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 97.77,
+ y: 75.43,
+ z: 42.05,
+ },
+ D6: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 117.66,
+ y: 17.59,
+ z: 42.05,
+ },
+ C6: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 117.66,
+ y: 36.87,
+ z: 42.05,
+ },
+ B6: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 117.66,
+ y: 56.15,
+ z: 42.05,
+ },
+ A6: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 117.66,
+ y: 75.43,
+ z: 42.05,
+ },
+ },
+ brand: {
+ brand: 'Opentrons',
+ brandId: [],
+ links: [
+ 'https://shop.opentrons.com/collections/opentrons-tips/products/tube-rack-set-1',
+ ],
+ },
+ groups: [
+ {
+ wells: [
+ 'A1',
+ 'B1',
+ 'C1',
+ 'D1',
+ 'A2',
+ 'B2',
+ 'C2',
+ 'D2',
+ 'A3',
+ 'B3',
+ 'C3',
+ 'D3',
+ 'A4',
+ 'B4',
+ 'C4',
+ 'D4',
+ 'A5',
+ 'B5',
+ 'C5',
+ 'D5',
+ 'A6',
+ 'B6',
+ 'C6',
+ 'D6',
+ ],
+ metadata: {
+ displayName: 'Eppendorf 24x1.5 mL Safelock Snapcap',
+ displayCategory: 'tubeRack',
+ wellBottomShape: 'v',
+ },
+ brand: {
+ brand: 'Eppendorf',
+ brandId: [
+ '022363204',
+ '022363212',
+ '022363221',
+ '022363247',
+ '022363263',
+ '022363280',
+ '022363280',
+ '022363301',
+ '022363328',
+ ],
+ links: [
+ 'https://online-shop.eppendorf.us/US-en/Laboratory-Consumables-44512/Tubes-44515/Eppendorf-Safe-Lock-Tubes-PF-8863.html',
+ ],
+ },
+ },
+ ],
+ cornerOffsetFromSlot: { x: 0, y: 0, z: 0 },
+ },
+ },
+ '7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1': {
+ id:
+ '7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1',
+ labwareDefURI: 'opentrons/axygen_1_reservoir_90ml/1',
+ def: {
+ ordering: [['A1']],
+ brand: {
+ brand: 'Axygen',
+ brandId: ['RES-SW1-LP'],
+ links: [
+ 'https://ecatalog.corning.com/life-sciences/b2c/US/en/Genomics-%26-Molecular-Biology/Automation-Consumables/Automation-Reservoirs/Axygen%C2%AE-Reagent-Reservoirs/p/RES-SW1-LP?clear=true',
+ ],
+ },
+ metadata: {
+ displayName: 'Axygen 1 Well Reservoir 90 mL',
+ displayCategory: 'reservoir',
+ displayVolumeUnits: 'mL',
+ tags: [],
+ },
+ dimensions: {
+ xDimension: 127.76,
+ yDimension: 85.47,
+ zDimension: 19.05,
+ },
+ wells: {
+ A1: {
+ depth: 12.42,
+ shape: 'rectangular',
+ xDimension: 106.76,
+ yDimension: 70.52,
+ totalLiquidVolume: 90000,
+ x: 63.88,
+ y: 42.735,
+ z: 6.63,
+ },
+ },
+ groups: [{ wells: ['A1'], metadata: { wellBottomShape: 'flat' } }],
+ parameters: {
+ format: 'trough',
+ isTiprack: false,
+ isMagneticModuleCompatible: false,
+ loadName: 'axygen_1_reservoir_90ml',
+ quirks: ['centerMultichannelOnWells', 'touchTipDisabled'],
+ },
+ namespace: 'opentrons',
+ version: 1,
+ schemaVersion: 2,
+ cornerOffsetFromSlot: { x: 0, y: 0, z: 0 },
+ },
+ },
+ },
+ moduleEntities: {},
+ pipetteEntities: {
+ 'b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex': {
+ name: 'p1000_single_flex',
+ id: 'b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex',
+ tiprackDefURI: ['opentrons/opentrons_flex_96_tiprack_200ul/1'],
+ tiprackLabwareDef: [
+ {
+ 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: 'Opentrons Flex 96 Tip Rack 200 µL',
+ displayCategory: 'tipRack',
+ displayVolumeUnits: 'µL',
+ tags: [],
+ },
+ dimensions: { xDimension: 127.75, yDimension: 85.75, zDimension: 99 },
+ gripForce: 16,
+ gripHeightFromLabwareBottom: 23.9,
+ wells: {
+ A1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ },
+ groups: [
+ {
+ metadata: {},
+ 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: [],
+ isTiprack: true,
+ tipLength: 58.35,
+ tipOverlap: 10.5,
+ isMagneticModuleCompatible: false,
+ loadName: 'opentrons_flex_96_tiprack_200ul',
+ },
+ namespace: 'opentrons',
+ version: 1,
+ schemaVersion: 2,
+ cornerOffsetFromSlot: { x: 0, y: 0, z: 0 },
+ stackingOffsetWithLabware: {
+ opentrons_flex_96_tiprack_adapter: { x: 0, y: 0, z: 121 },
+ },
+ },
+ ],
+ spec: {
+ $otSharedSchema: '#/pipette/schemas/2/pipetteGeometrySchema.json',
+ displayName: 'Flex 1-Channel 1000 μL',
+ model: 'p1000',
+ displayCategory: 'FLEX',
+ validNozzleMaps: { maps: { SingleA1: ['A1'] } },
+ pickUpTipConfigurations: {
+ pressFit: {
+ presses: 1,
+ increment: 0,
+ configurationsByNozzleMap: {
+ SingleA1: {
+ default: {
+ speed: 10,
+ distance: 13,
+ current: 0.2,
+ tipOverlaps: {
+ v0: {
+ default: 10.5,
+ 'opentrons/opentrons_flex_96_tiprack_1000ul/1': 10.5,
+ 'opentrons/opentrons_flex_96_tiprack_200ul/1': 10.5,
+ 'opentrons/opentrons_flex_96_tiprack_50ul/1': 10.5,
+ 'opentrons/opentrons_flex_96_filtertiprack_1000ul/1': 10.5,
+ 'opentrons/opentrons_flex_96_filtertiprack_200ul/1': 10.5,
+ 'opentrons/opentrons_flex_96_filtertiprack_50ul/1': 10.5,
+ },
+ v1: {
+ default: 10.5,
+ 'opentrons/opentrons_flex_96_tiprack_1000ul/1': 9.65,
+ 'opentrons/opentrons_flex_96_tiprack_200ul/1': 9.76,
+ 'opentrons/opentrons_flex_96_tiprack_50ul/1': 10.09,
+ 'opentrons/opentrons_flex_96_filtertiprack_1000ul/1': 9.65,
+ 'opentrons/opentrons_flex_96_filtertiprack_200ul/1': 9.76,
+ 'opentrons/opentrons_flex_96_filtertiprack_50ul/1': 10.09,
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ dropTipConfigurations: { plungerEject: { current: 1, speed: 15 } },
+ plungerMotorConfigurations: { idle: 0.3, run: 1 },
+ plungerPositionsConfigurations: {
+ default: { top: 0, bottom: 71.5, blowout: 76.5, drop: 90.5 },
+ },
+ availableSensors: {
+ sensors: ['pressure', 'capacitive', 'environment'],
+ pressure: { count: 1 },
+ capacitive: { count: 1 },
+ environment: { count: 1 },
+ },
+ partialTipConfigurations: {
+ partialTipSupported: false,
+ availableConfigurations: null,
+ },
+ backCompatNames: [],
+ channels: 1,
+ shaftDiameter: 4.5,
+ shaftULperMM: 15.904,
+ backlashDistance: 0.1,
+ quirks: [],
+ plungerHomingConfigurations: { current: 1, speed: 30 },
+ pathTo3D:
+ 'pipette/definitions/2/geometry/single_channel/p1000/placeholder.gltf',
+ nozzleOffset: [-8, -22, -259.15],
+ pipetteBoundingBoxOffsets: {
+ backLeftCorner: [-8, -22, -259.15],
+ frontRightCorner: [-8, -22, -259.15],
+ },
+ orderedRows: [{ key: 'A', orderedNozzles: ['A1'] }],
+ orderedColumns: [{ key: '1', orderedNozzles: ['A1'] }],
+ nozzleMap: { A1: [-8, -22, -259.15] },
+ lldSettings: {
+ t50: { minHeight: 1, minVolume: 0 },
+ t200: { minHeight: 1, minVolume: 0 },
+ t1000: { minHeight: 1.5, minVolume: 0 },
+ },
+ liquids: {
+ default: {
+ $otSharedSchema:
+ '#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json',
+ supportedTips: {
+ t50: {
+ uiMaxFlowRate: 785.2,
+ defaultAspirateFlowRate: {
+ default: 478,
+ valuesByApiLevel: { '2.14': 478 },
+ },
+ defaultDispenseFlowRate: {
+ default: 478,
+ valuesByApiLevel: { '2.14': 478 },
+ },
+ defaultBlowOutFlowRate: {
+ default: 478,
+ valuesByApiLevel: { '2.14': 478 },
+ },
+ defaultFlowAcceleration: 24000,
+ defaultTipLength: 57.9,
+ defaultReturnTipHeight: 0.71,
+ aspirate: {
+ default: {
+ '1': [
+ [0.7033, 4.9393, 0.669],
+ [1.0911, 4.233, 1.1657],
+ [1.7256, 2.8983, 2.6221],
+ [2.1344, 1.9062, 4.334],
+ [2.57, 1.3331, 5.5573],
+ [2.9178, 0.2816, 8.2595],
+ [3.0222, -3.2737, 18.6333],
+ [3.2233, 0.8766, 6.09],
+ [3.5033, 1.324, 4.648],
+ [4.4567, 1.7683, 3.0913],
+ [5.3878, 0.8747, 7.0738],
+ [6.1956, 0.3393, 9.9586],
+ [8.7911, 0.2504, 10.5095],
+ [10.5322, 0.1577, 11.3246],
+ [13.8389, 0.1047, 11.8827],
+ [23.01, 0.0579, 12.5301],
+ [29.4811, 0.0285, 13.2057],
+ [48.0456, 0.0147, 13.612],
+ [54.06, 0.0016, 14.2446],
+ ],
+ },
+ },
+ dispense: {
+ default: {
+ '1': [
+ [0.7033, 4.9393, 0.669],
+ [1.0911, 4.233, 1.1657],
+ [1.7256, 2.8983, 2.6221],
+ [2.1344, 1.9062, 4.334],
+ [2.57, 1.3331, 5.5573],
+ [2.9178, 0.2816, 8.2595],
+ [3.0222, -3.2737, 18.6333],
+ [3.2233, 0.8766, 6.09],
+ [3.5033, 1.324, 4.648],
+ [4.4567, 1.7683, 3.0913],
+ [5.3878, 0.8747, 7.0738],
+ [6.1956, 0.3393, 9.9586],
+ [8.7911, 0.2504, 10.5095],
+ [10.5322, 0.1577, 11.3246],
+ [13.8389, 0.1047, 11.8827],
+ [23.01, 0.0579, 12.5301],
+ [29.4811, 0.0285, 13.2057],
+ [48.0456, 0.0147, 13.612],
+ [54.06, 0.0016, 14.2446],
+ ],
+ },
+ },
+ defaultPushOutVolume: 7,
+ },
+ t200: {
+ uiMaxFlowRate: 802.5,
+ defaultAspirateFlowRate: {
+ default: 716,
+ valuesByApiLevel: { '2.14': 716 },
+ },
+ defaultDispenseFlowRate: {
+ default: 716,
+ valuesByApiLevel: { '2.14': 716 },
+ },
+ defaultBlowOutFlowRate: {
+ default: 716,
+ valuesByApiLevel: { '2.14': 716 },
+ },
+ defaultFlowAcceleration: 24000,
+ defaultTipLength: 58.35,
+ defaultReturnTipHeight: 0.71,
+ aspirate: {
+ default: {
+ '1': [
+ [1.5742, 3.2596, 1.8233],
+ [2.5158, 2.2718, 3.3782],
+ [4.47, 1.1953, 6.0865],
+ [5.4908, 0.5062, 9.1669],
+ [6.6658, 0.3243, 10.1658],
+ [9.6683, 0.2016, 10.9838],
+ [11.6442, 0.1543, 11.4405],
+ [19.8692, 0.0794, 12.3132],
+ [33.4958, 0.0375, 13.1444],
+ [51.9508, 0.0191, 13.7624],
+ [92.6067, 0.0074, 14.3699],
+ [152.3575, 0.0029, 14.7822],
+ [179.5925, 0.0013, 15.027],
+ [211.5867, 0.0009, 15.1088],
+ ],
+ },
+ },
+ dispense: {
+ default: {
+ '1': [
+ [1.5742, 3.2596, 1.8233],
+ [2.5158, 2.2718, 3.3782],
+ [4.47, 1.1953, 6.0865],
+ [5.4908, 0.5062, 9.1669],
+ [6.6658, 0.3243, 10.1658],
+ [9.6683, 0.2016, 10.9838],
+ [11.6442, 0.1543, 11.4405],
+ [19.8692, 0.0794, 12.3132],
+ [33.4958, 0.0375, 13.1444],
+ [51.9508, 0.0191, 13.7624],
+ [92.6067, 0.0074, 14.3699],
+ [152.3575, 0.0029, 14.7822],
+ [179.5925, 0.0013, 15.027],
+ [211.5867, 0.0009, 15.1088],
+ ],
+ },
+ },
+ defaultPushOutVolume: 5,
+ },
+ t1000: {
+ uiMaxFlowRate: 727.3,
+ defaultAspirateFlowRate: {
+ default: 716,
+ valuesByApiLevel: { '2.14': 716 },
+ },
+ defaultDispenseFlowRate: {
+ default: 716,
+ valuesByApiLevel: { '2.14': 716 },
+ },
+ defaultBlowOutFlowRate: {
+ default: 716,
+ valuesByApiLevel: { '2.14': 716 },
+ },
+ defaultFlowAcceleration: 24000,
+ defaultTipLength: 95.6,
+ defaultReturnTipHeight: 0.82,
+ aspirate: {
+ default: {
+ '1': [
+ [2.33, 2.388148, 3.699878],
+ [2.75, -1.230691, 12.131772],
+ [4.82, 0.868196, 6.359833],
+ [9.77, 0.322207, 8.991498],
+ [12.08, 0.156051, 10.614846],
+ [15.08, 0.147745, 10.715186],
+ [51.21, 0.03759, 12.376313],
+ [92.59, 0.010829, 13.746781],
+ [112.39, 0.005015, 14.285091],
+ [243.33, 0.00274, 14.540746],
+ [356.08, 0.000877, 14.994001],
+ [430.6, 0.000594, 15.094722],
+ [628.32, 0.000279, 15.230539],
+ [1000.28, 0.000106, 15.339007],
+ [1105.26, 0.000122, 15.323864],
+ ],
+ },
+ },
+ dispense: {
+ default: {
+ '1': [
+ [2.33, 2.388148, 3.699878],
+ [2.75, -1.230691, 12.131772],
+ [4.82, 0.868196, 6.359833],
+ [9.77, 0.322207, 8.991498],
+ [12.08, 0.156051, 10.614846],
+ [15.08, 0.147745, 10.715186],
+ [51.21, 0.03759, 12.376313],
+ [92.59, 0.010829, 13.746781],
+ [112.39, 0.005015, 14.285091],
+ [243.33, 0.00274, 14.540746],
+ [356.08, 0.000877, 14.994001],
+ [430.6, 0.000594, 15.094722],
+ [628.32, 0.000279, 15.230539],
+ [1000.28, 0.000106, 15.339007],
+ [1105.26, 0.000122, 15.323864],
+ ],
+ },
+ },
+ defaultPushOutVolume: 20,
+ },
+ },
+ maxVolume: 1000,
+ minVolume: 5,
+ defaultTipracks: [
+ 'opentrons/opentrons_flex_96_tiprack_1000ul/1',
+ 'opentrons/opentrons_flex_96_tiprack_200ul/1',
+ 'opentrons/opentrons_flex_96_tiprack_50ul/1',
+ 'opentrons/opentrons_flex_96_filtertiprack_1000ul/1',
+ 'opentrons/opentrons_flex_96_filtertiprack_200ul/1',
+ 'opentrons/opentrons_flex_96_filtertiprack_50ul/1',
+ ],
+ },
+ },
+ },
+ },
+ },
+ additionalEquipmentEntities: {
+ '4ed9e4f7-36ec-44e7-9366-87cd11c687ca_trashBin': {
+ name: 'trashBin',
+ id: '4ed9e4f7-36ec-44e7-9366-87cd11c687ca_trashBin',
+ location: 'cutoutA3',
+ },
+ },
+ config: { OT_PD_DISABLE_MODULE_RESTRICTIONS: false },
+}
+
+export const multiAspirateRobotState = {
+ labware: {
+ '5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1': {
+ slot: 'B2',
+ },
+ '5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1': {
+ slot: 'C2',
+ },
+ '7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1': {
+ slot: 'D2',
+ },
+ },
+ modules: {},
+ pipettes: {
+ 'b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex': {
+ mount: 'right',
+ },
+ },
+ liquidState: {
+ pipettes: {
+ 'b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex': { '0': {} },
+ },
+ labware: {
+ '5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1': {
+ 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: {},
+ },
+ '5b7d64da-5c1e-49ad-87a5-3875884446ab_opentrons/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1': {
+ D1: {},
+ C1: {},
+ B1: {},
+ A1: {},
+ D2: {},
+ C2: {},
+ B2: {},
+ A2: {},
+ D3: {},
+ C3: {},
+ B3: {},
+ A3: {},
+ D4: {},
+ C4: {},
+ B4: {},
+ A4: {},
+ D5: {},
+ C5: {},
+ B5: {},
+ A5: {},
+ D6: {},
+ C6: {},
+ B6: {},
+ A6: {},
+ },
+ '7be3d44e-aa9b-4767-88ed-b88531ba4493_opentrons/axygen_1_reservoir_90ml/1': {
+ A1: {},
+ },
+ },
+ additionalEquipment: {
+ '4ed9e4f7-36ec-44e7-9366-87cd11c687ca_trashBin': {},
+ },
+ },
+ tipState: {
+ pipettes: {
+ 'b0bd09fa-8fea-4506-b438-0f7553dd67ae_p1000_single_flex': false,
+ },
+ tipracks: {
+ '5d2608f9-ebcb-42f2-807f-ad53b81150b0_opentrons/opentrons_flex_96_tiprack_200ul/1': {
+ A1: true,
+ B1: true,
+ C1: true,
+ D1: true,
+ E1: true,
+ F1: true,
+ G1: true,
+ H1: true,
+ A2: true,
+ B2: true,
+ C2: true,
+ D2: true,
+ E2: true,
+ F2: true,
+ G2: true,
+ H2: true,
+ A3: true,
+ B3: true,
+ C3: true,
+ D3: true,
+ E3: true,
+ F3: true,
+ G3: true,
+ H3: true,
+ A4: true,
+ B4: true,
+ C4: true,
+ D4: true,
+ E4: true,
+ F4: true,
+ G4: true,
+ H4: true,
+ A5: true,
+ B5: true,
+ C5: true,
+ D5: true,
+ E5: true,
+ F5: true,
+ G5: true,
+ H5: true,
+ A6: true,
+ B6: true,
+ C6: true,
+ D6: true,
+ E6: true,
+ F6: true,
+ G6: true,
+ H6: true,
+ A7: true,
+ B7: true,
+ C7: true,
+ D7: true,
+ E7: true,
+ F7: true,
+ G7: true,
+ H7: true,
+ A8: true,
+ B8: true,
+ C8: true,
+ D8: true,
+ E8: true,
+ F8: true,
+ G8: true,
+ H8: true,
+ A9: true,
+ B9: true,
+ C9: true,
+ D9: true,
+ E9: true,
+ F9: true,
+ G9: true,
+ H9: true,
+ A10: true,
+ B10: true,
+ C10: true,
+ D10: true,
+ E10: true,
+ F10: true,
+ G10: true,
+ H10: true,
+ A11: true,
+ B11: true,
+ C11: true,
+ D11: true,
+ E11: true,
+ F11: true,
+ G11: true,
+ H11: true,
+ A12: true,
+ B12: true,
+ C12: true,
+ D12: true,
+ E12: true,
+ F12: true,
+ G12: true,
+ H12: true,
+ },
+ },
+ },
+}
diff --git a/app/src/organisms/QuickTransferFlow/__fixtures__/quickTransferSummaryStateFixtures.ts b/app/src/organisms/QuickTransferFlow/__fixtures__/quickTransferSummaryStateFixtures.ts
new file mode 100644
index 00000000000..c22898b3cd2
--- /dev/null
+++ b/app/src/organisms/QuickTransferFlow/__fixtures__/quickTransferSummaryStateFixtures.ts
@@ -0,0 +1,1713 @@
+import type { QuickTransferSummaryState } from '../types'
+
+// // a 1:1 transfer with a 96 channel
+// export const singleTransferSummaryState: QuickTransferSummaryState = {}
+
+// // a 1:many transfer with an 8 channel
+// export const multiDispenseSummaryState: QuickTransferSummaryState = {}
+
+// a many:1 transfer with a single channel
+export const multiAspirateSummaryState: QuickTransferSummaryState = {
+ pipette: {
+ $otSharedSchema: '#/pipette/schemas/2/pipetteGeometrySchema.json',
+ displayName: 'Flex 1-Channel 1000 μL',
+ model: 'p1000',
+ displayCategory: 'FLEX',
+ validNozzleMaps: { maps: { SingleA1: ['A1'] } },
+ pickUpTipConfigurations: {
+ pressFit: {
+ presses: 1,
+ increment: 0,
+ configurationsByNozzleMap: {
+ SingleA1: {
+ default: {
+ speed: 10,
+ distance: 13,
+ current: 0.2,
+ tipOverlaps: {
+ v0: {
+ default: 10.5,
+ 'opentrons/opentrons_flex_96_tiprack_1000ul/1': 10.5,
+ 'opentrons/opentrons_flex_96_tiprack_200ul/1': 10.5,
+ 'opentrons/opentrons_flex_96_tiprack_50ul/1': 10.5,
+ 'opentrons/opentrons_flex_96_filtertiprack_1000ul/1': 10.5,
+ 'opentrons/opentrons_flex_96_filtertiprack_200ul/1': 10.5,
+ 'opentrons/opentrons_flex_96_filtertiprack_50ul/1': 10.5,
+ },
+ v1: {
+ default: 10.5,
+ 'opentrons/opentrons_flex_96_tiprack_1000ul/1': 9.65,
+ 'opentrons/opentrons_flex_96_tiprack_200ul/1': 9.76,
+ 'opentrons/opentrons_flex_96_tiprack_50ul/1': 10.09,
+ 'opentrons/opentrons_flex_96_filtertiprack_1000ul/1': 9.65,
+ 'opentrons/opentrons_flex_96_filtertiprack_200ul/1': 9.76,
+ 'opentrons/opentrons_flex_96_filtertiprack_50ul/1': 10.09,
+ },
+ },
+ },
+ },
+ },
+ },
+ },
+ dropTipConfigurations: { plungerEject: { current: 1, speed: 15 } },
+ plungerMotorConfigurations: { idle: 0.3, run: 1 },
+ plungerPositionsConfigurations: {
+ default: { top: 0, bottom: 71.5, blowout: 76.5, drop: 90.5 },
+ },
+ availableSensors: {
+ sensors: ['pressure', 'capacitive', 'environment'],
+ pressure: { count: 1 },
+ capacitive: { count: 1 },
+ environment: { count: 1 },
+ },
+ partialTipConfigurations: {
+ partialTipSupported: false,
+ availableConfigurations: null,
+ },
+ backCompatNames: [],
+ channels: 1,
+ shaftDiameter: 4.5,
+ shaftULperMM: 15.904,
+ backlashDistance: 0.1,
+ quirks: [],
+ plungerHomingConfigurations: { current: 1, speed: 30 },
+ pathTo3D:
+ 'pipette/definitions/2/geometry/single_channel/p1000/placeholder.gltf',
+ nozzleOffset: [-8, -22, -259.15],
+ pipetteBoundingBoxOffsets: {
+ backLeftCorner: [-8, -22, -259.15],
+ frontRightCorner: [-8, -22, -259.15],
+ },
+ orderedRows: [{ key: 'A', orderedNozzles: ['A1'] }],
+ orderedColumns: [{ key: '1', orderedNozzles: ['A1'] }],
+ nozzleMap: { A1: [-8, -22, -259.15] },
+ lldSettings: {
+ t50: { minHeight: 1, minVolume: 0 },
+ t200: { minHeight: 1, minVolume: 0 },
+ t1000: { minHeight: 1.5, minVolume: 0 },
+ },
+ liquids: {
+ default: {
+ $otSharedSchema:
+ '#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json',
+ supportedTips: {
+ t50: {
+ uiMaxFlowRate: 785.2,
+ defaultAspirateFlowRate: {
+ default: 478,
+ valuesByApiLevel: { '2.14': 478 },
+ },
+ defaultDispenseFlowRate: {
+ default: 478,
+ valuesByApiLevel: { '2.14': 478 },
+ },
+ defaultBlowOutFlowRate: {
+ default: 478,
+ valuesByApiLevel: { '2.14': 478 },
+ },
+ defaultFlowAcceleration: 24000,
+ defaultTipLength: 57.9,
+ defaultReturnTipHeight: 0.71,
+ aspirate: {
+ default: {
+ '1': [
+ [0.7033, 4.9393, 0.669],
+ [1.0911, 4.233, 1.1657],
+ [1.7256, 2.8983, 2.6221],
+ [2.1344, 1.9062, 4.334],
+ [2.57, 1.3331, 5.5573],
+ [2.9178, 0.2816, 8.2595],
+ [3.0222, -3.2737, 18.6333],
+ [3.2233, 0.8766, 6.09],
+ [3.5033, 1.324, 4.648],
+ [4.4567, 1.7683, 3.0913],
+ [5.3878, 0.8747, 7.0738],
+ [6.1956, 0.3393, 9.9586],
+ [8.7911, 0.2504, 10.5095],
+ [10.5322, 0.1577, 11.3246],
+ [13.8389, 0.1047, 11.8827],
+ [23.01, 0.0579, 12.5301],
+ [29.4811, 0.0285, 13.2057],
+ [48.0456, 0.0147, 13.612],
+ [54.06, 0.0016, 14.2446],
+ ],
+ },
+ },
+ dispense: {
+ default: {
+ '1': [
+ [0.7033, 4.9393, 0.669],
+ [1.0911, 4.233, 1.1657],
+ [1.7256, 2.8983, 2.6221],
+ [2.1344, 1.9062, 4.334],
+ [2.57, 1.3331, 5.5573],
+ [2.9178, 0.2816, 8.2595],
+ [3.0222, -3.2737, 18.6333],
+ [3.2233, 0.8766, 6.09],
+ [3.5033, 1.324, 4.648],
+ [4.4567, 1.7683, 3.0913],
+ [5.3878, 0.8747, 7.0738],
+ [6.1956, 0.3393, 9.9586],
+ [8.7911, 0.2504, 10.5095],
+ [10.5322, 0.1577, 11.3246],
+ [13.8389, 0.1047, 11.8827],
+ [23.01, 0.0579, 12.5301],
+ [29.4811, 0.0285, 13.2057],
+ [48.0456, 0.0147, 13.612],
+ [54.06, 0.0016, 14.2446],
+ ],
+ },
+ },
+ defaultPushOutVolume: 7,
+ },
+ t200: {
+ uiMaxFlowRate: 802.5,
+ defaultAspirateFlowRate: {
+ default: 716,
+ valuesByApiLevel: { '2.14': 716 },
+ },
+ defaultDispenseFlowRate: {
+ default: 716,
+ valuesByApiLevel: { '2.14': 716 },
+ },
+ defaultBlowOutFlowRate: {
+ default: 716,
+ valuesByApiLevel: { '2.14': 716 },
+ },
+ defaultFlowAcceleration: 24000,
+ defaultTipLength: 58.35,
+ defaultReturnTipHeight: 0.71,
+ aspirate: {
+ default: {
+ '1': [
+ [1.5742, 3.2596, 1.8233],
+ [2.5158, 2.2718, 3.3782],
+ [4.47, 1.1953, 6.0865],
+ [5.4908, 0.5062, 9.1669],
+ [6.6658, 0.3243, 10.1658],
+ [9.6683, 0.2016, 10.9838],
+ [11.6442, 0.1543, 11.4405],
+ [19.8692, 0.0794, 12.3132],
+ [33.4958, 0.0375, 13.1444],
+ [51.9508, 0.0191, 13.7624],
+ [92.6067, 0.0074, 14.3699],
+ [152.3575, 0.0029, 14.7822],
+ [179.5925, 0.0013, 15.027],
+ [211.5867, 0.0009, 15.1088],
+ ],
+ },
+ },
+ dispense: {
+ default: {
+ '1': [
+ [1.5742, 3.2596, 1.8233],
+ [2.5158, 2.2718, 3.3782],
+ [4.47, 1.1953, 6.0865],
+ [5.4908, 0.5062, 9.1669],
+ [6.6658, 0.3243, 10.1658],
+ [9.6683, 0.2016, 10.9838],
+ [11.6442, 0.1543, 11.4405],
+ [19.8692, 0.0794, 12.3132],
+ [33.4958, 0.0375, 13.1444],
+ [51.9508, 0.0191, 13.7624],
+ [92.6067, 0.0074, 14.3699],
+ [152.3575, 0.0029, 14.7822],
+ [179.5925, 0.0013, 15.027],
+ [211.5867, 0.0009, 15.1088],
+ ],
+ },
+ },
+ defaultPushOutVolume: 5,
+ },
+ t1000: {
+ uiMaxFlowRate: 727.3,
+ defaultAspirateFlowRate: {
+ default: 716,
+ valuesByApiLevel: { '2.14': 716 },
+ },
+ defaultDispenseFlowRate: {
+ default: 716,
+ valuesByApiLevel: { '2.14': 716 },
+ },
+ defaultBlowOutFlowRate: {
+ default: 716,
+ valuesByApiLevel: { '2.14': 716 },
+ },
+ defaultFlowAcceleration: 24000,
+ defaultTipLength: 95.6,
+ defaultReturnTipHeight: 0.82,
+ aspirate: {
+ default: {
+ '1': [
+ [2.33, 2.388148, 3.699878],
+ [2.75, -1.230691, 12.131772],
+ [4.82, 0.868196, 6.359833],
+ [9.77, 0.322207, 8.991498],
+ [12.08, 0.156051, 10.614846],
+ [15.08, 0.147745, 10.715186],
+ [51.21, 0.03759, 12.376313],
+ [92.59, 0.010829, 13.746781],
+ [112.39, 0.005015, 14.285091],
+ [243.33, 0.00274, 14.540746],
+ [356.08, 0.000877, 14.994001],
+ [430.6, 0.000594, 15.094722],
+ [628.32, 0.000279, 15.230539],
+ [1000.28, 0.000106, 15.339007],
+ [1105.26, 0.000122, 15.323864],
+ ],
+ },
+ },
+ dispense: {
+ default: {
+ '1': [
+ [2.33, 2.388148, 3.699878],
+ [2.75, -1.230691, 12.131772],
+ [4.82, 0.868196, 6.359833],
+ [9.77, 0.322207, 8.991498],
+ [12.08, 0.156051, 10.614846],
+ [15.08, 0.147745, 10.715186],
+ [51.21, 0.03759, 12.376313],
+ [92.59, 0.010829, 13.746781],
+ [112.39, 0.005015, 14.285091],
+ [243.33, 0.00274, 14.540746],
+ [356.08, 0.000877, 14.994001],
+ [430.6, 0.000594, 15.094722],
+ [628.32, 0.000279, 15.230539],
+ [1000.28, 0.000106, 15.339007],
+ [1105.26, 0.000122, 15.323864],
+ ],
+ },
+ },
+ defaultPushOutVolume: 20,
+ },
+ },
+ maxVolume: 1000,
+ minVolume: 5,
+ defaultTipracks: [
+ 'opentrons/opentrons_flex_96_tiprack_1000ul/1',
+ 'opentrons/opentrons_flex_96_tiprack_200ul/1',
+ 'opentrons/opentrons_flex_96_tiprack_50ul/1',
+ 'opentrons/opentrons_flex_96_filtertiprack_1000ul/1',
+ 'opentrons/opentrons_flex_96_filtertiprack_200ul/1',
+ 'opentrons/opentrons_flex_96_filtertiprack_50ul/1',
+ ],
+ },
+ },
+ },
+ mount: 'right',
+ tipRack: {
+ 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: 'Opentrons Flex 96 Tip Rack 200 µL',
+ displayCategory: 'tipRack',
+ displayVolumeUnits: 'µL',
+ tags: [],
+ },
+ dimensions: {
+ xDimension: 127.75,
+ yDimension: 85.75,
+ zDimension: 99,
+ },
+ gripForce: 16,
+ gripHeightFromLabwareBottom: 23.9,
+ wells: {
+ A1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H1: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 14.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H2: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 23.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H3: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 32.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H4: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 41.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H5: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 50.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H6: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 59.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H7: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 68.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H8: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 77.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H9: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 86.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H10: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 95.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H11: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 104.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ A12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 74.38,
+ z: 1.5,
+ },
+ B12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 65.38,
+ z: 1.5,
+ },
+ C12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 56.38,
+ z: 1.5,
+ },
+ D12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 47.38,
+ z: 1.5,
+ },
+ E12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 38.38,
+ z: 1.5,
+ },
+ F12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 29.38,
+ z: 1.5,
+ },
+ G12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 20.38,
+ z: 1.5,
+ },
+ H12: {
+ depth: 97.5,
+ shape: 'circular',
+ diameter: 5.59,
+ totalLiquidVolume: 200,
+ x: 113.38,
+ y: 11.38,
+ z: 1.5,
+ },
+ },
+ groups: [
+ {
+ metadata: {},
+ 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: [],
+ isTiprack: true,
+ tipLength: 58.35,
+ tipOverlap: 10.5,
+ isMagneticModuleCompatible: false,
+ loadName: 'opentrons_flex_96_tiprack_200ul',
+ },
+ namespace: 'opentrons',
+ version: 1,
+ schemaVersion: 2,
+ cornerOffsetFromSlot: { x: 0, y: 0, z: 0 },
+ stackingOffsetWithLabware: {
+ opentrons_flex_96_tiprack_adapter: { x: 0, y: 0, z: 121 },
+ },
+ },
+ source: {
+ ordering: [
+ ['A1', 'B1', 'C1', 'D1'],
+ ['A2', 'B2', 'C2', 'D2'],
+ ['A3', 'B3', 'C3', 'D3'],
+ ['A4', 'B4', 'C4', 'D4'],
+ ['A5', 'B5', 'C5', 'D5'],
+ ['A6', 'B6', 'C6', 'D6'],
+ ],
+ schemaVersion: 2,
+ version: 1,
+ namespace: 'opentrons',
+ metadata: {
+ tags: [],
+ displayName:
+ 'Opentrons 24 Tube Rack with Eppendorf 1.5 mL Safe-Lock Snapcap',
+ displayVolumeUnits: 'mL',
+ displayCategory: 'tubeRack',
+ },
+ dimensions: {
+ xDimension: 127.75,
+ yDimension: 85.5,
+ zDimension: 79.85,
+ },
+ parameters: {
+ format: 'irregular',
+ isTiprack: false,
+ isMagneticModuleCompatible: false,
+ loadName: 'opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap',
+ },
+ wells: {
+ D1: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 18.21,
+ y: 17.59,
+ z: 42.05,
+ },
+ C1: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 18.21,
+ y: 36.87,
+ z: 42.05,
+ },
+ B1: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 18.21,
+ y: 56.15,
+ z: 42.05,
+ },
+ A1: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 18.21,
+ y: 75.43,
+ z: 42.05,
+ },
+ D2: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 38.1,
+ y: 17.59,
+ z: 42.05,
+ },
+ C2: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 38.1,
+ y: 36.87,
+ z: 42.05,
+ },
+ B2: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 38.1,
+ y: 56.15,
+ z: 42.05,
+ },
+ A2: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 38.1,
+ y: 75.43,
+ z: 42.05,
+ },
+ D3: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 57.99,
+ y: 17.59,
+ z: 42.05,
+ },
+ C3: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 57.99,
+ y: 36.87,
+ z: 42.05,
+ },
+ B3: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 57.99,
+ y: 56.15,
+ z: 42.05,
+ },
+ A3: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 57.99,
+ y: 75.43,
+ z: 42.05,
+ },
+ D4: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 77.88,
+ y: 17.59,
+ z: 42.05,
+ },
+ C4: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 77.88,
+ y: 36.87,
+ z: 42.05,
+ },
+ B4: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 77.88,
+ y: 56.15,
+ z: 42.05,
+ },
+ A4: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 77.88,
+ y: 75.43,
+ z: 42.05,
+ },
+ D5: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 97.77,
+ y: 17.59,
+ z: 42.05,
+ },
+ C5: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 97.77,
+ y: 36.87,
+ z: 42.05,
+ },
+ B5: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 97.77,
+ y: 56.15,
+ z: 42.05,
+ },
+ A5: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 97.77,
+ y: 75.43,
+ z: 42.05,
+ },
+ D6: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 117.66,
+ y: 17.59,
+ z: 42.05,
+ },
+ C6: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 117.66,
+ y: 36.87,
+ z: 42.05,
+ },
+ B6: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 117.66,
+ y: 56.15,
+ z: 42.05,
+ },
+ A6: {
+ depth: 37.8,
+ diameter: 8.7,
+ shape: 'circular',
+ totalLiquidVolume: 1500,
+ x: 117.66,
+ y: 75.43,
+ z: 42.05,
+ },
+ },
+ brand: {
+ brand: 'Opentrons',
+ brandId: [],
+ links: [
+ 'https://shop.opentrons.com/collections/opentrons-tips/products/tube-rack-set-1',
+ ],
+ },
+ groups: [
+ {
+ wells: [
+ 'A1',
+ 'B1',
+ 'C1',
+ 'D1',
+ 'A2',
+ 'B2',
+ 'C2',
+ 'D2',
+ 'A3',
+ 'B3',
+ 'C3',
+ 'D3',
+ 'A4',
+ 'B4',
+ 'C4',
+ 'D4',
+ 'A5',
+ 'B5',
+ 'C5',
+ 'D5',
+ 'A6',
+ 'B6',
+ 'C6',
+ 'D6',
+ ],
+ metadata: {
+ displayName: 'Eppendorf 24x1.5 mL Safelock Snapcap',
+ displayCategory: 'tubeRack',
+ wellBottomShape: 'v',
+ },
+ brand: {
+ brand: 'Eppendorf',
+ brandId: [
+ '022363204',
+ '022363212',
+ '022363221',
+ '022363247',
+ '022363263',
+ '022363280',
+ '022363280',
+ '022363301',
+ '022363328',
+ ],
+ links: [
+ 'https://online-shop.eppendorf.us/US-en/Laboratory-Consumables-44512/Tubes-44515/Eppendorf-Safe-Lock-Tubes-PF-8863.html',
+ ],
+ },
+ },
+ ],
+ cornerOffsetFromSlot: { x: 0, y: 0, z: 0 },
+ },
+ sourceWells: [
+ 'D1',
+ 'C1',
+ 'B1',
+ 'A1',
+ 'D2',
+ 'C2',
+ 'B2',
+ 'A2',
+ 'D3',
+ 'C3',
+ 'B3',
+ 'A3',
+ 'D4',
+ 'C4',
+ 'B4',
+ 'A4',
+ 'D5',
+ 'C5',
+ 'B5',
+ 'A5',
+ 'D6',
+ 'C6',
+ 'B6',
+ 'A6',
+ ],
+ destination: {
+ ordering: [['A1']],
+ brand: {
+ brand: 'Axygen',
+ brandId: ['RES-SW1-LP'],
+ links: [
+ 'https://ecatalog.corning.com/life-sciences/b2c/US/en/Genomics-%26-Molecular-Biology/Automation-Consumables/Automation-Reservoirs/Axygen%C2%AE-Reagent-Reservoirs/p/RES-SW1-LP?clear=true',
+ ],
+ },
+ metadata: {
+ displayName: 'Axygen 1 Well Reservoir 90 mL',
+ displayCategory: 'reservoir',
+ displayVolumeUnits: 'mL',
+ tags: [],
+ },
+ dimensions: {
+ xDimension: 127.76,
+ yDimension: 85.47,
+ zDimension: 19.05,
+ },
+ wells: {
+ A1: {
+ depth: 12.42,
+ shape: 'rectangular',
+ xDimension: 106.76,
+ yDimension: 70.52,
+ totalLiquidVolume: 90000,
+ x: 63.88,
+ y: 42.735,
+ z: 6.63,
+ },
+ },
+ groups: [{ wells: ['A1'], metadata: { wellBottomShape: 'flat' } }],
+ parameters: {
+ format: 'trough',
+ isTiprack: false,
+ isMagneticModuleCompatible: false,
+ loadName: 'axygen_1_reservoir_90ml',
+ quirks: ['centerMultichannelOnWells', 'touchTipDisabled'],
+ },
+ namespace: 'opentrons',
+ version: 1,
+ schemaVersion: 2,
+ cornerOffsetFromSlot: { x: 0, y: 0, z: 0 },
+ },
+ destinationWells: ['A1'],
+ transferType: 'consolidate',
+ volume: 85,
+ aspirateFlowRate: 716,
+ dispenseFlowRate: 716,
+ path: 'multiAspirate',
+ blowOut: 'dest_well',
+ tipPositionAspirate: 1,
+ preWetTip: true,
+ tipPositionDispense: 1,
+ changeTip: 'always',
+ dropTipLocation: {
+ cutoutFixtureId: 'trashBinAdapter',
+ cutoutId: 'cutoutA3',
+ },
+ delayAspirate: { delayDuration: 2, positionFromBottom: 8 },
+ touchTipAspirate: 30,
+ airGapAspirate: 4,
+ mixOnDispense: { mixVolume: 80, repititions: 6 },
+ airGapDispense: 100,
+}
diff --git a/app/src/organisms/QuickTransferFlow/__tests__/utils/createQuickTransferFile.test.ts b/app/src/organisms/QuickTransferFlow/__tests__/utils/createQuickTransferFile.test.ts
new file mode 100644
index 00000000000..fc547b51343
--- /dev/null
+++ b/app/src/organisms/QuickTransferFlow/__tests__/utils/createQuickTransferFile.test.ts
@@ -0,0 +1,31 @@
+import { describe, it, expect } from 'vitest'
+import { createQuickTransferFile } from '../../utils'
+import { multiAspirateSummaryState } from '../../__fixtures__/quickTransferSummaryStateFixtures'
+import multiAspirateQuickTransfer from '../../__fixtures__/multiAspirateQuickTransfer.json'
+import { DeckConfiguration } from '@opentrons/shared-data'
+
+const deckConfig: DeckConfiguration = [
+ { cutoutFixtureId: 'singleLeftSlot', cutoutId: 'cutoutA1' },
+ { cutoutFixtureId: 'singleLeftSlot', cutoutId: 'cutoutB1' },
+ { cutoutFixtureId: 'singleLeftSlot', cutoutId: 'cutoutC1' },
+ { cutoutFixtureId: 'singleLeftSlot', cutoutId: 'cutoutD1' },
+ { cutoutFixtureId: 'singleCenterSlot', cutoutId: 'cutoutA2' },
+ { cutoutFixtureId: 'singleCenterSlot', cutoutId: 'cutoutB2' },
+ { cutoutFixtureId: 'singleCenterSlot', cutoutId: 'cutoutC2' },
+ { cutoutFixtureId: 'singleCenterSlot', cutoutId: 'cutoutD2' },
+ { cutoutFixtureId: 'trashBinAdapter', cutoutId: 'cutoutA3' },
+ { cutoutFixtureId: 'singleRightSlot', cutoutId: 'cutoutB3' },
+ { cutoutFixtureId: 'singleRightSlot', cutoutId: 'cutoutC3' },
+ { cutoutFixtureId: 'singleRightSlot', cutoutId: 'cutoutD3' },
+]
+
+describe('createQuickTransferFile', () => {
+ it('correctly creates a quick transfer file for a multi aspirate transfer with a single channel pipette', () => {
+ const protocolFile = createQuickTransferFile(
+ multiAspirateSummaryState,
+ deckConfig,
+ 'multiAspirateQuickTransfer'
+ )
+ expect(protocolFile).toEqual(multiAspirateQuickTransfer)
+ })
+})
diff --git a/app/src/organisms/QuickTransferFlow/__tests__/utils/generateQuickTransferArgs.test.ts b/app/src/organisms/QuickTransferFlow/__tests__/utils/generateQuickTransferArgs.test.ts
new file mode 100644
index 00000000000..10838ec6a7b
--- /dev/null
+++ b/app/src/organisms/QuickTransferFlow/__tests__/utils/generateQuickTransferArgs.test.ts
@@ -0,0 +1,37 @@
+import { describe, it, expect } from 'vitest'
+import { generateQuickTransferArgs } from '../../utils'
+import { multiAspirateSummaryState } from '../../__fixtures__/quickTransferSummaryStateFixtures'
+import {
+ multiAspirateInvariantContext,
+ multiAspirateRobotState,
+ multiAspirateStepArgs,
+} from '../../__fixtures__/quickTransferArgFixtures'
+import { DeckConfiguration } from '@opentrons/shared-data'
+
+const deckConfig: DeckConfiguration = [
+ { cutoutFixtureId: 'singleLeftSlot', cutoutId: 'cutoutA1' },
+ { cutoutFixtureId: 'singleLeftSlot', cutoutId: 'cutoutB1' },
+ { cutoutFixtureId: 'singleLeftSlot', cutoutId: 'cutoutC1' },
+ { cutoutFixtureId: 'singleLeftSlot', cutoutId: 'cutoutD1' },
+ { cutoutFixtureId: 'singleCenterSlot', cutoutId: 'cutoutA2' },
+ { cutoutFixtureId: 'singleCenterSlot', cutoutId: 'cutoutB2' },
+ { cutoutFixtureId: 'singleCenterSlot', cutoutId: 'cutoutC2' },
+ { cutoutFixtureId: 'singleCenterSlot', cutoutId: 'cutoutD2' },
+ { cutoutFixtureId: 'trashBinAdapter', cutoutId: 'cutoutA3' },
+ { cutoutFixtureId: 'singleRightSlot', cutoutId: 'cutoutB3' },
+ { cutoutFixtureId: 'singleRightSlot', cutoutId: 'cutoutC3' },
+ { cutoutFixtureId: 'singleRightSlot', cutoutId: 'cutoutD3' },
+]
+
+describe('generateQuickTransferArgs', () => {
+ it('correctly creates quick transfer args for a multi aspirate transfer with a single channel pipette', () => {
+ const {
+ initialRobotState,
+ invariantContext,
+ stepArgs,
+ } = generateQuickTransferArgs(multiAspirateSummaryState, deckConfig)
+ expect(initialRobotState).toEqual(multiAspirateRobotState)
+ // expect(invariantContext).toEqual(multiAspirateInvariantContext)
+ // expect(stepArgs).toEqual(multiAspirateStepArgs)
+ })
+})
diff --git a/app/src/transformations/commands/transformations/getLocationInfoNames.ts b/app/src/transformations/commands/transformations/getLocationInfoNames.ts
index 26d618859f9..e87f5d68ba8 100644
--- a/app/src/transformations/commands/transformations/getLocationInfoNames.ts
+++ b/app/src/transformations/commands/transformations/getLocationInfoNames.ts
@@ -1,4 +1,8 @@
-import { getLabwareDisplayName } from '@opentrons/shared-data'
+import {
+ getLabwareDisplayName,
+ getLabwareStackCountAndLocation,
+} from '@opentrons/shared-data'
+
import type {
LoadLabwareRunTimeCommand,
RunTimeCommand,
@@ -10,6 +14,7 @@ export interface LocationInfoNames {
slotName: string
labwareName: string
labwareNickname?: string
+ labwareQuantity: number
adapterName?: string
moduleModel?: ModuleModel
adapterId?: string
@@ -30,11 +35,11 @@ export function getLocationInfoNames(
(command): command is LoadModuleRunTimeCommand =>
command.commandType === 'loadModule'
)
- if (loadLabwareCommand == null) {
+ if (loadLabwareCommands == null || loadLabwareCommand == null) {
console.warn(
`could not find the load labware command assosciated with thie labwareId: ${labwareId}`
)
- return { slotName: '', labwareName: '' }
+ return { slotName: '', labwareName: '', labwareQuantity: 0 }
}
const labwareName =
@@ -43,14 +48,21 @@ export function getLocationInfoNames(
: ''
const labwareNickname = loadLabwareCommand.params.displayName
- const labwareLocation = loadLabwareCommand.params.location
+ const { labwareLocation, labwareQuantity } = getLabwareStackCountAndLocation(
+ labwareId,
+ loadLabwareCommands
+ )
if (labwareLocation === 'offDeck') {
- return { slotName: 'Off deck', labwareName }
+ return { slotName: 'Off deck', labwareName, labwareQuantity }
} else if ('slotName' in labwareLocation) {
- return { slotName: labwareLocation.slotName, labwareName }
+ return { slotName: labwareLocation.slotName, labwareName, labwareQuantity }
} else if ('addressableAreaName' in labwareLocation) {
- return { slotName: labwareLocation.addressableAreaName, labwareName }
+ return {
+ slotName: labwareLocation.addressableAreaName,
+ labwareName,
+ labwareQuantity,
+ }
} else if ('moduleId' in labwareLocation) {
const loadModuleCommandUnderLabware = loadModuleCommands?.find(
command => command.result?.moduleId === labwareLocation.moduleId
@@ -62,9 +74,11 @@ export function getLocationInfoNames(
loadModuleCommandUnderLabware?.params.location.slotName ?? '',
labwareName,
moduleModel: loadModuleCommandUnderLabware?.params.model,
+ labwareQuantity,
}
- : { slotName: '', labwareName: '' }
+ : { slotName: '', labwareName: '', labwareQuantity }
} else {
+ // adapt this to return the adapter only if the role of this labware is adapter -- otherwise, keep parsing through until you find out how many identical labware there are
const loadedAdapterCommand = loadLabwareCommands?.find(command =>
command.result != null
? command.result?.labwareId === labwareLocation.labwareId
@@ -74,7 +88,7 @@ export function getLocationInfoNames(
console.warn(
`expected to find an adapter under the labware but could not with labwareId ${labwareLocation.labwareId}`
)
- return { slotName: '', labwareName: labwareName }
+ return { slotName: '', labwareName: labwareName, labwareQuantity }
} else if (
loadedAdapterCommand?.params.location !== 'offDeck' &&
'slotName' in loadedAdapterCommand?.params.location
@@ -86,6 +100,7 @@ export function getLocationInfoNames(
adapterName:
loadedAdapterCommand?.result?.definition.metadata.displayName,
adapterId: loadedAdapterCommand?.result?.labwareId,
+ labwareQuantity,
}
} else if (
loadedAdapterCommand?.params.location !== 'offDeck' &&
@@ -98,6 +113,7 @@ export function getLocationInfoNames(
adapterName:
loadedAdapterCommand?.result?.definition.metadata.displayName,
adapterId: loadedAdapterCommand?.result?.labwareId,
+ labwareQuantity,
}
} else if (
loadedAdapterCommand?.params.location !== 'offDeck' &&
@@ -118,11 +134,12 @@ export function getLocationInfoNames(
loadedAdapterCommand.result?.definition.metadata.displayName,
adapterId: loadedAdapterCommand?.result?.labwareId,
moduleModel: loadModuleCommandUnderAdapter.params.model,
+ labwareQuantity,
}
- : { slotName: '', labwareName }
+ : { slotName: '', labwareName, labwareQuantity }
} else {
// shouldn't hit this
- return { slotName: '', labwareName }
+ return { slotName: '', labwareName, labwareQuantity }
}
}
}
diff --git a/components/src/hardware-sim/Labware/LabwareAdapter/OpentronsAutoclavableDeckRiser.tsx b/components/src/hardware-sim/Labware/LabwareAdapter/OpentronsAutoclavableDeckRiser.tsx
new file mode 100644
index 00000000000..d6685e0793c
--- /dev/null
+++ b/components/src/hardware-sim/Labware/LabwareAdapter/OpentronsAutoclavableDeckRiser.tsx
@@ -0,0 +1,100 @@
+// x .32, y .31
+export function OpentronsAutoclavableDeckRiser(): JSX.Element {
+ return (
+
+ )
+}
diff --git a/components/src/hardware-sim/Labware/LabwareAdapter/OpentronsToughPCRAutoSealingLid.tsx b/components/src/hardware-sim/Labware/LabwareAdapter/OpentronsToughPCRAutoSealingLid.tsx
new file mode 100644
index 00000000000..b3f50f94dd0
--- /dev/null
+++ b/components/src/hardware-sim/Labware/LabwareAdapter/OpentronsToughPCRAutoSealingLid.tsx
@@ -0,0 +1,83 @@
+export function OpentronsToughPCRAutoSealingLid(): JSX.Element {
+ return (
+
+ )
+}
diff --git a/components/src/hardware-sim/Labware/LabwareAdapter/index.tsx b/components/src/hardware-sim/Labware/LabwareAdapter/index.tsx
index f3941d980af..417b83ce89c 100644
--- a/components/src/hardware-sim/Labware/LabwareAdapter/index.tsx
+++ b/components/src/hardware-sim/Labware/LabwareAdapter/index.tsx
@@ -3,6 +3,8 @@ import { Opentrons96FlatBottomAdapter } from './Opentrons96FlatBottomAdapter'
import { OpentronsUniversalFlatAdapter } from './OpentronsUniversalFlatAdapter'
import { OpentronsAluminumFlatBottomPlate } from './OpentronsAluminumFlatBottomPlate'
import { OpentronsFlex96TiprackAdapter } from './OpentronsFlex96TiprackAdapter'
+import { OpentronsToughPCRAutoSealingLid } from './OpentronsToughPCRAutoSealingLid'
+import { OpentronsAutoclavableDeckRiser } from './OpentronsAutoclavableDeckRiser'
import { COLORS } from '../../../helix-design-system'
import { LabwareOutline } from '../labwareInternals'
import type { LabwareDefinition2 } from '@opentrons/shared-data'
@@ -13,6 +15,8 @@ const LABWARE_ADAPTER_LOADNAME_PATHS = {
opentrons_aluminum_flat_bottom_plate: OpentronsAluminumFlatBottomPlate,
opentrons_flex_96_tiprack_adapter: OpentronsFlex96TiprackAdapter,
opentrons_universal_flat_adapter: OpentronsUniversalFlatAdapter,
+ opentrons_tough_pcr_auto_sealing_lid: OpentronsToughPCRAutoSealingLid,
+ opentrons_flex_deck_riser: OpentronsAutoclavableDeckRiser,
}
export type LabwareAdapterLoadName = keyof typeof LABWARE_ADAPTER_LOADNAME_PATHS
diff --git a/components/src/hardware-sim/ProtocolDeck/index.tsx b/components/src/hardware-sim/ProtocolDeck/index.tsx
index fb1ac06349b..20c3a0c990b 100644
--- a/components/src/hardware-sim/ProtocolDeck/index.tsx
+++ b/components/src/hardware-sim/ProtocolDeck/index.tsx
@@ -4,7 +4,7 @@ import {
FLEX_ROBOT_TYPE,
getLabwareDisplayName,
getSimplestDeckConfigForProtocol,
- parseInitialLoadedLabwareByAdapter,
+ getTopLabwareInfo,
} from '@opentrons/shared-data'
import { BaseDeck } from '../BaseDeck'
@@ -19,6 +19,8 @@ import type {
CompletedProtocolAnalysis,
LabwareDefinition2,
ProtocolAnalysisOutput,
+ RunTimeCommand,
+ LoadLabwareRunTimeCommand,
} from '@opentrons/shared-data'
export * from './utils/getStandardDeckViewLayerBlockList'
@@ -46,13 +48,15 @@ export function ProtocolDeck(props: ProtocolDeckProps): JSX.Element | null {
if (protocolAnalysis == null || (protocolAnalysis?.errors ?? []).length > 0)
return null
+ const commands: RunTimeCommand[] = protocolAnalysis.commands
+ const loadLabwareCommands = commands?.filter(
+ (command): command is LoadLabwareRunTimeCommand =>
+ command.commandType === 'loadLabware'
+ )
const robotType = protocolAnalysis.robotType ?? FLEX_ROBOT_TYPE
const deckConfig = getSimplestDeckConfigForProtocol(protocolAnalysis)
const labwareByLiquidId = getLabwareInfoByLiquidId(protocolAnalysis.commands)
- const initialLoadedLabwareByAdapter = parseInitialLoadedLabwareByAdapter(
- protocolAnalysis.commands
- )
const modulesInSlots = getModulesInSlots(protocolAnalysis)
const modulesOnDeck = modulesInSlots.map(
@@ -63,16 +67,10 @@ export function ProtocolDeck(props: ProtocolDeckProps): JSX.Element | null {
nestedLabwareDef,
nestedLabwareNickName,
}) => {
- const labwareInAdapterInMod =
- nestedLabwareId != null
- ? initialLoadedLabwareByAdapter[nestedLabwareId]
- : null
- // only rendering the labware on top most layer so
- // either the adapter or the labware are rendered but not both
- const topLabwareDefinition =
- labwareInAdapterInMod?.result?.definition ?? nestedLabwareDef
- const topLabwareId =
- labwareInAdapterInMod?.result?.labwareId ?? nestedLabwareId
+ const { topLabwareId, topLabwareDefinition } = getTopLabwareInfo(
+ nestedLabwareId ?? '',
+ loadLabwareCommands
+ )
return {
moduleModel,
@@ -112,15 +110,16 @@ export function ProtocolDeck(props: ProtocolDeckProps): JSX.Element | null {
}
)
+ // this function gets the top labware assuming a stack of max 2 labware
const topMostLabwareInSlots = getTopMostLabwareInSlots(protocolAnalysis)
const labwareOnDeck = topMostLabwareInSlots.map(
({ labwareId, labwareDef, labwareNickName, location }) => {
- const labwareInAdapter = initialLoadedLabwareByAdapter[labwareId]
- // only rendering the labware on top most layer so
- // either the adapter or the labware are rendered but not both
- const topLabwareDefinition =
- labwareInAdapter?.result?.definition ?? labwareDef
- const topLabwareId = labwareInAdapter?.result?.labwareId ?? labwareId
+ // this gets the very top of the stack in case there is a stack
+ // of many like items, such as TC lids
+ const { topLabwareId, topLabwareDefinition } = getTopLabwareInfo(
+ labwareId,
+ loadLabwareCommands
+ )
const isLabwareInStack = protocolAnalysis?.commands.some(
command =>
command.commandType === 'loadLabware' &&
@@ -146,7 +145,7 @@ export function ProtocolDeck(props: ProtocolDeckProps): JSX.Element | null {
highlight: handleLabwareClick != null,
highlightShadow: handleLabwareClick != null && isLabwareInStack,
onLabwareClick:
- handleLabwareClick != null
+ handleLabwareClick != null && topLabwareDefinition != null
? () => {
handleLabwareClick(topLabwareDefinition, topLabwareId)
}
diff --git a/shared-data/js/helpers/QUICK_TRANSFER.json b/shared-data/js/helpers/QUICK_TRANSFER.json
new file mode 100644
index 00000000000..9495fa73d63
--- /dev/null
+++ b/shared-data/js/helpers/QUICK_TRANSFER.json
@@ -0,0 +1,2575 @@
+{
+ "$otSharedSchema": "#/protocol/schemas/8",
+ "schemaVersion": 8,
+ "metadata": {
+ "protocolName": "ih",
+ "description": "This quick transfer moves liquids from a Agilent 1 Well Reservoir 290 mL to a Agilent 1 Well Reservoir 290 mL",
+ "category": null,
+ "subcategory": null,
+ "tags": []
+ },
+ "designerApplication": {
+ "name": "Quick Transfer",
+ "version": "0.0",
+ "data": {
+ "pipette": {
+ "$otSharedSchema": "#/pipette/schemas/2/pipetteGeometrySchema.json",
+ "displayName": "Flex 1-Channel 50 μL",
+ "model": "p50",
+ "displayCategory": "FLEX",
+ "validNozzleMaps": { "maps": { "SingleA1": ["A1"] } },
+ "pickUpTipConfigurations": {
+ "pressFit": {
+ "presses": 1,
+ "increment": 0,
+ "configurationsByNozzleMap": {
+ "SingleA1": {
+ "default": {
+ "speed": 10,
+ "distance": 13,
+ "current": 0.2,
+ "tipOverlaps": {
+ "v0": {
+ "default": 10.5,
+ "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.5,
+ "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.5
+ },
+ "v1": {
+ "default": 10.5,
+ "opentrons/opentrons_flex_96_tiprack_50ul/1": 10.09,
+ "opentrons/opentrons_flex_96_filtertiprack_50ul/1": 10.09
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "dropTipConfigurations": {
+ "plungerEject": { "current": 1, "speed": 15 }
+ },
+ "plungerMotorConfigurations": { "idle": 0.3, "run": 1 },
+ "plungerPositionsConfigurations": {
+ "default": {
+ "top": 0,
+ "bottom": 71.5,
+ "blowout": 76.5,
+ "drop": 90.5
+ },
+ "lowVolumeDefault": {
+ "top": 0,
+ "bottom": 61.5,
+ "blowout": 76.5,
+ "drop": 90.5
+ }
+ },
+ "availableSensors": {
+ "sensors": ["pressure", "capacitive", "environment"],
+ "pressure": { "count": 1 },
+ "capacitive": { "count": 1 },
+ "environment": { "count": 1 }
+ },
+ "partialTipConfigurations": {
+ "partialTipSupported": false,
+ "availableConfigurations": null
+ },
+ "backCompatNames": [],
+ "channels": 1,
+ "shaftDiameter": 1,
+ "shaftULperMM": 0.785,
+ "backlashDistance": 0.1,
+ "quirks": [],
+ "plungerHomingConfigurations": { "current": 1, "speed": 30 },
+ "pathTo3D": "pipette/definitions/2/geometry/single_channel/p50/placeholder.gltf",
+ "nozzleOffset": [-8, -22, -259.15],
+ "pipetteBoundingBoxOffsets": {
+ "backLeftCorner": [-8, -22, -259.15],
+ "frontRightCorner": [-8, -22, -259.15]
+ },
+ "orderedRows": [{ "key": "A", "orderedNozzles": ["A1"] }],
+ "orderedColumns": [{ "key": "1", "orderedNozzles": ["A1"] }],
+ "nozzleMap": { "A1": [-8, -22, -259.15] },
+ "lldSettings": { "t50": { "minHeight": 1, "minVolume": 0 } },
+ "liquids": {
+ "default": {
+ "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json",
+ "supportedTips": {
+ "t50": {
+ "uiMaxFlowRate": 57,
+ "defaultAspirateFlowRate": {
+ "default": 35,
+ "valuesByApiLevel": { "2.14": 35 }
+ },
+ "defaultDispenseFlowRate": {
+ "default": 57,
+ "valuesByApiLevel": { "2.14": 57 }
+ },
+ "defaultBlowOutFlowRate": {
+ "default": 57,
+ "valuesByApiLevel": { "2.14": 57 }
+ },
+ "defaultFlowAcceleration": 1200,
+ "defaultTipLength": 57.9,
+ "defaultReturnTipHeight": 0.71,
+ "aspirate": {
+ "default": {
+ "1": [
+ [0.45, 0.4702, 0.0464],
+ [0.6717, 0.3617, 0.0952],
+ [0.9133, 0.259, 0.1642],
+ [1.1783, 0.1997, 0.2184],
+ [1.46, 0.1366, 0.2927],
+ [1.8183, 0.1249, 0.3098],
+ [2.1783, 0.0719, 0.4061],
+ [2.615, 0.0666, 0.4176],
+ [3.015, 0.0152, 0.552],
+ [3.4433, 0.0008, 0.5956],
+ [4.3033, 0.0659, 0.3713],
+ [5.0933, 0.0306, 0.5234],
+ [5.915, 0.0135, 0.6102],
+ [6.8233, 0.0083, 0.6414],
+ [7.85, 0.0051, 0.6631],
+ [9.005, 0.0025, 0.6838],
+ [10.3517, 0.0036, 0.6735],
+ [11.9, 0.0032, 0.6775],
+ [13.6617, 0.0023, 0.6886],
+ [15.6383, 0.001, 0.7058],
+ [17.95, 0.0015, 0.6976],
+ [20.58, 0.0012, 0.7033],
+ [23.5483, 0.0005, 0.7183],
+ [26.9983, 0.0008, 0.7105],
+ [30.88, 0.0003, 0.7233],
+ [35.3167, 0.0003, 0.725],
+ [40.4283, 0.0004, 0.7224],
+ [46.255, 0.0003, 0.7271],
+ [52.8383, 0, 0.7369]
+ ]
+ }
+ },
+ "dispense": {
+ "default": {
+ "1": [
+ [0.45, 0.4702, 0.0464],
+ [0.6717, 0.3617, 0.0952],
+ [0.9133, 0.259, 0.1642],
+ [1.1783, 0.1997, 0.2184],
+ [1.46, 0.1366, 0.2927],
+ [1.8183, 0.1249, 0.3098],
+ [2.1783, 0.0719, 0.4061],
+ [2.615, 0.0666, 0.4176],
+ [3.015, 0.0152, 0.552],
+ [3.4433, 0.0008, 0.5956],
+ [4.3033, 0.0659, 0.3713],
+ [5.0933, 0.0306, 0.5234],
+ [5.915, 0.0135, 0.6102],
+ [6.8233, 0.0083, 0.6414],
+ [7.85, 0.0051, 0.6631],
+ [9.005, 0.0025, 0.6838],
+ [10.3517, 0.0036, 0.6735],
+ [11.9, 0.0032, 0.6775],
+ [13.6617, 0.0023, 0.6886],
+ [15.6383, 0.001, 0.7058],
+ [17.95, 0.0015, 0.6976],
+ [20.58, 0.0012, 0.7033],
+ [23.5483, 0.0005, 0.7183],
+ [26.9983, 0.0008, 0.7105],
+ [30.88, 0.0003, 0.7233],
+ [35.3167, 0.0003, 0.725],
+ [40.4283, 0.0004, 0.7224],
+ [46.255, 0.0003, 0.7271],
+ [52.8383, 0, 0.7369]
+ ]
+ }
+ },
+ "defaultPushOutVolume": 2
+ }
+ },
+ "maxVolume": 50,
+ "minVolume": 5,
+ "defaultTipracks": [
+ "opentrons/opentrons_flex_96_tiprack_50ul/1",
+ "opentrons/opentrons_flex_96_filtertiprack_50ul/1"
+ ]
+ },
+ "lowVolumeDefault": {
+ "$otSharedSchema": "#/pipette/schemas/2/pipetteLiquidPropertiesSchema.json",
+ "supportedTips": {
+ "t50": {
+ "uiMaxFlowRate": 31.8,
+ "defaultAspirateFlowRate": {
+ "default": 31.8,
+ "valuesByApiLevel": { "2.14": 31.8 }
+ },
+ "defaultDispenseFlowRate": {
+ "default": 31.8,
+ "valuesByApiLevel": { "2.14": 31.8 }
+ },
+ "defaultBlowOutFlowRate": {
+ "default": 31.8,
+ "valuesByApiLevel": { "2.14": 31.8 }
+ },
+ "defaultFlowAcceleration": 1200,
+ "defaultTipLength": 57.9,
+ "defaultReturnTipHeight": 0.71,
+ "aspirate": {
+ "default": {
+ "1": [
+ [0.36, 0.560999, 0.03366],
+ [0.546667, 0.416654, 0.085624],
+ [1.02, 0.333473, 0.131096],
+ [1.3, 0.1045, 0.364649],
+ [1.956667, 0.117611, 0.347604],
+ [2.68, 0.039898, 0.499663],
+ [3.013333, -0.026841, 0.678523],
+ [3.36, 0.025988, 0.519331],
+ [3.78, 0.028211, 0.511863],
+ [4.396667, 0.082234, 0.307657],
+ [5.073333, 0.010771, 0.621856],
+ [5.88, 0.012027, 0.615482],
+ [7.3, 0.00915, 0.632397],
+ [9.086667, 0.007301, 0.645898],
+ [10.143333, 0.005174, 0.665228],
+ [13.76, 0.001967, 0.697758],
+ [27.223333, 0.001039, 0.710524],
+ [45.73, 0.000284, 0.731072]
+ ]
+ }
+ },
+ "dispense": {
+ "default": {
+ "1": [
+ [0.36, 0.560999, 0.03366],
+ [0.546667, 0.416654, 0.085624],
+ [1.02, 0.333473, 0.131096],
+ [1.3, 0.1045, 0.364649],
+ [1.956667, 0.117611, 0.347604],
+ [2.68, 0.039898, 0.499663],
+ [3.013333, -0.026841, 0.678523],
+ [3.36, 0.025988, 0.519331],
+ [3.78, 0.028211, 0.511863],
+ [4.396667, 0.082234, 0.307657],
+ [5.073333, 0.010771, 0.621856],
+ [5.88, 0.012027, 0.615482],
+ [7.3, 0.00915, 0.632397],
+ [9.086667, 0.007301, 0.645898],
+ [10.143333, 0.005174, 0.665228],
+ [13.76, 0.001967, 0.697758],
+ [27.223333, 0.001039, 0.710524],
+ [45.73, 0.000284, 0.731072]
+ ]
+ }
+ },
+ "defaultPushOutVolume": 7
+ }
+ },
+ "maxVolume": 30,
+ "minVolume": 1,
+ "defaultTipracks": [
+ "opentrons/opentrons_flex_96_tiprack_50ul/1",
+ "opentrons/opentrons_flex_96_filtertiprack_50ul/1"
+ ]
+ }
+ }
+ },
+ "mount": "left",
+ "tipRack": {
+ "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": "Opentrons Flex 96 Filter Tip Rack 50 µL",
+ "displayCategory": "tipRack",
+ "displayVolumeUnits": "µL",
+ "tags": []
+ },
+ "dimensions": {
+ "xDimension": 127.75,
+ "yDimension": 85.75,
+ "zDimension": 99
+ },
+ "gripForce": 16,
+ "gripHeightFromLabwareBottom": 23.9,
+ "wells": {
+ "A1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 11.38,
+ "z": 1.5
+ }
+ },
+ "groups": [
+ {
+ "metadata": {},
+ "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": [],
+ "isTiprack": true,
+ "tipLength": 57.9,
+ "tipOverlap": 10.5,
+ "isMagneticModuleCompatible": false,
+ "loadName": "opentrons_flex_96_filtertiprack_50ul"
+ },
+ "namespace": "opentrons",
+ "version": 1,
+ "schemaVersion": 2,
+ "cornerOffsetFromSlot": { "x": 0, "y": 0, "z": 0 },
+ "stackingOffsetWithLabware": {
+ "opentrons_flex_96_tiprack_adapter": { "x": 0, "y": 0, "z": 121 }
+ }
+ },
+ "source": {
+ "ordering": [["A1"]],
+ "brand": {
+ "brand": "Agilent",
+ "brandId": ["201252-100"],
+ "links": [
+ "https://www.agilent.com/store/en_US/Prod-201252-100/201252-100"
+ ]
+ },
+ "metadata": {
+ "displayName": "Agilent 1 Well Reservoir 290 mL",
+ "displayCategory": "reservoir",
+ "displayVolumeUnits": "mL",
+ "tags": []
+ },
+ "dimensions": {
+ "xDimension": 127.76,
+ "yDimension": 85.57,
+ "zDimension": 44.04
+ },
+ "wells": {
+ "A1": {
+ "depth": 39.22,
+ "shape": "rectangular",
+ "xDimension": 108,
+ "yDimension": 72,
+ "totalLiquidVolume": 290000,
+ "x": 63.88,
+ "y": 42.785,
+ "z": 4.82
+ }
+ },
+ "groups": [{ "wells": ["A1"], "metadata": { "wellBottomShape": "v" } }],
+ "parameters": {
+ "format": "trough",
+ "isTiprack": false,
+ "isMagneticModuleCompatible": false,
+ "loadName": "agilent_1_reservoir_290ml",
+ "quirks": ["centerMultichannelOnWells", "touchTipDisabled"]
+ },
+ "namespace": "opentrons",
+ "version": 1,
+ "schemaVersion": 2,
+ "cornerOffsetFromSlot": { "x": 0, "y": 0, "z": 0 }
+ },
+ "sourceWells": ["A1"],
+ "destination": {
+ "ordering": [["A1"]],
+ "brand": {
+ "brand": "Agilent",
+ "brandId": ["201252-100"],
+ "links": [
+ "https://www.agilent.com/store/en_US/Prod-201252-100/201252-100"
+ ]
+ },
+ "metadata": {
+ "displayName": "Agilent 1 Well Reservoir 290 mL",
+ "displayCategory": "reservoir",
+ "displayVolumeUnits": "mL",
+ "tags": []
+ },
+ "dimensions": {
+ "xDimension": 127.76,
+ "yDimension": 85.57,
+ "zDimension": 44.04
+ },
+ "wells": {
+ "A1": {
+ "depth": 39.22,
+ "shape": "rectangular",
+ "xDimension": 108,
+ "yDimension": 72,
+ "totalLiquidVolume": 290000,
+ "x": 63.88,
+ "y": 42.785,
+ "z": 4.82
+ }
+ },
+ "groups": [{ "wells": ["A1"], "metadata": { "wellBottomShape": "v" } }],
+ "parameters": {
+ "format": "trough",
+ "isTiprack": false,
+ "isMagneticModuleCompatible": false,
+ "loadName": "agilent_1_reservoir_290ml",
+ "quirks": ["centerMultichannelOnWells", "touchTipDisabled"]
+ },
+ "namespace": "opentrons",
+ "version": 1,
+ "schemaVersion": 2,
+ "cornerOffsetFromSlot": { "x": 0, "y": 0, "z": 0 }
+ },
+ "destinationWells": ["A1"],
+ "transferType": "transfer",
+ "volume": 25,
+ "aspirateFlowRate": 35,
+ "dispenseFlowRate": 57,
+ "path": "single",
+ "tipPositionAspirate": 1,
+ "preWetTip": false,
+ "tipPositionDispense": 1,
+ "changeTip": "always",
+ "dropTipLocation": {
+ "cutoutFixtureId": "trashBinAdapter",
+ "cutoutId": "cutoutA3"
+ }
+ }
+ },
+ "robot": { "model": "OT-3 Standard", "deckId": "ot3_standard" },
+ "labwareDefinitionSchemaId": "opentronsLabwareSchemaV2",
+ "labwareDefinitions": {
+ "opentrons/opentrons_flex_96_filtertiprack_50ul/1": {
+ "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": "Opentrons Flex 96 Filter Tip Rack 50 µL",
+ "displayCategory": "tipRack",
+ "displayVolumeUnits": "µL",
+ "tags": []
+ },
+ "dimensions": {
+ "xDimension": 127.75,
+ "yDimension": 85.75,
+ "zDimension": 99
+ },
+ "gripForce": 16,
+ "gripHeightFromLabwareBottom": 23.9,
+ "wells": {
+ "A1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H1": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 14.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H2": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 23.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H3": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 32.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H4": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 41.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H5": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 50.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H6": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 59.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H7": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 68.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H8": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 77.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H9": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 86.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H10": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 95.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H11": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 104.38,
+ "y": 11.38,
+ "z": 1.5
+ },
+ "A12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 74.38,
+ "z": 1.5
+ },
+ "B12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 65.38,
+ "z": 1.5
+ },
+ "C12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 56.38,
+ "z": 1.5
+ },
+ "D12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 47.38,
+ "z": 1.5
+ },
+ "E12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 38.38,
+ "z": 1.5
+ },
+ "F12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 29.38,
+ "z": 1.5
+ },
+ "G12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 20.38,
+ "z": 1.5
+ },
+ "H12": {
+ "depth": 97.5,
+ "shape": "circular",
+ "diameter": 5.58,
+ "totalLiquidVolume": 50,
+ "x": 113.38,
+ "y": 11.38,
+ "z": 1.5
+ }
+ },
+ "groups": [
+ {
+ "metadata": {},
+ "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": [],
+ "isTiprack": true,
+ "tipLength": 57.9,
+ "tipOverlap": 10.5,
+ "isMagneticModuleCompatible": false,
+ "loadName": "opentrons_flex_96_filtertiprack_50ul"
+ },
+ "namespace": "opentrons",
+ "version": 1,
+ "schemaVersion": 2,
+ "cornerOffsetFromSlot": { "x": 0, "y": 0, "z": 0 },
+ "stackingOffsetWithLabware": {
+ "opentrons_flex_96_tiprack_adapter": { "x": 0, "y": 0, "z": 121 }
+ }
+ },
+ "opentrons/agilent_1_reservoir_290ml/1": {
+ "ordering": [["A1"]],
+ "brand": {
+ "brand": "Agilent",
+ "brandId": ["201252-100"],
+ "links": [
+ "https://www.agilent.com/store/en_US/Prod-201252-100/201252-100"
+ ]
+ },
+ "metadata": {
+ "displayName": "Agilent 1 Well Reservoir 290 mL",
+ "displayCategory": "reservoir",
+ "displayVolumeUnits": "mL",
+ "tags": []
+ },
+ "dimensions": {
+ "xDimension": 127.76,
+ "yDimension": 85.57,
+ "zDimension": 44.04
+ },
+ "wells": {
+ "A1": {
+ "depth": 39.22,
+ "shape": "rectangular",
+ "xDimension": 108,
+ "yDimension": 72,
+ "totalLiquidVolume": 290000,
+ "x": 63.88,
+ "y": 42.785,
+ "z": 4.82
+ }
+ },
+ "groups": [{ "wells": ["A1"], "metadata": { "wellBottomShape": "v" } }],
+ "parameters": {
+ "format": "trough",
+ "isTiprack": false,
+ "isMagneticModuleCompatible": false,
+ "loadName": "agilent_1_reservoir_290ml",
+ "quirks": ["centerMultichannelOnWells", "touchTipDisabled"]
+ },
+ "namespace": "opentrons",
+ "version": 1,
+ "schemaVersion": 2,
+ "cornerOffsetFromSlot": { "x": 0, "y": 0, "z": 0 }
+ }
+ },
+ "liquidSchemaId": "opentronsLiquidSchemaV1",
+ "liquids": {},
+ "commandSchemaId": "opentronsCommandSchemaV8",
+ "commands": [
+ {
+ "key": "f8281b2e-07b5-4175-a760-c5b1abd3b74d",
+ "commandType": "loadPipette",
+ "params": {
+ "pipetteName": "p50_single_flex",
+ "mount": "left",
+ "pipetteId": "44e6881d-eaf6-498e-b958-80e0e9eb9a4d_p50_single_flex"
+ }
+ },
+ {
+ "key": "2b1b44e2-9a16-4bf0-916f-9681159f6d1d",
+ "commandType": "loadLabware",
+ "params": {
+ "displayName": "Opentrons Flex 96 Filter Tip Rack 50 µL",
+ "labwareId": "1905ab1e-3589-4e46-82a7-289109f4dcc5_opentrons/opentrons_flex_96_filtertiprack_50ul/1",
+ "loadName": "opentrons_flex_96_filtertiprack_50ul",
+ "namespace": "opentrons",
+ "version": 1,
+ "location": { "slotName": "B2" }
+ }
+ },
+ {
+ "key": "48e10770-61de-413a-8c89-4e0968466d3b",
+ "commandType": "loadLabware",
+ "params": {
+ "displayName": "Agilent 1 Well Reservoir 290 mL",
+ "labwareId": "a3713ba9-ddb5-43bf-901b-f6bbe8ca15ef_opentrons/agilent_1_reservoir_290ml/1",
+ "loadName": "agilent_1_reservoir_290ml",
+ "namespace": "opentrons",
+ "version": 1,
+ "location": { "slotName": "C2" }
+ }
+ },
+ {
+ "key": "c6109417-6c06-4567-8c75-1c998093900a",
+ "commandType": "loadLabware",
+ "params": {
+ "displayName": "Agilent 1 Well Reservoir 290 mL",
+ "labwareId": "dc0d4462-88da-4c14-b713-178cd9ad1e07_opentrons/agilent_1_reservoir_290ml/1",
+ "loadName": "agilent_1_reservoir_290ml",
+ "namespace": "opentrons",
+ "version": 1,
+ "location": { "slotName": "D2" }
+ }
+ },
+ {
+ "commandType": "pickUpTip",
+ "key": "936f0fac-d596-4954-81ae-1450135d1d61",
+ "params": {
+ "pipetteId": "44e6881d-eaf6-498e-b958-80e0e9eb9a4d_p50_single_flex",
+ "labwareId": "1905ab1e-3589-4e46-82a7-289109f4dcc5_opentrons/opentrons_flex_96_filtertiprack_50ul/1",
+ "wellName": "A1"
+ }
+ },
+ {
+ "commandType": "configureForVolume",
+ "key": "7ca455f5-855a-489f-8353-86b543d8735d",
+ "params": {
+ "pipetteId": "44e6881d-eaf6-498e-b958-80e0e9eb9a4d_p50_single_flex",
+ "volume": 25
+ }
+ },
+ {
+ "commandType": "aspirate",
+ "key": "9a76fe12-9ec0-42ba-b74b-895ffcbb1e5d",
+ "params": {
+ "pipetteId": "44e6881d-eaf6-498e-b958-80e0e9eb9a4d_p50_single_flex",
+ "volume": 25,
+ "labwareId": "a3713ba9-ddb5-43bf-901b-f6bbe8ca15ef_opentrons/agilent_1_reservoir_290ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 35
+ }
+ },
+ {
+ "commandType": "dispense",
+ "key": "1bd54308-dcfe-4583-b267-1e2444f597ea",
+ "params": {
+ "pipetteId": "44e6881d-eaf6-498e-b958-80e0e9eb9a4d_p50_single_flex",
+ "volume": 25,
+ "labwareId": "dc0d4462-88da-4c14-b713-178cd9ad1e07_opentrons/agilent_1_reservoir_290ml/1",
+ "wellName": "A1",
+ "wellLocation": {
+ "origin": "bottom",
+ "offset": { "z": 1, "x": 0, "y": 0 }
+ },
+ "flowRate": 57
+ }
+ },
+ {
+ "key": "95db0b23-144f-4d25-a5d6-d1e32617a9ca",
+ "commandType": "moveToAddressableAreaForDropTip",
+ "params": {
+ "pipetteId": "44e6881d-eaf6-498e-b958-80e0e9eb9a4d_p50_single_flex",
+ "addressableAreaName": "movableTrashA3"
+ }
+ },
+ {
+ "key": "0e8bf0ac-a968-429e-bab2-0659e78dd8c3",
+ "commandType": "dropTipInPlace",
+ "params": {
+ "pipetteId": "44e6881d-eaf6-498e-b958-80e0e9eb9a4d_p50_single_flex"
+ }
+ }
+ ],
+ "commandAnnotationSchemaId": "opentronsCommandAnnotationSchemaV1",
+ "commandAnnotations": []
+}
diff --git a/shared-data/js/helpers/parseProtocolCommands.ts b/shared-data/js/helpers/parseProtocolCommands.ts
index a5a05a65636..b351713449d 100644
--- a/shared-data/js/helpers/parseProtocolCommands.ts
+++ b/shared-data/js/helpers/parseProtocolCommands.ts
@@ -10,6 +10,7 @@ import type {
LoadModuleRunTimeCommand,
LoadPipetteRunTimeCommand,
RunTimeCommand,
+ LabwareLocation,
} from '../../command/types'
import type { PipetteName } from '../pipettes'
import type {
@@ -18,6 +19,7 @@ import type {
LoadedModule,
LoadedPipette,
ModuleModel,
+ LabwareDefinition2,
} from '../types'
interface PipetteNamesByMount {
@@ -135,6 +137,105 @@ export function parseInitialLoadedLabwareBySlot(
)
}
+// given a labware id and load labware commands, this function
+// finds the top most labware in the stack and returns relevant
+// information
+export function getTopLabwareInfo(
+ labwareId: string,
+ loadLabwareCommands: LoadLabwareRunTimeCommand[]
+): {
+ topLabwareId: string
+ topLabwareDefinition?: LabwareDefinition2
+ topLabwareDisplayName?: string
+} {
+ const nestedCommand = loadLabwareCommands.find(
+ command =>
+ command.commandType === 'loadLabware' &&
+ command.params.location !== 'offDeck' &&
+ 'labwareId' in command.params.location &&
+ command.params.location.labwareId === labwareId
+ )
+ if (nestedCommand == null) {
+ const loadCommand = loadLabwareCommands.find(
+ command =>
+ command.commandType === 'loadLabware' &&
+ command.result?.labwareId === labwareId
+ )
+ if (loadCommand == null) {
+ console.warn(
+ `could not find the load labware command assosciated with thie labwareId: ${labwareId}`
+ )
+ }
+ return {
+ topLabwareId: labwareId,
+ topLabwareDefinition: loadCommand?.result?.definition,
+ topLabwareDisplayName: loadCommand?.params.displayName,
+ }
+ } else {
+ return getTopLabwareInfo(
+ nestedCommand?.result?.labwareId as string,
+ loadLabwareCommands
+ )
+ }
+}
+
+// this recursive function will parse through load labware commands
+// and give the quantity of LIKE labware stacked below the given labware
+// id and the labware location of the bottom-most stacked item
+export function getLabwareStackCountAndLocation(
+ topLabwareId: string,
+ commands: RunTimeCommand[],
+ initialQuantity: number = 1
+): { labwareQuantity: number; labwareLocation: LabwareLocation } {
+ const loadLabwareCommands = commands?.filter(
+ (command): command is LoadLabwareRunTimeCommand =>
+ command.commandType === 'loadLabware'
+ )
+ const loadLabwareCommand = loadLabwareCommands?.find(
+ command => command.result?.labwareId === topLabwareId
+ )
+
+ if (loadLabwareCommands == null || loadLabwareCommand == null) {
+ console.warn(
+ `could not find the load labware command assosciated with thie labwareId: ${topLabwareId}`
+ )
+ return { labwareLocation: 'offDeck', labwareQuantity: 0 }
+ }
+
+ const labwareLocation = loadLabwareCommand.params.location
+
+ if (labwareLocation !== 'offDeck' && 'labwareId' in labwareLocation) {
+ const lowerLabwareCommand = loadLabwareCommands?.find(command =>
+ command.result != null
+ ? command.result?.labwareId === labwareLocation.labwareId
+ : ''
+ )
+ if (lowerLabwareCommand?.result?.labwareId == null) {
+ console.warn(
+ `could not find the load labware command assosciated with thie labwareId: ${labwareLocation.labwareId}`
+ )
+ return { labwareLocation: 'offDeck', labwareQuantity: 0 }
+ }
+
+ const isSameLabware =
+ loadLabwareCommand.params.loadName ===
+ lowerLabwareCommand?.params.loadName
+
+ if (isSameLabware) {
+ const newQuantity = initialQuantity + 1
+ return getLabwareStackCountAndLocation(
+ lowerLabwareCommand.result.labwareId,
+ commands,
+ newQuantity
+ )
+ }
+ }
+ return {
+ labwareQuantity: initialQuantity,
+ labwareLocation,
+ }
+}
+
export interface LoadedLabwareByAdapter {
[labwareId: string]: LoadLabwareRunTimeCommand
}