From 35d10f5995647e21920ef0b65ef141a4232fe45e Mon Sep 17 00:00:00 2001 From: Jethary Rader <66035149+jerader@users.noreply.github.com> Date: Thu, 2 May 2024 10:03:36 -0400 Subject: [PATCH 001/141] feat(protocol-designer): custom blowout flowRates (#15057) closes AUTH-4 AUTH-6 --- .../cypress/integration/migrations.spec.js | 10 + .../protocol/8/doItAllV3MigratedToV8.json | 106 +- .../protocol/8/doItAllV4MigratedToV8.json | 55 +- .../protocol/8/doItAllV7MigratedToV8.json | 250 +- .../fixtures/protocol/8/doItAllV8.json | 145 +- .../protocol/8/example_1_1_0MigratedToV8.json | 392 +- .../fixtures/protocol/8/mix_8_0_0.json | 15 +- .../8/newAdvancedSettingsAndMultiTemp.json | 3739 +++++++++++++++++ .../8/ninetySixChannelFullAndColumn.json | 48 +- .../fields/FlowRateField/FlowRateInput.tsx | 54 +- .../__tests__/FlowRateField.test.tsx | 18 +- .../fields/FlowRateField/index.tsx | 3 + .../components/StepEditForm/forms/MixForm.tsx | 7 + .../forms/MoveLiquidForm/SourceDestFields.tsx | 7 + protocol-designer/src/form-types.ts | 2 + .../src/load-file/migration/8_1_0.ts | 48 +- .../__snapshots__/3_0_0.test.ts.snap | 298 -- .../utils/getDefaultBlowoutFlowRate.ts | 36 + .../src/localization/en/tooltip.json | 3 +- .../test/createPresavedStepForm.test.ts | 2 + .../formLevel/getDefaultsForStepType.ts | 2 + .../formLevel/stepFormToArgs/mixFormToArgs.ts | 2 +- .../stepFormToArgs/moveLiquidFormToArgs.ts | 2 +- .../test/getDefaultsForStepType.test.ts | 2 + .../mergeSubstepsFns.test.ts.snap | 1012 ----- .../src/ui/steps/test/selectors.test.ts | 15 +- .../src/commandCreators/compound/mix.ts | 2 - 27 files changed, 4439 insertions(+), 1836 deletions(-) create mode 100644 protocol-designer/fixtures/protocol/8/newAdvancedSettingsAndMultiTemp.json create mode 100644 protocol-designer/src/load-file/migration/utils/getDefaultBlowoutFlowRate.ts diff --git a/protocol-designer/cypress/integration/migrations.spec.js b/protocol-designer/cypress/integration/migrations.spec.js index 4339f40be5f..31b6d8962a0 100644 --- a/protocol-designer/cypress/integration/migrations.spec.js +++ b/protocol-designer/cypress/integration/migrations.spec.js @@ -63,6 +63,16 @@ describe('Protocol fixtures migrate and match snapshots', () => { migrationModal: null, unusedPipettes: false, }, + { + title: + 'new advanced settings with multi temp => reimported, should not migrate and stay at 8.1.x, schema 8', + importFixture: + '../../fixtures/protocol/8/newAdvancedSettingsAndMultiTemp.json', + expectedExportFixture: + '../../fixtures/protocol/8/newAdvancedSettingsAndMultiTemp.json', + migrationModal: null, + unusedPipettes: false, + }, ] testCases.forEach( diff --git a/protocol-designer/fixtures/protocol/8/doItAllV3MigratedToV8.json b/protocol-designer/fixtures/protocol/8/doItAllV3MigratedToV8.json index e448368f932..a0706d38a5c 100644 --- a/protocol-designer/fixtures/protocol/8/doItAllV3MigratedToV8.json +++ b/protocol-designer/fixtures/protocol/8/doItAllV3MigratedToV8.json @@ -6,7 +6,7 @@ "author": "Fixture", "description": "Test all v3 commands", "created": 1585930833548, - "lastModified": 1711742442671, + "lastModified": 1714570099662, "category": null, "subcategory": null, "tags": [] @@ -15,7 +15,7 @@ "name": "opentrons/protocol-designer", "version": "8.1.0", "data": { - "_internalAppBuildDate": "Fri, 29 Mar 2024 20:00:04 GMT", + "_internalAppBuildDate": "Wed, 01 May 2024 13:16:50 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, "dispense_mmFromBottom": 0.5, @@ -101,7 +101,6 @@ "dispense_touchTip_mmFromBottom": 40, "disposalVolume_checkbox": true, "disposalVolume_volume": "20", - "blowout_z_offset": 0, "blowout_checkbox": false, "blowout_location": "8053a205-f2dc-4b1d-8d05-bf8233949e2e:trashBin", "preWetTip": false, @@ -121,6 +120,8 @@ "dispense_y_position": 0, "aspirate_x_position": 0, "aspirate_y_position": 0, + "blowout_z_offset": 0, + "blowout_flowRate": null, "id": "3961e4c0-75c7-11ea-b42f-4b64e50f43e5", "stepType": "moveLiquid", "stepName": "transfer", @@ -158,7 +159,6 @@ "labware": "1e610d40-75c7-11ea-b42f-4b64e50f43e5:opentrons/nest_96_wellplate_100ul_pcr_full_skirt/1", "mix_wellOrder_first": "t2b", "mix_wellOrder_second": "l2r", - "blowout_z_offset": 0, "blowout_checkbox": true, "blowout_location": "8053a205-f2dc-4b1d-8d05-bf8233949e2e:trashBin", "mix_mmFromBottom": 0.5, @@ -178,6 +178,8 @@ "tipRack": "0b44c760-75c7-11ea-b42f-4b64e50f43e5:opentrons/opentrons_96_tiprack_300ul/1", "mix_x_position": 0, "mix_y_position": 0, + "blowout_z_offset": 0, + "blowout_flowRate": 46.43, "id": "a4cee9a0-75dc-11ea-b42f-4b64e50f43e5", "stepType": "mix", "stepName": "mix", @@ -2526,7 +2528,7 @@ "commandSchemaId": "opentronsCommandSchemaV8", "commands": [ { - "key": "d371b7e2-71a8-4a60-90bc-7e865d9881b9", + "key": "5dcb42c0-ef1c-4a3b-a383-82fa21354cf8", "commandType": "loadPipette", "params": { "pipetteName": "p300_single_gen2", @@ -2535,7 +2537,7 @@ } }, { - "key": "424963b7-59f8-434a-bedc-9597e7b72c9f", + "key": "a777658d-cb9e-411c-9377-d7c965ededd2", "commandType": "loadLabware", "params": { "displayName": "Opentrons 96 Tip Rack 300 µL", @@ -2547,7 +2549,7 @@ } }, { - "key": "05ef86f7-dec0-4134-a15d-5e38ef81cf8e", + "key": "723094b7-6539-41ae-8657-225153d07ed2", "commandType": "loadLabware", "params": { "displayName": "NEST 96 Well Plate 100 µL PCR Full Skirt", @@ -2559,7 +2561,7 @@ } }, { - "key": "ddefc5ef-b69a-4172-921b-959ba5e8d8d2", + "key": "382eb174-58a8-445b-9216-67953b1431cc", "commandType": "loadLabware", "params": { "displayName": "Opentrons 24 Well Aluminum Block with Generic 2 mL Screwcap", @@ -2572,7 +2574,7 @@ }, { "commandType": "loadLiquid", - "key": "2a2084d5-67d8-4806-b919-5962a6258c1f", + "key": "a8535ce0-8b05-4dd7-b82e-ce108e7b1644", "params": { "liquidId": "0", "labwareId": "1e610d40-75c7-11ea-b42f-4b64e50f43e5:opentrons/nest_96_wellplate_100ul_pcr_full_skirt/1", @@ -2598,12 +2600,12 @@ }, { "commandType": "waitForDuration", - "key": "c1a1eff4-7ef7-46be-aee7-ebca5924ace8", + "key": "1cf744b2-f1ec-40d3-9afb-8dde33832ac4", "params": { "seconds": 62, "message": "" } }, { "commandType": "pickUpTip", - "key": "63ca0ab5-4cb6-4531-b912-1ba22e1b1a03", + "key": "8335cc6a-f1a7-42de-9085-60a58f3c099f", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "labwareId": "0b44c760-75c7-11ea-b42f-4b64e50f43e5:opentrons/opentrons_96_tiprack_300ul/1", @@ -2612,7 +2614,7 @@ }, { "commandType": "aspirate", - "key": "5ead7532-0eb2-4ad9-b704-856422fc9408", + "key": "bd82daf5-9bbd-468a-9266-3a0feb5235a7", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 30, @@ -2627,7 +2629,7 @@ }, { "commandType": "dispense", - "key": "3838f7d1-3450-49cc-a222-c8113eecf108", + "key": "02f9b8eb-ad2a-48e6-8eaf-f1446fad8bc9", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 30, @@ -2642,7 +2644,7 @@ }, { "commandType": "aspirate", - "key": "25697ae7-169d-447a-906c-4e7f02950fe9", + "key": "eab61544-7238-4479-a195-8999806e7294", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 30, @@ -2657,7 +2659,7 @@ }, { "commandType": "dispense", - "key": "49a139f4-87ba-421d-9ef4-4ebe13beb987", + "key": "deacca0e-f618-4159-bcf8-ad4d5010ffbf", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 30, @@ -2672,7 +2674,7 @@ }, { "commandType": "aspirate", - "key": "4e96faa5-c669-4b60-b15c-9d2f01c9c3fe", + "key": "296ea248-151d-4c80-9445-6678f9bbdd16", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 100, @@ -2687,7 +2689,7 @@ }, { "commandType": "touchTip", - "key": "8eff88a1-fec9-46d7-b292-f6ce378e5ad9", + "key": "93a2f17f-35e4-4585-9f32-cfbd4e80de75", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "labwareId": "1e610d40-75c7-11ea-b42f-4b64e50f43e5:opentrons/nest_96_wellplate_100ul_pcr_full_skirt/1", @@ -2697,7 +2699,7 @@ }, { "commandType": "dispense", - "key": "c95e323c-be69-4460-8acf-d1d4b74384bd", + "key": "a64de676-0aea-4dc8-a417-d1d0a7749aba", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 40, @@ -2712,7 +2714,7 @@ }, { "commandType": "touchTip", - "key": "0da25745-5e25-4138-b67c-dfc4c89c8949", + "key": "3714818d-0ea7-4b21-807c-3fc99647fcd8", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "labwareId": "21ed8f60-75c7-11ea-b42f-4b64e50f43e5:opentrons/opentrons_24_aluminumblock_generic_2ml_screwcap/1", @@ -2722,7 +2724,7 @@ }, { "commandType": "dispense", - "key": "28eeb3d1-6e83-4414-8c0d-e8761ca2f75a", + "key": "8062fd11-8818-4956-958d-ca27f740d5ac", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 40, @@ -2737,7 +2739,7 @@ }, { "commandType": "touchTip", - "key": "8cd5d90d-df0b-4c3b-8cb3-cea6f1849fef", + "key": "dd3759ef-133b-49ec-94b9-20a05b4044e7", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "labwareId": "21ed8f60-75c7-11ea-b42f-4b64e50f43e5:opentrons/opentrons_24_aluminumblock_generic_2ml_screwcap/1", @@ -2747,7 +2749,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "35643d1f-ae0b-4a90-9de4-c9eb3c9b775e", + "key": "7b851c66-19ed-4d4e-ad2d-f8149744a720", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "addressableAreaName": "fixedTrash", @@ -2756,7 +2758,7 @@ }, { "commandType": "blowOutInPlace", - "key": "d540a57a-6968-44a0-8645-b221a9b7bfd7", + "key": "ccf8dea1-5c66-42dc-985b-91728f9d80c2", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "flowRate": 46.43 @@ -2764,7 +2766,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "c721cfd7-fef8-4fcb-9d6f-1d78f2317729", + "key": "276e3971-8910-4e53-8130-90f4bcb6f2c6", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "addressableAreaName": "fixedTrash", @@ -2774,17 +2776,17 @@ }, { "commandType": "dropTipInPlace", - "key": "a18788f3-cd5f-4470-8831-455d14883d1c", + "key": "4ba17bb2-3dbc-440e-a6ac-323eda333bdb", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5" } }, { "commandType": "waitForResume", - "key": "a54eb58b-ce5c-4a59-ba85-ed75438146a7", + "key": "6ffda031-bdb9-4b93-9749-9376f0487817", "params": { "message": "Wait until user intervention" } }, { "commandType": "pickUpTip", - "key": "c1bddcd0-d5cf-4d7c-b830-a5b27a5a71cb", + "key": "0eea0f55-ccb9-4805-89d5-f7f5069ac146", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "labwareId": "0b44c760-75c7-11ea-b42f-4b64e50f43e5:opentrons/opentrons_96_tiprack_300ul/1", @@ -2793,7 +2795,7 @@ }, { "commandType": "aspirate", - "key": "1660f6c2-9072-4348-b034-cb45712f8cd7", + "key": "6c133bc3-4f21-474d-b7a1-8dc575f05d07", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 35, @@ -2808,7 +2810,7 @@ }, { "commandType": "dispense", - "key": "c3683fde-b4e0-4432-ad96-932292f2ebcd", + "key": "927af8f8-3e17-4adc-8cf8-25e3e3b032a3", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 35, @@ -2823,7 +2825,7 @@ }, { "commandType": "aspirate", - "key": "59251222-f64d-400b-98a6-71f95f24bec7", + "key": "8a286376-d039-4868-b43a-5a4dc18a7684", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 35, @@ -2838,7 +2840,7 @@ }, { "commandType": "dispense", - "key": "a370936b-c12f-4039-88d0-97bb262cb80e", + "key": "52758061-375e-4238-a3e8-fd8d8ac7c109", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 35, @@ -2853,7 +2855,7 @@ }, { "commandType": "aspirate", - "key": "8f428646-3bd6-4a90-9674-23d3e3be8a63", + "key": "0f7bcdd1-626a-4e8a-b9de-cbe1ddcab0b5", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 35, @@ -2868,7 +2870,7 @@ }, { "commandType": "dispense", - "key": "445797f5-5799-486a-b0e2-299e2f23ca2a", + "key": "385cdb61-97e6-44a5-9bbb-d3c2a4042461", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 35, @@ -2883,7 +2885,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "d740d713-a3cb-4bdb-81a5-798059db8be7", + "key": "c82f0730-3269-43ba-b7aa-bdce062fa8e1", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "addressableAreaName": "fixedTrash", @@ -2892,15 +2894,15 @@ }, { "commandType": "blowOutInPlace", - "key": "ba227a58-a0b1-4d83-93f8-4a3566cbedf1", + "key": "b04ddf2b-fd58-4c5f-bb5e-3454a593424c", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", - "flowRate": 35 + "flowRate": 46.43 } }, { "commandType": "touchTip", - "key": "68b765bb-a232-49ec-b6be-fc6b375b0a15", + "key": "8b977bb4-262a-4437-a89c-aea221051c77", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "labwareId": "1e610d40-75c7-11ea-b42f-4b64e50f43e5:opentrons/nest_96_wellplate_100ul_pcr_full_skirt/1", @@ -2910,7 +2912,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "1464952c-cb00-48eb-a9db-8a4367d3ce0b", + "key": "f6624d29-db3e-4a60-8fd9-a81d7d5e589f", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "addressableAreaName": "fixedTrash", @@ -2920,12 +2922,12 @@ }, { "commandType": "dropTipInPlace", - "key": "2d96c742-46d0-4efa-8e94-3118e975bdd4", + "key": "eab34b0e-b50f-4d4c-a7fc-2e4dfb46e95e", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5" } }, { "commandType": "pickUpTip", - "key": "75a6817c-7f41-4a8c-a184-5e6e7aad51e9", + "key": "6cd7a187-1252-4f7e-81e9-a012173a96e7", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "labwareId": "0b44c760-75c7-11ea-b42f-4b64e50f43e5:opentrons/opentrons_96_tiprack_300ul/1", @@ -2934,7 +2936,7 @@ }, { "commandType": "aspirate", - "key": "3e1db7e3-a5eb-473c-a98b-1c91e9b70c3d", + "key": "9655cd15-caff-4f78-ab83-2398146afa54", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 35, @@ -2949,7 +2951,7 @@ }, { "commandType": "dispense", - "key": "d37facff-0753-4d92-9599-93141c97a90f", + "key": "645cf76c-a1d3-4d72-82e3-29ca0bc7a68a", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 35, @@ -2964,7 +2966,7 @@ }, { "commandType": "aspirate", - "key": "df03e618-352a-44e8-8890-859f53229f10", + "key": "cf49d7f4-8175-44db-a0f6-5cc9c500ded7", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 35, @@ -2979,7 +2981,7 @@ }, { "commandType": "dispense", - "key": "0b93f43f-b456-47fa-b9d7-89086cd9c20b", + "key": "8f7c947b-43a9-439d-b8e0-dc52b5243ecc", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 35, @@ -2994,7 +2996,7 @@ }, { "commandType": "aspirate", - "key": "310303b6-76e3-4765-bd82-042eac727669", + "key": "5534b4fa-7a7e-4606-a0eb-511a08febe55", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 35, @@ -3009,7 +3011,7 @@ }, { "commandType": "dispense", - "key": "9881ac40-2932-4197-a03b-77c936651a3b", + "key": "3fedeb8a-10ed-4798-bd26-66bc4ac4faf7", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 35, @@ -3024,7 +3026,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "f521a11f-1676-4dc2-a022-f5eba1c5d22e", + "key": "d4588b11-4268-40d9-aee4-312c5c1f7e3e", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "addressableAreaName": "fixedTrash", @@ -3033,15 +3035,15 @@ }, { "commandType": "blowOutInPlace", - "key": "daede461-9d74-4259-91e6-ecf7ddaa4897", + "key": "146bf039-743e-46f9-80d8-635451a2a40b", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", - "flowRate": 35 + "flowRate": 46.43 } }, { "commandType": "touchTip", - "key": "0cde152c-2aeb-4e86-9745-3732e0074ba7", + "key": "a263b140-4162-4871-a852-cae73b375e8f", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "labwareId": "1e610d40-75c7-11ea-b42f-4b64e50f43e5:opentrons/nest_96_wellplate_100ul_pcr_full_skirt/1", @@ -3051,7 +3053,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "cb24aade-655e-4f6f-83d7-1b60457b56e6", + "key": "da3d817e-fcf6-4a50-bdb7-a3e71fc71f0e", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "addressableAreaName": "fixedTrash", @@ -3061,7 +3063,7 @@ }, { "commandType": "dropTipInPlace", - "key": "6970ad16-6e47-4f5c-afba-3704abe0eabb", + "key": "30463b38-428f-460c-90bd-09f50776320c", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5" } } ], diff --git a/protocol-designer/fixtures/protocol/8/doItAllV4MigratedToV8.json b/protocol-designer/fixtures/protocol/8/doItAllV4MigratedToV8.json index f8fec2171af..2fb437cd816 100644 --- a/protocol-designer/fixtures/protocol/8/doItAllV4MigratedToV8.json +++ b/protocol-designer/fixtures/protocol/8/doItAllV4MigratedToV8.json @@ -6,7 +6,7 @@ "author": "Fixture", "description": "Test all v4 commands", "created": 1585930833548, - "lastModified": 1711742493128, + "lastModified": 1714570366192, "category": null, "subcategory": null, "tags": [] @@ -15,7 +15,7 @@ "name": "opentrons/protocol-designer", "version": "8.1.0", "data": { - "_internalAppBuildDate": "Fri, 29 Mar 2024 20:00:04 GMT", + "_internalAppBuildDate": "Wed, 01 May 2024 13:32:34 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, "dispense_mmFromBottom": 0.5, @@ -135,7 +135,6 @@ "dispense_touchTip_mmFromBottom": null, "disposalVolume_checkbox": true, "disposalVolume_volume": "20", - "blowout_z_offset": 0, "blowout_checkbox": false, "blowout_location": "84882326-9cd3-428e-8352-89f133a1fe5d:trashBin", "preWetTip": false, @@ -155,6 +154,8 @@ "dispense_y_position": 0, "aspirate_x_position": 0, "aspirate_y_position": 0, + "blowout_z_offset": 0, + "blowout_flowRate": null, "id": "3961e4c0-75c7-11ea-b42f-4b64e50f43e5", "stepType": "moveLiquid", "stepName": "transfer", @@ -2551,7 +2552,7 @@ "commandSchemaId": "opentronsCommandSchemaV8", "commands": [ { - "key": "b7185c84-9b15-4b6e-a315-e331249569fa", + "key": "d99eb537-6cb6-4cd4-8331-3eeafdd4e45e", "commandType": "loadPipette", "params": { "pipetteName": "p300_single_gen2", @@ -2560,7 +2561,7 @@ } }, { - "key": "0d1f6599-70d5-4e99-9608-7d249135b5a9", + "key": "ecbb4b97-d248-4f78-a340-d412e0e87be4", "commandType": "loadModule", "params": { "model": "magneticModuleV2", @@ -2569,7 +2570,7 @@ } }, { - "key": "2ee81ffe-c8fa-4cac-be56-62a902e301f7", + "key": "c08483ea-e4a8-46a0-9533-12a340bd377a", "commandType": "loadModule", "params": { "model": "temperatureModuleV2", @@ -2578,7 +2579,7 @@ } }, { - "key": "e1da2e62-ac25-405f-b896-99384ab081d8", + "key": "8e908f00-8462-449a-b59b-8bad8a8bf655", "commandType": "loadLabware", "params": { "displayName": "Opentrons 96 Tip Rack 300 µL", @@ -2590,7 +2591,7 @@ } }, { - "key": "2895d8a7-239c-4d6b-afc8-69defe261790", + "key": "4977d62d-75a5-4a20-ae8e-8b62e88c3b0f", "commandType": "loadLabware", "params": { "displayName": "NEST 96 Well Plate 100 µL PCR Full Skirt", @@ -2604,7 +2605,7 @@ } }, { - "key": "46b84345-0c06-41f8-860d-1dfafa424e80", + "key": "d62c61f4-cdf2-4313-8183-4b6401d1c807", "commandType": "loadLabware", "params": { "displayName": "Opentrons 24 Well Aluminum Block with Generic 2 mL Screwcap", @@ -2619,7 +2620,7 @@ }, { "commandType": "loadLiquid", - "key": "25dd8768-7731-4dee-9f5a-d54b9eb0983c", + "key": "3cc4e4b7-0121-484e-af30-19b202941154", "params": { "liquidId": "0", "labwareId": "1e610d40-75c7-11ea-b42f-4b64e50f43e5:opentrons/nest_96_wellplate_100ul_pcr_full_skirt/1", @@ -2645,7 +2646,7 @@ }, { "commandType": "magneticModule/engage", - "key": "3471fe25-a3a8-4be0-b6d8-545819c4aea0", + "key": "c9af3ef4-d79b-4f75-aea9-5daf8c7b95f1", "params": { "moduleId": "0b419310-75c7-11ea-b42f-4b64e50f43e5:magneticModuleType", "height": 6 @@ -2653,7 +2654,7 @@ }, { "commandType": "temperatureModule/setTargetTemperature", - "key": "610ae127-200b-48ae-8cbc-7ba4b5ca7b30", + "key": "fb5cdf77-8b2d-430d-9d38-09556cb6fa40", "params": { "moduleId": "0b4319b0-75c7-11ea-b42f-4b64e50f43e5:temperatureModuleType", "celsius": 25 @@ -2661,12 +2662,12 @@ }, { "commandType": "waitForDuration", - "key": "94aa4488-7792-49bc-ac3d-6a260bad0f86", + "key": "5d2283e2-5f14-4c7b-a98b-a7fb464c0bb8", "params": { "seconds": 62, "message": "" } }, { "commandType": "pickUpTip", - "key": "1a838ef5-ea1a-4680-bac0-6eaf473465a4", + "key": "a9b8a288-1a4a-44b7-88c3-c6cdb4b52b89", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "labwareId": "0b44c760-75c7-11ea-b42f-4b64e50f43e5:opentrons/opentrons_96_tiprack_300ul/1", @@ -2675,7 +2676,7 @@ }, { "commandType": "aspirate", - "key": "f74c2687-f02c-4034-aa03-9a73c1ee47af", + "key": "e91dc8c3-dfda-441b-9546-0f7e8dad4882", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 30, @@ -2690,7 +2691,7 @@ }, { "commandType": "dispense", - "key": "507c7fff-1193-4c14-a0b1-e4bb9fe9d96e", + "key": "3a1820bb-4dc3-4cde-8e88-a863d9419e8a", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 30, @@ -2705,7 +2706,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "5a050ced-d1a9-4031-bf16-ed49cb561e60", + "key": "a4c10a8c-e960-430c-b5f5-f5b10c109a3a", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "addressableAreaName": "fixedTrash", @@ -2715,12 +2716,12 @@ }, { "commandType": "dropTipInPlace", - "key": "8083dcbe-8c00-4178-90c0-4d4a921bca9c", + "key": "8cd24129-b76d-4c65-95a7-b148358e0db9", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5" } }, { "commandType": "pickUpTip", - "key": "e6db98b2-7239-4f6b-9e41-02e1dd108ad6", + "key": "66a6278b-9e16-43c1-bde2-1e5c3da0e2d7", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "labwareId": "0b44c760-75c7-11ea-b42f-4b64e50f43e5:opentrons/opentrons_96_tiprack_300ul/1", @@ -2729,7 +2730,7 @@ }, { "commandType": "aspirate", - "key": "47cf3011-68e2-40cd-8563-145e460f93aa", + "key": "5a8abdb2-2ac2-4069-b010-2eaac95acece", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 30, @@ -2744,7 +2745,7 @@ }, { "commandType": "dispense", - "key": "1f1d966a-9095-4857-9137-36131c91bfd2", + "key": "58b3983a-9383-4013-8145-0a6b3398ad78", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "volume": 30, @@ -2759,7 +2760,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "ac6074f6-2f28-4012-914b-d3b28eb8453d", + "key": "a1175c8b-d19c-4e97-bad0-6ae84eb0bec5", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5", "addressableAreaName": "fixedTrash", @@ -2769,12 +2770,12 @@ }, { "commandType": "dropTipInPlace", - "key": "074050d3-0c4c-4fc0-8036-a5dc9afe99ef", + "key": "1457d4ac-4aee-4b32-845e-64a1025f0007", "params": { "pipetteId": "0b3f2210-75c7-11ea-b42f-4b64e50f43e5" } }, { "commandType": "temperatureModule/waitForTemperature", - "key": "89672a34-bd2f-4e2a-bacc-407bb5f563a1", + "key": "a22d457a-2815-43dd-9f56-a7ee53f6e628", "params": { "moduleId": "0b4319b0-75c7-11ea-b42f-4b64e50f43e5:temperatureModuleType", "celsius": 25 @@ -2782,19 +2783,19 @@ }, { "commandType": "magneticModule/disengage", - "key": "26603c88-f0a7-49b3-a65c-37e9e23ac2ff", + "key": "e07424ee-2e30-49bc-927d-dc8a4f3fc2f2", "params": { "moduleId": "0b419310-75c7-11ea-b42f-4b64e50f43e5:magneticModuleType" } }, { "commandType": "waitForResume", - "key": "f0e0a8c0-01df-47d7-92e5-c3c16e962f4f", + "key": "bc1b0315-d129-4d58-9013-eea4ec766761", "params": { "message": "Wait until user intervention" } }, { "commandType": "temperatureModule/deactivate", - "key": "bde12c91-d991-4d57-8d7b-172706f3aa2a", + "key": "8fd9574a-d9bf-4a7d-9b3e-c2bc99ce6e5b", "params": { "moduleId": "0b4319b0-75c7-11ea-b42f-4b64e50f43e5:temperatureModuleType" } diff --git a/protocol-designer/fixtures/protocol/8/doItAllV7MigratedToV8.json b/protocol-designer/fixtures/protocol/8/doItAllV7MigratedToV8.json index 66a4cab5f90..0ff5d959839 100644 --- a/protocol-designer/fixtures/protocol/8/doItAllV7MigratedToV8.json +++ b/protocol-designer/fixtures/protocol/8/doItAllV7MigratedToV8.json @@ -6,7 +6,7 @@ "author": "", "description": "", "created": 1689346890165, - "lastModified": 1713443721060, + "lastModified": 1714570422365, "category": null, "subcategory": null, "tags": [] @@ -15,7 +15,7 @@ "name": "opentrons/protocol-designer", "version": "8.1.0", "data": { - "_internalAppBuildDate": "Thu, 18 Apr 2024 12:35:12 GMT", + "_internalAppBuildDate": "Wed, 01 May 2024 13:32:34 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, "dispense_mmFromBottom": 0.5, @@ -199,6 +199,7 @@ "aspirate_x_position": 0, "aspirate_y_position": 0, "blowout_z_offset": 0, + "blowout_flowRate": null, "id": "f9a294f1-f42b-4cae-893a-592405349d56", "stepType": "moveLiquid", "stepName": "transfer", @@ -230,6 +231,7 @@ "mix_x_position": 0, "mix_y_position": 0, "blowout_z_offset": 0, + "blowout_flowRate": null, "id": "5fdb9a12-fab4-42fd-886f-40af107b15d6", "stepType": "mix", "stepName": "mix", @@ -3761,7 +3763,7 @@ "commandSchemaId": "opentronsCommandSchemaV8", "commands": [ { - "key": "6221e85d-921e-4067-83c9-4741f4b85904", + "key": "a466d0dc-e276-4eca-8c03-5bf4104f7be2", "commandType": "loadPipette", "params": { "pipetteName": "p1000_single_flex", @@ -3770,7 +3772,7 @@ } }, { - "key": "b599e98c-88f7-431b-85f7-2cce0941a720", + "key": "52475912-17f0-4539-9595-01e27c4a3994", "commandType": "loadPipette", "params": { "pipetteName": "p50_multi_flex", @@ -3779,7 +3781,7 @@ } }, { - "key": "cd153de4-f26f-4875-9a36-6ae084bcb4b5", + "key": "9a9006cb-c81c-41ea-82ca-d7422647f7f6", "commandType": "loadModule", "params": { "model": "magneticBlockV1", @@ -3788,7 +3790,7 @@ } }, { - "key": "a237e138-0b4c-4cc1-93e6-b0140ab1defd", + "key": "709aa475-25dd-4c78-b9a2-c65e654b9f5d", "commandType": "loadModule", "params": { "model": "heaterShakerModuleV1", @@ -3797,7 +3799,7 @@ } }, { - "key": "3cacc7b3-161e-4df2-b578-ef3dcc40e13a", + "key": "4a938cf9-7ff4-4a5e-8be8-4983f4d96e3f", "commandType": "loadModule", "params": { "model": "temperatureModuleV2", @@ -3806,7 +3808,7 @@ } }, { - "key": "444ebe6c-015e-4ab8-b4e1-b2f8c0ebe828", + "key": "1b0bbdd3-3885-441d-9310-57809d457a09", "commandType": "loadModule", "params": { "model": "thermocyclerModuleV2", @@ -3815,7 +3817,7 @@ } }, { - "key": "5bce906a-7bde-4a7f-bf60-f6ed123f4fd4", + "key": "328bf7a0-d0ac-4ff3-ae73-78618fd8d822", "commandType": "loadLabware", "params": { "displayName": "Opentrons 96 Flat Bottom Heater-Shaker Adapter", @@ -3829,7 +3831,7 @@ } }, { - "key": "d2dd55f3-b4a9-47a8-9b7e-db4dda1c493a", + "key": "1a3bd842-7dd1-4805-be2c-99bdd24aeb84", "commandType": "loadLabware", "params": { "displayName": "Opentrons Flex 96 Filter Tip Rack 50 µL", @@ -3841,7 +3843,7 @@ } }, { - "key": "226fb70b-20aa-477d-91fe-c1bf4b68b82c", + "key": "f4e4f3ed-5a86-41bb-a9c3-377182e26868", "commandType": "loadLabware", "params": { "displayName": "NEST 96 Well Plate 100 µL PCR Full Skirt", @@ -3855,7 +3857,7 @@ } }, { - "key": "9e34c746-37a9-4275-8705-86a6a576e968", + "key": "91648cab-a243-4f8e-abe0-a540eeca2e9d", "commandType": "loadLabware", "params": { "displayName": "Opentrons 24 Well Aluminum Block with NEST 1.5 mL Snapcap", @@ -3869,7 +3871,7 @@ } }, { - "key": "0ffdcd99-a6ba-427c-afdb-9fad59ee716f", + "key": "11e8b668-a20f-4080-b2ca-a782d62fd3e3", "commandType": "loadLabware", "params": { "displayName": "NEST 96 Well Plate 200 µL Flat", @@ -3884,7 +3886,7 @@ }, { "commandType": "loadLiquid", - "key": "ab63485c-6a51-42d9-8168-cb68515fdafe", + "key": "bb85f067-473e-4e12-9115-205e8dff5687", "params": { "liquidId": "1", "labwareId": "a793a135-06aa-4ed6-a1d3-c176c7810afa:opentrons/opentrons_24_aluminumblock_nest_1.5ml_snapcap/1", @@ -3893,7 +3895,7 @@ }, { "commandType": "loadLiquid", - "key": "113f57e7-b869-43d7-9373-c9f664aa7cfa", + "key": "7060bb0a-3534-49da-932e-ba8b73e46af5", "params": { "liquidId": "0", "labwareId": "fcba73e7-b88e-438e-963e-f8b9a5de0983:opentrons/nest_96_wellplate_100ul_pcr_full_skirt/2", @@ -3911,7 +3913,7 @@ }, { "commandType": "temperatureModule/setTargetTemperature", - "key": "a3871c48-ec0a-42e7-864e-b40a38f244db", + "key": "f59ece51-dd41-44db-b64b-36d232eccdf1", "params": { "moduleId": "ef44ad7f-0fd9-46d6-8bc0-c70785644cc8:temperatureModuleType", "celsius": 4 @@ -3919,7 +3921,7 @@ }, { "commandType": "heaterShaker/waitForTemperature", - "key": "df704427-687e-4c53-81df-7ea3a76d05e9", + "key": "da21219e-ef9b-4373-875c-9d5a09989aec", "params": { "moduleId": "c19dffa3-cb34-4702-bcf6-dcea786257d1:heaterShakerModuleType", "celsius": 4 @@ -3927,14 +3929,14 @@ }, { "commandType": "thermocycler/closeLid", - "key": "20d652d8-b74b-4583-9378-f970465eabc1", + "key": "20f3146d-9731-4efa-809e-36633bb54370", "params": { "moduleId": "627b7a27-5bb7-46de-a530-67af45652e3b:thermocyclerModuleType" } }, { "commandType": "thermocycler/setTargetLidTemperature", - "key": "5d0b1c68-1e79-4683-9cf2-37c3cf708ead", + "key": "28ee0f3a-c4b6-4e02-987d-10901017c010", "params": { "moduleId": "627b7a27-5bb7-46de-a530-67af45652e3b:thermocyclerModuleType", "celsius": 40 @@ -3942,14 +3944,14 @@ }, { "commandType": "thermocycler/waitForLidTemperature", - "key": "1a5297e5-6384-4f42-acf0-7006c9005bfa", + "key": "a8d1fb79-c73b-4ff1-9182-552e327cc60c", "params": { "moduleId": "627b7a27-5bb7-46de-a530-67af45652e3b:thermocyclerModuleType" } }, { "commandType": "thermocycler/runProfile", - "key": "45aecec9-638b-449d-b4e5-648d7940442b", + "key": "f7ae03ff-0b0f-4956-8bd4-e66dbf90528f", "params": { "moduleId": "627b7a27-5bb7-46de-a530-67af45652e3b:thermocyclerModuleType", "profile": [ @@ -3961,28 +3963,28 @@ }, { "commandType": "thermocycler/deactivateBlock", - "key": "f1a3a1a7-b52f-4375-82f2-078c6e03313b", + "key": "046285cc-fc6a-4191-9dca-b9b7994d4244", "params": { "moduleId": "627b7a27-5bb7-46de-a530-67af45652e3b:thermocyclerModuleType" } }, { "commandType": "thermocycler/deactivateLid", - "key": "703bd4bf-69ac-4ba3-9984-1989e71e397e", + "key": "2decfbea-68ec-423f-a798-dc0c06a76e17", "params": { "moduleId": "627b7a27-5bb7-46de-a530-67af45652e3b:thermocyclerModuleType" } }, { "commandType": "thermocycler/openLid", - "key": "b9f0f8aa-c5c5-4f21-9526-5803f3c0e4ab", + "key": "35dc75ed-4760-42ac-9b83-d37ec2f717b0", "params": { "moduleId": "627b7a27-5bb7-46de-a530-67af45652e3b:thermocyclerModuleType" } }, { "commandType": "pickUpTip", - "key": "d942b290-e41c-44b9-bab8-bc1fee368c01", + "key": "97f422da-3677-412b-a859-9ca064fa8e2c", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -3991,7 +3993,7 @@ }, { "commandType": "aspirate", - "key": "017d9080-9d8c-4249-b91a-df02e4d7c98e", + "key": "1c813b91-1e33-4aae-9841-20af63299a68", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4006,7 +4008,7 @@ }, { "commandType": "dispense", - "key": "50cc87f3-cd5e-41cb-b2cd-0861d5b537e8", + "key": "c562ed92-a5b5-4fce-8a99-f02358ab6941", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4021,7 +4023,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "a5b327e8-d4ef-4ba1-8abe-4fe005c1b72d", + "key": "a7b2f8fe-b6ab-4184-8170-0647a05d7c86", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4031,12 +4033,12 @@ }, { "commandType": "dropTipInPlace", - "key": "7a7ea09c-59a4-4466-b317-18b502407b40", + "key": "2dee7eea-fc2a-485a-aea1-beb064e5109b", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "f097f49d-50e3-4c03-851a-08582413197b", + "key": "35d005a3-7a97-4190-b9b0-f05d929e6c50", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4045,7 +4047,7 @@ }, { "commandType": "aspirate", - "key": "dd7efe76-a487-4f2e-9104-54f9ccc431d7", + "key": "2dee8a38-087d-4f5b-85fa-c93e5a731475", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4060,7 +4062,7 @@ }, { "commandType": "dispense", - "key": "edb834a0-93bb-4d93-880b-04fa45d74c3a", + "key": "6aa3c0b2-9191-4cce-9fac-908b9ecdb0ce", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4075,7 +4077,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "8bc803c0-0828-4266-b360-0e59ea759fa7", + "key": "ef663141-ba95-4cab-83f4-a98800deb903", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4085,12 +4087,12 @@ }, { "commandType": "dropTipInPlace", - "key": "2a2cb565-d10b-40b5-bbe1-ec341dc8cda2", + "key": "921a5d1b-a920-4e75-b3d6-2a9385baf2a1", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "fcb5a288-3661-40ed-be41-598af6dbb04a", + "key": "8bb26abd-e67d-4a27-82fd-b5095e6b863a", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4099,7 +4101,7 @@ }, { "commandType": "aspirate", - "key": "cabf020e-9093-45e9-8f9a-c86bee3d8716", + "key": "69e87e9c-5758-4029-838a-f601d85c57c7", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4114,7 +4116,7 @@ }, { "commandType": "dispense", - "key": "17dc69a7-8ff8-489a-814d-829285732f35", + "key": "b8fdb45a-1bb1-4f5b-90ff-99a3f90ef378", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4129,7 +4131,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "7eb184aa-3ef3-475c-8747-f5706db36de1", + "key": "3a91ac83-be4f-49e5-971f-d50995d87a5f", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4139,12 +4141,12 @@ }, { "commandType": "dropTipInPlace", - "key": "53985655-c51f-42e3-a60b-beac9e445f8e", + "key": "076167d0-7192-455c-8329-78d36e1e0bbe", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "c92cebae-c6e5-402f-a820-d36e07154a16", + "key": "763fb955-8bcd-4a20-9523-ebe78894a2cc", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4153,7 +4155,7 @@ }, { "commandType": "aspirate", - "key": "bc03bede-aa9f-4a4b-bd24-4fc7ac5f8d35", + "key": "7ed1e15c-ae12-492c-8e69-9615a7128692", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4168,7 +4170,7 @@ }, { "commandType": "dispense", - "key": "513583b8-e5cf-4953-b809-1e635ef0deef", + "key": "a35f983c-9d71-41b0-b134-408254afffc9", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4183,7 +4185,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "ce89a96c-1964-4526-8511-9b5ef1c70841", + "key": "036dffc0-eb5c-4ad1-a468-2810c6d40404", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4193,12 +4195,12 @@ }, { "commandType": "dropTipInPlace", - "key": "546722cb-480c-49cd-9ef6-f8376a157d1e", + "key": "728b951b-ac30-42b2-8733-66047e15104d", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "751019fa-c8cb-4970-9719-9ca306198c43", + "key": "2f679268-9e41-4d25-a1d2-a02146993957", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4207,7 +4209,7 @@ }, { "commandType": "aspirate", - "key": "4af0b92f-22f6-4075-8505-564a71775307", + "key": "9fc88d82-b344-4d58-bc88-21f7da6420ad", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4222,7 +4224,7 @@ }, { "commandType": "dispense", - "key": "1ee99a9f-437a-4b81-95e5-683cf776a0c9", + "key": "cd9e1f2e-8d97-4360-be45-77fef790a7ab", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4237,7 +4239,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "122b028b-8712-4be2-ad67-7ffb305b0ec6", + "key": "09f656d5-2ca6-4496-961e-bd9e1d91b126", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4247,12 +4249,12 @@ }, { "commandType": "dropTipInPlace", - "key": "9b2c8348-47d2-4cac-9ce8-466c12add906", + "key": "fccb75f1-699b-4c8b-8151-dbd58d18ef06", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "b3a8b996-6cbb-41a1-b2ac-e4a469020db0", + "key": "a3701c28-7d35-45b6-8af6-bafd6e9a4b78", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4261,7 +4263,7 @@ }, { "commandType": "aspirate", - "key": "b59f5fb8-f15d-4e18-abde-3293ee790e6b", + "key": "4ee690e6-a74b-4417-b62a-fd3fee7d65e4", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4276,7 +4278,7 @@ }, { "commandType": "dispense", - "key": "47a6a5e9-9c07-42b1-9845-f6089567df5c", + "key": "8eafdd0e-0d05-403d-91b2-7e5499688f93", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4291,7 +4293,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "a9c5a2e8-c74e-4fc6-ae21-0fd9fd3d0513", + "key": "1ca0e890-4dd7-406b-b957-ac5122beb4ed", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4301,12 +4303,12 @@ }, { "commandType": "dropTipInPlace", - "key": "da688e48-bec6-48f7-961f-9654900fb753", + "key": "c4bc3f8e-96d8-48cb-ab98-9aa4f4bafda2", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "ce417704-8708-44ee-9b8e-75dcec347805", + "key": "2f72e6b5-7349-47c6-8ed4-99b059460e7e", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4315,7 +4317,7 @@ }, { "commandType": "aspirate", - "key": "ad46e9da-47d2-4527-b6c7-068ce4bab5b8", + "key": "662be64a-6a00-487c-886e-0f6c2979dd0e", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4330,7 +4332,7 @@ }, { "commandType": "dispense", - "key": "81a3513f-9627-4874-ab3a-b7a7ce2c64ea", + "key": "7f81ae52-4dcd-4b71-9247-2ae073990a98", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4345,7 +4347,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "269c6242-9712-4cb8-bd64-d18799047e33", + "key": "180c5597-e041-4f4a-a8c6-42e4f2526525", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4355,12 +4357,12 @@ }, { "commandType": "dropTipInPlace", - "key": "929645f3-9cbb-4032-a6af-fe26bd61cd2c", + "key": "a151f233-ffa8-487c-8058-cc58d52c4181", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "5560ef5b-2f4b-4780-8a09-2752c9a1b60d", + "key": "dcd3ad54-3401-4d65-a7c6-c6ec7f6027ec", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4369,7 +4371,7 @@ }, { "commandType": "aspirate", - "key": "19dbd5a5-4ca5-421f-b443-6dd0f23eea89", + "key": "32fcd712-9792-4269-be8c-1eab474ecf4c", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4384,7 +4386,7 @@ }, { "commandType": "dispense", - "key": "ce588c4b-28db-49ef-b2b2-e3cd6fb41038", + "key": "e8b25c7f-01ad-461d-94d6-86575cc51a56", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4399,7 +4401,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "78b93dce-d551-49cc-8958-60cfe114ee33", + "key": "ebf51a3b-0060-435a-afcc-873460507190", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4409,12 +4411,12 @@ }, { "commandType": "dropTipInPlace", - "key": "b7b96af8-2d7b-4cdb-8ea0-5c571f861c6c", + "key": "e77f841b-88ec-407c-beb8-e3321040fb2a", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "a885c66b-67aa-4c91-bef9-8887165a08a6", + "key": "e06e9602-6ec1-44e4-b6ee-192cd5597aaf", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4423,7 +4425,7 @@ }, { "commandType": "aspirate", - "key": "cd0a813d-8943-4799-bbc3-8ff66c036f65", + "key": "2b552829-1350-47ff-8f33-e6a2705b08cc", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4438,7 +4440,7 @@ }, { "commandType": "dispense", - "key": "90716aec-e282-4cbf-aff3-5560a10f6b1e", + "key": "69bc9bfc-b130-4594-a912-f32493df9f5c", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4453,7 +4455,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "edf9b480-7eb3-49c4-8766-ba795e8a7115", + "key": "c8553dff-22c7-47e0-b188-fe47ba20c06f", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4463,12 +4465,12 @@ }, { "commandType": "dropTipInPlace", - "key": "393f693c-9021-44a5-9f41-44fef2473da6", + "key": "e6173c85-aa29-4970-a017-e1d56173d529", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "e8ebcfa1-ab44-47fc-bf61-2195ecc037e9", + "key": "c4ac3ecf-35ae-444a-a4d9-b90b289d7020", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4477,7 +4479,7 @@ }, { "commandType": "aspirate", - "key": "c18d9596-75c4-47c9-b886-01881bc466d7", + "key": "07af8116-6872-43f4-8e6a-2acfd9ae056d", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4492,7 +4494,7 @@ }, { "commandType": "dispense", - "key": "07a1703c-cac3-4204-8d5f-2af3b784b309", + "key": "c2a1b95f-eead-476a-af6b-eaecd597c58a", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4507,7 +4509,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "da0eb4ba-8852-4789-a540-90670525bc53", + "key": "ae02c807-ad04-407b-a8bd-2536d326053a", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4517,12 +4519,12 @@ }, { "commandType": "dropTipInPlace", - "key": "79efe973-9dc8-406b-9a9d-8718df7456a0", + "key": "9ff56b91-52d2-4823-b1a7-d168b6610d39", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "d14d47cc-9b15-4fba-bd0b-14ed6252b5d8", + "key": "2ee82bb2-a652-4372-b208-79381d3a2264", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4531,7 +4533,7 @@ }, { "commandType": "aspirate", - "key": "30a0a6a6-7499-4aed-9fc6-5338fd4c7d44", + "key": "fba01fbc-0c97-448e-85c0-0163f435eec9", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4546,7 +4548,7 @@ }, { "commandType": "dispense", - "key": "944d54c3-0a8b-4932-8bc6-421be966d35e", + "key": "899aee37-aa0f-499b-8d81-87e50da36e24", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4561,7 +4563,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "63ad1220-e0fc-4972-88d1-dd245136289f", + "key": "d90d5984-3d21-464c-b92a-81a00180e27a", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4571,12 +4573,12 @@ }, { "commandType": "dropTipInPlace", - "key": "b5ed9c60-0df8-4c2d-b630-ac8a34247207", + "key": "4b7837b9-6c57-4349-9411-f5cd659fdf44", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "9f6cfe6a-c257-4863-9110-bbb461ad2fcb", + "key": "073269b2-c1ef-4568-be8a-e700e01c1fb0", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4585,7 +4587,7 @@ }, { "commandType": "aspirate", - "key": "2e0a36c3-2ed7-4622-b866-a8e203aeae2a", + "key": "7f2b602e-f8f3-481f-9bcf-a149126f6b55", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4600,7 +4602,7 @@ }, { "commandType": "dispense", - "key": "a7747373-d5d6-49f0-9d97-25038acf1444", + "key": "0fe0f127-2b1c-4d2d-ab09-d860f3cceead", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4615,7 +4617,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "c8f6434a-6f37-469e-9d68-da6b8986ff0a", + "key": "e1977b77-4bb4-4065-b4df-71a45adc0456", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4625,12 +4627,12 @@ }, { "commandType": "dropTipInPlace", - "key": "f7d1e8a1-406b-492c-8790-60822745a861", + "key": "bfe36534-d079-4187-a2a5-9438bcd9c33f", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "2a3a4014-3564-404c-9c8e-b8eca070b4cf", + "key": "07a11b3e-ed6f-4ba3-8c0a-470b956cf7e0", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4639,7 +4641,7 @@ }, { "commandType": "aspirate", - "key": "d22f1918-7e2b-4048-9dde-5c2667d3177b", + "key": "e5b0fda2-844a-4edb-b91b-3c41936dac98", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4654,7 +4656,7 @@ }, { "commandType": "dispense", - "key": "0bfa72a6-c216-4a8d-aa03-3e318a1ac4f1", + "key": "571ad2e1-63a6-40d6-8a3b-f1750059ae7f", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4669,7 +4671,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "b5228eca-74c0-4336-8905-f270742014d2", + "key": "0b034b3e-45c4-4cb9-b820-357f3e230e55", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4679,12 +4681,12 @@ }, { "commandType": "dropTipInPlace", - "key": "49bb2ab9-7a30-439e-b5c7-50cd7b085f76", + "key": "2da8c88c-d811-4b24-a8c3-483fbb746ecf", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "462d1a08-c3c8-4bcb-be21-64fc59160a12", + "key": "751d9a11-3483-4b6f-bb41-7599943010ad", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4693,7 +4695,7 @@ }, { "commandType": "aspirate", - "key": "f38fb05c-8554-4f06-ae13-5296ce97f7df", + "key": "69b99917-3f64-40ea-b8b6-8c151a50138b", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4708,7 +4710,7 @@ }, { "commandType": "dispense", - "key": "2a02466b-3f7a-43ca-bf1e-8a737db30822", + "key": "7cf6c2ab-0fae-4ecb-8170-f88aaa06a661", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4723,7 +4725,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "ba7d2aad-470f-477b-9bff-c31ca1722686", + "key": "d6841291-2f66-444c-9075-479264b99da2", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4733,12 +4735,12 @@ }, { "commandType": "dropTipInPlace", - "key": "80dde7d3-6af3-4c81-90e7-5907015cc714", + "key": "a31c0031-274d-4b0d-9a1e-5798c30ec56a", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "8f5d140b-a2fe-40a5-b789-17279666f401", + "key": "a79d29d3-2c41-4c92-8c6a-d326490796c1", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4747,7 +4749,7 @@ }, { "commandType": "aspirate", - "key": "370b0d86-e5bc-4f6c-a47f-6212f2bcbee1", + "key": "c1d0c16c-ac57-458b-9684-28a980d2bfb8", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4762,7 +4764,7 @@ }, { "commandType": "dispense", - "key": "7811759e-ad05-429a-b7cb-89365fb0e5fa", + "key": "b3bfc4e3-cc87-4d0a-bf93-e011e94f1faa", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4777,7 +4779,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "d5cac3b5-8e2c-4b1f-ad42-bac90972bd06", + "key": "562b921d-47ef-410f-a6e9-89ca3de47781", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4787,12 +4789,12 @@ }, { "commandType": "dropTipInPlace", - "key": "b60fdbea-f73d-4ad6-a396-b9c39e41681b", + "key": "0a571744-aab1-4e5f-8714-4ef214eed2b4", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "9c512ff3-31b8-4e2f-92a3-bebb9fbdf449", + "key": "76f26d7f-424a-47d7-b58b-25da0153e99e", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4801,7 +4803,7 @@ }, { "commandType": "aspirate", - "key": "ac6afee2-95f8-4b14-90bb-00ea6e5cb9aa", + "key": "2ee21344-b3c9-4a1c-8d16-ba87685c941d", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4816,7 +4818,7 @@ }, { "commandType": "dispense", - "key": "468fab39-9a90-4b08-9a91-ccf0f8080a7c", + "key": "0aa240d7-4f11-4e27-b267-b2293756ccd9", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "volume": 50, @@ -4831,7 +4833,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "16e076a7-9850-4ed9-9b10-31079a7cec7e", + "key": "7ce94c87-441f-4b94-b130-2ac389df6173", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe", "addressableAreaName": "movableTrashA3", @@ -4841,12 +4843,12 @@ }, { "commandType": "dropTipInPlace", - "key": "d85b048b-02ff-47ec-abf8-eea59905d6bc", + "key": "3d97c296-3db4-4aeb-a90a-d606b403b06f", "params": { "pipetteId": "2e7c6344-58ab-465c-b542-489883cb63fe" } }, { "commandType": "pickUpTip", - "key": "2c7aaef7-a6ec-4a82-9f6c-70232c99062a", + "key": "8f82c107-45a2-4a38-84fc-66f0271d2801", "params": { "pipetteId": "6d1e53c3-2db3-451b-ad60-3fe13781a193", "labwareId": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", @@ -4855,7 +4857,7 @@ }, { "commandType": "configureForVolume", - "key": "61eb227a-2372-41cf-aeed-e3fa3fd38b66", + "key": "756cc4d4-1166-43e6-973e-e36da881b3b8", "params": { "pipetteId": "6d1e53c3-2db3-451b-ad60-3fe13781a193", "volume": 10 @@ -4863,7 +4865,7 @@ }, { "commandType": "aspirate", - "key": "a6140727-c21f-4282-bc9a-b5145937643f", + "key": "11e401a4-f3f9-4140-8440-b9720b25e64b", "params": { "pipetteId": "6d1e53c3-2db3-451b-ad60-3fe13781a193", "volume": 10, @@ -4878,7 +4880,7 @@ }, { "commandType": "dispense", - "key": "81d7b5c4-2482-4f69-a470-3668e423c679", + "key": "d203a431-0e58-4eae-a58a-1867345d2097", "params": { "pipetteId": "6d1e53c3-2db3-451b-ad60-3fe13781a193", "volume": 10, @@ -4893,7 +4895,7 @@ }, { "commandType": "aspirate", - "key": "ee15c250-d1fd-403f-9ef6-6a3cc2be4676", + "key": "47cd47b9-0e5e-4cfb-8a34-04e38972042f", "params": { "pipetteId": "6d1e53c3-2db3-451b-ad60-3fe13781a193", "volume": 10, @@ -4908,7 +4910,7 @@ }, { "commandType": "dispense", - "key": "1cf3a88d-03bd-4a3d-bf14-94691c277bde", + "key": "8c82d2df-c0b3-4e83-84b7-c49c5a679d7a", "params": { "pipetteId": "6d1e53c3-2db3-451b-ad60-3fe13781a193", "volume": 10, @@ -4923,7 +4925,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "d323a933-4ba8-4b24-a1fa-8616b75a2acb", + "key": "87891819-4db8-485f-ac1c-2cb8dfa8da58", "params": { "pipetteId": "6d1e53c3-2db3-451b-ad60-3fe13781a193", "addressableAreaName": "movableTrashA3", @@ -4933,12 +4935,12 @@ }, { "commandType": "dropTipInPlace", - "key": "0428fbf2-4a65-40db-ac59-e92f8a060772", + "key": "c8b87235-132f-4c2b-8d4e-b09292e6bbeb", "params": { "pipetteId": "6d1e53c3-2db3-451b-ad60-3fe13781a193" } }, { "commandType": "moveLabware", - "key": "00daa040-08a8-4985-9d6b-4d32e9d97401", + "key": "70be0944-8068-4d60-aa0f-9d157c6419a5", "params": { "labwareId": "fcba73e7-b88e-438e-963e-f8b9a5de0983:opentrons/nest_96_wellplate_100ul_pcr_full_skirt/2", "strategy": "usingGripper", @@ -4947,12 +4949,12 @@ }, { "commandType": "waitForDuration", - "key": "2552e97d-4fcf-45c7-a88c-c272dc6143d9", + "key": "fef747ed-386a-4b20-9cf1-e37c46181425", "params": { "seconds": 60, "message": "" } }, { "commandType": "moveLabware", - "key": "b78b90be-5d24-4628-9488-d3c1b4d2ab50", + "key": "e837119a-5b27-46f1-b451-212a7df67b07", "params": { "labwareId": "fcba73e7-b88e-438e-963e-f8b9a5de0983:opentrons/nest_96_wellplate_100ul_pcr_full_skirt/2", "strategy": "usingGripper", @@ -4961,21 +4963,21 @@ }, { "commandType": "heaterShaker/closeLabwareLatch", - "key": "94bde363-df4a-467b-bd6b-d7fa6ff17124", + "key": "8b4b0719-bc42-4ed4-8ce0-a7a7cedf66ea", "params": { "moduleId": "c19dffa3-cb34-4702-bcf6-dcea786257d1:heaterShakerModuleType" } }, { "commandType": "heaterShaker/deactivateHeater", - "key": "62598859-38b6-4d90-a680-b19f9878cadf", + "key": "3b7b0570-3a7a-4e33-9bad-b059fe89c1a1", "params": { "moduleId": "c19dffa3-cb34-4702-bcf6-dcea786257d1:heaterShakerModuleType" } }, { "commandType": "heaterShaker/setAndWaitForShakeSpeed", - "key": "30761114-6005-4449-bc9e-5f5ceb272eff", + "key": "2f7bcf2d-638d-4dcc-8024-56d5ecaf2295", "params": { "moduleId": "c19dffa3-cb34-4702-bcf6-dcea786257d1:heaterShakerModuleType", "rpm": 500 @@ -4983,28 +4985,28 @@ }, { "commandType": "heaterShaker/deactivateHeater", - "key": "79382671-fa28-4897-9cd7-ef1e2ffa4b8c", + "key": "8949fdba-7c3e-4f80-a875-196c32f509a6", "params": { "moduleId": "c19dffa3-cb34-4702-bcf6-dcea786257d1:heaterShakerModuleType" } }, { "commandType": "heaterShaker/deactivateShaker", - "key": "9ab194ad-d4b3-458b-88b8-e4f3d46cded0", + "key": "9fed3869-0f75-4283-b074-9b6d9024f265", "params": { "moduleId": "c19dffa3-cb34-4702-bcf6-dcea786257d1:heaterShakerModuleType" } }, { "commandType": "heaterShaker/openLabwareLatch", - "key": "79bb839c-d30d-481d-b2b8-3e56ec65fe43", + "key": "9d2c8737-d1e2-4536-8c62-438680f796d2", "params": { "moduleId": "c19dffa3-cb34-4702-bcf6-dcea786257d1:heaterShakerModuleType" } }, { "commandType": "moveLabware", - "key": "cb594255-8ae1-4c5f-a416-0b370799976f", + "key": "8135e5e6-0d7a-4671-948a-4820a609c7ff", "params": { "labwareId": "a793a135-06aa-4ed6-a1d3-c176c7810afa:opentrons/opentrons_24_aluminumblock_nest_1.5ml_snapcap/1", "strategy": "manualMoveWithPause", @@ -5013,14 +5015,14 @@ }, { "commandType": "temperatureModule/deactivate", - "key": "0867192a-84b8-49f9-bace-8e84b9da9055", + "key": "b71aa9a8-2433-4896-936d-ab813c8018df", "params": { "moduleId": "ef44ad7f-0fd9-46d6-8bc0-c70785644cc8:temperatureModuleType" } }, { "commandType": "moveLabware", - "key": "cd47db8e-00c2-44e3-8209-337221a02f75", + "key": "e896fc7d-b93e-4507-84bf-5af3d69ce722", "params": { "labwareId": "239ceac8-23ec-4900-810a-70aeef880273:opentrons/nest_96_wellplate_200ul_flat/2", "strategy": "manualMoveWithPause", diff --git a/protocol-designer/fixtures/protocol/8/doItAllV8.json b/protocol-designer/fixtures/protocol/8/doItAllV8.json index 7f6e678b396..f150fe67056 100644 --- a/protocol-designer/fixtures/protocol/8/doItAllV8.json +++ b/protocol-designer/fixtures/protocol/8/doItAllV8.json @@ -6,7 +6,7 @@ "author": "", "description": "", "created": 1701659107408, - "lastModified": 1713443592769, + "lastModified": 1714570438503, "category": null, "subcategory": null, "tags": [] @@ -15,7 +15,7 @@ "name": "opentrons/protocol-designer", "version": "8.1.0", "data": { - "_internalAppBuildDate": "Thu, 18 Apr 2024 12:32:56 GMT", + "_internalAppBuildDate": "Wed, 01 May 2024 13:32:34 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, "dispense_mmFromBottom": 0.5, @@ -159,6 +159,7 @@ "aspirate_x_position": 0, "aspirate_y_position": 0, "blowout_z_offset": 0, + "blowout_flowRate": null, "id": "d2f74144-a7bf-4ba2-aaab-30d70b2b62c7", "stepType": "moveLiquid", "stepName": "transfer", @@ -3426,7 +3427,7 @@ "commandSchemaId": "opentronsCommandSchemaV8", "commands": [ { - "key": "40f32b29-7920-4902-8dce-c45a822b9607", + "key": "a1b95079-5b17-428d-b40c-a8236a9890c5", "commandType": "loadPipette", "params": { "pipetteName": "p1000_single_flex", @@ -3435,7 +3436,7 @@ } }, { - "key": "356c37ae-a4b4-4557-b865-79361f86be1e", + "key": "6f1e3ad3-8f03-4583-8031-be6be2fcd903", "commandType": "loadModule", "params": { "model": "heaterShakerModuleV1", @@ -3444,7 +3445,7 @@ } }, { - "key": "79c058f0-8637-455f-88d2-38c29f542b69", + "key": "4997a543-7788-434f-8eae-1c4aa3a2a805", "commandType": "loadModule", "params": { "model": "thermocyclerModuleV2", @@ -3453,7 +3454,7 @@ } }, { - "key": "5a3a1223-c085-4e04-9e07-1984a6c15f1b", + "key": "8bfb6d48-4d08-4ea0-8ce7-f8efe90e202c", "commandType": "loadLabware", "params": { "displayName": "Opentrons 96 PCR Heater-Shaker Adapter", @@ -3467,7 +3468,7 @@ } }, { - "key": "01049981-be49-4bc2-9df2-5a6610e1de60", + "key": "988395e3-9b85-4bb0-89a4-3afc1d7330fd", "commandType": "loadLabware", "params": { "displayName": "Opentrons Flex 96 Tip Rack 1000 µL", @@ -3479,7 +3480,7 @@ } }, { - "key": "a32901d5-39f8-427a-a8e1-48e314ae654a", + "key": "0d60425e-5a6f-4205-ac59-d38a080f2e92", "commandType": "loadLabware", "params": { "displayName": "Opentrons Tough 96 Well Plate 200 µL PCR Full Skirt", @@ -3493,7 +3494,7 @@ } }, { - "key": "17f7f181-5359-416b-9a35-040424a7a367", + "key": "eba272e9-3eed-46bb-91aa-d1aee8da58da", "commandType": "loadLabware", "params": { "displayName": "Axygen 1 Well Reservoir 90 mL", @@ -3506,7 +3507,7 @@ }, { "commandType": "loadLiquid", - "key": "1dac398a-24dc-497a-8165-e8c601130c59", + "key": "45d432f8-581b-4272-9813-e73b9168a0ad", "params": { "liquidId": "1", "labwareId": "54370838-4fca-4a14-b88a-7840e4903649:opentrons/opentrons_96_wellplate_200ul_pcr_full_skirt/2", @@ -3524,7 +3525,7 @@ }, { "commandType": "loadLiquid", - "key": "697cdc45-2de6-4573-b758-899fb5433559", + "key": "7ec93f2a-3d22-4d30-b37a-e9f0d41a1847", "params": { "liquidId": "0", "labwareId": "8bacda22-9e05-45e8-bef4-cc04414a204f:opentrons/axygen_1_reservoir_90ml/1", @@ -3533,14 +3534,14 @@ }, { "commandType": "thermocycler/openLid", - "key": "52e4683b-1a0f-4ff6-bf5e-7426f156e29b", + "key": "ba1731c6-2906-4987-b948-ea1931ad3e64", "params": { "moduleId": "fd6da9f1-d63b-414b-929e-c646b64790e9:thermocyclerModuleType" } }, { "commandType": "moveLabware", - "key": "df2967a1-e0ce-4f8b-9d21-6127232a812f", + "key": "134cdae8-8ba1-45e4-98d7-cb931358eb01", "params": { "labwareId": "8bacda22-9e05-45e8-bef4-cc04414a204f:opentrons/axygen_1_reservoir_90ml/1", "strategy": "usingGripper", @@ -3549,7 +3550,7 @@ }, { "commandType": "pickUpTip", - "key": "ba9b0d63-e3ae-4440-a038-6aecd96ac436", + "key": "6a5f30cc-8bea-4899-b058-7bf2095efe86", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "labwareId": "f2d371ea-5146-4c89-8200-9c056a7f321a:opentrons/opentrons_flex_96_tiprack_1000ul/1", @@ -3558,7 +3559,7 @@ }, { "commandType": "aspirate", - "key": "c0d9580a-1db4-4510-bbfc-0095bff9b60a", + "key": "71fc15e9-ad19-4c77-a32f-abba4ea5e6f9", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3573,7 +3574,7 @@ }, { "commandType": "dispense", - "key": "5bcd0ac0-8a0f-444b-b15f-2f019ab0ab80", + "key": "a94a08b1-ed23-4c91-a853-27192da2aa70", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3588,7 +3589,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "47188996-9652-4201-bf4c-623e4eb5b5f4", + "key": "9f8c952b-88e2-4a6d-b6a2-e943f9b032e0", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "addressableAreaName": "1ChannelWasteChute", @@ -3597,12 +3598,12 @@ }, { "commandType": "dropTipInPlace", - "key": "6c8f7a15-e98a-4625-a923-1742758d53b8", + "key": "734f7c4e-be2c-4a45-ae26-d81fb6b58729", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc" } }, { "commandType": "pickUpTip", - "key": "2955ab48-ca0c-4282-b836-afd41fc22314", + "key": "e3f54bb0-ef58-4e56-ad44-1dc944d2ebd8", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "labwareId": "f2d371ea-5146-4c89-8200-9c056a7f321a:opentrons/opentrons_flex_96_tiprack_1000ul/1", @@ -3611,7 +3612,7 @@ }, { "commandType": "aspirate", - "key": "e0cc1dd8-e249-4816-9f3a-70b594868ec8", + "key": "d5dee037-06a2-4f63-a5dd-08f285db802f", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3626,7 +3627,7 @@ }, { "commandType": "dispense", - "key": "cd3df764-af5c-4ca9-b10b-aea5eddef555", + "key": "db77cb48-9d63-4eb9-bac9-82c7137c7940", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3641,7 +3642,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "31c749fd-fbbc-4afe-a9d4-ff52bb52b405", + "key": "c4a205b9-6a31-4993-a7dd-de84e3c40fab", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "addressableAreaName": "1ChannelWasteChute", @@ -3650,12 +3651,12 @@ }, { "commandType": "dropTipInPlace", - "key": "923ea88b-4af9-4564-8bcd-6bd242d9ca1d", + "key": "c1a58bc4-c922-4989-8259-3a011cb6548e", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc" } }, { "commandType": "pickUpTip", - "key": "44655fc6-6a51-45b5-ab9c-4536da6db5a6", + "key": "4660a8b7-c24f-4cbd-b5f7-0fff091af818", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "labwareId": "f2d371ea-5146-4c89-8200-9c056a7f321a:opentrons/opentrons_flex_96_tiprack_1000ul/1", @@ -3664,7 +3665,7 @@ }, { "commandType": "aspirate", - "key": "d630c56e-fcdf-4bdf-a3fd-3cb61610f58a", + "key": "9ac1cb1d-2876-4816-87bc-bcbeb3d0cc45", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3679,7 +3680,7 @@ }, { "commandType": "dispense", - "key": "e82f1cc1-5f3f-44d2-b14f-ab2e59081caa", + "key": "1e8856de-95c7-483f-bf9a-a8a08dbd51b5", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3694,7 +3695,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "cd82948c-82d6-4edf-a775-ee091776f3ab", + "key": "df45d90b-b122-4a73-8166-7c36cb4b1739", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "addressableAreaName": "1ChannelWasteChute", @@ -3703,12 +3704,12 @@ }, { "commandType": "dropTipInPlace", - "key": "2ebf1172-81c0-4971-9b3e-50e7d17ca4d2", + "key": "893249ff-853b-4294-bd2c-12da0e5cb8af", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc" } }, { "commandType": "pickUpTip", - "key": "3d6d1437-5919-4d0e-aa3e-df63df6528b0", + "key": "2e4913f4-1f2e-4039-964b-ca6f8905e551", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "labwareId": "f2d371ea-5146-4c89-8200-9c056a7f321a:opentrons/opentrons_flex_96_tiprack_1000ul/1", @@ -3717,7 +3718,7 @@ }, { "commandType": "aspirate", - "key": "80285a48-65ae-4eae-a5bd-f24d9bd60ce8", + "key": "bd2ac396-b44d-41a8-b050-ff8ab4a25575", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3732,7 +3733,7 @@ }, { "commandType": "dispense", - "key": "9cb9f1e9-a51a-4dd1-84c3-cb028937e9c2", + "key": "df68ab20-61c0-4077-bf0e-b1ef2997251a", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3747,7 +3748,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "158a777d-091a-43d3-a37e-e3afd41f5227", + "key": "4b7f1a58-2bf5-45e8-a312-e165130f208c", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "addressableAreaName": "1ChannelWasteChute", @@ -3756,12 +3757,12 @@ }, { "commandType": "dropTipInPlace", - "key": "290cdc32-1458-4c68-895a-8940881aa76f", + "key": "2fc06e3a-f20d-47b9-ac7f-0a062b45beeb", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc" } }, { "commandType": "pickUpTip", - "key": "5597bb4a-7a24-455e-9970-b3cae41cf26e", + "key": "9b4955da-0d09-40da-83b2-6c398dcf5e6e", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "labwareId": "f2d371ea-5146-4c89-8200-9c056a7f321a:opentrons/opentrons_flex_96_tiprack_1000ul/1", @@ -3770,7 +3771,7 @@ }, { "commandType": "aspirate", - "key": "004d4dc5-9898-4585-8e14-c6191be0ea36", + "key": "05a4a082-6381-4107-bb26-0e64351d3263", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3785,7 +3786,7 @@ }, { "commandType": "dispense", - "key": "0412d0ae-18de-439e-bcc5-3e7b511fc425", + "key": "a494e205-1cf5-4718-b5f0-43fe74c962bc", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3800,7 +3801,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "f45fa8af-a371-4ff8-a887-51b1f7e6e6eb", + "key": "e4cf4c42-d1c3-40e7-9848-3e02e01250a8", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "addressableAreaName": "1ChannelWasteChute", @@ -3809,12 +3810,12 @@ }, { "commandType": "dropTipInPlace", - "key": "3b0b8782-22fc-4b47-970f-8f614c824e7b", + "key": "397d6c15-97ae-4ab5-a2dc-e0fe75562d17", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc" } }, { "commandType": "pickUpTip", - "key": "b3e52771-08e8-4e26-89ad-7e05bc78f7a0", + "key": "86178307-33f6-4902-9207-51fc704d579c", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "labwareId": "f2d371ea-5146-4c89-8200-9c056a7f321a:opentrons/opentrons_flex_96_tiprack_1000ul/1", @@ -3823,7 +3824,7 @@ }, { "commandType": "aspirate", - "key": "91a103c5-218d-4ff1-ba08-e64abfd4a6dc", + "key": "f2964ad3-9dac-4566-b636-afb59de61116", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3838,7 +3839,7 @@ }, { "commandType": "dispense", - "key": "ead8edb2-de34-44d8-93ee-e6c5f8f3a79b", + "key": "68c9104b-3796-4ca1-9bc5-22afec8024d9", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3853,7 +3854,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "6fac362d-9b2f-4ee3-809b-6acdd5c97429", + "key": "9a10a801-1aaa-4238-89a9-c256f09deea0", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "addressableAreaName": "1ChannelWasteChute", @@ -3862,12 +3863,12 @@ }, { "commandType": "dropTipInPlace", - "key": "78c79e71-f751-4435-95c0-e32e4d603d16", + "key": "73d1b9c9-4c1f-40a2-8932-7f0110da78dc", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc" } }, { "commandType": "pickUpTip", - "key": "5751ccf4-4d6b-4330-8333-0b4638512921", + "key": "5818e249-0b61-4f76-af80-c835a4ad0033", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "labwareId": "f2d371ea-5146-4c89-8200-9c056a7f321a:opentrons/opentrons_flex_96_tiprack_1000ul/1", @@ -3876,7 +3877,7 @@ }, { "commandType": "aspirate", - "key": "01253366-2da9-40df-abd1-c836dd13f8ef", + "key": "38df8344-789d-4490-bd8a-cbe9121b2692", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3891,7 +3892,7 @@ }, { "commandType": "dispense", - "key": "85471a92-721f-4a5b-a7ed-8c48e30515d9", + "key": "13593038-b554-447e-9963-0f3666ccd11a", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3906,7 +3907,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "ec1821ce-f6f7-4088-8cea-55b5c1388e00", + "key": "361985e0-7e23-4651-b0ed-5277cb5f1bec", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "addressableAreaName": "1ChannelWasteChute", @@ -3915,12 +3916,12 @@ }, { "commandType": "dropTipInPlace", - "key": "e52e528a-e7e4-4bea-a506-be1d4919b08a", + "key": "0d1c0aa2-d5f6-45d9-9341-bc623c07f366", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc" } }, { "commandType": "pickUpTip", - "key": "06200920-ed5b-4b04-8891-64797633ff60", + "key": "ef384b08-03fd-4ec1-8ea9-f7741ac9050e", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "labwareId": "f2d371ea-5146-4c89-8200-9c056a7f321a:opentrons/opentrons_flex_96_tiprack_1000ul/1", @@ -3929,7 +3930,7 @@ }, { "commandType": "aspirate", - "key": "989a4e77-f23d-4644-926e-6bf14dcd4830", + "key": "29bcc74a-cbba-4d19-9150-889378a34530", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3944,7 +3945,7 @@ }, { "commandType": "dispense", - "key": "b134f05e-ebc3-4afd-b82c-1593c713a095", + "key": "e1f51c21-1522-4538-af60-b97dc37d7b9a", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "volume": 100, @@ -3959,7 +3960,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "893eabc9-96b2-44d6-966f-15c4b0945de0", + "key": "93516cec-406e-41e8-8c4c-9b2b145509f7", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc", "addressableAreaName": "1ChannelWasteChute", @@ -3968,19 +3969,19 @@ }, { "commandType": "dropTipInPlace", - "key": "29f2661e-ad07-4bc6-a148-8f7b8570d0e4", + "key": "d9a0a1d2-f813-488e-a28a-daae69cbc072", "params": { "pipetteId": "9fcd50d9-92b2-45ac-acf1-e2cf773feffc" } }, { "commandType": "thermocycler/closeLid", - "key": "7001c990-372b-448a-92c3-d5c88824788f", + "key": "6c34d1f1-bfeb-46d9-9669-c9b71732b6ab", "params": { "moduleId": "fd6da9f1-d63b-414b-929e-c646b64790e9:thermocyclerModuleType" } }, { "commandType": "thermocycler/setTargetBlockTemperature", - "key": "529ec9ae-b2c9-48b2-9cc0-dbc8acfdecac", + "key": "5ec65b6a-2b1c-4f8c-961f-c6e0ee700b49", "params": { "moduleId": "fd6da9f1-d63b-414b-929e-c646b64790e9:thermocyclerModuleType", "celsius": 40 @@ -3988,47 +3989,47 @@ }, { "commandType": "thermocycler/waitForBlockTemperature", - "key": "4c8d1f54-9af8-45fb-8559-86b7e617f2b8", + "key": "9f90e933-131f-44eb-ab12-efb152c9cb83", "params": { "moduleId": "fd6da9f1-d63b-414b-929e-c646b64790e9:thermocyclerModuleType" } }, { "commandType": "waitForDuration", - "key": "53066ac3-308e-4260-8cc2-d0e1d5f366f3", + "key": "f580c50f-08bb-42c4-b4a2-2764ed2fc090", "params": { "seconds": 60, "message": "" } }, { "commandType": "thermocycler/openLid", - "key": "76bf61d3-6a46-45db-acf6-52c4ca845bf9", + "key": "f739bfc8-f438-4fa2-8d57-dc839ac29f24", "params": { "moduleId": "fd6da9f1-d63b-414b-929e-c646b64790e9:thermocyclerModuleType" } }, { "commandType": "thermocycler/deactivateBlock", - "key": "0bbee337-af9e-43da-aef9-f28b075bbfd2", + "key": "4561d98c-b565-48db-a7af-6bcd31520340", "params": { "moduleId": "fd6da9f1-d63b-414b-929e-c646b64790e9:thermocyclerModuleType" } }, { "commandType": "heaterShaker/deactivateHeater", - "key": "a650851d-fc87-43e2-90ae-91613d662ce0", + "key": "79dd17bf-f86a-4fe9-990a-e4e567798c87", "params": { "moduleId": "23347241-80bb-4a7e-9c91-5d9727a9e483:heaterShakerModuleType" } }, { "commandType": "heaterShaker/openLabwareLatch", - "key": "2b82eec2-4419-4b5d-b25c-57a37d407033", + "key": "995a2630-7a9c-4b70-aef8-ddccb7ce26ce", "params": { "moduleId": "23347241-80bb-4a7e-9c91-5d9727a9e483:heaterShakerModuleType" } }, { "commandType": "moveLabware", - "key": "07a2f986-11e4-4316-b139-50bda41c7fed", + "key": "9d1035a4-617f-4fcc-a7a3-1b7a8c52b4c6", "params": { "labwareId": "54370838-4fca-4a14-b88a-7840e4903649:opentrons/opentrons_96_wellplate_200ul_pcr_full_skirt/2", "strategy": "usingGripper", @@ -4039,21 +4040,21 @@ }, { "commandType": "heaterShaker/closeLabwareLatch", - "key": "3ab6549d-25a0-4ba5-b8d8-748560cbf3b9", + "key": "a244eacc-4cbc-48af-b54a-6c08cd534a51", "params": { "moduleId": "23347241-80bb-4a7e-9c91-5d9727a9e483:heaterShakerModuleType" } }, { "commandType": "heaterShaker/deactivateHeater", - "key": "468a12a1-4f36-40e5-a799-3d23b3888f01", + "key": "a6970f26-4800-4949-8592-d977df547d8b", "params": { "moduleId": "23347241-80bb-4a7e-9c91-5d9727a9e483:heaterShakerModuleType" } }, { "commandType": "heaterShaker/setAndWaitForShakeSpeed", - "key": "d3593c08-0f8d-4424-99a5-bcdeed25a335", + "key": "ef808dac-1e14-47a1-843d-ce4ce63bdfce", "params": { "moduleId": "23347241-80bb-4a7e-9c91-5d9727a9e483:heaterShakerModuleType", "rpm": 200 @@ -4061,40 +4062,40 @@ }, { "commandType": "waitForDuration", - "key": "e5e5d847-700b-4777-bca2-d58a2b970dd8", + "key": "5b47f11e-0755-47d2-b844-f1363e28a54e", "params": { "seconds": 60 } }, { "commandType": "heaterShaker/deactivateShaker", - "key": "f5dad8a0-f55f-4bcb-9283-2c53a4bb766a", + "key": "614ec8d0-8abf-4aa4-b771-23ff2bde2881", "params": { "moduleId": "23347241-80bb-4a7e-9c91-5d9727a9e483:heaterShakerModuleType" } }, { "commandType": "heaterShaker/deactivateHeater", - "key": "9053dc6d-b840-4e37-9a99-b0dd48dcebe6", + "key": "dbbe307e-d361-4cb9-afe7-afeab944bfce", "params": { "moduleId": "23347241-80bb-4a7e-9c91-5d9727a9e483:heaterShakerModuleType" } }, { "commandType": "heaterShaker/deactivateHeater", - "key": "d2e3759b-d4eb-4581-ab71-383a2c9fcb9b", + "key": "62f98610-cbff-4acb-ba36-a3fbb9527ba9", "params": { "moduleId": "23347241-80bb-4a7e-9c91-5d9727a9e483:heaterShakerModuleType" } }, { "commandType": "heaterShaker/openLabwareLatch", - "key": "769b1ef1-c018-40df-b20c-96b9d1a6f966", + "key": "81cfeab1-175f-4501-8732-1ea1bc9b528b", "params": { "moduleId": "23347241-80bb-4a7e-9c91-5d9727a9e483:heaterShakerModuleType" } }, { "commandType": "moveLabware", - "key": "80578ae1-16b6-47d1-b6a0-c8bb30e00ce1", + "key": "279df4d0-2c87-4f01-b016-5c42d5edce96", "params": { "labwareId": "54370838-4fca-4a14-b88a-7840e4903649:opentrons/opentrons_96_wellplate_200ul_pcr_full_skirt/2", "strategy": "usingGripper", @@ -4103,7 +4104,7 @@ }, { "commandType": "moveLabware", - "key": "a26e3b9c-79d4-4bea-895f-48d95bea70fc", + "key": "f88f41dc-ddf9-4242-9ba4-21bd728ca25f", "params": { "labwareId": "f2d371ea-5146-4c89-8200-9c056a7f321a:opentrons/opentrons_flex_96_tiprack_1000ul/1", "strategy": "usingGripper", diff --git a/protocol-designer/fixtures/protocol/8/example_1_1_0MigratedToV8.json b/protocol-designer/fixtures/protocol/8/example_1_1_0MigratedToV8.json index 56b9885aea9..4648464bc77 100644 --- a/protocol-designer/fixtures/protocol/8/example_1_1_0MigratedToV8.json +++ b/protocol-designer/fixtures/protocol/8/example_1_1_0MigratedToV8.json @@ -6,7 +6,7 @@ "author": "Author name", "description": "Description here", "created": 1560957631666, - "lastModified": 1711902162091, + "lastModified": 1714570455185, "category": null, "subcategory": null, "tags": [] @@ -15,7 +15,7 @@ "name": "opentrons/protocol-designer", "version": "8.1.0", "data": { - "_internalAppBuildDate": "Sun, 31 Mar 2024 16:22:18 GMT", + "_internalAppBuildDate": "Wed, 01 May 2024 13:32:34 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, "dispense_mmFromBottom": 0.5, @@ -114,7 +114,6 @@ "disposalVolume_checkbox": true, "disposalVolume_volume": "1", "blowout_checkbox": true, - "blowout_z_offset": 0, "blowout_location": "9b1c0d01-9d4f-4016-afe6-9e08b46acf5e:trashBin", "preWetTip": false, "aspirate_airGap_checkbox": false, @@ -133,6 +132,8 @@ "dispense_y_position": 0, "aspirate_x_position": 0, "aspirate_y_position": 0, + "blowout_z_offset": 0, + "blowout_flowRate": 1000, "id": "e7d36200-92a5-11e9-ac62-1b173f839d9e", "stepType": "moveLiquid", "stepName": "transfer things", @@ -144,7 +145,6 @@ "labware": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", "mix_wellOrder_first": "t2b", "mix_wellOrder_second": "l2r", - "blowout_z_offset": 0, "blowout_checkbox": true, "blowout_location": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", "mix_mmFromBottom": 0.5, @@ -164,6 +164,8 @@ "tipRack": "c6f4ec70-92a5-11e9-ac62-1b173f839d9e:tiprack-10ul", "mix_x_position": 0, "mix_y_position": 0, + "blowout_z_offset": 0, + "blowout_flowRate": 1000, "id": "18113c80-92a6-11e9-ac62-1b173f839d9e", "stepType": "mix", "stepName": "mix", @@ -3344,7 +3346,7 @@ "commandSchemaId": "opentronsCommandSchemaV8", "commands": [ { - "key": "818878e2-9a2b-498e-be2d-1d317f6f7af8", + "key": "f6753216-417b-49fa-88cc-e359adae26f6", "commandType": "loadPipette", "params": { "pipetteName": "p10_single", @@ -3353,7 +3355,7 @@ } }, { - "key": "1ae8e180-58c4-4970-b372-9a8f1869f297", + "key": "aeec3001-087f-4074-b098-9dfdb465e008", "commandType": "loadPipette", "params": { "pipetteName": "p50_single", @@ -3362,7 +3364,7 @@ } }, { - "key": "ce9f8375-8577-4062-a9ff-12bc33d3bec5", + "key": "c540d35e-88e1-49da-aa90-5f9cbcd9068f", "commandType": "loadLabware", "params": { "displayName": "tiprack 10ul (1)", @@ -3374,7 +3376,7 @@ } }, { - "key": "8f2f7622-476b-40ff-b692-768a69158aa2", + "key": "827e73cf-2870-43d6-aa0b-5ac87d8996c4", "commandType": "loadLabware", "params": { "displayName": "tiprack 200ul (1)", @@ -3386,7 +3388,7 @@ } }, { - "key": "6802ec5e-204e-4a63-87a9-c6066788e537", + "key": "c519abb5-64ae-4068-bcb7-198e29e865e0", "commandType": "loadLabware", "params": { "displayName": "96 deep well (1)", @@ -3399,7 +3401,7 @@ }, { "commandType": "loadLiquid", - "key": "c63af547-a330-4e04-96ea-f04ef3c93ca1", + "key": "ae991255-3f64-47be-a541-cbe63e0ef907", "params": { "liquidId": "1", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -3408,7 +3410,7 @@ }, { "commandType": "loadLiquid", - "key": "d1af9a18-bb2f-4929-b952-7b1e21eadac8", + "key": "1b2418da-a26d-4cb3-9578-17782cf79f1b", "params": { "liquidId": "0", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -3423,7 +3425,7 @@ }, { "commandType": "pickUpTip", - "key": "24f9ab3b-48fd-42cb-8e0d-2128427459fe", + "key": "3e69c4c9-2255-4043-b548-1b9c410360aa", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "c6f4ec70-92a5-11e9-ac62-1b173f839d9e:tiprack-10ul", @@ -3432,7 +3434,7 @@ }, { "commandType": "aspirate", - "key": "426ca672-56a0-430d-bdba-23632ad728b0", + "key": "9ce167a0-b022-45cf-bc14-d3ec56381d9d", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3447,7 +3449,7 @@ }, { "commandType": "dispense", - "key": "ea2eab58-723d-462e-ae8b-d0daa9462ece", + "key": "85330ac5-e850-47d3-8089-b38866d4a2d0", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3462,7 +3464,7 @@ }, { "commandType": "aspirate", - "key": "fa061fa1-e5d5-42cf-b9dd-d4b9a6b6eabe", + "key": "1db1dfc0-62db-4d89-9de5-3d2fa230ff07", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3477,7 +3479,7 @@ }, { "commandType": "dispense", - "key": "1e21ebe5-4e6f-4bc5-8dc3-1f1aa9158ff5", + "key": "1a39e7f0-8a76-4936-ac5d-114f8c10ae91", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3492,7 +3494,7 @@ }, { "commandType": "aspirate", - "key": "7ad7bdad-84eb-42a0-b4ac-48949808a041", + "key": "496b2ad5-b4da-4259-be84-8b441d0a4b60", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3507,7 +3509,7 @@ }, { "commandType": "dispense", - "key": "dd723bb6-9eba-4ab6-bc80-03f6f6db17df", + "key": "93ab5d06-a448-45b3-a276-272edfd91873", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3522,7 +3524,7 @@ }, { "commandType": "aspirate", - "key": "eddfcde7-5497-42e7-bff4-56d2052bc552", + "key": "3d0984ed-5b02-4d38-912e-10c031b55ee0", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -3537,7 +3539,7 @@ }, { "commandType": "touchTip", - "key": "e3e8b3d6-a118-43de-9155-7d1a1da67dbd", + "key": "4d66aa3a-446e-400f-a24a-ac34accfbc3b", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -3547,7 +3549,7 @@ }, { "commandType": "dispense", - "key": "080a9a26-92ba-48ba-84ed-0a10743b7918", + "key": "d6f1e7d9-d050-46e0-9403-d7ab6ac26ffb", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -3562,7 +3564,7 @@ }, { "commandType": "aspirate", - "key": "ac6f0caf-5fe8-4d45-9659-1265fd022295", + "key": "10b51ab7-5889-447a-a992-b74734023f81", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -3577,7 +3579,7 @@ }, { "commandType": "dispense", - "key": "b9e03bec-0741-4dc9-b953-cadd7e7c40b6", + "key": "caa702df-9c41-421a-8c98-76d9d7f95889", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -3592,7 +3594,7 @@ }, { "commandType": "aspirate", - "key": "017fd13a-0e3a-4f54-94c3-8d5fc8eb4ba4", + "key": "cb96c8d0-5f14-484b-80fc-60753c2c6b14", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -3607,7 +3609,7 @@ }, { "commandType": "dispense", - "key": "7961e88d-1b9b-4615-bcbd-31320a03f81c", + "key": "a7ddff78-c39b-4fb0-9db6-cdadea58a4e2", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -3622,7 +3624,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "4d60aa9f-e59b-491a-b494-aef4b877f6fa", + "key": "80b7c947-e20f-4331-9b87-2c7bebebfa07", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -3631,7 +3633,7 @@ }, { "commandType": "blowOutInPlace", - "key": "8bf8312b-7058-430e-8344-84ed35dda280", + "key": "e26b883d-9bb2-49e2-9a26-62626eb04e04", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "flowRate": 1000 @@ -3639,7 +3641,7 @@ }, { "commandType": "touchTip", - "key": "728468cd-08a9-4811-b5a8-ce0649835d29", + "key": "87a0b1e4-f375-4dee-9597-87f8f15b8c25", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -3649,7 +3651,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "1b5e20e3-85d5-4d87-89f9-7d9568696f6d", + "key": "268d8310-7f0a-4545-a8ed-ef2fb22a3085", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -3659,12 +3661,12 @@ }, { "commandType": "dropTipInPlace", - "key": "3f520a13-6e4f-4ade-bbf8-2fdd35b875c3", + "key": "abbc727f-81d6-4b5d-8a52-cd8f966e8fbf", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e" } }, { "commandType": "pickUpTip", - "key": "4b8db7a7-609e-431a-bf9d-7cf858c4b8f7", + "key": "292c5f17-65f9-4af7-88fd-33c012df2059", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "c6f4ec70-92a5-11e9-ac62-1b173f839d9e:tiprack-10ul", @@ -3673,7 +3675,7 @@ }, { "commandType": "aspirate", - "key": "0355948e-57ca-4572-baa5-7a64b7ef28cc", + "key": "1bb202e6-007b-4631-8aa0-5f5211c263fc", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3688,7 +3690,7 @@ }, { "commandType": "dispense", - "key": "193a745f-0698-4427-8d0d-d1e4fe24de24", + "key": "cdf0ab85-fdd3-41ab-89f7-5c7b696c48dd", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3703,7 +3705,7 @@ }, { "commandType": "aspirate", - "key": "8d205199-aa0a-4640-9a23-b3adcca61be2", + "key": "b8d9161d-0835-44b3-8223-73fa752a5a5a", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3718,7 +3720,7 @@ }, { "commandType": "dispense", - "key": "fe86a1bb-8c8e-4307-b06e-c92a8e231679", + "key": "33c2f20d-6d68-4b63-a812-7f40735bbaaa", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3733,7 +3735,7 @@ }, { "commandType": "aspirate", - "key": "1976e9d0-ee3f-4ca0-a039-147dd8c21399", + "key": "95d4ac3a-8094-46fc-9c30-275f37701e3f", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3748,7 +3750,7 @@ }, { "commandType": "dispense", - "key": "b75876f5-cbf6-43ae-8bb5-1b71641ccc6a", + "key": "cef01434-9fa2-48dd-8139-755a0d5f5568", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3763,7 +3765,7 @@ }, { "commandType": "aspirate", - "key": "c6ff48bc-a06c-4e5b-9172-986375d8a934", + "key": "67786140-5e0b-4290-a448-925cec83c85c", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -3778,7 +3780,7 @@ }, { "commandType": "touchTip", - "key": "7a15666d-4676-41b5-8752-26cc8a07f17e", + "key": "4f6e1cc6-67be-49ab-814d-d7534a0da726", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -3788,7 +3790,7 @@ }, { "commandType": "dispense", - "key": "ec56b383-c163-402e-9996-d4cc69a1cffd", + "key": "7b33de85-68cb-4888-8023-8be805f5a77a", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -3803,7 +3805,7 @@ }, { "commandType": "aspirate", - "key": "cabfdd05-1309-43e2-bfbd-d04bc7de85c9", + "key": "13c080bb-8e30-41c9-a237-e2591f09ee3c", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -3818,7 +3820,7 @@ }, { "commandType": "dispense", - "key": "05cb631d-9092-46e9-b802-6175fbae1e1f", + "key": "61c081de-e44b-4583-b963-89be8985723f", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -3833,7 +3835,7 @@ }, { "commandType": "aspirate", - "key": "ea50ada1-23d9-4ecf-af9d-3246930afd26", + "key": "63421ac3-10f1-4472-b813-2cce280b2ddc", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -3848,7 +3850,7 @@ }, { "commandType": "dispense", - "key": "2523b9ed-ef76-40c9-8947-18c039e50939", + "key": "56253d18-7874-44ab-83a5-bb39c3c306e8", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -3863,7 +3865,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "58c4751a-5628-4596-a171-1ac260259c28", + "key": "f7030e97-02d3-46c0-9275-d53932064855", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -3872,7 +3874,7 @@ }, { "commandType": "blowOutInPlace", - "key": "ba5016a9-cd7a-41c8-bf17-aadb64664190", + "key": "1a5179e1-6ec6-4028-9b13-32bae277e68e", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "flowRate": 1000 @@ -3880,7 +3882,7 @@ }, { "commandType": "touchTip", - "key": "1314e2d9-8d46-4663-9bf3-458a300b0add", + "key": "aa2fa938-b38e-4d92-a4c5-0123131b29a7", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -3890,7 +3892,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "8527d992-4185-4f20-99a9-864541aaa7b6", + "key": "c90e2918-1615-4d2a-b7a0-daaa013e2a42", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -3900,12 +3902,12 @@ }, { "commandType": "dropTipInPlace", - "key": "8c564bbd-34dd-44d2-ace8-995097f571b9", + "key": "220b1148-9a8f-4826-b515-6a2e87419f4c", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e" } }, { "commandType": "pickUpTip", - "key": "5377f188-8a31-4ff3-8ed3-ff5b651e467b", + "key": "001b95fd-fd21-425a-8846-432768900785", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "c6f4ec70-92a5-11e9-ac62-1b173f839d9e:tiprack-10ul", @@ -3914,7 +3916,7 @@ }, { "commandType": "aspirate", - "key": "70c291fd-f5c9-4216-9446-de8191fff376", + "key": "a1e24a66-7c37-40d8-8415-9ae9ce1107b5", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3929,7 +3931,7 @@ }, { "commandType": "dispense", - "key": "7f1299ec-8930-457d-a2d9-c18876da3769", + "key": "42b2126b-b283-469f-b3f9-dfa2b78c5958", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3944,7 +3946,7 @@ }, { "commandType": "aspirate", - "key": "d04dee6f-90a4-4b4b-89b8-05f1104431fd", + "key": "b73d2141-34cd-4cd0-828a-6640f6f75ded", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3959,7 +3961,7 @@ }, { "commandType": "dispense", - "key": "c983ed9b-783b-411a-8df2-50ef254b4deb", + "key": "ad64a163-5293-4b98-89df-28766993bf09", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3974,7 +3976,7 @@ }, { "commandType": "aspirate", - "key": "678dc318-94d9-488b-b2e3-f04ed29a2863", + "key": "b514ff83-cd73-41ee-8d08-9862e6989924", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -3989,7 +3991,7 @@ }, { "commandType": "dispense", - "key": "6aee8385-14b4-48fa-bef0-3a642d38c1cd", + "key": "0d5bba7e-ac6a-48a6-82f0-cb46cdc0d5cd", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4004,7 +4006,7 @@ }, { "commandType": "aspirate", - "key": "c9e9500e-5c89-450c-a56e-7058720a74ce", + "key": "c20937ce-e7d3-4f45-9e71-80d6c8439a08", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -4019,7 +4021,7 @@ }, { "commandType": "touchTip", - "key": "eeabdbf7-0dda-4246-859f-de8b643184c0", + "key": "ee7d026d-e7fa-4027-8ba8-8ac575ea7ead", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -4029,7 +4031,7 @@ }, { "commandType": "dispense", - "key": "60f965e4-60af-4183-99de-15c77232416d", + "key": "fe445e71-616e-42a1-ac92-3b2dd37ac7f1", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -4044,7 +4046,7 @@ }, { "commandType": "aspirate", - "key": "7a40b467-9754-4c02-ae2e-4644cb997555", + "key": "4ebe6cc3-442a-4a2c-80ba-9dee24865d15", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4059,7 +4061,7 @@ }, { "commandType": "dispense", - "key": "a24675b2-41c7-4908-97ce-6bcf04c3d149", + "key": "092fcbe7-cd36-4077-8ab4-7e7b3ee5e2d2", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4074,7 +4076,7 @@ }, { "commandType": "aspirate", - "key": "71a467a6-4c67-46e1-b829-f9a02fb6669e", + "key": "27d6abf5-7f62-441c-aab3-fb0d0d68bf3a", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4089,7 +4091,7 @@ }, { "commandType": "dispense", - "key": "b58fb6c6-17f0-44cf-add2-5ad3a99a06fe", + "key": "3acb966b-898d-43bb-a212-f23a9351fb00", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4104,7 +4106,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "b97a7e69-13c0-444b-9405-c84d8ab431bf", + "key": "10f4ee73-f68b-45c9-a2cb-e4826433e952", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -4113,7 +4115,7 @@ }, { "commandType": "blowOutInPlace", - "key": "7e767220-28ab-4b59-ae54-1df3a59ac491", + "key": "5d40f966-01f9-441e-b16f-05782f0a6921", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "flowRate": 1000 @@ -4121,7 +4123,7 @@ }, { "commandType": "touchTip", - "key": "a4329dfb-0547-498b-a132-5314bdc37453", + "key": "e79182b7-eb3d-4421-b6a5-73e3f7e9df54", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -4131,7 +4133,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "222528ae-afc3-459f-bd12-291fb6e92977", + "key": "11dd25c1-64f6-47b3-ba17-1f8d4c85b30f", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -4141,12 +4143,12 @@ }, { "commandType": "dropTipInPlace", - "key": "a2b1c413-6b6d-4db7-b39f-36e801bb67bf", + "key": "c2d99c79-fa4b-448b-ab79-c5ea22d3b5db", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e" } }, { "commandType": "pickUpTip", - "key": "ee7cca8e-9d5a-4308-b437-91b3ac59e95c", + "key": "70a9d1cf-db05-4510-9219-d0e18e0ceab6", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "c6f4ec70-92a5-11e9-ac62-1b173f839d9e:tiprack-10ul", @@ -4155,7 +4157,7 @@ }, { "commandType": "aspirate", - "key": "9c65eb65-086b-4535-8dd4-fcdc3b1ce711", + "key": "88a00826-d936-495b-81a0-08b2db4b0cbd", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4170,7 +4172,7 @@ }, { "commandType": "dispense", - "key": "de99e84e-c816-42d7-bbaf-c685cf196c84", + "key": "e62b965a-6150-4857-81a4-83808731bb63", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4185,7 +4187,7 @@ }, { "commandType": "aspirate", - "key": "2bb3b611-e413-4866-9f88-2093be26c559", + "key": "dfd3261d-d508-45db-bc07-4b66aab7f4ee", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4200,7 +4202,7 @@ }, { "commandType": "dispense", - "key": "51c61ed1-215a-4304-b0bc-f7c0787d9759", + "key": "fd6702e4-1dc4-42b3-a479-ccd252df34b7", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4215,7 +4217,7 @@ }, { "commandType": "aspirate", - "key": "a5cb7070-9db9-4d93-94a0-baafdb9e1246", + "key": "4a5703bb-d4fd-431f-9c3c-928fd654d667", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4230,7 +4232,7 @@ }, { "commandType": "dispense", - "key": "b4812aa0-2c04-4f9f-a060-dcddb31655eb", + "key": "cd9e2d71-2f8d-4a3e-beb5-664df5b40ed4", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4245,7 +4247,7 @@ }, { "commandType": "aspirate", - "key": "09657153-451a-4ce8-a0aa-d238e97b5d4a", + "key": "f43a5ddf-41e8-4763-a897-5463be83a450", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -4260,7 +4262,7 @@ }, { "commandType": "touchTip", - "key": "1ba61ffa-26f7-4258-806e-459483f8aee2", + "key": "9a38f25f-8e70-4e48-906f-5ad8549f97a9", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -4270,7 +4272,7 @@ }, { "commandType": "dispense", - "key": "3e54188d-9608-4976-b2a8-0262bc6cd9a8", + "key": "356a5ed5-4055-434b-925e-dc9d74b86916", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -4285,7 +4287,7 @@ }, { "commandType": "aspirate", - "key": "12abbaa6-4354-4635-86c7-53da228b89e9", + "key": "83147cc6-40bd-4d31-8d7c-cebc82587da2", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4300,7 +4302,7 @@ }, { "commandType": "dispense", - "key": "75989dac-fb90-46e0-8510-05946f0bb820", + "key": "e48e7e86-5bcf-411f-85aa-fd880047317d", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4315,7 +4317,7 @@ }, { "commandType": "aspirate", - "key": "970cd398-3ad1-46ee-a917-9781c74964c8", + "key": "3ed7361d-167a-4624-90e7-be018382c29d", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4330,7 +4332,7 @@ }, { "commandType": "dispense", - "key": "224042a5-8347-4867-b30c-ea349eee0eb0", + "key": "edcad86c-128a-4b11-b3f6-c00af215f751", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4345,7 +4347,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "5bca8d87-fae2-4082-92f1-5da5e9b0b01a", + "key": "f524c6b9-a2c8-4e20-8088-ebc799e37701", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -4354,7 +4356,7 @@ }, { "commandType": "blowOutInPlace", - "key": "6a40c11f-2894-4c0d-ae8c-3069aa7a3ac6", + "key": "017496c5-bfda-45b4-a70d-cae13a05406f", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "flowRate": 1000 @@ -4362,7 +4364,7 @@ }, { "commandType": "touchTip", - "key": "9667d8ab-87f8-4af8-a61c-39fa46e15928", + "key": "88956734-eece-42e3-a7d8-8d759f9de247", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -4372,7 +4374,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "54efaffe-8b67-45b0-8a1b-34eb9929230b", + "key": "c5550d27-fdd6-43c9-a876-aa3e50489707", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -4382,12 +4384,12 @@ }, { "commandType": "dropTipInPlace", - "key": "4732e9c8-8b22-447d-9e8a-04360782f50c", + "key": "9eaf32a8-bdec-434e-a644-22f6bba08a6b", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e" } }, { "commandType": "pickUpTip", - "key": "55fbea4b-e8d2-4cc9-84f1-e531eedc46c8", + "key": "ecb5d2d9-7e63-43b0-b8b9-5464c9478ed0", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "c6f4ec70-92a5-11e9-ac62-1b173f839d9e:tiprack-10ul", @@ -4396,7 +4398,7 @@ }, { "commandType": "aspirate", - "key": "d735d944-73ff-4713-ac51-c1341e5cc1a9", + "key": "09671823-b2bf-4803-8b7f-d21f37e064bb", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4411,7 +4413,7 @@ }, { "commandType": "dispense", - "key": "33e8c95b-801c-42c3-9048-fa14b6aa7f29", + "key": "05adf9ce-7912-44ec-8639-248408431a8d", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4426,7 +4428,7 @@ }, { "commandType": "aspirate", - "key": "b25b278a-8b01-4bc2-a1f8-456c7bf8c526", + "key": "91630cc1-d209-4c82-ba0d-cc0a16a8b24f", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4441,7 +4443,7 @@ }, { "commandType": "dispense", - "key": "23d673c8-d769-480b-858b-43ac62636220", + "key": "94f28a06-4afd-4bde-809f-33a6ef4c4479", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4456,7 +4458,7 @@ }, { "commandType": "aspirate", - "key": "3452e515-d862-40d0-99e1-34dd0404337f", + "key": "cf37f60a-7f87-483d-ae7d-b637273a9f65", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4471,7 +4473,7 @@ }, { "commandType": "dispense", - "key": "36c73f15-d9cd-410c-8699-f19396584618", + "key": "dae3c16b-f335-4f48-8fa0-f7304d986601", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4486,7 +4488,7 @@ }, { "commandType": "aspirate", - "key": "7b78234d-4513-49cc-83e7-10b662ff8675", + "key": "91698561-8c9a-43a6-be0e-48fc7169be0c", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -4501,7 +4503,7 @@ }, { "commandType": "touchTip", - "key": "b1b3ee6f-a9be-4220-8004-7296970de788", + "key": "0a0d2b0f-de56-41dd-b69b-901ff5899ac9", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -4511,7 +4513,7 @@ }, { "commandType": "dispense", - "key": "f7c5a31f-1a71-478f-a145-eb5c5c567c6d", + "key": "8f9ab04c-96e7-4e9d-9a19-5075e18519a6", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -4526,7 +4528,7 @@ }, { "commandType": "aspirate", - "key": "5e4a8c3c-5a80-488b-898d-d1074f2c426c", + "key": "03610238-537c-4b82-8c6d-fa101cae4631", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4541,7 +4543,7 @@ }, { "commandType": "dispense", - "key": "da0e8d29-8619-47e1-b8da-98ccaf2c56fc", + "key": "071af969-3818-4807-9fd7-26cd00945ab0", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4556,7 +4558,7 @@ }, { "commandType": "aspirate", - "key": "3fd622c1-93bc-4e5d-92cb-3dc40f38d92d", + "key": "ff423f6d-35ef-4ecd-bf8f-435776a5a3b2", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4571,7 +4573,7 @@ }, { "commandType": "dispense", - "key": "7fe8ecbf-6872-4c45-9f41-b3f5e31b8c42", + "key": "44d4dacd-8cac-4961-892e-cda32094f127", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4586,7 +4588,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "7e7f40a5-1b19-414d-b1ec-b0f632ee81eb", + "key": "53b1ccc5-7b58-4d48-b8fd-0c6ac738b4d1", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -4595,7 +4597,7 @@ }, { "commandType": "blowOutInPlace", - "key": "e7d928ca-d918-43a1-973a-e56361029dcd", + "key": "c812e493-c61f-4719-a31f-ac74b2019c54", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "flowRate": 1000 @@ -4603,7 +4605,7 @@ }, { "commandType": "touchTip", - "key": "1665f0f5-1778-49ed-a765-bcdcc3a9c13a", + "key": "ac2ff63c-9b28-4835-89aa-22d3c1edfca8", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -4613,7 +4615,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "5f71c216-2dd4-4b3f-9958-feac1e0ba419", + "key": "8f6ec1bb-1f7f-49e7-8830-0881bd980638", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -4623,12 +4625,12 @@ }, { "commandType": "dropTipInPlace", - "key": "0d98fee0-4ada-4ddd-98cc-ee4f51763615", + "key": "749b4670-f63f-4377-bae9-57e1115f6756", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e" } }, { "commandType": "pickUpTip", - "key": "1eca1b12-6dda-4a57-84cc-48ed09a5dcc7", + "key": "38da00e9-f4aa-4e74-b377-b19d635f62a8", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "c6f4ec70-92a5-11e9-ac62-1b173f839d9e:tiprack-10ul", @@ -4637,7 +4639,7 @@ }, { "commandType": "aspirate", - "key": "6468842b-d755-431a-8f39-63390afc45aa", + "key": "c8dad345-cf97-45ef-95a5-13ab38df4734", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4652,7 +4654,7 @@ }, { "commandType": "dispense", - "key": "3f19926d-5262-4869-8830-7eb13951f4fe", + "key": "b6f8c5d0-1348-4eff-a0e5-e90cd5a0b34b", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4667,7 +4669,7 @@ }, { "commandType": "aspirate", - "key": "0816f07a-7ddf-41da-91a8-6c55bcf902ff", + "key": "662d7128-430c-46aa-ab97-348de5ae1b59", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4682,7 +4684,7 @@ }, { "commandType": "dispense", - "key": "6ac9d9b6-b45e-4b0a-90c5-835a680ab914", + "key": "08d301f7-b6b8-46f8-983f-3e33e5727c25", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4697,7 +4699,7 @@ }, { "commandType": "aspirate", - "key": "2c0b977d-cc77-44bb-b0a3-62339279f8d4", + "key": "24bbc121-f08f-42e4-8a4d-37a88bca03c7", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4712,7 +4714,7 @@ }, { "commandType": "dispense", - "key": "b15ab048-c8ae-491b-ba0a-ddb84af43b8a", + "key": "9d07468c-42c4-41c9-a67e-3fdeac16fa0b", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4727,7 +4729,7 @@ }, { "commandType": "aspirate", - "key": "ebb52c59-bc4d-4f3a-b1b4-10ceea23ecd4", + "key": "44cc4edd-ff47-487c-ac33-9815b9af3ae9", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -4742,7 +4744,7 @@ }, { "commandType": "touchTip", - "key": "1c48b0b0-c786-4278-a95b-180d8bc8d7fb", + "key": "5f0a3727-1976-4927-852b-8fee2e8cff77", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -4752,7 +4754,7 @@ }, { "commandType": "dispense", - "key": "6db1da99-4bfc-4723-a37b-db57a913a5a0", + "key": "a69b2c7d-115d-4ffe-ac02-6b65b306411e", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -4767,7 +4769,7 @@ }, { "commandType": "aspirate", - "key": "b040900a-f61c-462e-9238-87746a45c0b8", + "key": "d8fc74ae-bbef-43b5-afcb-c04c86f98b71", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4782,7 +4784,7 @@ }, { "commandType": "dispense", - "key": "8e2de19c-a6b1-4af7-a614-8f692815d667", + "key": "4d83b666-8df0-47cb-8cca-5bb9532e21b0", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4797,7 +4799,7 @@ }, { "commandType": "aspirate", - "key": "a72f4e61-2874-4af0-a471-d97434970e2b", + "key": "984cc219-9237-49b9-a775-93589e5a66ae", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4812,7 +4814,7 @@ }, { "commandType": "dispense", - "key": "ff833f33-6c7e-417a-8293-f9a2c2eead8c", + "key": "a45e7f3f-64d4-4dc9-aab3-10a6d2c38660", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -4827,7 +4829,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "40d74de4-9953-43ae-b4bc-518d39005303", + "key": "e440bc8d-adbd-47c9-b0b9-2432a13f8664", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -4836,7 +4838,7 @@ }, { "commandType": "blowOutInPlace", - "key": "7570e6a2-b2a3-4836-aaa0-13c90ceb08f4", + "key": "f78482cb-1663-43ca-ad28-2aa0f9c1e926", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "flowRate": 1000 @@ -4844,7 +4846,7 @@ }, { "commandType": "touchTip", - "key": "5de67294-430d-4856-aa25-0177b32ef514", + "key": "f7ef1b94-cceb-4ae8-9a22-65b1a7339438", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -4854,7 +4856,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "b25ac8f3-fe61-4f87-b5f2-40936132a6dd", + "key": "50ca2b65-11fe-4b52-bfc6-60efba9a6445", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -4864,12 +4866,12 @@ }, { "commandType": "dropTipInPlace", - "key": "aa3d17b8-8d52-462f-9e39-b0d2d83e5407", + "key": "1dc894fa-effa-4b0a-b1a4-50766e1a9454", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e" } }, { "commandType": "pickUpTip", - "key": "188da1f2-486b-4dfd-b2c8-e0903544fa8d", + "key": "2c14e46f-4257-485a-abd9-a6fa88233d08", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "c6f4ec70-92a5-11e9-ac62-1b173f839d9e:tiprack-10ul", @@ -4878,7 +4880,7 @@ }, { "commandType": "aspirate", - "key": "df11a136-0f66-4502-ad52-443adc71ca2b", + "key": "a75ee83e-f86a-4ba7-8982-1e67573eebc5", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4893,7 +4895,7 @@ }, { "commandType": "dispense", - "key": "00502ab3-b649-4532-ba39-184ff41b00cb", + "key": "93d11701-ab94-4693-bd67-2c9a5b8ca905", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4908,7 +4910,7 @@ }, { "commandType": "aspirate", - "key": "cdc0749e-e66b-480e-afe0-3ad6c5e739e4", + "key": "618e28e9-06d3-40ed-af8c-beebf2b230ed", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4923,7 +4925,7 @@ }, { "commandType": "dispense", - "key": "65529980-e475-4f51-a8dc-cd1f7e5a5020", + "key": "8096ab04-2d76-4c5c-ba8c-c3eb0791ac16", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4938,7 +4940,7 @@ }, { "commandType": "aspirate", - "key": "d9e94497-0439-4675-bb57-cc2e62ea7a84", + "key": "d7f16642-48b2-44e8-990c-d152f2e3effd", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4953,7 +4955,7 @@ }, { "commandType": "dispense", - "key": "27bd35c9-4ef4-471f-954b-289db56992ad", + "key": "20c1fb9e-82ff-4329-8e06-bbf3b69312f5", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -4968,7 +4970,7 @@ }, { "commandType": "aspirate", - "key": "9241c560-e1d0-4468-ac78-10c9511d0113", + "key": "a7904076-7aa5-4af0-9b33-0b782e4c574b", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -4983,7 +4985,7 @@ }, { "commandType": "touchTip", - "key": "67e511d9-8198-4c0d-808e-c9600f2aff6b", + "key": "f8314e7a-2934-4f37-87ff-df93adee027c", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -4993,7 +4995,7 @@ }, { "commandType": "dispense", - "key": "ea876b75-dbb7-445e-afb4-efa1fd12eda8", + "key": "5261a98e-b9ef-4654-be05-63bd6d625b95", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -5008,7 +5010,7 @@ }, { "commandType": "aspirate", - "key": "7551fb8d-3899-42f4-ba52-9e03c2410ae5", + "key": "2d7e6164-5ff0-474f-8793-bed55e9268f6", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -5023,7 +5025,7 @@ }, { "commandType": "dispense", - "key": "dae940af-8337-439f-83c5-39745994b216", + "key": "b1d778c2-7c4b-4989-9819-4f70959bf690", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -5038,7 +5040,7 @@ }, { "commandType": "aspirate", - "key": "d9c4b87f-8e3f-415b-9c61-b14cff73fa6e", + "key": "2da23b46-c32e-45a9-93b4-e6ba54209279", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -5053,7 +5055,7 @@ }, { "commandType": "dispense", - "key": "6e1ae4be-0622-490d-811a-1442a54f38c6", + "key": "c0f8e9a6-704d-409e-86c6-cdfece6d75cf", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -5068,7 +5070,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "2172c551-8f66-49ec-b092-3cecb3ecd1e6", + "key": "f9669e2a-89c9-4e89-b11a-792ca9372110", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -5077,7 +5079,7 @@ }, { "commandType": "blowOutInPlace", - "key": "70f94de0-45c2-4082-85c7-000a3c7d4e05", + "key": "76f1f9d1-5ed9-4fe9-ac86-e44b8669bcef", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "flowRate": 1000 @@ -5085,7 +5087,7 @@ }, { "commandType": "touchTip", - "key": "7a8c6027-3547-4415-97e2-e4a8839cefcb", + "key": "44c1606d-102c-4b0e-9af4-27719c14bf25", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -5095,7 +5097,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "9e76549d-de35-4be7-b42f-83e81eb148e5", + "key": "e8d9bb09-8188-46d1-bb5b-2fe490c85243", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -5105,12 +5107,12 @@ }, { "commandType": "dropTipInPlace", - "key": "edb7a124-0334-41a3-b82f-237bf2a63e37", + "key": "4e5f18e9-9192-46eb-932f-0dcf604c4649", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e" } }, { "commandType": "pickUpTip", - "key": "f040345b-250f-4fa6-abc0-62e27fe59938", + "key": "52647b11-c226-4918-80ea-9bac8a02a373", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "c6f4ec70-92a5-11e9-ac62-1b173f839d9e:tiprack-10ul", @@ -5119,7 +5121,7 @@ }, { "commandType": "aspirate", - "key": "cd942842-7300-40c1-87a6-28f073ea3dc5", + "key": "e3239197-dbe6-4c71-917a-4fd41af8d75d", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -5134,7 +5136,7 @@ }, { "commandType": "dispense", - "key": "f6a45b15-269b-482d-983b-d3bc5db57d26", + "key": "01f40e1b-bdd0-4973-b2b8-ee4785ea9c6f", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -5149,7 +5151,7 @@ }, { "commandType": "aspirate", - "key": "7d61c0b4-4555-435c-b837-b559b360a82e", + "key": "5be5ae28-4e96-40dc-833c-60ac08044f96", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -5164,7 +5166,7 @@ }, { "commandType": "dispense", - "key": "9f9dfc52-5ca3-42e2-b9d5-3bfa8521de49", + "key": "001da4d7-697d-49b0-9654-8d0bdde1ac93", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -5179,7 +5181,7 @@ }, { "commandType": "aspirate", - "key": "11346b4b-af47-46f0-9461-52664eec0d39", + "key": "b4c0188b-ee1f-4859-9856-a7426109c2e3", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -5194,7 +5196,7 @@ }, { "commandType": "dispense", - "key": "23982cac-52ae-484f-b3e7-c52c029b1e9a", + "key": "00de49e0-d834-4458-9e4b-1a01ce5ed2c3", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -5209,7 +5211,7 @@ }, { "commandType": "aspirate", - "key": "148dd2de-1425-482f-8fec-32731007bbff", + "key": "5522605f-01b7-46a6-8f6a-2b51f0edc8ca", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -5224,7 +5226,7 @@ }, { "commandType": "touchTip", - "key": "41e664b1-6199-4a33-9857-76df944f516d", + "key": "9040c7b6-7714-48b9-94ad-b2d992287dad", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -5234,7 +5236,7 @@ }, { "commandType": "dispense", - "key": "152340ce-cde0-469e-9882-a8ef3d4a1cde", + "key": "8d65f1cf-058a-4666-8da5-403be4b98fed", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -5249,7 +5251,7 @@ }, { "commandType": "aspirate", - "key": "e4e8529f-89fc-4a94-a49d-410b799aa539", + "key": "b710f746-3424-40cb-80a0-c77bcaf03816", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -5264,7 +5266,7 @@ }, { "commandType": "dispense", - "key": "01461514-1395-4f09-95db-29dea71c1f5b", + "key": "a91072f7-47c9-4c85-8b43-491dc6d0b0be", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -5279,7 +5281,7 @@ }, { "commandType": "aspirate", - "key": "ff195ab9-cb65-45d1-93a8-a071d0bbed98", + "key": "6dc84887-b4b4-432c-87d8-92ab8431c127", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -5294,7 +5296,7 @@ }, { "commandType": "dispense", - "key": "8ba714b7-bcc2-48c3-8c57-0d0ac933b976", + "key": "b463a520-0c4c-4dbe-b5b9-330a35fcef55", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -5309,7 +5311,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "8c2017b4-9145-46bc-a91f-83f27cc0a828", + "key": "9ba7bef1-dca0-43fe-b6e1-382a1e2dd958", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -5318,7 +5320,7 @@ }, { "commandType": "blowOutInPlace", - "key": "6dba0671-c83f-4fc2-8d9c-3e309448d0e9", + "key": "9f279224-1420-4f8f-a2ff-ac959fb45c42", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "flowRate": 1000 @@ -5326,7 +5328,7 @@ }, { "commandType": "touchTip", - "key": "15c49bf0-ce06-4687-aeb5-a5dd0736f2f5", + "key": "270a207d-7ad2-43bb-8392-11d68bde94ce", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -5336,7 +5338,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "5e494f88-ee95-42f1-bbd4-23b449649b93", + "key": "ad560eb4-0e24-4801-9a9f-aeaf7f21cb75", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -5346,12 +5348,12 @@ }, { "commandType": "dropTipInPlace", - "key": "e1f4d20a-b36c-4da1-9b1f-529aef638f1f", + "key": "ebdaf15a-14d8-4527-9dc8-0b1027009ee9", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e" } }, { "commandType": "pickUpTip", - "key": "c3d944d3-abe8-4f4c-8e4d-70792c3303f2", + "key": "7ffd9d57-22c6-40ca-85fb-8e0ab86c881a", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "c6f4ec70-92a5-11e9-ac62-1b173f839d9e:tiprack-10ul", @@ -5360,7 +5362,7 @@ }, { "commandType": "aspirate", - "key": "4432786d-94e4-4958-ae49-8d0679c97fc0", + "key": "7115280b-eea5-462f-aa18-815a876a9213", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -5375,7 +5377,7 @@ }, { "commandType": "dispense", - "key": "3efc13e5-aac5-4f23-b060-52003c8c827f", + "key": "5c04e6ab-5619-47e3-8421-49667b56ebc3", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -5390,7 +5392,7 @@ }, { "commandType": "aspirate", - "key": "5ec72861-9ac4-4a9b-91e2-907932819e58", + "key": "b065331a-9ce4-45a6-860a-9d8ae5eda44a", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -5405,7 +5407,7 @@ }, { "commandType": "dispense", - "key": "994b0746-ea15-4cfb-afa7-d00ff124e0f1", + "key": "2eaa51b7-ade3-43aa-8f84-d6e908d256fa", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -5420,7 +5422,7 @@ }, { "commandType": "aspirate", - "key": "2acee0bb-366c-4f1d-b165-f69a1c03b05f", + "key": "7af395d3-372b-44c8-89e2-cc7961567036", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -5435,7 +5437,7 @@ }, { "commandType": "dispense", - "key": "a44857c1-e5d2-4ce7-a428-41a68e426f3c", + "key": "25d443bc-3925-492d-9341-102d29aa125d", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 2, @@ -5450,7 +5452,7 @@ }, { "commandType": "aspirate", - "key": "09f55bdd-61ff-4667-878f-c79e0a21b9c5", + "key": "30a6ae71-1028-4137-b11f-7bd905b6bd74", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -5465,7 +5467,7 @@ }, { "commandType": "touchTip", - "key": "4daa0f4c-e10e-488e-9d19-3a8602a548f4", + "key": "5d318386-78b3-4b6e-998a-bfd61ce94e29", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -5475,7 +5477,7 @@ }, { "commandType": "dispense", - "key": "5f54be1c-fff2-41ae-b512-01a9bb28cc4a", + "key": "e2019112-8a64-4b03-9812-a0a840a7d035", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 6, @@ -5490,7 +5492,7 @@ }, { "commandType": "aspirate", - "key": "6e42ea13-01ed-461b-8dfa-9bd360982ddf", + "key": "09b49957-6e19-43a1-b402-9c1eed0857d4", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -5505,7 +5507,7 @@ }, { "commandType": "dispense", - "key": "63d6f42e-0caa-47c4-9341-e3a950f85128", + "key": "5f04a962-0466-4791-a019-4af5217a06f2", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -5520,7 +5522,7 @@ }, { "commandType": "aspirate", - "key": "c8791232-20bd-4068-a778-4630548b49ae", + "key": "b8c78bae-cc23-4415-9f63-fab416b2d674", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -5535,7 +5537,7 @@ }, { "commandType": "dispense", - "key": "98e4d5e2-4b75-435f-8809-099806e98694", + "key": "41c297e4-fa47-487d-9219-f4959d2b3f6a", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 3, @@ -5550,7 +5552,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "921371a0-2df9-4f3e-b28f-0282399e98a3", + "key": "23137a5d-6b82-4ecc-9180-f1ebd051f54a", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -5559,7 +5561,7 @@ }, { "commandType": "blowOutInPlace", - "key": "f9c7ae2a-b401-4c92-8e6a-4366ffb93643", + "key": "3ec2c77d-bd1e-4aa6-b36f-37757218adee", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "flowRate": 1000 @@ -5567,7 +5569,7 @@ }, { "commandType": "touchTip", - "key": "70fbf7e3-cae6-49e7-bfd3-65a5376b5e3e", + "key": "10638801-4c1c-45d5-a61e-1160a9c4ddca", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -5577,7 +5579,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "74d53fee-f9c6-4a27-a54b-80a79e906b6c", + "key": "fcbf438c-40c0-4446-acae-d8f6ccce95e7", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -5587,12 +5589,12 @@ }, { "commandType": "dropTipInPlace", - "key": "28dc2329-937d-4d2c-8fc3-eecf3f321041", + "key": "cd3743de-0470-48bb-98f1-4c1cc9f05491", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e" } }, { "commandType": "pickUpTip", - "key": "5ad18635-8559-4904-8db4-4e2b19546238", + "key": "3fce8a1e-1857-4146-8a5d-296a06fa5101", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "c6f4ec70-92a5-11e9-ac62-1b173f839d9e:tiprack-10ul", @@ -5601,7 +5603,7 @@ }, { "commandType": "aspirate", - "key": "1227b40e-adda-4545-9724-5509ff790adf", + "key": "555deb27-6ccf-4f69-a22a-e88693869e01", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 5.5, @@ -5616,7 +5618,7 @@ }, { "commandType": "dispense", - "key": "b9c1000c-c52f-4b04-9790-9a2dec7dadd3", + "key": "c720bf94-d982-4989-8d05-5be11f5c56ac", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 5.5, @@ -5631,7 +5633,7 @@ }, { "commandType": "aspirate", - "key": "0b5da711-8961-40d0-a294-b4d9eed6c77a", + "key": "56079904-e3a0-4c8d-b302-8351c2f23cf9", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 5.5, @@ -5646,7 +5648,7 @@ }, { "commandType": "dispense", - "key": "12b3c883-f2b2-4651-816e-e38bb8cb5c85", + "key": "591975c1-bc72-456d-b186-2c5900e8990c", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 5.5, @@ -5661,7 +5663,7 @@ }, { "commandType": "aspirate", - "key": "b30463df-33e7-4038-97d6-298f7e9cef8e", + "key": "44c87d5e-e8c7-414f-abcc-4f7dbab5448b", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 5.5, @@ -5676,7 +5678,7 @@ }, { "commandType": "dispense", - "key": "b2c2c14c-6874-406a-b9d1-33bc02b7a74f", + "key": "a10a0fa5-b411-4227-b5c0-03bd0f00f1da", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "volume": 5.5, @@ -5691,18 +5693,18 @@ }, { "commandType": "blowout", - "key": "98f8d095-46f4-4349-8c93-21eebfcf05d3", + "key": "d23eab2f-7882-4bed-907e-baf8755ab557", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", "wellName": "A1", - "flowRate": 7, + "flowRate": 1000, "wellLocation": { "origin": "top", "offset": { "z": 0 } } } }, { "commandType": "touchTip", - "key": "d6985dc6-551c-4ceb-bcc9-c833301b1eac", + "key": "916eabaf-7965-4280-b583-043637f47e1c", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "labwareId": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", @@ -5712,7 +5714,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "cdf5e0f0-0598-4e4d-98e8-70a57ff83a4a", + "key": "f03d51ec-9bd4-4a21-b8da-a0ebbffaaac2", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e", "addressableAreaName": "fixedTrash", @@ -5722,12 +5724,12 @@ }, { "commandType": "dropTipInPlace", - "key": "1c0dee1c-97fa-4f33-bb36-9b3b7a2ef73e", + "key": "64a539fe-7de8-4176-9a56-cd0a4201fae9", "params": { "pipetteId": "c6f45030-92a5-11e9-ac62-1b173f839d9e" } }, { "commandType": "waitForDuration", - "key": "d306df0a-3ad2-48ac-9ac2-1151895982e0", + "key": "55faff89-fd16-49ed-ad0b-760f5f359f5e", "params": { "seconds": 3723, "message": "Delay plz" } } ], diff --git a/protocol-designer/fixtures/protocol/8/mix_8_0_0.json b/protocol-designer/fixtures/protocol/8/mix_8_0_0.json index 6ace9e70926..78ca37e928f 100644 --- a/protocol-designer/fixtures/protocol/8/mix_8_0_0.json +++ b/protocol-designer/fixtures/protocol/8/mix_8_0_0.json @@ -6,7 +6,7 @@ "author": "", "description": "A test for 5.0.0 -> 5.1.0 migration", "created": 1600714068238, - "lastModified": 1711742569351, + "lastModified": 1714570500165, "category": null, "subcategory": null, "tags": [] @@ -15,7 +15,7 @@ "name": "opentrons/protocol-designer", "version": "8.1.0", "data": { - "_internalAppBuildDate": "Fri, 29 Mar 2024 20:00:04 GMT", + "_internalAppBuildDate": "Wed, 01 May 2024 13:32:34 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, "dispense_mmFromBottom": 0.5, @@ -58,7 +58,6 @@ "labware": null, "mix_wellOrder_first": "t2b", "mix_wellOrder_second": "l2r", - "blowout_z_offset": 0, "blowout_checkbox": false, "blowout_location": "5ba7047d-d3e2-4845-9eaa-1974af796ead:trashBin", "mix_mmFromBottom": 0.5, @@ -78,6 +77,8 @@ "tipRack": "f1c677c0-fc3a-11ea-8809-e959e7d61d96:opentrons/opentrons_96_tiprack_10ul/1", "mix_x_position": 0, "mix_y_position": 0, + "blowout_z_offset": 0, + "blowout_flowRate": null, "id": "fc4dc7c0-fc3a-11ea-8809-e959e7d61d96", "stepType": "mix", "stepName": "mix", @@ -2128,7 +2129,7 @@ "commandSchemaId": "opentronsCommandSchemaV8", "commands": [ { - "key": "3004b46c-2b41-4453-8ddc-1629ec3b5249", + "key": "d66aa1db-df76-492d-ab2c-533b982522aa", "commandType": "loadPipette", "params": { "pipetteName": "p20_single_gen2", @@ -2137,7 +2138,7 @@ } }, { - "key": "c318feee-5ec6-40a0-9ecc-554e67b30ce1", + "key": "78921c11-0ed3-49c6-b4c3-08fd71b68917", "commandType": "loadLabware", "params": { "displayName": "Opentrons OT-2 96 Tip Rack 10 µL", @@ -2149,7 +2150,7 @@ } }, { - "key": "3350dee6-aa60-4569-a801-0dfeb5baf8ed", + "key": "f9f07c5b-a0dd-4c3c-8479-15a63ae0642e", "commandType": "loadLabware", "params": { "displayName": "Bio-Rad 96 Well Plate 200 µL PCR", @@ -2162,7 +2163,7 @@ }, { "commandType": "waitForDuration", - "key": "797e70f3-5310-48c2-ba06-12adb92a7b4e", + "key": "72be26a3-bb77-455d-bc32-f100e1a84a0b", "params": { "seconds": 3723, "message": "" } } ], diff --git a/protocol-designer/fixtures/protocol/8/newAdvancedSettingsAndMultiTemp.json b/protocol-designer/fixtures/protocol/8/newAdvancedSettingsAndMultiTemp.json new file mode 100644 index 00000000000..b536ec7a801 --- /dev/null +++ b/protocol-designer/fixtures/protocol/8/newAdvancedSettingsAndMultiTemp.json @@ -0,0 +1,3739 @@ +{ + "$otSharedSchema": "#/protocol/schemas/8", + "schemaVersion": 8, + "metadata": { + "protocolName": "New advanced settings", + "author": "", + "description": "", + "created": 1714565695341, + "lastModified": 1714565808161, + "category": null, + "subcategory": null, + "tags": [] + }, + "designerApplication": { + "name": "opentrons/protocol-designer", + "version": "8.1.0", + "data": { + "_internalAppBuildDate": "Wed, 01 May 2024 12:14:18 GMT", + "defaultValues": { + "aspirate_mmFromBottom": 1, + "dispense_mmFromBottom": 0.5, + "touchTip_mmFromTop": -1, + "blowout_mmFromTop": 0 + }, + "pipetteTiprackAssignments": { + "21087f15-4c03-4587-8a2b-1ba0b5a501a0": [ + "opentrons/opentrons_flex_96_tiprack_50ul/1" + ] + }, + "dismissedWarnings": { "form": {}, "timeline": {} }, + "ingredients": {}, + "ingredLocations": {}, + "savedStepForms": { + "__INITIAL_DECK_SETUP_STEP__": { + "stepType": "manualIntervention", + "id": "__INITIAL_DECK_SETUP_STEP__", + "labwareLocationUpdate": { + "0d39213c-49c2-4170-bf19-4c09e1b72aca:opentrons/opentrons_flex_96_tiprack_50ul/1": "C2", + "c3c4e3fd-069f-4f3d-9b70-016a20f36de7:opentrons/opentrons_24_aluminumblock_nest_1.5ml_screwcap/1": "b9c56153-9026-42d1-8113-949e15254571:temperatureModuleType", + "32b596f6-79bb-4ad8-a34a-c44620fdb68f:opentrons/opentrons_96_well_aluminum_block/1": "d6966555-6c0e-45e0-8056-428d7c486401:temperatureModuleType", + "c0093e5f-3f7d-4cbf-aa17-d88394108501:opentrons/nest_96_wellplate_100ul_pcr_full_skirt/2": "32b596f6-79bb-4ad8-a34a-c44620fdb68f:opentrons/opentrons_96_well_aluminum_block/1" + }, + "pipetteLocationUpdate": { + "21087f15-4c03-4587-8a2b-1ba0b5a501a0": "left" + }, + "moduleLocationUpdate": { + "d6966555-6c0e-45e0-8056-428d7c486401:temperatureModuleType": "D3", + "b9c56153-9026-42d1-8113-949e15254571:temperatureModuleType": "C3" + } + }, + "292e8b18-f59e-4c63-b0f3-e242bf50094b": { + "id": "292e8b18-f59e-4c63-b0f3-e242bf50094b", + "stepType": "moveLiquid", + "stepName": "transfer", + "stepDetails": "", + "pipette": "21087f15-4c03-4587-8a2b-1ba0b5a501a0", + "volume": "10", + "tipRack": "0d39213c-49c2-4170-bf19-4c09e1b72aca:opentrons/opentrons_flex_96_tiprack_50ul/1", + "changeTip": "always", + "path": "single", + "aspirate_wells_grouped": false, + "aspirate_flowRate": null, + "aspirate_labware": "c0093e5f-3f7d-4cbf-aa17-d88394108501:opentrons/nest_96_wellplate_100ul_pcr_full_skirt/2", + "aspirate_wells": ["C1"], + "aspirate_wellOrder_first": "t2b", + "aspirate_wellOrder_second": "l2r", + "aspirate_mix_checkbox": false, + "aspirate_mix_times": null, + "aspirate_mix_volume": null, + "aspirate_mmFromBottom": 29, + "aspirate_touchTip_checkbox": false, + "aspirate_touchTip_mmFromBottom": null, + "dispense_flowRate": null, + "dispense_labware": "c3c4e3fd-069f-4f3d-9b70-016a20f36de7:opentrons/opentrons_24_aluminumblock_nest_1.5ml_screwcap/1", + "dispense_wells": ["B3"], + "dispense_wellOrder_first": "t2b", + "dispense_wellOrder_second": "l2r", + "dispense_mix_checkbox": false, + "dispense_mix_times": null, + "dispense_mix_volume": null, + "dispense_mmFromBottom": null, + "dispense_touchTip_checkbox": false, + "dispense_touchTip_mmFromBottom": null, + "disposalVolume_checkbox": true, + "disposalVolume_volume": "1", + "blowout_checkbox": true, + "blowout_location": "source_well", + "preWetTip": false, + "aspirate_airGap_checkbox": false, + "aspirate_airGap_volume": "1", + "aspirate_delay_checkbox": false, + "aspirate_delay_mmFromBottom": null, + "aspirate_delay_seconds": "1", + "dispense_airGap_checkbox": false, + "dispense_airGap_volume": "1", + "dispense_delay_checkbox": false, + "dispense_delay_seconds": "1", + "dispense_delay_mmFromBottom": null, + "dropTip_location": "20ab923c-1290-402e-8476-bba30991f24e:trashBin", + "nozzles": null, + "dispense_x_position": 0, + "dispense_y_position": 0, + "aspirate_x_position": 2, + "aspirate_y_position": -2, + "blowout_z_offset": -12, + "blowout_flowRate": 20 + }, + "960c2d3b-9cf9-49b0-ab4c-af4113f6671a": { + "id": "960c2d3b-9cf9-49b0-ab4c-af4113f6671a", + "stepType": "temperature", + "stepName": "temperature", + "stepDetails": "", + "moduleId": "d6966555-6c0e-45e0-8056-428d7c486401:temperatureModuleType", + "setTemperature": "true", + "targetTemperature": "40" + }, + "5055c5a3-92b7-41e5-935d-e8150e9f4f1c": { + "id": "5055c5a3-92b7-41e5-935d-e8150e9f4f1c", + "stepType": "pause", + "stepName": "pause", + "stepDetails": "", + "pauseAction": "untilTemperature", + "pauseHour": null, + "pauseMinute": null, + "pauseSecond": null, + "pauseMessage": "", + "moduleId": "d6966555-6c0e-45e0-8056-428d7c486401:temperatureModuleType", + "pauseTemperature": "40" + }, + "68a83fc0-726b-4df4-9a14-c43802aa9d0f": { + "id": "68a83fc0-726b-4df4-9a14-c43802aa9d0f", + "stepType": "temperature", + "stepName": "temperature", + "stepDetails": "", + "moduleId": "b9c56153-9026-42d1-8113-949e15254571:temperatureModuleType", + "setTemperature": "true", + "targetTemperature": "4" + }, + "c72b4af9-7488-4109-8221-15a5433f4fd8": { + "id": "c72b4af9-7488-4109-8221-15a5433f4fd8", + "stepType": "pause", + "stepName": "pause", + "stepDetails": "", + "pauseAction": "untilTemperature", + "pauseHour": null, + "pauseMinute": null, + "pauseSecond": null, + "pauseMessage": "", + "moduleId": "b9c56153-9026-42d1-8113-949e15254571:temperatureModuleType", + "pauseTemperature": "4" + }, + "ffb0d1ff-8146-409c-9248-2065a3b27c4d": { + "id": "ffb0d1ff-8146-409c-9248-2065a3b27c4d", + "stepType": "temperature", + "stepName": "temperature", + "stepDetails": "", + "moduleId": "d6966555-6c0e-45e0-8056-428d7c486401:temperatureModuleType", + "setTemperature": "false", + "targetTemperature": null + }, + "eab2ec89-6d11-4246-ae91-d451cb3a5b1d": { + "id": "eab2ec89-6d11-4246-ae91-d451cb3a5b1d", + "stepType": "temperature", + "stepName": "temperature", + "stepDetails": "", + "moduleId": "b9c56153-9026-42d1-8113-949e15254571:temperatureModuleType", + "setTemperature": "false", + "targetTemperature": null + } + }, + "orderedStepIds": [ + "292e8b18-f59e-4c63-b0f3-e242bf50094b", + "960c2d3b-9cf9-49b0-ab4c-af4113f6671a", + "5055c5a3-92b7-41e5-935d-e8150e9f4f1c", + "68a83fc0-726b-4df4-9a14-c43802aa9d0f", + "c72b4af9-7488-4109-8221-15a5433f4fd8", + "ffb0d1ff-8146-409c-9248-2065a3b27c4d", + "eab2ec89-6d11-4246-ae91-d451cb3a5b1d" + ] + } + }, + "robot": { "model": "OT-3 Standard", "deckId": "ot3_standard" }, + "labwareDefinitionSchemaId": "opentronsLabwareSchemaV2", + "labwareDefinitions": { + "opentrons/opentrons_flex_96_tiprack_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 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_tiprack_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/opentrons_24_aluminumblock_nest_1.5ml_screwcap/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"] + ], + "brand": { + "brand": "Opentrons", + "brandId": [], + "links": ["https://shop.opentrons.com/aluminum-block-set/"] + }, + "metadata": { + "displayName": "Opentrons 24 Well Aluminum Block with NEST 1.5 mL Screwcap", + "displayCategory": "aluminumBlock", + "displayVolumeUnits": "mL", + "tags": [] + }, + "dimensions": { + "xDimension": 127.75, + "yDimension": 85.5, + "zDimension": 49.35 + }, + "wells": { + "A1": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 20.75, + "y": 68.62, + "z": 5.45 + }, + "B1": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 20.75, + "y": 51.37, + "z": 5.45 + }, + "C1": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 20.75, + "y": 34.12, + "z": 5.45 + }, + "D1": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 20.75, + "y": 16.87, + "z": 5.45 + }, + "A2": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 38, + "y": 68.62, + "z": 5.45 + }, + "B2": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 38, + "y": 51.37, + "z": 5.45 + }, + "C2": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 38, + "y": 34.12, + "z": 5.45 + }, + "D2": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 38, + "y": 16.87, + "z": 5.45 + }, + "A3": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 55.25, + "y": 68.62, + "z": 5.45 + }, + "B3": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 55.25, + "y": 51.37, + "z": 5.45 + }, + "C3": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 55.25, + "y": 34.12, + "z": 5.45 + }, + "D3": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 55.25, + "y": 16.87, + "z": 5.45 + }, + "A4": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 72.5, + "y": 68.62, + "z": 5.45 + }, + "B4": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 72.5, + "y": 51.37, + "z": 5.45 + }, + "C4": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 72.5, + "y": 34.12, + "z": 5.45 + }, + "D4": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 72.5, + "y": 16.87, + "z": 5.45 + }, + "A5": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 89.75, + "y": 68.62, + "z": 5.45 + }, + "B5": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 89.75, + "y": 51.37, + "z": 5.45 + }, + "C5": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 89.75, + "y": 34.12, + "z": 5.45 + }, + "D5": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 89.75, + "y": 16.87, + "z": 5.45 + }, + "A6": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 107, + "y": 68.62, + "z": 5.45 + }, + "B6": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 107, + "y": 51.37, + "z": 5.45 + }, + "C6": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 107, + "y": 34.12, + "z": 5.45 + }, + "D6": { + "depth": 43.9, + "shape": "circular", + "diameter": 8.69, + "totalLiquidVolume": 1500, + "x": 107, + "y": 16.87, + "z": 5.45 + } + }, + "groups": [ + { + "metadata": { + "displayName": "NEST 24x1.5 mL Screwcap", + "displayCategory": "tubeRack", + "wellBottomShape": "v" + }, + "brand": { + "brand": "NEST", + "brandId": ["634001"], + "links": ["https://www.nest-biotech.com/sample-vials/59299027.html"] + }, + "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" + ] + } + ], + "parameters": { + "format": "irregular", + "quirks": ["gripperIncompatible"], + "isTiprack": false, + "isMagneticModuleCompatible": false, + "loadName": "opentrons_24_aluminumblock_nest_1.5ml_screwcap" + }, + "namespace": "opentrons", + "version": 1, + "schemaVersion": 2, + "cornerOffsetFromSlot": { "x": 0, "y": 0, "z": 0 } + }, + "opentrons/opentrons_96_well_aluminum_block/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 96 Well Aluminum Block", + "displayCategory": "adapter", + "displayVolumeUnits": "µL", + "tags": [] + }, + "dimensions": { + "xDimension": 127.76, + "yDimension": 85.48, + "zDimension": 18.16 + }, + "wells": { + "A1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 14.38, + "y": 74.24, + "z": 3.38 + }, + "B1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 14.38, + "y": 65.24, + "z": 3.38 + }, + "C1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 14.38, + "y": 56.24, + "z": 3.38 + }, + "D1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 14.38, + "y": 47.24, + "z": 3.38 + }, + "E1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 14.38, + "y": 38.24, + "z": 3.38 + }, + "F1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 14.38, + "y": 29.24, + "z": 3.38 + }, + "G1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 14.38, + "y": 20.24, + "z": 3.38 + }, + "H1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 14.38, + "y": 11.24, + "z": 3.38 + }, + "A2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 23.38, + "y": 74.24, + "z": 3.38 + }, + "B2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 23.38, + "y": 65.24, + "z": 3.38 + }, + "C2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 23.38, + "y": 56.24, + "z": 3.38 + }, + "D2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 23.38, + "y": 47.24, + "z": 3.38 + }, + "E2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 23.38, + "y": 38.24, + "z": 3.38 + }, + "F2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 23.38, + "y": 29.24, + "z": 3.38 + }, + "G2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 23.38, + "y": 20.24, + "z": 3.38 + }, + "H2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 23.38, + "y": 11.24, + "z": 3.38 + }, + "A3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 32.38, + "y": 74.24, + "z": 3.38 + }, + "B3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 32.38, + "y": 65.24, + "z": 3.38 + }, + "C3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 32.38, + "y": 56.24, + "z": 3.38 + }, + "D3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 32.38, + "y": 47.24, + "z": 3.38 + }, + "E3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 32.38, + "y": 38.24, + "z": 3.38 + }, + "F3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 32.38, + "y": 29.24, + "z": 3.38 + }, + "G3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 32.38, + "y": 20.24, + "z": 3.38 + }, + "H3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 32.38, + "y": 11.24, + "z": 3.38 + }, + "A4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 41.38, + "y": 74.24, + "z": 3.38 + }, + "B4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 41.38, + "y": 65.24, + "z": 3.38 + }, + "C4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 41.38, + "y": 56.24, + "z": 3.38 + }, + "D4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 41.38, + "y": 47.24, + "z": 3.38 + }, + "E4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 41.38, + "y": 38.24, + "z": 3.38 + }, + "F4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 41.38, + "y": 29.24, + "z": 3.38 + }, + "G4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 41.38, + "y": 20.24, + "z": 3.38 + }, + "H4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 41.38, + "y": 11.24, + "z": 3.38 + }, + "A5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 50.38, + "y": 74.24, + "z": 3.38 + }, + "B5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 50.38, + "y": 65.24, + "z": 3.38 + }, + "C5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 50.38, + "y": 56.24, + "z": 3.38 + }, + "D5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 50.38, + "y": 47.24, + "z": 3.38 + }, + "E5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 50.38, + "y": 38.24, + "z": 3.38 + }, + "F5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 50.38, + "y": 29.24, + "z": 3.38 + }, + "G5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 50.38, + "y": 20.24, + "z": 3.38 + }, + "H5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 50.38, + "y": 11.24, + "z": 3.38 + }, + "A6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 59.38, + "y": 74.24, + "z": 3.38 + }, + "B6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 59.38, + "y": 65.24, + "z": 3.38 + }, + "C6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 59.38, + "y": 56.24, + "z": 3.38 + }, + "D6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 59.38, + "y": 47.24, + "z": 3.38 + }, + "E6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 59.38, + "y": 38.24, + "z": 3.38 + }, + "F6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 59.38, + "y": 29.24, + "z": 3.38 + }, + "G6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 59.38, + "y": 20.24, + "z": 3.38 + }, + "H6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 59.38, + "y": 11.24, + "z": 3.38 + }, + "A7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 68.38, + "y": 74.24, + "z": 3.38 + }, + "B7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 68.38, + "y": 65.24, + "z": 3.38 + }, + "C7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 68.38, + "y": 56.24, + "z": 3.38 + }, + "D7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 68.38, + "y": 47.24, + "z": 3.38 + }, + "E7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 68.38, + "y": 38.24, + "z": 3.38 + }, + "F7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 68.38, + "y": 29.24, + "z": 3.38 + }, + "G7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 68.38, + "y": 20.24, + "z": 3.38 + }, + "H7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 68.38, + "y": 11.24, + "z": 3.38 + }, + "A8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 77.38, + "y": 74.24, + "z": 3.38 + }, + "B8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 77.38, + "y": 65.24, + "z": 3.38 + }, + "C8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 77.38, + "y": 56.24, + "z": 3.38 + }, + "D8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 77.38, + "y": 47.24, + "z": 3.38 + }, + "E8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 77.38, + "y": 38.24, + "z": 3.38 + }, + "F8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 77.38, + "y": 29.24, + "z": 3.38 + }, + "G8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 77.38, + "y": 20.24, + "z": 3.38 + }, + "H8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 77.38, + "y": 11.24, + "z": 3.38 + }, + "A9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 86.38, + "y": 74.24, + "z": 3.38 + }, + "B9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 86.38, + "y": 65.24, + "z": 3.38 + }, + "C9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 86.38, + "y": 56.24, + "z": 3.38 + }, + "D9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 86.38, + "y": 47.24, + "z": 3.38 + }, + "E9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 86.38, + "y": 38.24, + "z": 3.38 + }, + "F9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 86.38, + "y": 29.24, + "z": 3.38 + }, + "G9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 86.38, + "y": 20.24, + "z": 3.38 + }, + "H9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 86.38, + "y": 11.24, + "z": 3.38 + }, + "A10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 95.38, + "y": 74.24, + "z": 3.38 + }, + "B10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 95.38, + "y": 65.24, + "z": 3.38 + }, + "C10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 95.38, + "y": 56.24, + "z": 3.38 + }, + "D10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 95.38, + "y": 47.24, + "z": 3.38 + }, + "E10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 95.38, + "y": 38.24, + "z": 3.38 + }, + "F10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 95.38, + "y": 29.24, + "z": 3.38 + }, + "G10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 95.38, + "y": 20.24, + "z": 3.38 + }, + "H10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 95.38, + "y": 11.24, + "z": 3.38 + }, + "A11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 104.38, + "y": 74.24, + "z": 3.38 + }, + "B11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 104.38, + "y": 65.24, + "z": 3.38 + }, + "C11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 104.38, + "y": 56.24, + "z": 3.38 + }, + "D11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 104.38, + "y": 47.24, + "z": 3.38 + }, + "E11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 104.38, + "y": 38.24, + "z": 3.38 + }, + "F11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 104.38, + "y": 29.24, + "z": 3.38 + }, + "G11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 104.38, + "y": 20.24, + "z": 3.38 + }, + "H11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 104.38, + "y": 11.24, + "z": 3.38 + }, + "A12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 113.38, + "y": 74.24, + "z": 3.38 + }, + "B12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 113.38, + "y": 65.24, + "z": 3.38 + }, + "C12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 113.38, + "y": 56.24, + "z": 3.38 + }, + "D12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 113.38, + "y": 47.24, + "z": 3.38 + }, + "E12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 113.38, + "y": 38.24, + "z": 3.38 + }, + "F12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 113.38, + "y": 29.24, + "z": 3.38 + }, + "G12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 113.38, + "y": 20.24, + "z": 3.38 + }, + "H12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 0, + "x": 113.38, + "y": 11.24, + "z": 3.38 + } + }, + "groups": [ + { + "metadata": { "wellBottomShape": "v" }, + "wells": [ + "A1", + "B1", + "C1", + "D1", + "E1", + "F1", + "G1", + "H1", + "A2", + "B2", + "C2", + "D2", + "E2", + "F2", + "G2", + "H2", + "A3", + "B3", + "C3", + "D3", + "E3", + "F3", + "G3", + "H3", + "A4", + "B4", + "C4", + "D4", + "E4", + "F4", + "G4", + "H4", + "A5", + "B5", + "C5", + "D5", + "E5", + "F5", + "G5", + "H5", + "A6", + "B6", + "C6", + "D6", + "E6", + "F6", + "G6", + "H6", + "A7", + "B7", + "C7", + "D7", + "E7", + "F7", + "G7", + "H7", + "A8", + "B8", + "C8", + "D8", + "E8", + "F8", + "G8", + "H8", + "A9", + "B9", + "C9", + "D9", + "E9", + "F9", + "G9", + "H9", + "A10", + "B10", + "C10", + "D10", + "E10", + "F10", + "G10", + "H10", + "A11", + "B11", + "C11", + "D11", + "E11", + "F11", + "G11", + "H11", + "A12", + "B12", + "C12", + "D12", + "E12", + "F12", + "G12", + "H12" + ] + } + ], + "parameters": { + "format": "96Standard", + "quirks": [], + "isTiprack": false, + "isMagneticModuleCompatible": false, + "loadName": "opentrons_96_well_aluminum_block" + }, + "namespace": "opentrons", + "version": 1, + "schemaVersion": 2, + "allowedRoles": ["adapter"], + "cornerOffsetFromSlot": { "x": 0, "y": 0, "z": 0 }, + "gripperOffsets": { + "default": { + "pickUpOffset": { "x": 0, "y": 0, "z": 0 }, + "dropOffset": { "x": 0, "y": 0, "z": 1 } + } + } + }, + "opentrons/nest_96_wellplate_100ul_pcr_full_skirt/2": { + "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": "NEST", + "brandId": ["402501"], + "links": ["https://www.nest-biotech.com/pcr-plates/58773587.html"] + }, + "metadata": { + "displayName": "NEST 96 Well Plate 100 µL PCR Full Skirt", + "displayCategory": "wellPlate", + "displayVolumeUnits": "µL", + "tags": [] + }, + "dimensions": { + "xDimension": 127.76, + "yDimension": 85.48, + "zDimension": 15.7 + }, + "gripForce": 15, + "gripHeightFromLabwareBottom": 10.65, + "wells": { + "A1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 14.38, + "y": 74.24, + "z": 0.92 + }, + "B1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 14.38, + "y": 65.24, + "z": 0.92 + }, + "C1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 14.38, + "y": 56.24, + "z": 0.92 + }, + "D1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 14.38, + "y": 47.24, + "z": 0.92 + }, + "E1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 14.38, + "y": 38.24, + "z": 0.92 + }, + "F1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 14.38, + "y": 29.24, + "z": 0.92 + }, + "G1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 14.38, + "y": 20.24, + "z": 0.92 + }, + "H1": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 14.38, + "y": 11.24, + "z": 0.92 + }, + "A2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 23.38, + "y": 74.24, + "z": 0.92 + }, + "B2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 23.38, + "y": 65.24, + "z": 0.92 + }, + "C2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 23.38, + "y": 56.24, + "z": 0.92 + }, + "D2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 23.38, + "y": 47.24, + "z": 0.92 + }, + "E2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 23.38, + "y": 38.24, + "z": 0.92 + }, + "F2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 23.38, + "y": 29.24, + "z": 0.92 + }, + "G2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 23.38, + "y": 20.24, + "z": 0.92 + }, + "H2": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 23.38, + "y": 11.24, + "z": 0.92 + }, + "A3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 32.38, + "y": 74.24, + "z": 0.92 + }, + "B3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 32.38, + "y": 65.24, + "z": 0.92 + }, + "C3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 32.38, + "y": 56.24, + "z": 0.92 + }, + "D3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 32.38, + "y": 47.24, + "z": 0.92 + }, + "E3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 32.38, + "y": 38.24, + "z": 0.92 + }, + "F3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 32.38, + "y": 29.24, + "z": 0.92 + }, + "G3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 32.38, + "y": 20.24, + "z": 0.92 + }, + "H3": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 32.38, + "y": 11.24, + "z": 0.92 + }, + "A4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 41.38, + "y": 74.24, + "z": 0.92 + }, + "B4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 41.38, + "y": 65.24, + "z": 0.92 + }, + "C4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 41.38, + "y": 56.24, + "z": 0.92 + }, + "D4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 41.38, + "y": 47.24, + "z": 0.92 + }, + "E4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 41.38, + "y": 38.24, + "z": 0.92 + }, + "F4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 41.38, + "y": 29.24, + "z": 0.92 + }, + "G4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 41.38, + "y": 20.24, + "z": 0.92 + }, + "H4": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 41.38, + "y": 11.24, + "z": 0.92 + }, + "A5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 50.38, + "y": 74.24, + "z": 0.92 + }, + "B5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 50.38, + "y": 65.24, + "z": 0.92 + }, + "C5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 50.38, + "y": 56.24, + "z": 0.92 + }, + "D5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 50.38, + "y": 47.24, + "z": 0.92 + }, + "E5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 50.38, + "y": 38.24, + "z": 0.92 + }, + "F5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 50.38, + "y": 29.24, + "z": 0.92 + }, + "G5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 50.38, + "y": 20.24, + "z": 0.92 + }, + "H5": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 50.38, + "y": 11.24, + "z": 0.92 + }, + "A6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 59.38, + "y": 74.24, + "z": 0.92 + }, + "B6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 59.38, + "y": 65.24, + "z": 0.92 + }, + "C6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 59.38, + "y": 56.24, + "z": 0.92 + }, + "D6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 59.38, + "y": 47.24, + "z": 0.92 + }, + "E6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 59.38, + "y": 38.24, + "z": 0.92 + }, + "F6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 59.38, + "y": 29.24, + "z": 0.92 + }, + "G6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 59.38, + "y": 20.24, + "z": 0.92 + }, + "H6": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 59.38, + "y": 11.24, + "z": 0.92 + }, + "A7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 68.38, + "y": 74.24, + "z": 0.92 + }, + "B7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 68.38, + "y": 65.24, + "z": 0.92 + }, + "C7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 68.38, + "y": 56.24, + "z": 0.92 + }, + "D7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 68.38, + "y": 47.24, + "z": 0.92 + }, + "E7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 68.38, + "y": 38.24, + "z": 0.92 + }, + "F7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 68.38, + "y": 29.24, + "z": 0.92 + }, + "G7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 68.38, + "y": 20.24, + "z": 0.92 + }, + "H7": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 68.38, + "y": 11.24, + "z": 0.92 + }, + "A8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 77.38, + "y": 74.24, + "z": 0.92 + }, + "B8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 77.38, + "y": 65.24, + "z": 0.92 + }, + "C8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 77.38, + "y": 56.24, + "z": 0.92 + }, + "D8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 77.38, + "y": 47.24, + "z": 0.92 + }, + "E8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 77.38, + "y": 38.24, + "z": 0.92 + }, + "F8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 77.38, + "y": 29.24, + "z": 0.92 + }, + "G8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 77.38, + "y": 20.24, + "z": 0.92 + }, + "H8": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 77.38, + "y": 11.24, + "z": 0.92 + }, + "A9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 86.38, + "y": 74.24, + "z": 0.92 + }, + "B9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 86.38, + "y": 65.24, + "z": 0.92 + }, + "C9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 86.38, + "y": 56.24, + "z": 0.92 + }, + "D9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 86.38, + "y": 47.24, + "z": 0.92 + }, + "E9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 86.38, + "y": 38.24, + "z": 0.92 + }, + "F9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 86.38, + "y": 29.24, + "z": 0.92 + }, + "G9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 86.38, + "y": 20.24, + "z": 0.92 + }, + "H9": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 86.38, + "y": 11.24, + "z": 0.92 + }, + "A10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 95.38, + "y": 74.24, + "z": 0.92 + }, + "B10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 95.38, + "y": 65.24, + "z": 0.92 + }, + "C10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 95.38, + "y": 56.24, + "z": 0.92 + }, + "D10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 95.38, + "y": 47.24, + "z": 0.92 + }, + "E10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 95.38, + "y": 38.24, + "z": 0.92 + }, + "F10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 95.38, + "y": 29.24, + "z": 0.92 + }, + "G10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 95.38, + "y": 20.24, + "z": 0.92 + }, + "H10": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 95.38, + "y": 11.24, + "z": 0.92 + }, + "A11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 104.38, + "y": 74.24, + "z": 0.92 + }, + "B11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 104.38, + "y": 65.24, + "z": 0.92 + }, + "C11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 104.38, + "y": 56.24, + "z": 0.92 + }, + "D11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 104.38, + "y": 47.24, + "z": 0.92 + }, + "E11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 104.38, + "y": 38.24, + "z": 0.92 + }, + "F11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 104.38, + "y": 29.24, + "z": 0.92 + }, + "G11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 104.38, + "y": 20.24, + "z": 0.92 + }, + "H11": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 104.38, + "y": 11.24, + "z": 0.92 + }, + "A12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 113.38, + "y": 74.24, + "z": 0.92 + }, + "B12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 113.38, + "y": 65.24, + "z": 0.92 + }, + "C12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 113.38, + "y": 56.24, + "z": 0.92 + }, + "D12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 113.38, + "y": 47.24, + "z": 0.92 + }, + "E12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 113.38, + "y": 38.24, + "z": 0.92 + }, + "F12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 113.38, + "y": 29.24, + "z": 0.92 + }, + "G12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 113.38, + "y": 20.24, + "z": 0.92 + }, + "H12": { + "depth": 14.78, + "shape": "circular", + "diameter": 5.34, + "totalLiquidVolume": 100, + "x": 113.38, + "y": 11.24, + "z": 0.92 + } + }, + "groups": [ + { + "metadata": { "wellBottomShape": "v" }, + "wells": [ + "A1", + "B1", + "C1", + "D1", + "E1", + "F1", + "G1", + "H1", + "A2", + "B2", + "C2", + "D2", + "E2", + "F2", + "G2", + "H2", + "A3", + "B3", + "C3", + "D3", + "E3", + "F3", + "G3", + "H3", + "A4", + "B4", + "C4", + "D4", + "E4", + "F4", + "G4", + "H4", + "A5", + "B5", + "C5", + "D5", + "E5", + "F5", + "G5", + "H5", + "A6", + "B6", + "C6", + "D6", + "E6", + "F6", + "G6", + "H6", + "A7", + "B7", + "C7", + "D7", + "E7", + "F7", + "G7", + "H7", + "A8", + "B8", + "C8", + "D8", + "E8", + "F8", + "G8", + "H8", + "A9", + "B9", + "C9", + "D9", + "E9", + "F9", + "G9", + "H9", + "A10", + "B10", + "C10", + "D10", + "E10", + "F10", + "G10", + "H10", + "A11", + "B11", + "C11", + "D11", + "E11", + "F11", + "G11", + "H11", + "A12", + "B12", + "C12", + "D12", + "E12", + "F12", + "G12", + "H12" + ] + } + ], + "parameters": { + "format": "96Standard", + "isTiprack": false, + "isMagneticModuleCompatible": true, + "magneticModuleEngageHeight": 20, + "loadName": "nest_96_wellplate_100ul_pcr_full_skirt" + }, + "namespace": "opentrons", + "version": 2, + "schemaVersion": 2, + "cornerOffsetFromSlot": { "x": 0, "y": 0, "z": 0 }, + "stackingOffsetWithLabware": { + "opentrons_96_pcr_adapter": { "x": 0, "y": 0, "z": 10.2 }, + "opentrons_96_well_aluminum_block": { "x": 0, "y": 0, "z": 12.66 } + }, + "stackingOffsetWithModule": { + "thermocyclerModuleV2": { "x": 0, "y": 0, "z": 10.8 } + } + } + }, + "liquidSchemaId": "opentronsLiquidSchemaV1", + "liquids": {}, + "commandSchemaId": "opentronsCommandSchemaV8", + "commands": [ + { + "key": "dd8e7395-4f5d-47da-932c-581e6b330102", + "commandType": "loadPipette", + "params": { + "pipetteName": "p50_single_flex", + "mount": "left", + "pipetteId": "21087f15-4c03-4587-8a2b-1ba0b5a501a0" + } + }, + { + "key": "069341d0-374a-457f-811a-beb25f824ceb", + "commandType": "loadModule", + "params": { + "model": "temperatureModuleV2", + "location": { "slotName": "D3" }, + "moduleId": "d6966555-6c0e-45e0-8056-428d7c486401:temperatureModuleType" + } + }, + { + "key": "f2dbc8cc-b373-4043-b9f3-68f5eae4d69d", + "commandType": "loadModule", + "params": { + "model": "temperatureModuleV2", + "location": { "slotName": "C3" }, + "moduleId": "b9c56153-9026-42d1-8113-949e15254571:temperatureModuleType" + } + }, + { + "key": "f425f1d1-02c9-488b-865b-13f95497c9e8", + "commandType": "loadLabware", + "params": { + "displayName": "Opentrons 96 Well Aluminum Block", + "labwareId": "32b596f6-79bb-4ad8-a34a-c44620fdb68f:opentrons/opentrons_96_well_aluminum_block/1", + "loadName": "opentrons_96_well_aluminum_block", + "namespace": "opentrons", + "version": 1, + "location": { + "moduleId": "d6966555-6c0e-45e0-8056-428d7c486401:temperatureModuleType" + } + } + }, + { + "key": "ecc436f2-34ab-42bc-9dcd-12cbcd00a835", + "commandType": "loadLabware", + "params": { + "displayName": "Opentrons Flex 96 Tip Rack 50 µL", + "labwareId": "0d39213c-49c2-4170-bf19-4c09e1b72aca:opentrons/opentrons_flex_96_tiprack_50ul/1", + "loadName": "opentrons_flex_96_tiprack_50ul", + "namespace": "opentrons", + "version": 1, + "location": { "slotName": "C2" } + } + }, + { + "key": "212e0de6-00dc-460b-ac07-cd6a12fbc04f", + "commandType": "loadLabware", + "params": { + "displayName": "Opentrons 24 Well Aluminum Block with NEST 1.5 mL Screwcap", + "labwareId": "c3c4e3fd-069f-4f3d-9b70-016a20f36de7:opentrons/opentrons_24_aluminumblock_nest_1.5ml_screwcap/1", + "loadName": "opentrons_24_aluminumblock_nest_1.5ml_screwcap", + "namespace": "opentrons", + "version": 1, + "location": { + "moduleId": "b9c56153-9026-42d1-8113-949e15254571:temperatureModuleType" + } + } + }, + { + "key": "a8b0443f-afad-4e59-91a7-5b61f7e6836e", + "commandType": "loadLabware", + "params": { + "displayName": "NEST 96 Well Plate 100 µL PCR Full Skirt", + "labwareId": "c0093e5f-3f7d-4cbf-aa17-d88394108501:opentrons/nest_96_wellplate_100ul_pcr_full_skirt/2", + "loadName": "nest_96_wellplate_100ul_pcr_full_skirt", + "namespace": "opentrons", + "version": 2, + "location": { + "labwareId": "32b596f6-79bb-4ad8-a34a-c44620fdb68f:opentrons/opentrons_96_well_aluminum_block/1" + } + } + }, + { + "commandType": "pickUpTip", + "key": "ae442c49-0f55-4982-9796-91213f5c51f9", + "params": { + "pipetteId": "21087f15-4c03-4587-8a2b-1ba0b5a501a0", + "labwareId": "0d39213c-49c2-4170-bf19-4c09e1b72aca:opentrons/opentrons_flex_96_tiprack_50ul/1", + "wellName": "A1" + } + }, + { + "commandType": "configureForVolume", + "key": "1d992cbb-79cc-426e-9b4a-29768a75f092", + "params": { + "pipetteId": "21087f15-4c03-4587-8a2b-1ba0b5a501a0", + "volume": 10 + } + }, + { + "commandType": "aspirate", + "key": "5e59176d-a8e7-4c39-9337-053a2d6e02db", + "params": { + "pipetteId": "21087f15-4c03-4587-8a2b-1ba0b5a501a0", + "volume": 10, + "labwareId": "c0093e5f-3f7d-4cbf-aa17-d88394108501:opentrons/nest_96_wellplate_100ul_pcr_full_skirt/2", + "wellName": "C1", + "wellLocation": { + "origin": "bottom", + "offset": { "z": 29, "x": 2, "y": -2 } + }, + "flowRate": 35 + } + }, + { + "commandType": "dispense", + "key": "4e9f4b46-e095-40e2-95c8-abed29538675", + "params": { + "pipetteId": "21087f15-4c03-4587-8a2b-1ba0b5a501a0", + "volume": 10, + "labwareId": "c3c4e3fd-069f-4f3d-9b70-016a20f36de7:opentrons/opentrons_24_aluminumblock_nest_1.5ml_screwcap/1", + "wellName": "B3", + "wellLocation": { + "origin": "bottom", + "offset": { "z": 0.5, "x": 0, "y": 0 } + }, + "flowRate": 57 + } + }, + { + "commandType": "blowout", + "key": "5ae1dc28-2095-453a-88e4-2e6dd50e5c4d", + "params": { + "pipetteId": "21087f15-4c03-4587-8a2b-1ba0b5a501a0", + "labwareId": "c0093e5f-3f7d-4cbf-aa17-d88394108501:opentrons/nest_96_wellplate_100ul_pcr_full_skirt/2", + "wellName": "C1", + "flowRate": 20, + "wellLocation": { "origin": "top", "offset": { "z": -12 } } + } + }, + { + "commandType": "moveToAddressableAreaForDropTip", + "key": "7786878c-2a71-41b6-9971-14ea88c3bf9d", + "params": { + "pipetteId": "21087f15-4c03-4587-8a2b-1ba0b5a501a0", + "addressableAreaName": "movableTrashA3", + "offset": { "x": 0, "y": 0, "z": 0 }, + "alternateDropLocation": true + } + }, + { + "commandType": "dropTipInPlace", + "key": "77da638e-5609-40a6-be69-1309b7ae9eb6", + "params": { "pipetteId": "21087f15-4c03-4587-8a2b-1ba0b5a501a0" } + }, + { + "commandType": "temperatureModule/setTargetTemperature", + "key": "8eedd2c4-7474-4246-a896-f93040722a01", + "params": { + "moduleId": "d6966555-6c0e-45e0-8056-428d7c486401:temperatureModuleType", + "celsius": 40 + } + }, + { + "commandType": "temperatureModule/waitForTemperature", + "key": "a4cad3c5-b771-4278-8776-5b5417ac659e", + "params": { + "moduleId": "d6966555-6c0e-45e0-8056-428d7c486401:temperatureModuleType", + "celsius": 40 + } + }, + { + "commandType": "temperatureModule/setTargetTemperature", + "key": "9849f4ff-8723-4851-a637-3d311d9af210", + "params": { + "moduleId": "b9c56153-9026-42d1-8113-949e15254571:temperatureModuleType", + "celsius": 4 + } + }, + { + "commandType": "temperatureModule/waitForTemperature", + "key": "d3c30460-b6a7-4834-8c86-f1f3302e670f", + "params": { + "moduleId": "b9c56153-9026-42d1-8113-949e15254571:temperatureModuleType", + "celsius": 4 + } + }, + { + "commandType": "temperatureModule/deactivate", + "key": "82b767e6-0bfb-4175-8780-e48fbbc8f35c", + "params": { + "moduleId": "d6966555-6c0e-45e0-8056-428d7c486401:temperatureModuleType" + } + }, + { + "commandType": "temperatureModule/deactivate", + "key": "60f2762f-a1ef-40cc-a729-95cf514640ea", + "params": { + "moduleId": "b9c56153-9026-42d1-8113-949e15254571:temperatureModuleType" + } + } + ], + "commandAnnotationSchemaId": "opentronsCommandAnnotationSchemaV1", + "commandAnnotations": [] +} diff --git a/protocol-designer/fixtures/protocol/8/ninetySixChannelFullAndColumn.json b/protocol-designer/fixtures/protocol/8/ninetySixChannelFullAndColumn.json index 702945f0b8c..4715aed481d 100644 --- a/protocol-designer/fixtures/protocol/8/ninetySixChannelFullAndColumn.json +++ b/protocol-designer/fixtures/protocol/8/ninetySixChannelFullAndColumn.json @@ -6,7 +6,7 @@ "author": "", "description": "", "created": 1701805621086, - "lastModified": 1711742604736, + "lastModified": 1714570523087, "category": null, "subcategory": null, "tags": [] @@ -15,7 +15,7 @@ "name": "opentrons/protocol-designer", "version": "8.1.0", "data": { - "_internalAppBuildDate": "Fri, 29 Mar 2024 20:00:04 GMT", + "_internalAppBuildDate": "Wed, 01 May 2024 13:32:34 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, "dispense_mmFromBottom": 0.5, @@ -78,7 +78,6 @@ "dispense_touchTip_mmFromBottom": null, "disposalVolume_checkbox": true, "disposalVolume_volume": "5", - "blowout_z_offset": 0, "blowout_checkbox": false, "blowout_location": null, "preWetTip": false, @@ -98,6 +97,8 @@ "dispense_y_position": 0, "aspirate_x_position": 0, "aspirate_y_position": 0, + "blowout_z_offset": 0, + "blowout_flowRate": null, "id": "83a095fa-b649-4105-99d4-177f1a3f363a", "stepType": "moveLiquid", "stepName": "transfer", @@ -134,7 +135,6 @@ "dispense_touchTip_mmFromBottom": null, "disposalVolume_checkbox": true, "disposalVolume_volume": "5", - "blowout_z_offset": 0, "blowout_checkbox": false, "blowout_location": null, "preWetTip": false, @@ -154,6 +154,8 @@ "dispense_y_position": 0, "aspirate_x_position": 0, "aspirate_y_position": 0, + "blowout_z_offset": 0, + "blowout_flowRate": null, "id": "f5ea3139-1585-4848-9d5f-832eb88c99ca", "stepType": "moveLiquid", "stepName": "transfer", @@ -2243,7 +2245,7 @@ "commandSchemaId": "opentronsCommandSchemaV8", "commands": [ { - "key": "7224d1a7-a7b3-4bb3-bc5c-65aa98565616", + "key": "1370b9a4-1e65-4203-9106-896db3db3bd3", "commandType": "loadPipette", "params": { "pipetteName": "p1000_96", @@ -2252,7 +2254,7 @@ } }, { - "key": "dcddeb3c-66d9-4868-9f9f-fbd47d754fc4", + "key": "d65a7183-875a-443a-b26a-6a2470291dce", "commandType": "loadLabware", "params": { "displayName": "Opentrons Flex 96 Tip Rack Adapter", @@ -2264,7 +2266,7 @@ } }, { - "key": "c206434e-aa1e-44ee-8667-29accd89941a", + "key": "d05d92c6-d0d1-4886-aaef-c180b6953763", "commandType": "loadLabware", "params": { "displayName": "Opentrons Flex 96 Tip Rack 50 µL", @@ -2278,7 +2280,7 @@ } }, { - "key": "3cdba839-f0fa-4e50-8399-94338cced032", + "key": "bb161828-5fd9-4d84-8209-c1f5de48ba99", "commandType": "loadLabware", "params": { "displayName": "Bio-Rad 96 Well Plate 200 µL PCR", @@ -2290,7 +2292,7 @@ } }, { - "key": "7f75bf03-3036-4847-afbf-4bbefdf6cee8", + "key": "8821778d-8456-4c74-8e29-da7604c012ec", "commandType": "loadLabware", "params": { "displayName": "Opentrons Flex 96 Tip Rack 50 µL", @@ -2303,7 +2305,7 @@ }, { "commandType": "configureNozzleLayout", - "key": "2326c781-0416-4319-b954-16929077b5e3", + "key": "a2a88d61-5c01-45bf-bcb8-91c893328b53", "params": { "pipetteId": "de7da440-95ec-43e8-8723-851321fbd6f9", "configurationParams": { "style": "ALL" } @@ -2311,7 +2313,7 @@ }, { "commandType": "pickUpTip", - "key": "86f7ac25-739d-4a38-8bf4-4730a8e6cce7", + "key": "747ca334-8955-4069-8473-351be7666ee0", "params": { "pipetteId": "de7da440-95ec-43e8-8723-851321fbd6f9", "labwareId": "75aa666f-98d8-4af9-908e-963ced428580:opentrons/opentrons_flex_96_tiprack_50ul/1", @@ -2320,7 +2322,7 @@ }, { "commandType": "aspirate", - "key": "0113e27d-0949-4305-8f0b-5467753dfac3", + "key": "b1ffc410-ed41-4c83-bebd-145ae0ca05d8", "params": { "pipetteId": "de7da440-95ec-43e8-8723-851321fbd6f9", "volume": 10, @@ -2335,7 +2337,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "79c134c0-5042-4243-8a81-95ad54594ab3", + "key": "9100f4e2-b808-43d3-8c72-355dcce98b33", "params": { "pipetteId": "de7da440-95ec-43e8-8723-851321fbd6f9", "addressableAreaName": "movableTrashA3", @@ -2344,7 +2346,7 @@ }, { "commandType": "dispenseInPlace", - "key": "2ce5b534-62b3-4415-bdd6-747fb57545be", + "key": "4088260b-f0e9-4d3a-852c-13b7d467cc2d", "params": { "pipetteId": "de7da440-95ec-43e8-8723-851321fbd6f9", "volume": 10, @@ -2353,7 +2355,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "7212407e-0bd1-4ef5-a8c7-4c6f95cee357", + "key": "8169cddb-5337-4bcf-bbfb-eb6307764b90", "params": { "pipetteId": "de7da440-95ec-43e8-8723-851321fbd6f9", "addressableAreaName": "movableTrashA3", @@ -2363,12 +2365,12 @@ }, { "commandType": "dropTipInPlace", - "key": "55286f40-e2c1-44f6-a3f3-032bfbf89f3d", + "key": "e0db70c1-546f-44ce-91c7-b18c37fcbcef", "params": { "pipetteId": "de7da440-95ec-43e8-8723-851321fbd6f9" } }, { "commandType": "configureNozzleLayout", - "key": "47ab8f5c-a2dc-40e0-a6db-3c2ff6c48778", + "key": "97fb0aee-ce45-427f-b3af-b9b9a1923778", "params": { "pipetteId": "de7da440-95ec-43e8-8723-851321fbd6f9", "configurationParams": { "primaryNozzle": "A12", "style": "COLUMN" } @@ -2376,7 +2378,7 @@ }, { "commandType": "pickUpTip", - "key": "c6f563fd-4f3f-4bd8-833e-3519c4fb0026", + "key": "203d9332-ea93-4047-97e8-58516d18373b", "params": { "pipetteId": "de7da440-95ec-43e8-8723-851321fbd6f9", "labwareId": "9bd16b50-4ae9-4cfd-8583-3378087e6a6c:opentrons/opentrons_flex_96_tiprack_50ul/1", @@ -2385,7 +2387,7 @@ }, { "commandType": "aspirate", - "key": "ee919504-5c21-40c5-9205-00e8aee06718", + "key": "3b5ef144-b0a9-4136-8579-3ddef13d60d1", "params": { "pipetteId": "de7da440-95ec-43e8-8723-851321fbd6f9", "volume": 10, @@ -2400,7 +2402,7 @@ }, { "commandType": "moveToAddressableArea", - "key": "6c1dbdec-0d3a-4693-810b-b28984382fce", + "key": "b1b0cb96-cf8a-4c19-ad8b-7a515b720c80", "params": { "pipetteId": "de7da440-95ec-43e8-8723-851321fbd6f9", "addressableAreaName": "movableTrashA3", @@ -2409,7 +2411,7 @@ }, { "commandType": "dispenseInPlace", - "key": "d7ad2bf5-3033-4168-adf4-082306dc5467", + "key": "b49b05e6-f82a-4dd3-9288-8f5eba004b2a", "params": { "pipetteId": "de7da440-95ec-43e8-8723-851321fbd6f9", "volume": 10, @@ -2418,7 +2420,7 @@ }, { "commandType": "moveToAddressableAreaForDropTip", - "key": "9ca4968e-0995-4354-95a1-37964599784f", + "key": "6e0104da-5608-490a-ae14-e67db91331fe", "params": { "pipetteId": "de7da440-95ec-43e8-8723-851321fbd6f9", "addressableAreaName": "movableTrashA3", @@ -2428,7 +2430,7 @@ }, { "commandType": "dropTipInPlace", - "key": "548bbf90-da13-4487-a878-dd363b17d906", + "key": "a1266ec5-4602-43e7-a5e5-6512e7560eb9", "params": { "pipetteId": "de7da440-95ec-43e8-8723-851321fbd6f9" } } ], diff --git a/protocol-designer/src/components/StepEditForm/fields/FlowRateField/FlowRateInput.tsx b/protocol-designer/src/components/StepEditForm/fields/FlowRateField/FlowRateInput.tsx index baaafeb3318..06862663e97 100644 --- a/protocol-designer/src/components/StepEditForm/fields/FlowRateField/FlowRateInput.tsx +++ b/protocol-designer/src/components/StepEditForm/fields/FlowRateField/FlowRateInput.tsx @@ -7,19 +7,23 @@ import { FormGroup, RadioGroup, InputField, + Flex, + useHoverTooltip, + Tooltip, } from '@opentrons/components' import { getMainPagePortalEl } from '../../../portals/MainPageModalPortal' +import type { FieldProps } from '../../types' + import modalStyles from '../../../modals/modal.module.css' import stepFormStyles from '../../StepEditForm.module.css' import styles from './FlowRateInput.module.css' -import type { FieldProps } from '../../types' const DECIMALS_ALLOWED = 1 /** When flow rate is falsey (including 0), it means 'use default' */ export interface FlowRateInputProps extends FieldProps { defaultFlowRate?: number | null - flowRateType: 'aspirate' | 'dispense' + flowRateType: 'aspirate' | 'dispense' | 'blowout' label?: string | null minFlowRate: number maxFlowRate: number @@ -46,7 +50,9 @@ export const FlowRateInput = (props: FlowRateInputProps): JSX.Element => { minFlowRate, name, pipetteDisplayName, + tooltipContent, } = props + const [targetProps, tooltipProps] = useHoverTooltip() const { t } = useTranslation(['form', 'application', 'shared']) const DEFAULT_LABEL = t('step_edit_form.field.flow_rate.label') @@ -206,21 +212,37 @@ export const FlowRateInput = (props: FlowRateInputProps): JSX.Element => { ) return ( - - - - + <> + {flowRateType === 'blowout' ? ( + + + {tooltipContent} + + ) : ( + + + + )} {showModal && FlowRateModal} - + ) } diff --git a/protocol-designer/src/components/StepEditForm/fields/FlowRateField/__tests__/FlowRateField.test.tsx b/protocol-designer/src/components/StepEditForm/fields/FlowRateField/__tests__/FlowRateField.test.tsx index 5a5bcc5a468..2e6cea00cf8 100644 --- a/protocol-designer/src/components/StepEditForm/fields/FlowRateField/__tests__/FlowRateField.test.tsx +++ b/protocol-designer/src/components/StepEditForm/fields/FlowRateField/__tests__/FlowRateField.test.tsx @@ -1,5 +1,6 @@ import * as React from 'react' -import { describe, it, vi, beforeEach } from 'vitest' +import '@testing-library/jest-dom/vitest' +import { describe, it, vi, beforeEach, expect } from 'vitest' import { fireEvent, screen } from '@testing-library/react' import { fixtureP100096V2Specs } from '@opentrons/shared-data' import { renderWithProviders } from '../../../../../__testing-utils__' @@ -65,4 +66,19 @@ describe('FlowRateField', () => { screen.getByText('Cancel') screen.getByText('Done') }) + it('renders the information for blowout field', () => { + props.flowRateType = 'blowout' + render(props) + expect(screen.queryByText('Flow Rate')).not.toBeInTheDocument() + fireEvent.click(screen.getByRole('textbox')) + screen.getByText( + 'The default mockPipDisplayName flow rate is optimal for handling aqueous liquids' + ) + screen.getByText('blowout speed') + screen.getByText('80 μL/s (default)') + screen.getByText('Custom') + screen.getByText('between 0.1 and Infinity') + screen.getByText('Cancel') + screen.getByText('Done') + }) }) diff --git a/protocol-designer/src/components/StepEditForm/fields/FlowRateField/index.tsx b/protocol-designer/src/components/StepEditForm/fields/FlowRateField/index.tsx index d8dda0e6784..165ec2553a1 100644 --- a/protocol-designer/src/components/StepEditForm/fields/FlowRateField/index.tsx +++ b/protocol-designer/src/components/StepEditForm/fields/FlowRateField/index.tsx @@ -42,6 +42,9 @@ export function FlowRateField(props: FlowRateFieldProps): JSX.Element { } else if (flowRateType === 'dispense') { defaultFlowRate = matchingTipLiquidSpecs?.defaultDispenseFlowRate.default ?? 0 + } else if (flowRateType === 'blowout') { + defaultFlowRate = + matchingTipLiquidSpecs?.defaultBlowOutFlowRate.default ?? 0 } } return ( diff --git a/protocol-designer/src/components/StepEditForm/forms/MixForm.tsx b/protocol-designer/src/components/StepEditForm/forms/MixForm.tsx index f0eb043b081..324c1c9754c 100644 --- a/protocol-designer/src/components/StepEditForm/forms/MixForm.tsx +++ b/protocol-designer/src/components/StepEditForm/forms/MixForm.tsx @@ -213,6 +213,13 @@ export const MixForm = (props: StepFormProps): JSX.Element => { stepType: formData.stepType, })} /> + { stepType: formData.stepType, })} /> + command.commandType === 'loadLabware' ) + const loadPipetteCommands = commands.filter( + (command): command is LoadPipetteCreateCommand => + command.commandType === 'loadPipette' + ) const savedStepForms = designerApplication.data ?.savedStepForms as DesignerApplicationData['savedStepForms'] @@ -64,9 +71,12 @@ export const migrateFile = ( `expected to find tiprack definition with labwareDefintionURI ${tipRackUri} but could not` ) } - const tiprackIds = loadLabwareCommands - .filter(command => command.params.loadName === tiprackLoadName) - .map(command => command.params.labwareId) + const tiprackLoadCommands = loadLabwareCommands.filter( + command => command.params.loadName === tiprackLoadName + ) + const tiprackIds = tiprackLoadCommands.map( + command => command.params.labwareId + ) const xyKeys = item.stepType === 'mix' ? { mix_x_position: 0, mix_y_position: 0 } @@ -76,8 +86,40 @@ export const migrateFile = ( dispense_x_position: 0, dispense_y_position: 0, } + const matchingTiprackCommand = tiprackLoadCommands.find( + command => command.params.labwareId === item.tipRack + ) + + if (matchingTiprackCommand == null) { + console.error( + `expected to find a tiprack loadname from tiprack ${item.tiprack} but could not ` + ) + } + const matchingTiprackURI = + matchingTiprackCommand != null + ? `${matchingTiprackCommand.params.namespace}/${matchingTiprackCommand.params.loadName}/${matchingTiprackCommand.params.version}` + : null + const tipLength = + matchingTiprackURI != null + ? labwareDefinitions[matchingTiprackURI].parameters.tipLength ?? 0 + : 0 + const pipetteName = loadPipetteCommands.find( + pipette => pipette.params.pipetteId === item.pipette + )?.params.pipetteName + const defaultBlowOutFlowRate = getDefaultBlowoutFlowRate( + pipetteName as PipetteName, + item.volume, + tipLength + ) + + let blowoutFlowRate: number | null = defaultBlowOutFlowRate + if (item.blowout_checkbox === false) { + blowoutFlowRate = null + } + acc[item.id] = { ...item, + blowout_flowRate: blowoutFlowRate, blowout_z_offset: 0, tipRack: tiprackIds[0], ...xyKeys, diff --git a/protocol-designer/src/load-file/migration/__tests__/__snapshots__/3_0_0.test.ts.snap b/protocol-designer/src/load-file/migration/__tests__/__snapshots__/3_0_0.test.ts.snap index 5fe841bb055..d0eeb3dde9e 100644 --- a/protocol-designer/src/load-file/migration/__tests__/__snapshots__/3_0_0.test.ts.snap +++ b/protocol-designer/src/load-file/migration/__tests__/__snapshots__/3_0_0.test.ts.snap @@ -297,301 +297,3 @@ exports[`migrate to 3.0.0 > snapshot test 1`] = ` "schemaVersion": 3, } `; - -exports[`migrate to 3.0.0 snapshot test 1`] = ` -Object { - "commands": Array [], - "designerApplication": Object { - "data": Object { - "dismissedWarnings": Object { - "form": Object {}, - "timeline": Object {}, - }, - "ingredLocations": Object { - "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well": Object { - "A1": Object { - "0": Object { - "volume": 121, - }, - }, - "B1": Object { - "0": Object { - "volume": 121, - }, - }, - "C1": Object { - "0": Object { - "volume": 121, - }, - }, - "D1": Object { - "0": Object { - "volume": 121, - }, - }, - "E1": Object { - "0": Object { - "volume": 121, - }, - }, - "F1": Object { - "1": Object { - "volume": 44, - }, - }, - "G1": Object { - "1": Object { - "volume": 44, - }, - }, - "H1": Object { - "1": Object { - "volume": 44, - }, - }, - }, - }, - "ingredients": Object { - "0": Object { - "description": null, - "liquidGroupId": "0", - "name": "samples", - "serialize": false, - }, - "1": Object { - "description": null, - "liquidGroupId": "1", - "name": "dna", - "serialize": false, - }, - }, - "orderedStepIds": Array [ - "e7d36200-92a5-11e9-ac62-1b173f839d9e", - "18113c80-92a6-11e9-ac62-1b173f839d9e", - "2e622080-92a6-11e9-ac62-1b173f839d9e", - ], - "pipetteTiprackAssignments": Object { - "c6f45030-92a5-11e9-ac62-1b173f839d9e": "fixture/fixture_regular_example_1/1", - "c6f47740-92a5-11e9-ac62-1b173f839d9e": "fixture/fixture_regular_example_1/1", - }, - "savedStepForms": Object { - "18113c80-92a6-11e9-ac62-1b173f839d9e": Object { - "aspirate_flowRate": 8, - "blowout_checkbox": true, - "blowout_location": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", - "changeTip": "always", - "dispense_flowRate": 7, - "id": "18113c80-92a6-11e9-ac62-1b173f839d9e", - "labware": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", - "mix_mmFromBottom": 0.5, - "mix_touchTip_checkbox": true, - "mix_touchTip_mmFromBottom": 30.5, - "mix_wellOrder_first": "t2b", - "mix_wellOrder_second": "l2r", - "pipette": "c6f45030-92a5-11e9-ac62-1b173f839d9e", - "stepDetails": "", - "stepName": "mix", - "stepType": "mix", - "times": 3, - "volume": "5.5", - "wells": Array [ - "F1", - ], - }, - "2e622080-92a6-11e9-ac62-1b173f839d9e": Object { - "id": "2e622080-92a6-11e9-ac62-1b173f839d9e", - "pauseForAmountOfTime": "true", - "pauseHour": 1, - "pauseMessage": "Delay plz", - "pauseMinute": 2, - "pauseSecond": 3, - "stepDetails": "", - "stepName": "pause", - "stepType": "pause", - }, - "__INITIAL_DECK_SETUP_STEP__": Object { - "id": "__INITIAL_DECK_SETUP_STEP__", - "labwareLocationUpdate": Object { - "c6f4ec70-92a5-11e9-ac62-1b173f839d9e:tiprack-10ul": "1", - "c6f51380-92a5-11e9-ac62-1b173f839d9e:tiprack-200ul": "2", - "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well": "10", - "trashId": "12", - }, - "pipetteLocationUpdate": Object { - "c6f45030-92a5-11e9-ac62-1b173f839d9e": "left", - "c6f47740-92a5-11e9-ac62-1b173f839d9e": "right", - }, - "stepType": "manualIntervention", - }, - "e7d36200-92a5-11e9-ac62-1b173f839d9e": Object { - "aspirate_flowRate": 0.6, - "aspirate_labware": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", - "aspirate_mix_checkbox": true, - "aspirate_mix_times": 3, - "aspirate_mix_volume": "2", - "aspirate_mmFromBottom": 1, - "aspirate_touchTip_checkbox": true, - "aspirate_touchTip_mmFromBottom": 28.5, - "aspirate_wellOrder_first": "t2b", - "aspirate_wellOrder_second": "l2r", - "aspirate_wells": Array [ - "A1", - ], - "aspirate_wells_grouped": false, - "blowout_checkbox": true, - "blowout_location": "trashId", - "changeTip": "always", - "dispense_labware": "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well", - "dispense_mix_checkbox": true, - "dispense_mix_times": 2, - "dispense_mix_volume": "3", - "dispense_mmFromBottom": 2.5, - "dispense_touchTip_checkbox": true, - "dispense_wellOrder_first": "b2t", - "dispense_wellOrder_second": "r2l", - "dispense_wells": Array [ - "C6", - "D6", - "E6", - "C7", - "D7", - "E7", - "C8", - "D8", - "E8", - ], - "disposalVolume_checkbox": true, - "disposalVolume_volume": "1", - "id": "e7d36200-92a5-11e9-ac62-1b173f839d9e", - "path": "single", - "pipette": "c6f45030-92a5-11e9-ac62-1b173f839d9e", - "preWetTip": false, - "stepDetails": "yeah notes", - "stepName": "transfer things", - "stepType": "moveLiquid", - "volume": "6", - }, - }, - }, - "name": "opentrons/protocol-designer", - "version": "3.0.0", - }, - "labware": Object { - "c6f4ec70-92a5-11e9-ac62-1b173f839d9e:tiprack-10ul": Object { - "definitionId": "fixture/fixture_regular_example_1/1", - "displayName": "tiprack 10ul (1)", - "slot": "1", - }, - "c6f51380-92a5-11e9-ac62-1b173f839d9e:tiprack-200ul": Object { - "definitionId": "fixture/fixture_regular_example_1/1", - "displayName": "tiprack 200ul (1)", - "slot": "2", - }, - "dafd4000-92a5-11e9-ac62-1b173f839d9e:96-deep-well": Object { - "definitionId": "fixture/fixture_regular_example_1/1", - "displayName": "96 deep well (1)", - "slot": "10", - }, - "trashId": Object { - "definitionId": "fixture/fixture_regular_example_1/1", - "displayName": "Trash", - "slot": "12", - }, - }, - "labwareDefinitions": Object { - "fixture/fixture_regular_example_1/1": Object { - "brand": Object { - "brand": "opentrons", - "brandId": Array [ - "t40u9sernisofsea", - ], - }, - "cornerOffsetFromSlot": Object { - "x": 0, - "y": 0, - "z": 0, - }, - "dimensions": Object { - "xDimension": 127.76, - "yDimension": 85.48, - "zDimension": 50, - }, - "groups": Array [ - Object { - "metadata": Object {}, - "wells": Array [ - "A1", - "A2", - ], - }, - ], - "metadata": Object { - "displayCategory": "wellPlate", - "displayName": "fake labware", - "displayVolumeUnits": "µL", - }, - "namespace": "fixture", - "ordering": Array [ - Array [ - "A1", - ], - Array [ - "A2", - ], - ], - "parameters": Object { - "format": "96Standard", - "isMagneticModuleCompatible": false, - "isTiprack": false, - "loadName": "fixture_regular_example_1", - }, - "schemaVersion": 2, - "version": 1, - "wells": Object { - "A1": Object { - "depth": 40, - "diameter": 30, - "shape": "circular", - "totalLiquidVolume": 100, - "x": 10, - "y": 75.48, - "z": 15, - }, - "A2": Object { - "depth": 40, - "diameter": 30, - "shape": "circular", - "totalLiquidVolume": 100, - "x": 20, - "y": 75.48, - "z": 15, - }, - }, - }, - }, - "metadata": Object { - "author": "Author name", - "category": null, - "created": 1560957631666, - "description": "Description here", - "lastModified": undefined, - "protocolName": "Some name!", - "subcategory": null, - "tags": Array [], - }, - "pipettes": Object { - "c6f45030-92a5-11e9-ac62-1b173f839d9e": Object { - "mount": "left", - "name": "p10_single", - }, - "c6f47740-92a5-11e9-ac62-1b173f839d9e": Object { - "mount": "right", - "name": "p50_single", - }, - }, - "robot": Object { - "model": "OT-2 Standard", - }, - "schemaVersion": 3, -} -`; diff --git a/protocol-designer/src/load-file/migration/utils/getDefaultBlowoutFlowRate.ts b/protocol-designer/src/load-file/migration/utils/getDefaultBlowoutFlowRate.ts new file mode 100644 index 00000000000..67fff93309f --- /dev/null +++ b/protocol-designer/src/load-file/migration/utils/getDefaultBlowoutFlowRate.ts @@ -0,0 +1,36 @@ +import { LOW_VOLUME_PIPETTES, getPipetteSpecsV2 } from '@opentrons/shared-data' +import type { PipetteName } from '@opentrons/shared-data' + +export function getDefaultBlowoutFlowRate( + pipetteName: PipetteName, + volume: number, + tipLength: number +): number { + const specs = getPipetteSpecsV2(pipetteName) + + console.assert( + specs, + `expected to find pipette specs from pipetteName ${pipetteName} but could not` + ) + + const isLowVolumePipette = LOW_VOLUME_PIPETTES.includes(pipetteName) + const isUsingLowVolume = volume < 5 + const liquidType = + isLowVolumePipette && isUsingLowVolume ? 'lowVolumeDefault' : 'default' + const liquidSupportedTips = + specs != null ? Object.values(specs.liquids[liquidType].supportedTips) : [] + + // find the supported tip liquid specs that either exactly match + // tipLength or are closest, this accounts for custom tipracks + const matchingTipLiquidSpecs = liquidSupportedTips.sort((tipA, tipB) => { + const differenceA = Math.abs(tipA.defaultTipLength - tipLength) + const differenceB = Math.abs(tipB.defaultTipLength - tipLength) + return differenceA - differenceB + })[0] + console.assert( + matchingTipLiquidSpecs, + `expected to find the tip liquid specs but could not with pipetteName ${pipetteName}` + ) + console.log(pipetteName, volume, tipLength) + return matchingTipLiquidSpecs.defaultBlowOutFlowRate.default +} diff --git a/protocol-designer/src/localization/en/tooltip.json b/protocol-designer/src/localization/en/tooltip.json index 8e293d8efdd..b3ac4786fdc 100644 --- a/protocol-designer/src/localization/en/tooltip.json +++ b/protocol-designer/src/localization/en/tooltip.json @@ -49,7 +49,8 @@ "mix_touchTip_mmFromBottom": "Distance from the bottom of the well", "preWetTip": "Pre-wet pipette tip by aspirating and dispensing 2/3 of the tip's max volume", "volume": "Volume to dispense in each well", - "blowout_z_offset": "The height at which blowout occurs from the top of the well" + "blowout_z_offset": "The height at which blowout occurs from the top of the well", + "blowout_flowRate": "Blowout speed" }, "indeterminate": { "aspirate_airGap_checkbox": "Not all selected steps are using this setting", diff --git a/protocol-designer/src/step-forms/test/createPresavedStepForm.test.ts b/protocol-designer/src/step-forms/test/createPresavedStepForm.test.ts index 11b93d8dbc6..f7e37d2e467 100644 --- a/protocol-designer/src/step-forms/test/createPresavedStepForm.test.ts +++ b/protocol-designer/src/step-forms/test/createPresavedStepForm.test.ts @@ -192,6 +192,7 @@ describe('createPresavedStepForm', () => { dispense_x_position: 0, dispense_y_position: 0, blowout_z_offset: 0, + blowout_flowRate: null, }) }) describe('mix step', () => { @@ -228,6 +229,7 @@ describe('createPresavedStepForm', () => { aspirate_flowRate: null, dispense_flowRate: null, tipRack: null, + blowout_flowRate: null, }) }) }) diff --git a/protocol-designer/src/steplist/formLevel/getDefaultsForStepType.ts b/protocol-designer/src/steplist/formLevel/getDefaultsForStepType.ts index b90eb6f028e..a6933bc85e4 100644 --- a/protocol-designer/src/steplist/formLevel/getDefaultsForStepType.ts +++ b/protocol-designer/src/steplist/formLevel/getDefaultsForStepType.ts @@ -41,6 +41,7 @@ export function getDefaultsForStepType( mix_x_position: 0, mix_y_position: 0, blowout_z_offset: DEFAULT_MM_BLOWOUT_OFFSET_FROM_TOP, + blowout_flowRate: null, } case 'moveLiquid': @@ -95,6 +96,7 @@ export function getDefaultsForStepType( aspirate_x_position: 0, aspirate_y_position: 0, blowout_z_offset: DEFAULT_MM_BLOWOUT_OFFSET_FROM_TOP, + blowout_flowRate: null, } case 'moveLabware': diff --git a/protocol-designer/src/steplist/formLevel/stepFormToArgs/mixFormToArgs.ts b/protocol-designer/src/steplist/formLevel/stepFormToArgs/mixFormToArgs.ts index d28f6dc42df..4b22040578f 100644 --- a/protocol-designer/src/steplist/formLevel/stepFormToArgs/mixFormToArgs.ts +++ b/protocol-designer/src/steplist/formLevel/stepFormToArgs/mixFormToArgs.ts @@ -70,7 +70,7 @@ export const mixFormToArgs = ( : null // Blowout settings const blowoutFlowRateUlSec = - hydratedFormData.dispense_flowRate ?? + hydratedFormData.blowout_flowRate ?? matchingTipLiquidSpecs?.defaultBlowOutFlowRate.default const blowoutOffsetFromTopMm = blowoutLocation diff --git a/protocol-designer/src/steplist/formLevel/stepFormToArgs/moveLiquidFormToArgs.ts b/protocol-designer/src/steplist/formLevel/stepFormToArgs/moveLiquidFormToArgs.ts index 05910f13332..04f87317ff0 100644 --- a/protocol-designer/src/steplist/formLevel/stepFormToArgs/moveLiquidFormToArgs.ts +++ b/protocol-designer/src/steplist/formLevel/stepFormToArgs/moveLiquidFormToArgs.ts @@ -202,7 +202,7 @@ export const moveLiquidFormToArgs = ( dispenseOffsetFromBottomMm: fields.dispense_mmFromBottom || DEFAULT_MM_FROM_BOTTOM_DISPENSE, blowoutFlowRateUlSec: - fields.dispense_flowRate || + fields.blowout_flowRate || matchingTipLiquidSpecs.defaultBlowOutFlowRate.default, blowoutOffsetFromTopMm, changeTip: fields.changeTip, diff --git a/protocol-designer/src/steplist/formLevel/test/getDefaultsForStepType.test.ts b/protocol-designer/src/steplist/formLevel/test/getDefaultsForStepType.test.ts index 081d7809566..2d2d1fa5e25 100644 --- a/protocol-designer/src/steplist/formLevel/test/getDefaultsForStepType.test.ts +++ b/protocol-designer/src/steplist/formLevel/test/getDefaultsForStepType.test.ts @@ -52,6 +52,7 @@ describe('getDefaultsForStepType', () => { blowout_checkbox: false, blowout_location: null, + blowout_flowRate: null, preWetTip: false, aspirate_airGap_checkbox: false, @@ -87,6 +88,7 @@ describe('getDefaultsForStepType', () => { mix_wellOrder_second: DEFAULT_WELL_ORDER_SECOND_OPTION, blowout_checkbox: false, blowout_location: null, + blowout_flowRate: null, mix_mmFromBottom: DEFAULT_MM_FROM_BOTTOM_DISPENSE, mix_touchTip_mmFromBottom: null, mix_touchTip_checkbox: false, diff --git a/protocol-designer/src/steplist/test/__snapshots__/mergeSubstepsFns.test.ts.snap b/protocol-designer/src/steplist/test/__snapshots__/mergeSubstepsFns.test.ts.snap index 77a3cc5bbb1..87122a8b5d0 100644 --- a/protocol-designer/src/steplist/test/__snapshots__/mergeSubstepsFns.test.ts.snap +++ b/protocol-designer/src/steplist/test/__snapshots__/mergeSubstepsFns.test.ts.snap @@ -1011,1015 +1011,3 @@ exports[`mergeSubstepRowsMultiChannel > mock transfer 1`] = ` ], ] `; - -exports[`mergeSubstepRowsMultiChannel mock consolidate 1`] = ` -Array [ - Array [ - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": undefined, - "source": Object { - "postIngreds": Object { - "ingred1Id": 25, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "A1", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": undefined, - "source": Object { - "postIngreds": undefined, - "preIngreds": undefined, - "well": undefined, - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": undefined, - "source": Object { - "postIngreds": undefined, - "preIngreds": undefined, - "well": undefined, - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": undefined, - "source": Object { - "postIngreds": undefined, - "preIngreds": undefined, - "well": undefined, - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": undefined, - "source": Object { - "postIngreds": undefined, - "preIngreds": undefined, - "well": undefined, - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": undefined, - "source": Object { - "postIngreds": undefined, - "preIngreds": undefined, - "well": undefined, - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": undefined, - "source": Object { - "postIngreds": undefined, - "preIngreds": undefined, - "well": undefined, - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": undefined, - "source": Object { - "postIngreds": undefined, - "preIngreds": undefined, - "well": undefined, - }, - "volume": 5, - }, - ], - Array [ - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "A12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 31, - }, - "preIngreds": Object { - "ingred1Id": 36, - }, - "well": "A2", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "B12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 31, - }, - "preIngreds": Object { - "ingred1Id": 36, - }, - "well": "B2", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "C12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 31, - }, - "preIngreds": Object { - "ingred1Id": 36, - }, - "well": "C2", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "D12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 31, - }, - "preIngreds": Object { - "ingred1Id": 36, - }, - "well": "D2", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "E12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 31, - }, - "preIngreds": Object { - "ingred1Id": 36, - }, - "well": "E2", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "F12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 31, - }, - "preIngreds": Object { - "ingred1Id": 36, - }, - "well": "F2", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "G12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 31, - }, - "preIngreds": Object { - "ingred1Id": 36, - }, - "well": "G2", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "H12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 31, - }, - "preIngreds": Object { - "ingred1Id": 36, - }, - "well": "H2", - }, - "volume": 5, - }, - ], -] -`; - -exports[`mergeSubstepRowsMultiChannel mock distribute 1`] = ` -Array [ - Array [ - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "A11", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "A1", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "B11", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "B1", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "C11", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "C1", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "D11", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "D1", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "E11", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "E1", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "F11", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "F1", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "G11", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "G1", - }, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "H11", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "H1", - }, - "volume": 5, - }, - ], - Array [ - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "A12", - }, - "source": undefined, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "B12", - }, - "source": undefined, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "C12", - }, - "source": undefined, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "D12", - }, - "source": undefined, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "E12", - }, - "source": undefined, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "F12", - }, - "source": undefined, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "G12", - }, - "source": undefined, - "volume": 5, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 5, - }, - "preIngreds": Object {}, - "well": "H12", - }, - "source": undefined, - "volume": 5, - }, - ], -] -`; - -exports[`mergeSubstepRowsMultiChannel mock mix 1`] = ` -Array [ - Array [ - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "A1", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "A1", - }, - "volume": 10, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "B1", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "B1", - }, - "volume": 10, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "C1", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "C1", - }, - "volume": 10, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "D1", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "D1", - }, - "volume": 10, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "E1", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "E1", - }, - "volume": 10, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "F1", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "F1", - }, - "volume": 10, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "G1", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "G1", - }, - "volume": 10, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "H1", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "H1", - }, - "volume": 10, - }, - ], -] -`; - -exports[`mergeSubstepRowsMultiChannel mock transfer 1`] = ` -Array [ - Array [ - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "A12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "A1", - }, - "volume": 10, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "B12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "B1", - }, - "volume": 10, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "C12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "C1", - }, - "volume": 10, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "D12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "D1", - }, - "volume": 10, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "E12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "E1", - }, - "volume": 10, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "F12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "F1", - }, - "volume": 10, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "G12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "G1", - }, - "volume": 10, - }, - Object { - "activeTips": Object { - "labware": "someTiprackId", - "well": "A6", - }, - "dest": Object { - "postIngreds": Object { - "ingred1Id": 10, - }, - "preIngreds": Object {}, - "well": "H12", - }, - "source": Object { - "postIngreds": Object { - "ingred1Id": 20, - }, - "preIngreds": Object { - "ingred1Id": 30, - }, - "well": "H1", - }, - "volume": 10, - }, - ], -] -`; diff --git a/protocol-designer/src/ui/steps/test/selectors.test.ts b/protocol-designer/src/ui/steps/test/selectors.test.ts index e5aa13d10c5..22b93569b04 100644 --- a/protocol-designer/src/ui/steps/test/selectors.test.ts +++ b/protocol-designer/src/ui/steps/test/selectors.test.ts @@ -418,7 +418,10 @@ describe('_getSavedMultiSelectFieldValues', () => { isIndeterminate: false, value: undefined, }, - + blowout_flowRate: { + isIndeterminate: false, + value: undefined, + }, aspirate_labware: { value: 'aspirate_labware_id', isIndeterminate: false, @@ -642,6 +645,7 @@ describe('_getSavedMultiSelectFieldValues', () => { dispense_wellOrder_first: 'b2t', dispense_wellOrder_second: 'r2l', dispense_mix_checkbox: false, + blowout_flowRate: null, // same thing here with mix times or mix volumes dispense_delay_checkbox: false, // same thing here for delay seconds and mm from bottom @@ -670,6 +674,9 @@ describe('_getSavedMultiSelectFieldValues', () => { tipRack: { isIndeterminate: false, }, + blowout_flowRate: { + isIndeterminate: true, + }, aspirate_flowRate: { isIndeterminate: true, }, @@ -862,6 +869,9 @@ describe('_getSavedMultiSelectFieldValues', () => { ).toEqual({ volume: { value: '100', isIndeterminate: false }, tipRack: { isIndeterminate: false }, + blowout_flowRate: { + isIndeterminate: false, + }, times: { value: null, isIndeterminate: false }, changeTip: { value: 'always', isIndeterminate: false }, labware: { value: 'some_labware_id', isIndeterminate: false }, @@ -940,6 +950,9 @@ describe('_getSavedMultiSelectFieldValues', () => { ) ).toEqual({ tipRack: { isIndeterminate: false }, + blowout_flowRate: { + isIndeterminate: false, + }, volume: { isIndeterminate: true }, times: { isIndeterminate: true }, changeTip: { isIndeterminate: true }, diff --git a/step-generation/src/commandCreators/compound/mix.ts b/step-generation/src/commandCreators/compound/mix.ts index 734be8c1a39..317613c1524 100644 --- a/step-generation/src/commandCreators/compound/mix.ts +++ b/step-generation/src/commandCreators/compound/mix.ts @@ -178,8 +178,6 @@ export const mix: CommandCreator = ( return { errors: [errorCreators.dropTipLocationDoesNotExist()] } } - console.log(invariantContext.pipetteEntities[pipette]) - if (is96Channel && data.nozzles === COLUMN) { const isAspirateSafePipetteMovement = getIsSafePipetteMovement( prevRobotState, From 68cdd67f8dce019bf91a9a9599b538267b16d19b Mon Sep 17 00:00:00 2001 From: Jethary Rader <66035149+jerader@users.noreply.github.com> Date: Thu, 2 May 2024 10:04:42 -0400 Subject: [PATCH 002/141] feat(protocol-designer): remove MoaM feature flag (#15061) closes AUTH-239 --- protocol-designer/src/components/EditModules.tsx | 6 +----- .../src/components/__tests__/EditModules.test.tsx | 3 --- .../modals/CreateFileWizard/ModulesAndOtherTile.tsx | 13 +++---------- .../__tests__/ModulesAndOtherTile.test.tsx | 6 +----- protocol-designer/src/feature-flags/reducers.ts | 2 -- protocol-designer/src/feature-flags/selectors.ts | 8 -------- protocol-designer/src/feature-flags/types.ts | 4 ++-- .../src/localization/en/feature_flags.json | 8 -------- 8 files changed, 7 insertions(+), 43 deletions(-) diff --git a/protocol-designer/src/components/EditModules.tsx b/protocol-designer/src/components/EditModules.tsx index 7a4ef5b48c7..b3d62ac1c70 100644 --- a/protocol-designer/src/components/EditModules.tsx +++ b/protocol-designer/src/components/EditModules.tsx @@ -10,7 +10,6 @@ import { } from '../step-forms' import { moveDeckItem } from '../labware-ingred/actions/actions' import { getRobotType } from '../file-data/selectors' -import { getEnableMoam } from '../feature-flags/selectors' import { EditMultipleModulesModal } from './modals/EditModulesModal/EditMultipleModulesModal' import { useBlockingHint } from './Hints/useBlockingHint' import { MagneticModuleWarningModalContent } from './modals/EditModulesModal/MagneticModuleWarningModalContent' @@ -35,11 +34,8 @@ export const EditModules = (props: EditModulesProps): JSX.Element => { const { moduleId, moduleType } = moduleToEdit const _initialDeckSetup = useSelector(stepFormSelectors.getInitialDeckSetup) const robotType = useSelector(getRobotType) - const moamFf = useSelector(getEnableMoam) const showMultipleModuleModal = - robotType === FLEX_ROBOT_TYPE && - moduleType === TEMPERATURE_MODULE_TYPE && - moamFf + robotType === FLEX_ROBOT_TYPE && moduleType === TEMPERATURE_MODULE_TYPE const moduleOnDeck = moduleId ? _initialDeckSetup.modules[moduleId] : null const [ diff --git a/protocol-designer/src/components/__tests__/EditModules.test.tsx b/protocol-designer/src/components/__tests__/EditModules.test.tsx index fb183a3e9e6..7f50b877744 100644 --- a/protocol-designer/src/components/__tests__/EditModules.test.tsx +++ b/protocol-designer/src/components/__tests__/EditModules.test.tsx @@ -12,7 +12,6 @@ import { getDismissedHints } from '../../tutorial/selectors' import { EditModules } from '../EditModules' import { EditModulesModal } from '../modals/EditModulesModal' import { renderWithProviders } from '../../__testing-utils__' -import { getEnableMoam } from '../../feature-flags/selectors' import { getRobotType } from '../../file-data/selectors' import { EditMultipleModulesModal } from '../modals/EditModulesModal/EditMultipleModulesModal' @@ -23,7 +22,6 @@ vi.mock('../modals/EditModulesModal/EditMultipleModulesModal') vi.mock('../modals/EditModulesModal') vi.mock('../../tutorial/selectors') vi.mock('../../file-data/selectors') -vi.mock('../../feature-flags/selectors') const render = (props: React.ComponentProps) => { return renderWithProviders(, { i18nInstance: i18n, @@ -66,7 +64,6 @@ describe('EditModules', () => { ) vi.mocked(getDismissedHints).mockReturnValue([hintKey]) vi.mocked(getRobotType).mockReturnValue(OT2_ROBOT_TYPE) - vi.mocked(getEnableMoam).mockReturnValue(true) }) it('renders the edit modules modal for single modules', () => { diff --git a/protocol-designer/src/components/modals/CreateFileWizard/ModulesAndOtherTile.tsx b/protocol-designer/src/components/modals/CreateFileWizard/ModulesAndOtherTile.tsx index 2c1dd51286a..cc0906c34b8 100644 --- a/protocol-designer/src/components/modals/CreateFileWizard/ModulesAndOtherTile.tsx +++ b/protocol-designer/src/components/modals/CreateFileWizard/ModulesAndOtherTile.tsx @@ -37,7 +37,6 @@ import { getIsCrashablePipetteSelected } from '../../../step-forms' import gripperImage from '../../../images/flex_gripper.png' import wasteChuteImage from '../../../images/waste_chute.png' import trashBinImage from '../../../images/flex_trash_bin.png' -import { getEnableMoam } from '../../../feature-flags/selectors' import { uuid } from '../../../utils' import { selectors as featureFlagSelectors } from '../../../feature-flags' import { CrashInfoBox, ModuleDiagram } from '../../modules' @@ -191,7 +190,6 @@ export function ModulesAndOtherTile(props: WizardTileProps): JSX.Element { function FlexModuleFields(props: WizardTileProps): JSX.Element { const { watch, setValue } = props - const enableMoamFf = useSelector(getEnableMoam) const modules = watch('modules') const additionalEquipment = watch('additionalEquipment') const moduleTypesOnDeck = @@ -261,10 +259,7 @@ function FlexModuleFields(props: WizardTileProps): JSX.Element { } const handleOnClick = (): void => { - if ( - (moduleType !== TEMPERATURE_MODULE_TYPE && enableMoamFf) || - !enableMoamFf - ) { + if (moduleType !== TEMPERATURE_MODULE_TYPE) { if (isModuleOnDeck) { const updatedModules = modules != null @@ -302,7 +297,7 @@ function FlexModuleFields(props: WizardTileProps): JSX.Element { } onClick={handleOnClick} multiples={ - moduleType === TEMPERATURE_MODULE_TYPE && enableMoamFf + moduleType === TEMPERATURE_MODULE_TYPE ? { maxItems: MAX_TEMPERATURE_MODULES, setValue: handleMultiplesClick, @@ -316,9 +311,7 @@ function FlexModuleFields(props: WizardTileProps): JSX.Element { } : undefined } - showCheckbox={ - enableMoamFf ? moduleType !== TEMPERATURE_MODULE_TYPE : true - } + showCheckbox={moduleType !== TEMPERATURE_MODULE_TYPE} /> ) })} diff --git a/protocol-designer/src/components/modals/CreateFileWizard/__tests__/ModulesAndOtherTile.test.tsx b/protocol-designer/src/components/modals/CreateFileWizard/__tests__/ModulesAndOtherTile.test.tsx index 63da7f3ed30..ba9924ee13e 100644 --- a/protocol-designer/src/components/modals/CreateFileWizard/__tests__/ModulesAndOtherTile.test.tsx +++ b/protocol-designer/src/components/modals/CreateFileWizard/__tests__/ModulesAndOtherTile.test.tsx @@ -5,10 +5,7 @@ import { fireEvent, screen, cleanup } from '@testing-library/react' import { FLEX_ROBOT_TYPE, OT2_ROBOT_TYPE } from '@opentrons/shared-data' import { renderWithProviders } from '../../../../__testing-utils__' import { i18n } from '../../../../localization' -import { - getDisableModuleRestrictions, - getEnableMoam, -} from '../../../../feature-flags/selectors' +import { getDisableModuleRestrictions } from '../../../../feature-flags/selectors' import { CrashInfoBox } from '../../../modules' import { ModuleFields } from '../../FilePipettesModal/ModuleFields' import { ModulesAndOtherTile } from '../ModulesAndOtherTile' @@ -61,7 +58,6 @@ describe('ModulesAndOtherTile', () => { ...props, ...mockWizardTileProps, } as WizardTileProps - vi.mocked(getEnableMoam).mockReturnValue(true) vi.mocked(CrashInfoBox).mockReturnValue(
mock CrashInfoBox
) vi.mocked(EquipmentOption).mockReturnValue(
mock EquipmentOption
) vi.mocked(getDisableModuleRestrictions).mockReturnValue(false) diff --git a/protocol-designer/src/feature-flags/reducers.ts b/protocol-designer/src/feature-flags/reducers.ts index 0fb93e30a8f..bddaa38c628 100644 --- a/protocol-designer/src/feature-flags/reducers.ts +++ b/protocol-designer/src/feature-flags/reducers.ts @@ -21,8 +21,6 @@ const initialFlags: Flags = { process.env.OT_PD_DISABLE_MODULE_RESTRICTIONS === '1' || false, OT_PD_ALLOW_ALL_TIPRACKS: process.env.OT_PD_ALLOW_ALL_TIPRACKS === '1' || false, - OT_PD_ENABLE_MULTI_TIP: process.env.OT_PD_ENABLE_MULTI_TIP === '1' || false, - OT_PD_ENABLE_MOAM: process.env.OT_PD_ENABLE_MOAM === '1' || false, } // @ts-expect-error(sa, 2021-6-10): cannot use string literals as action type // TODO IMMEDIATELY: refactor this to the old fashioned way if we cannot have type safety: https://github.com/redux-utilities/redux-actions/issues/282#issuecomment-595163081 diff --git a/protocol-designer/src/feature-flags/selectors.ts b/protocol-designer/src/feature-flags/selectors.ts index 49aaa937cb4..35f69dd70da 100644 --- a/protocol-designer/src/feature-flags/selectors.ts +++ b/protocol-designer/src/feature-flags/selectors.ts @@ -19,11 +19,3 @@ export const getAllowAllTipracks: Selector = createSelector( getFeatureFlagData, flags => flags.OT_PD_ALLOW_ALL_TIPRACKS ?? false ) -export const getEnableMultiTip: Selector = createSelector( - getFeatureFlagData, - flags => flags.OT_PD_ENABLE_MULTI_TIP ?? false -) -export const getEnableMoam: Selector = createSelector( - getFeatureFlagData, - flags => flags.OT_PD_ENABLE_MOAM ?? false -) diff --git a/protocol-designer/src/feature-flags/types.ts b/protocol-designer/src/feature-flags/types.ts index 99b4b76b1f6..7a9c04b5af9 100644 --- a/protocol-designer/src/feature-flags/types.ts +++ b/protocol-designer/src/feature-flags/types.ts @@ -22,14 +22,14 @@ export const DEPRECATED_FLAGS = [ 'OT_PD_ENABLE_OT_3', 'OT_PD_ALLOW_96_CHANNEL', 'OT_PD_ENABLE_FLEX_DECK_MODIFICATION', + 'OT_PD_ENABLE_MULTI_TIP', + 'OT_PD_ENABLE_MOAM', ] // union of feature flag string constant IDs export type FlagTypes = | 'PRERELEASE_MODE' | 'OT_PD_DISABLE_MODULE_RESTRICTIONS' | 'OT_PD_ALLOW_ALL_TIPRACKS' - | 'OT_PD_ENABLE_MULTI_TIP' - | 'OT_PD_ENABLE_MOAM' // flags that are not in this list only show in prerelease mode export const userFacingFlags: FlagTypes[] = [ 'OT_PD_DISABLE_MODULE_RESTRICTIONS', diff --git a/protocol-designer/src/localization/en/feature_flags.json b/protocol-designer/src/localization/en/feature_flags.json index ebab1c9635d..7f2f9883bbd 100644 --- a/protocol-designer/src/localization/en/feature_flags.json +++ b/protocol-designer/src/localization/en/feature_flags.json @@ -11,13 +11,5 @@ "OT_PD_ALLOW_ALL_TIPRACKS": { "title": "Allow all tip rack options", "description": "Enable selection of all tip racks for each pipette." - }, - "OT_PD_ENABLE_MULTI_TIP": { - "title": "Enable multi tiprack support", - "description": "Allow users to select multiple tipracks per pipette" - }, - "OT_PD_ENABLE_MOAM": { - "title": "Enable multiples of a module", - "description": "Allow users to select multiples of a module" } } From be954d4ea4e9471f9c21f0a5639fb1208be22a05 Mon Sep 17 00:00:00 2001 From: Jethary Rader <66035149+jerader@users.noreply.github.com> Date: Thu, 2 May 2024 11:32:56 -0400 Subject: [PATCH 003/141] feat(protocol-designer): default dispense height is 1mm from the bottom (#15060) closes AUTH-332 AUTH-377 --- .../cypress/integration/migrations.spec.js | 12 +++--- .../protocol/8/doItAllV3MigratedToV8.json | 2 +- .../protocol/8/doItAllV4MigratedToV8.json | 2 +- .../protocol/8/doItAllV7MigratedToV8.json | 42 +++++++++---------- .../fixtures/protocol/8/doItAllV8.json | 18 ++++---- .../protocol/8/example_1_1_0MigratedToV8.json | 2 +- .../fixtures/protocol/8/mix_8_0_0.json | 2 +- .../8/newAdvancedSettingsAndMultiTemp.json | 4 +- .../8/ninetySixChannelFullAndColumn.json | 2 +- .../FileUploadMessageModal/modalContents.tsx | 22 +++++++++- protocol-designer/src/constants.ts | 2 +- .../src/localization/en/modal.json | 5 +++ 12 files changed, 71 insertions(+), 44 deletions(-) diff --git a/protocol-designer/cypress/integration/migrations.spec.js b/protocol-designer/cypress/integration/migrations.spec.js index 31b6d8962a0..08fd71b7206 100644 --- a/protocol-designer/cypress/integration/migrations.spec.js +++ b/protocol-designer/cypress/integration/migrations.spec.js @@ -26,7 +26,7 @@ describe('Protocol fixtures migrate and match snapshots', () => { expectedExportFixture: '../../fixtures/protocol/8/doItAllV3MigratedToV8.json', unusedPipettes: false, - migrationModal: 'v8', + migrationModal: 'v8.1', }, { title: 'doItAllV4 (schema 4, PD version 4.0.0) -> PD 8.1.x, schema 8', @@ -34,7 +34,7 @@ describe('Protocol fixtures migrate and match snapshots', () => { expectedExportFixture: '../../fixtures/protocol/8/doItAllV4MigratedToV8.json', unusedPipettes: false, - migrationModal: 'v8', + migrationModal: 'v8.1', }, { title: @@ -43,7 +43,7 @@ describe('Protocol fixtures migrate and match snapshots', () => { expectedExportFixture: '../../fixtures/protocol/8/doItAllV7MigratedToV8.json', unusedPipettes: false, - migrationModal: 'v8', + migrationModal: 'v8.1', }, { title: @@ -103,9 +103,11 @@ describe('Protocol fixtures migrate and match snapshots', () => { }) if (migrationModal) { - if (migrationModal === 'v8') { + if (migrationModal === 'v8.1') { cy.get('div') - .contains('Protocol Designer no longer supports aspirate or mix') + .contains( + 'The default dispense height is now 1mm from the bottom of the well' + ) .should('exist') cy.get('button').contains('ok', { matchCase: false }).click() } else if (migrationModal === 'newLabwareDefs') { diff --git a/protocol-designer/fixtures/protocol/8/doItAllV3MigratedToV8.json b/protocol-designer/fixtures/protocol/8/doItAllV3MigratedToV8.json index a0706d38a5c..9407020457b 100644 --- a/protocol-designer/fixtures/protocol/8/doItAllV3MigratedToV8.json +++ b/protocol-designer/fixtures/protocol/8/doItAllV3MigratedToV8.json @@ -18,7 +18,7 @@ "_internalAppBuildDate": "Wed, 01 May 2024 13:16:50 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, - "dispense_mmFromBottom": 0.5, + "dispense_mmFromBottom": 1, "touchTip_mmFromTop": -1, "blowout_mmFromTop": 0 }, diff --git a/protocol-designer/fixtures/protocol/8/doItAllV4MigratedToV8.json b/protocol-designer/fixtures/protocol/8/doItAllV4MigratedToV8.json index 2fb437cd816..15e2e2203dd 100644 --- a/protocol-designer/fixtures/protocol/8/doItAllV4MigratedToV8.json +++ b/protocol-designer/fixtures/protocol/8/doItAllV4MigratedToV8.json @@ -18,7 +18,7 @@ "_internalAppBuildDate": "Wed, 01 May 2024 13:32:34 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, - "dispense_mmFromBottom": 0.5, + "dispense_mmFromBottom": 1, "touchTip_mmFromTop": -1, "blowout_mmFromTop": 0 }, diff --git a/protocol-designer/fixtures/protocol/8/doItAllV7MigratedToV8.json b/protocol-designer/fixtures/protocol/8/doItAllV7MigratedToV8.json index 0ff5d959839..b9981a7badd 100644 --- a/protocol-designer/fixtures/protocol/8/doItAllV7MigratedToV8.json +++ b/protocol-designer/fixtures/protocol/8/doItAllV7MigratedToV8.json @@ -18,7 +18,7 @@ "_internalAppBuildDate": "Wed, 01 May 2024 13:32:34 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, - "dispense_mmFromBottom": 0.5, + "dispense_mmFromBottom": 1, "touchTip_mmFromTop": -1, "blowout_mmFromTop": 0 }, @@ -180,7 +180,7 @@ "disposalVolume_checkbox": true, "disposalVolume_volume": "100", "blowout_checkbox": false, - "blowout_location": "4824b094-5999-4549-9e6b-7098a9b30a8b:trashBin", + "blowout_location": "134504e1-b212-41cf-966d-2560deb5b693:trashBin", "preWetTip": false, "aspirate_airGap_checkbox": false, "aspirate_airGap_volume": "0", @@ -192,7 +192,7 @@ "dispense_delay_checkbox": false, "dispense_delay_seconds": "1", "dispense_delay_mmFromBottom": null, - "dropTip_location": "4824b094-5999-4549-9e6b-7098a9b30a8b:trashBin", + "dropTip_location": "134504e1-b212-41cf-966d-2560deb5b693:trashBin", "nozzles": null, "dispense_x_position": 0, "dispense_y_position": 0, @@ -212,7 +212,7 @@ "mix_wellOrder_first": "t2b", "mix_wellOrder_second": "l2r", "blowout_checkbox": false, - "blowout_location": "4824b094-5999-4549-9e6b-7098a9b30a8b:trashBin", + "blowout_location": "134504e1-b212-41cf-966d-2560deb5b693:trashBin", "mix_mmFromBottom": 0.5, "pipette": "6d1e53c3-2db3-451b-ad60-3fe13781a193", "volume": "10", @@ -225,7 +225,7 @@ "dispense_delay_seconds": "1", "mix_touchTip_checkbox": false, "mix_touchTip_mmFromBottom": null, - "dropTip_location": "4824b094-5999-4549-9e6b-7098a9b30a8b:trashBin", + "dropTip_location": "134504e1-b212-41cf-966d-2560deb5b693:trashBin", "nozzles": null, "tipRack": "23ed35de-5bfd-4bb0-8f54-da99a2804ed9:opentrons/opentrons_flex_96_filtertiprack_50ul/1", "mix_x_position": 0, @@ -4016,7 +4016,7 @@ "wellName": "A1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4070,7 +4070,7 @@ "wellName": "A1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4124,7 +4124,7 @@ "wellName": "B1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4178,7 +4178,7 @@ "wellName": "B1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4232,7 +4232,7 @@ "wellName": "C1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4286,7 +4286,7 @@ "wellName": "C1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4340,7 +4340,7 @@ "wellName": "D1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4394,7 +4394,7 @@ "wellName": "D1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4448,7 +4448,7 @@ "wellName": "E1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4502,7 +4502,7 @@ "wellName": "E1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4556,7 +4556,7 @@ "wellName": "F1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4610,7 +4610,7 @@ "wellName": "F1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4664,7 +4664,7 @@ "wellName": "G1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4718,7 +4718,7 @@ "wellName": "G1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4772,7 +4772,7 @@ "wellName": "H1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } @@ -4826,7 +4826,7 @@ "wellName": "H1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 478 } diff --git a/protocol-designer/fixtures/protocol/8/doItAllV8.json b/protocol-designer/fixtures/protocol/8/doItAllV8.json index f150fe67056..2d4953ee801 100644 --- a/protocol-designer/fixtures/protocol/8/doItAllV8.json +++ b/protocol-designer/fixtures/protocol/8/doItAllV8.json @@ -18,7 +18,7 @@ "_internalAppBuildDate": "Wed, 01 May 2024 13:32:34 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, - "dispense_mmFromBottom": 0.5, + "dispense_mmFromBottom": 1, "touchTip_mmFromTop": -1, "blowout_mmFromTop": 0 }, @@ -3582,7 +3582,7 @@ "wellName": "A1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 716 } @@ -3635,7 +3635,7 @@ "wellName": "B1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 716 } @@ -3688,7 +3688,7 @@ "wellName": "C1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 716 } @@ -3741,7 +3741,7 @@ "wellName": "D1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 716 } @@ -3794,7 +3794,7 @@ "wellName": "E1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 716 } @@ -3847,7 +3847,7 @@ "wellName": "F1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 716 } @@ -3900,7 +3900,7 @@ "wellName": "G1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 716 } @@ -3953,7 +3953,7 @@ "wellName": "H1", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 716 } diff --git a/protocol-designer/fixtures/protocol/8/example_1_1_0MigratedToV8.json b/protocol-designer/fixtures/protocol/8/example_1_1_0MigratedToV8.json index 4648464bc77..efb8deaad57 100644 --- a/protocol-designer/fixtures/protocol/8/example_1_1_0MigratedToV8.json +++ b/protocol-designer/fixtures/protocol/8/example_1_1_0MigratedToV8.json @@ -18,7 +18,7 @@ "_internalAppBuildDate": "Wed, 01 May 2024 13:32:34 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, - "dispense_mmFromBottom": 0.5, + "dispense_mmFromBottom": 1, "touchTip_mmFromTop": -1, "blowout_mmFromTop": 0 }, diff --git a/protocol-designer/fixtures/protocol/8/mix_8_0_0.json b/protocol-designer/fixtures/protocol/8/mix_8_0_0.json index 78ca37e928f..766dcbc177e 100644 --- a/protocol-designer/fixtures/protocol/8/mix_8_0_0.json +++ b/protocol-designer/fixtures/protocol/8/mix_8_0_0.json @@ -18,7 +18,7 @@ "_internalAppBuildDate": "Wed, 01 May 2024 13:32:34 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, - "dispense_mmFromBottom": 0.5, + "dispense_mmFromBottom": 1, "touchTip_mmFromTop": -1, "blowout_mmFromTop": 0 }, diff --git a/protocol-designer/fixtures/protocol/8/newAdvancedSettingsAndMultiTemp.json b/protocol-designer/fixtures/protocol/8/newAdvancedSettingsAndMultiTemp.json index b536ec7a801..ebcb9862d7b 100644 --- a/protocol-designer/fixtures/protocol/8/newAdvancedSettingsAndMultiTemp.json +++ b/protocol-designer/fixtures/protocol/8/newAdvancedSettingsAndMultiTemp.json @@ -18,7 +18,7 @@ "_internalAppBuildDate": "Wed, 01 May 2024 12:14:18 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, - "dispense_mmFromBottom": 0.5, + "dispense_mmFromBottom": 1, "touchTip_mmFromTop": -1, "blowout_mmFromTop": 0 }, @@ -3656,7 +3656,7 @@ "wellName": "B3", "wellLocation": { "origin": "bottom", - "offset": { "z": 0.5, "x": 0, "y": 0 } + "offset": { "z": 1, "x": 0, "y": 0 } }, "flowRate": 57 } diff --git a/protocol-designer/fixtures/protocol/8/ninetySixChannelFullAndColumn.json b/protocol-designer/fixtures/protocol/8/ninetySixChannelFullAndColumn.json index 4715aed481d..b642d0cb564 100644 --- a/protocol-designer/fixtures/protocol/8/ninetySixChannelFullAndColumn.json +++ b/protocol-designer/fixtures/protocol/8/ninetySixChannelFullAndColumn.json @@ -18,7 +18,7 @@ "_internalAppBuildDate": "Wed, 01 May 2024 13:32:34 GMT", "defaultValues": { "aspirate_mmFromBottom": 1, - "dispense_mmFromBottom": 0.5, + "dispense_mmFromBottom": 1, "touchTip_mmFromTop": -1, "blowout_mmFromTop": 0 }, diff --git a/protocol-designer/src/components/modals/FileUploadMessageModal/modalContents.tsx b/protocol-designer/src/components/modals/FileUploadMessageModal/modalContents.tsx index f09052a5c5f..8f7af3bc68f 100644 --- a/protocol-designer/src/components/modals/FileUploadMessageModal/modalContents.tsx +++ b/protocol-designer/src/components/modals/FileUploadMessageModal/modalContents.tsx @@ -96,6 +96,23 @@ export const getToV8MigrationMessage = (props: ModalProps): ModalContents => { } } +export const getToV8_1MigrationMessage = (props: ModalProps): ModalContents => { + const { t } = props + + return { + title: t('migrations.header', { pd: PD }), + body: ( +
+

+

{t('migrations.toV8_1Migration.body1')}

+

+

{t('migrations.toV8_1Migration.body2')}

+

{t('migrations.toV8_1Migration.body3')}

+
+ ), + } +} + export const getToV3MigrationMessage = (props: ModalProps): ModalContents => { const { t } = props @@ -152,9 +169,12 @@ export const getMigrationMessage = ( ) { return getNoBehaviorChangeMessage({ t }) } - if (migrationsRan.includes('8.0.0')) { + if (migrationsRan.includes('8.1.0')) { + return getToV8_1MigrationMessage({ t }) + } else if (migrationsRan.includes('8.0.0')) { return getToV8MigrationMessage({ t }) } + return getGenericDidMigrateMessage({ t }) } diff --git a/protocol-designer/src/constants.ts b/protocol-designer/src/constants.ts index b92192565c2..14308884b81 100644 --- a/protocol-designer/src/constants.ts +++ b/protocol-designer/src/constants.ts @@ -58,7 +58,7 @@ export const INITIAL_DECK_SETUP_STEP_ID = '__INITIAL_DECK_SETUP_STEP__' export const DEFAULT_CHANGE_TIP_OPTION: 'always' = 'always' // TODO: Ian 2019-06-13 don't keep these as hard-coded static values (see #3587) export const DEFAULT_MM_FROM_BOTTOM_ASPIRATE = 1 -export const DEFAULT_MM_FROM_BOTTOM_DISPENSE = 0.5 +export const DEFAULT_MM_FROM_BOTTOM_DISPENSE = 1 // NOTE: in the negative Z direction, to go down from top export const DEFAULT_MM_TOUCH_TIP_OFFSET_FROM_TOP = -1 export const DEFAULT_MM_BLOWOUT_OFFSET_FROM_TOP = 0 diff --git a/protocol-designer/src/localization/en/modal.json b/protocol-designer/src/localization/en/modal.json index 37c5b41a043..f02b0053466 100644 --- a/protocol-designer/src/localization/en/modal.json +++ b/protocol-designer/src/localization/en/modal.json @@ -272,6 +272,11 @@ "body2": "We have added new features since the last time this protocol was updated, but have not made any changes to existing protocol behavior. Because of this we do not expect any changes in how the robot will execute this protocol. To be safe we will still recommend keeping a separate copy of the file you just imported.", "body3": "As always, please contact us with any questions or feedback." }, + "toV8_1Migration": { + "body1": "Your protocol will be automatically updated to the latest version.", + "body2": "The default dispense height is now 1mm from the bottom of the well. If your protocol contains any dispense commands without a custom height, it will be automatically updated.", + "body3": "As always, please contact us with any questions or feedback." + }, "toV8Migration": { "body1": "Your protocol will be automatically updated to the latest version.", "body2": "{{pd}} no longer supports aspirate or mix actions in a trash bin. If your protocol contains these actions, an error icon will appear next to them in the Protocol Timeline. To resolve the error, choose another location for aspirating or mixing.", From b2749d8ea1c515108d4eba04445d2306b938e977 Mon Sep 17 00:00:00 2001 From: Jethary Rader <66035149+jerader@users.noreply.github.com> Date: Thu, 2 May 2024 13:03:42 -0400 Subject: [PATCH 004/141] fix(protocol-designer): color picker chooses new color for defaults (#15064) closes AUTH-375 --- .../src/components/ColorPicker/index.tsx | 7 +-- .../components/LiquidsPage/LiquidEditForm.tsx | 45 ++++++++++++------- .../src/components/LiquidsPage/index.tsx | 8 +--- 3 files changed, 35 insertions(+), 25 deletions(-) diff --git a/protocol-designer/src/components/ColorPicker/index.tsx b/protocol-designer/src/components/ColorPicker/index.tsx index 65fb33d1980..676eae59397 100644 --- a/protocol-designer/src/components/ColorPicker/index.tsx +++ b/protocol-designer/src/components/ColorPicker/index.tsx @@ -11,6 +11,7 @@ interface ColorPickerProps { } export function ColorPicker(props: ColorPickerProps): JSX.Element { + const { value, onChange } = props const [showColorPicker, setShowColorPicker] = React.useState(false) return ( @@ -27,7 +28,7 @@ export function ColorPicker(props: ColorPickerProps): JSX.Element {
@@ -39,9 +40,9 @@ export function ColorPicker(props: ColorPickerProps): JSX.Element { /> { - props.onChange(color.hex) + onChange(color.hex) }} /> diff --git a/protocol-designer/src/components/LiquidsPage/LiquidEditForm.tsx b/protocol-designer/src/components/LiquidsPage/LiquidEditForm.tsx index 887e1ac8f64..13a01dcb314 100644 --- a/protocol-designer/src/components/LiquidsPage/LiquidEditForm.tsx +++ b/protocol-designer/src/components/LiquidsPage/LiquidEditForm.tsx @@ -4,7 +4,6 @@ import { Controller, useForm } from 'react-hook-form' import { yupResolver } from '@hookform/resolvers/yup' import { useSelector } from 'react-redux' import * as Yup from 'yup' -import { swatchColors } from '../swatchColors' import { Card, DeprecatedCheckboxField, @@ -18,18 +17,23 @@ import { } from '@opentrons/components' import { DEPRECATED_WHALE_GREY } from '@opentrons/shared-data' import { selectors } from '../../labware-ingred/selectors' +import { swatchColors } from '../swatchColors' +import { ColorPicker } from '../ColorPicker' import styles from './LiquidEditForm.module.css' import formStyles from '../forms/forms.module.css' -import { LiquidGroup } from '../../labware-ingred/types' -import { ColorPicker } from '../ColorPicker' -import { ColorResult } from 'react-color' +import type { ColorResult } from 'react-color' +import type { LiquidGroup } from '../../labware-ingred/types' -type Props = LiquidGroup & { +interface LiquidEditFormProps { + serialize: boolean canDelete: boolean - deleteLiquidGroup: () => unknown - cancelForm: () => unknown - saveForm: (liquidGroup: LiquidGroup) => unknown + deleteLiquidGroup: () => void + cancelForm: () => void + saveForm: (liquidGroup: LiquidGroup) => void + displayColor?: string + name?: string | null + description?: string | null } interface LiquidEditFormValues { @@ -69,17 +73,26 @@ export const liquidEditFormSchema: any = Yup.object().shape({ serialize: Yup.boolean(), }) -export function LiquidEditForm(props: Props): JSX.Element { - const { deleteLiquidGroup, cancelForm, canDelete, saveForm } = props +export function LiquidEditForm(props: LiquidEditFormProps): JSX.Element { + const { + deleteLiquidGroup, + cancelForm, + canDelete, + saveForm, + displayColor, + name: propName, + description: propDescription, + serialize, + } = props const selectedLiquid = useSelector(selectors.getSelectedLiquidGroupState) const nextGroupId = useSelector(selectors.getNextLiquidGroupId) const liquidId = selectedLiquid.liquidGroupId ?? nextGroupId const { t } = useTranslation(['form', 'button']) const initialValues: LiquidEditFormValues = { - name: props.name || '', - displayColor: props.displayColor ?? swatchColors(liquidId), - description: props.description || '', - serialize: props.serialize || false, + name: propName || '', + displayColor: displayColor ?? swatchColors(liquidId), + description: propDescription || '', + serialize: serialize || false, } const { @@ -94,6 +107,7 @@ export function LiquidEditForm(props: Props): JSX.Element { }) const name = watch('name') const description = watch('description') + const color = watch('displayColor') const handleLiquidEdits = (values: LiquidEditFormValues): void => { saveForm({ @@ -150,9 +164,10 @@ export function LiquidEditForm(props: Props): JSX.Element { control={control} render={({ field }) => ( { setValue('displayColor', color) + field.onChange(color) }} /> )} diff --git a/protocol-designer/src/components/LiquidsPage/index.tsx b/protocol-designer/src/components/LiquidsPage/index.tsx index 3b9f4f977fe..e6f4387e936 100644 --- a/protocol-designer/src/components/LiquidsPage/index.tsx +++ b/protocol-designer/src/components/LiquidsPage/index.tsx @@ -44,12 +44,6 @@ export function LiquidsPage(): JSX.Element { }) ) } - console.assert( - !(liquidGroupId && !selectedIngredFields), - `Expected selected liquid group "${String( - liquidGroupId - )}" to have fields in allIngredientGroupFields` - ) return showForm ? ( From 926ef097700bc366d6adc2ba36982b6213dbd431 Mon Sep 17 00:00:00 2001 From: Jethary Rader <66035149+jerader@users.noreply.github.com> Date: Thu, 2 May 2024 14:24:29 -0400 Subject: [PATCH 005/141] fix(protocol-designer): clean up trash modal and new labware dropdown logic (#15070) closes RQA-2501, RQA-2143, RQA-1156, AUTH-378 --- .../LabwareSelectionModal.tsx | 4 +- .../__tests__/LabwareSelectionModal.test.tsx | 2 +- .../fields/LabwareLocationField/index.tsx | 25 +------- .../modals/FilePipettesModal/index.tsx | 57 +++++++++++++++++-- .../src/components/modules/TrashModal.tsx | 13 +++-- .../src/localization/en/modules.json | 2 + 6 files changed, 67 insertions(+), 36 deletions(-) diff --git a/protocol-designer/src/components/LabwareSelectionModal/LabwareSelectionModal.tsx b/protocol-designer/src/components/LabwareSelectionModal/LabwareSelectionModal.tsx index f0958eb1364..58da8b83dbc 100644 --- a/protocol-designer/src/components/LabwareSelectionModal/LabwareSelectionModal.tsx +++ b/protocol-designer/src/components/LabwareSelectionModal/LabwareSelectionModal.tsx @@ -470,7 +470,7 @@ export function LabwareSelectionModal(): JSX.Element | null {