@opentrons/shared-data 0.0.0-alpha.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (669) hide show
  1. package/Makefile +100 -0
  2. package/command/schemas/7.json +3301 -0
  3. package/command/schemas/8.json +3632 -0
  4. package/command/types/annotation.ts +37 -0
  5. package/command/types/calibration.ts +84 -0
  6. package/command/types/gantry.ts +176 -0
  7. package/command/types/incidental.ts +21 -0
  8. package/command/types/index.ts +77 -0
  9. package/command/types/module.ts +307 -0
  10. package/command/types/pipetting.ts +228 -0
  11. package/command/types/setup.ts +199 -0
  12. package/command/types/timing.ts +58 -0
  13. package/commandAnnotation/schemas/1.json +74 -0
  14. package/commandAnnotation/types/index.ts +19 -0
  15. package/deck/definitions/3/ot2_short_trash.json +477 -0
  16. package/deck/definitions/3/ot2_standard.json +477 -0
  17. package/deck/definitions/3/ot3_standard.json +989 -0
  18. package/deck/definitions/4/ot2_short_trash.json +403 -0
  19. package/deck/definitions/4/ot2_standard.json +403 -0
  20. package/deck/definitions/4/ot3_standard.json +597 -0
  21. package/deck/fixtures/3/deckExample.json +481 -0
  22. package/deck/index.ts +1 -0
  23. package/deck/schemas/1.json +240 -0
  24. package/deck/schemas/2.json +250 -0
  25. package/deck/schemas/3.json +297 -0
  26. package/deck/schemas/4.json +321 -0
  27. package/deck/types/schemaV4.ts +84 -0
  28. package/errors/definitions/1/errors.json +222 -0
  29. package/errors/schemas/1.json +50 -0
  30. package/gripper/definitions/1/gripperV1.1.json +28 -0
  31. package/gripper/definitions/1/gripperV1.2.json +28 -0
  32. package/gripper/definitions/1/gripperV1.json +27 -0
  33. package/gripper/schemas/1.json +181 -0
  34. package/js/__tests__/__snapshots__/pipettes.test.ts.snap +5969 -0
  35. package/js/__tests__/deckSchemas.test.ts +87 -0
  36. package/js/__tests__/errors.test.js +21 -0
  37. package/js/__tests__/getAreSlotsAdjacent.test.ts +128 -0
  38. package/js/__tests__/getWellNamePerMultiTip.test.ts +162 -0
  39. package/js/__tests__/labwareDefQuirks.test.ts +37 -0
  40. package/js/__tests__/labwareDefSchemaV1.test.ts +82 -0
  41. package/js/__tests__/labwareDefSchemaV2.test.ts +298 -0
  42. package/js/__tests__/moduleAccessors.test.ts +50 -0
  43. package/js/__tests__/moduleSpecsSchema.test.ts +77 -0
  44. package/js/__tests__/pipetteSchemaV2.test.ts +107 -0
  45. package/js/__tests__/pipetteSpecSchemas.test.ts +48 -0
  46. package/js/__tests__/pipettes.test.ts +58 -0
  47. package/js/__tests__/protocolSchemaV4.test.ts +137 -0
  48. package/js/__tests__/protocolSchemaV5.test.ts +137 -0
  49. package/js/__tests__/protocolSchemaV6.test.ts +132 -0
  50. package/js/__tests__/protocolSchemaV7.test.ts +64 -0
  51. package/js/__tests__/protocolValidation.test.ts +83 -0
  52. package/js/__tests__/sortWells.test.ts +40 -0
  53. package/js/__tests__/splitWellsOnColumn.test.ts +21 -0
  54. package/js/__tests__/validateErrors.test.js +34 -0
  55. package/js/constants.ts +336 -0
  56. package/js/cypressUtils.ts +35 -0
  57. package/js/errors.ts +33 -0
  58. package/js/fixtures.ts +161 -0
  59. package/js/getLabware.ts +162 -0
  60. package/js/gripper.ts +29 -0
  61. package/js/helpers/__tests__/getAdapterName.test.ts +31 -0
  62. package/js/helpers/__tests__/getDeckDefFromLoadedLabware.test.ts +12 -0
  63. package/js/helpers/__tests__/getVectorDifference.test.ts +25 -0
  64. package/js/helpers/__tests__/getVectorSum.test.ts +21 -0
  65. package/js/helpers/__tests__/labwareInference.test.ts +84 -0
  66. package/js/helpers/__tests__/orderWells.test.ts +87 -0
  67. package/js/helpers/__tests__/parseProtocolData.test.ts +165 -0
  68. package/js/helpers/__tests__/volume.test.ts +108 -0
  69. package/js/helpers/__tests__/wellSets.test.ts +352 -0
  70. package/js/helpers/get96Channel384WellPlateWells.ts +44 -0
  71. package/js/helpers/getLoadedLabwareDefinitionsByUri.ts +30 -0
  72. package/js/helpers/getModuleVizDims.ts +118 -0
  73. package/js/helpers/getOccludedSlotCountForModule.ts +13 -0
  74. package/js/helpers/getVectorDifference.ts +12 -0
  75. package/js/helpers/getVectorSum.ts +12 -0
  76. package/js/helpers/getWellNamePerMultiTip.ts +86 -0
  77. package/js/helpers/getWellTotalVolume.ts +16 -0
  78. package/js/helpers/index.ts +346 -0
  79. package/js/helpers/labwareInference.ts +92 -0
  80. package/js/helpers/orderWells.ts +69 -0
  81. package/js/helpers/parseProtocolData.ts +141 -0
  82. package/js/helpers/volume.ts +35 -0
  83. package/js/helpers/wellIsRect.ts +6 -0
  84. package/js/helpers/wellSets.ts +150 -0
  85. package/js/index.ts +14 -0
  86. package/js/labwareTools/__tests__/__snapshots__/createIrregularLabware.test.ts.snap +3 -0
  87. package/js/labwareTools/__tests__/__snapshots__/createLabware.test.ts.snap +3 -0
  88. package/js/labwareTools/__tests__/createDefaultDisplayName.test.ts +111 -0
  89. package/js/labwareTools/__tests__/createIrregularLabware.test.ts +226 -0
  90. package/js/labwareTools/__tests__/createLabware.test.ts +147 -0
  91. package/js/labwareTools/index.ts +452 -0
  92. package/js/modules.ts +97 -0
  93. package/js/pipettes.ts +89 -0
  94. package/js/protocols.ts +290 -0
  95. package/js/schema.ts +80 -0
  96. package/js/scripts/build.js +32 -0
  97. package/js/scripts/generateDeckLayersFromSVG.js +46 -0
  98. package/js/titleCase.ts +30 -0
  99. package/js/types.ts +600 -0
  100. package/labware/definitions/1/12-well-plate.json +147 -0
  101. package/labware/definitions/1/24-vial-rack.json +281 -0
  102. package/labware/definitions/1/24-well-plate.json +281 -0
  103. package/labware/definitions/1/384-plate.json +4667 -0
  104. package/labware/definitions/1/48-vial-plate.json +547 -0
  105. package/labware/definitions/1/48-well-plate.json +547 -0
  106. package/labware/definitions/1/5ml-3x4.json +147 -0
  107. package/labware/definitions/1/6-well-plate.json +80 -0
  108. package/labware/definitions/1/96-PCR-flat.json +1079 -0
  109. package/labware/definitions/1/96-PCR-tall.json +1079 -0
  110. package/labware/definitions/1/96-deep-well.json +1079 -0
  111. package/labware/definitions/1/96-flat.json +1079 -0
  112. package/labware/definitions/1/96-well-plate-20mm.json +1079 -0
  113. package/labware/definitions/1/MALDI-plate.json +4282 -0
  114. package/labware/definitions/1/PCR-strip-tall.json +1079 -0
  115. package/labware/definitions/1/T25-flask.json +20 -0
  116. package/labware/definitions/1/T75-flask.json +20 -0
  117. package/labware/definitions/1/alum-block-pcr-strips.json +188 -0
  118. package/labware/definitions/1/biorad-hardshell-96-PCR.json +1079 -0
  119. package/labware/definitions/1/e-gelgol.json +1078 -0
  120. package/labware/definitions/1/fixed-trash.json +19 -0
  121. package/labware/definitions/1/hampton-1ml-deep-block.json +1078 -0
  122. package/labware/definitions/1/opentrons-aluminum-block-2ml-eppendorf.json +281 -0
  123. package/labware/definitions/1/opentrons-aluminum-block-2ml-screwcap.json +281 -0
  124. package/labware/definitions/1/opentrons-aluminum-block-96-PCR-plate.json +1079 -0
  125. package/labware/definitions/1/opentrons-aluminum-block-PCR-strips-200ul.json +1079 -0
  126. package/labware/definitions/1/opentrons-tiprack-10ul.json +986 -0
  127. package/labware/definitions/1/opentrons-tiprack-300ul.json +986 -0
  128. package/labware/definitions/1/opentrons-tuberack-1.5ml-eppendorf.json +281 -0
  129. package/labware/definitions/1/opentrons-tuberack-15_50ml.json +125 -0
  130. package/labware/definitions/1/opentrons-tuberack-15ml.json +181 -0
  131. package/labware/definitions/1/opentrons-tuberack-2ml-eppendorf.json +281 -0
  132. package/labware/definitions/1/opentrons-tuberack-2ml-screwcap.json +281 -0
  133. package/labware/definitions/1/opentrons-tuberack-50ml.json +80 -0
  134. package/labware/definitions/1/point.json +18 -0
  135. package/labware/definitions/1/rigaku-compact-crystallization-plate.json +2146 -0
  136. package/labware/definitions/1/small_vial_rack_16x45.json +280 -0
  137. package/labware/definitions/1/tall-fixed-trash.json +19 -0
  138. package/labware/definitions/1/tiprack-1000ul-H.json +503 -0
  139. package/labware/definitions/1/tiprack-1000ul-chem.json +1034 -0
  140. package/labware/definitions/1/tiprack-1000ul.json +986 -0
  141. package/labware/definitions/1/tiprack-10ul-H.json +503 -0
  142. package/labware/definitions/1/tiprack-10ul.json +986 -0
  143. package/labware/definitions/1/tiprack-200ul.json +986 -0
  144. package/labware/definitions/1/trash-box.json +20 -0
  145. package/labware/definitions/1/trough-12row-short.json +143 -0
  146. package/labware/definitions/1/trough-12row.json +143 -0
  147. package/labware/definitions/1/trough-1row-25ml.json +21 -0
  148. package/labware/definitions/1/tube-rack-.75ml.json +281 -0
  149. package/labware/definitions/1/tube-rack-15_50ml.json +125 -0
  150. package/labware/definitions/1/tube-rack-2ml-9x9.json +911 -0
  151. package/labware/definitions/1/tube-rack-2ml.json +281 -0
  152. package/labware/definitions/1/tube-rack-5ml-96.json +1079 -0
  153. package/labware/definitions/1/tube-rack-80well.json +907 -0
  154. package/labware/definitions/1/wheaton_vial_rack.json +565 -0
  155. package/labware/definitions/2/agilent_1_reservoir_290ml/1.json +54 -0
  156. package/labware/definitions/2/appliedbiosystemsmicroamp_384_wellplate_40ul/1.json +4320 -0
  157. package/labware/definitions/2/armadillo_96_wellplate_200ul_pcr_full_skirt/1.json +1019 -0
  158. package/labware/definitions/2/armadillo_96_wellplate_200ul_pcr_full_skirt/2.json +1045 -0
  159. package/labware/definitions/2/axygen_1_reservoir_90ml/1.json +56 -0
  160. package/labware/definitions/2/biorad_384_wellplate_50ul/1.json +4329 -0
  161. package/labware/definitions/2/biorad_384_wellplate_50ul/2.json +4331 -0
  162. package/labware/definitions/2/biorad_96_wellplate_200ul_pcr/1.json +1020 -0
  163. package/labware/definitions/2/biorad_96_wellplate_200ul_pcr/2.json +1036 -0
  164. package/labware/definitions/2/corning_12_wellplate_6.9ml_flat/1.json +171 -0
  165. package/labware/definitions/2/corning_12_wellplate_6.9ml_flat/2.json +180 -0
  166. package/labware/definitions/2/corning_24_wellplate_3.4ml_flat/1.json +293 -0
  167. package/labware/definitions/2/corning_24_wellplate_3.4ml_flat/2.json +300 -0
  168. package/labware/definitions/2/corning_384_wellplate_112ul_flat/1.json +4703 -0
  169. package/labware/definitions/2/corning_384_wellplate_112ul_flat/2.json +4717 -0
  170. package/labware/definitions/2/corning_48_wellplate_1.6ml_flat/1.json +535 -0
  171. package/labware/definitions/2/corning_48_wellplate_1.6ml_flat/2.json +544 -0
  172. package/labware/definitions/2/corning_6_wellplate_16.8ml_flat/1.json +103 -0
  173. package/labware/definitions/2/corning_6_wellplate_16.8ml_flat/2.json +110 -0
  174. package/labware/definitions/2/corning_96_wellplate_360ul_flat/1.json +1049 -0
  175. package/labware/definitions/2/corning_96_wellplate_360ul_flat/2.json +1063 -0
  176. package/labware/definitions/2/eppendorf_96_tiprack_1000ul_eptips/1.json +1019 -0
  177. package/labware/definitions/2/eppendorf_96_tiprack_10ul_eptips/1.json +1019 -0
  178. package/labware/definitions/2/geb_96_tiprack_1000ul/1.json +1017 -0
  179. package/labware/definitions/2/geb_96_tiprack_10ul/1.json +1017 -0
  180. package/labware/definitions/2/nest_12_reservoir_15ml/1.json +190 -0
  181. package/labware/definitions/2/nest_1_reservoir_195ml/1.json +54 -0
  182. package/labware/definitions/2/nest_1_reservoir_195ml/2.json +56 -0
  183. package/labware/definitions/2/nest_1_reservoir_290ml/1.json +54 -0
  184. package/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/1.json +1018 -0
  185. package/labware/definitions/2/nest_96_wellplate_100ul_pcr_full_skirt/2.json +1039 -0
  186. package/labware/definitions/2/nest_96_wellplate_200ul_flat/1.json +1017 -0
  187. package/labware/definitions/2/nest_96_wellplate_200ul_flat/2.json +1031 -0
  188. package/labware/definitions/2/nest_96_wellplate_2ml_deep/1.json +1121 -0
  189. package/labware/definitions/2/nest_96_wellplate_2ml_deep/2.json +1137 -0
  190. package/labware/definitions/2/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical/1.json +164 -0
  191. package/labware/definitions/2/opentrons_10_tuberack_falcon_4x50ml_6x15ml_conical_acrylic/1.json +162 -0
  192. package/labware/definitions/2/opentrons_10_tuberack_nest_4x50ml_6x15ml_conical/1.json +160 -0
  193. package/labware/definitions/2/opentrons_15_tuberack_falcon_15ml_conical/1.json +211 -0
  194. package/labware/definitions/2/opentrons_15_tuberack_nest_15ml_conical/1.json +209 -0
  195. package/labware/definitions/2/opentrons_1_trash_1100ml_fixed/1.json +50 -0
  196. package/labware/definitions/2/opentrons_1_trash_3200ml_fixed/1.json +50 -0
  197. package/labware/definitions/2/opentrons_1_trash_850ml_fixed/1.json +50 -0
  198. package/labware/definitions/2/opentrons_24_aluminumblock_generic_2ml_screwcap/1.json +300 -0
  199. package/labware/definitions/2/opentrons_24_aluminumblock_generic_2ml_screwcap/2.json +301 -0
  200. package/labware/definitions/2/opentrons_24_aluminumblock_nest_0.5ml_screwcap/1.json +299 -0
  201. package/labware/definitions/2/opentrons_24_aluminumblock_nest_1.5ml_screwcap/1.json +299 -0
  202. package/labware/definitions/2/opentrons_24_aluminumblock_nest_1.5ml_snapcap/1.json +301 -0
  203. package/labware/definitions/2/opentrons_24_aluminumblock_nest_2ml_screwcap/1.json +299 -0
  204. package/labware/definitions/2/opentrons_24_aluminumblock_nest_2ml_snapcap/1.json +301 -0
  205. package/labware/definitions/2/opentrons_24_tuberack_eppendorf_1.5ml_safelock_snapcap/1.json +312 -0
  206. package/labware/definitions/2/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap/1.json +311 -0
  207. package/labware/definitions/2/opentrons_24_tuberack_eppendorf_2ml_safelock_snapcap_acrylic/1.json +309 -0
  208. package/labware/definitions/2/opentrons_24_tuberack_generic_0.75ml_snapcap_acrylic/1.json +298 -0
  209. package/labware/definitions/2/opentrons_24_tuberack_generic_2ml_screwcap/1.json +300 -0
  210. package/labware/definitions/2/opentrons_24_tuberack_nest_0.5ml_screwcap/1.json +300 -0
  211. package/labware/definitions/2/opentrons_24_tuberack_nest_1.5ml_screwcap/1.json +300 -0
  212. package/labware/definitions/2/opentrons_24_tuberack_nest_1.5ml_snapcap/1.json +302 -0
  213. package/labware/definitions/2/opentrons_24_tuberack_nest_2ml_screwcap/1.json +300 -0
  214. package/labware/definitions/2/opentrons_24_tuberack_nest_2ml_snapcap/1.json +302 -0
  215. package/labware/definitions/2/opentrons_40_aluminumblock_eppendorf_24x2ml_safelock_snapcap_generic_16x0.2ml_pcr_strip/1.json +481 -0
  216. package/labware/definitions/2/opentrons_6_tuberack_falcon_50ml_conical/1.json +112 -0
  217. package/labware/definitions/2/opentrons_6_tuberack_nest_50ml_conical/1.json +110 -0
  218. package/labware/definitions/2/opentrons_96_aluminumblock_biorad_wellplate_200ul/1.json +1029 -0
  219. package/labware/definitions/2/opentrons_96_aluminumblock_generic_pcr_strip_200ul/1.json +1026 -0
  220. package/labware/definitions/2/opentrons_96_aluminumblock_generic_pcr_strip_200ul/2.json +1027 -0
  221. package/labware/definitions/2/opentrons_96_aluminumblock_nest_wellplate_100ul/1.json +1027 -0
  222. package/labware/definitions/2/opentrons_96_deep_well_adapter/1.json +41 -0
  223. package/labware/definitions/2/opentrons_96_deep_well_adapter_nest_wellplate_2ml_deep/1.json +1121 -0
  224. package/labware/definitions/2/opentrons_96_filtertiprack_1000ul/1.json +1017 -0
  225. package/labware/definitions/2/opentrons_96_filtertiprack_10ul/1.json +1017 -0
  226. package/labware/definitions/2/opentrons_96_filtertiprack_200ul/1.json +1017 -0
  227. package/labware/definitions/2/opentrons_96_filtertiprack_20ul/1.json +1017 -0
  228. package/labware/definitions/2/opentrons_96_flat_bottom_adapter/1.json +41 -0
  229. package/labware/definitions/2/opentrons_96_flat_bottom_adapter_nest_wellplate_200ul_flat/1.json +1027 -0
  230. package/labware/definitions/2/opentrons_96_pcr_adapter/1.json +1032 -0
  231. package/labware/definitions/2/opentrons_96_pcr_adapter_armadillo_wellplate_200ul/1.json +1027 -0
  232. package/labware/definitions/2/opentrons_96_pcr_adapter_nest_wellplate_100ul_pcr_full_skirt/1.json +1025 -0
  233. package/labware/definitions/2/opentrons_96_tiprack_1000ul/1.json +1019 -0
  234. package/labware/definitions/2/opentrons_96_tiprack_10ul/1.json +1019 -0
  235. package/labware/definitions/2/opentrons_96_tiprack_20ul/1.json +1019 -0
  236. package/labware/definitions/2/opentrons_96_tiprack_300ul/1.json +1019 -0
  237. package/labware/definitions/2/opentrons_96_well_aluminum_block/1.json +1032 -0
  238. package/labware/definitions/2/opentrons_96_wellplate_200ul_pcr_full_skirt/1.json +1019 -0
  239. package/labware/definitions/2/opentrons_96_wellplate_200ul_pcr_full_skirt/2.json +1045 -0
  240. package/labware/definitions/2/opentrons_aluminum_flat_bottom_plate/1.json +41 -0
  241. package/labware/definitions/2/opentrons_calibration_adapter_heatershaker_module/1.json +62 -0
  242. package/labware/definitions/2/opentrons_calibration_adapter_temperature_module/1.json +62 -0
  243. package/labware/definitions/2/opentrons_calibration_adapter_thermocycler_module/1.json +69 -0
  244. package/labware/definitions/2/opentrons_calibrationblock_short_side_left/1.json +71 -0
  245. package/labware/definitions/2/opentrons_calibrationblock_short_side_right/1.json +71 -0
  246. package/labware/definitions/2/opentrons_flex_96_filtertiprack_1000ul/1.json +1026 -0
  247. package/labware/definitions/2/opentrons_flex_96_filtertiprack_200ul/1.json +1026 -0
  248. package/labware/definitions/2/opentrons_flex_96_filtertiprack_50ul/1.json +1026 -0
  249. package/labware/definitions/2/opentrons_flex_96_tiprack_1000ul/1.json +1026 -0
  250. package/labware/definitions/2/opentrons_flex_96_tiprack_200ul/1.json +1026 -0
  251. package/labware/definitions/2/opentrons_flex_96_tiprack_50ul/1.json +1026 -0
  252. package/labware/definitions/2/opentrons_flex_96_tiprack_adapter/1.json +41 -0
  253. package/labware/definitions/2/opentrons_universal_flat_adapter/1.json +151 -0
  254. package/labware/definitions/2/opentrons_universal_flat_adapter_corning_384_wellplate_112ul_flat/1.json +4710 -0
  255. package/labware/definitions/2/thermoscientificnunc_96_wellplate_1300ul/1.json +1019 -0
  256. package/labware/definitions/2/thermoscientificnunc_96_wellplate_2000ul/1.json +1019 -0
  257. package/labware/definitions/2/tipone_96_tiprack_200ul/1.json +1017 -0
  258. package/labware/definitions/2/usascientific_12_reservoir_22ml/1.json +192 -0
  259. package/labware/definitions/2/usascientific_96_wellplate_2.4ml_deep/1.json +1116 -0
  260. package/labware/fixtures/2/fixture_12_trough.json +188 -0
  261. package/labware/fixtures/2/fixture_12_trough_v2.json +188 -0
  262. package/labware/fixtures/2/fixture_24_tuberack.json +295 -0
  263. package/labware/fixtures/2/fixture_384_plate.json +4316 -0
  264. package/labware/fixtures/2/fixture_96_plate.json +1015 -0
  265. package/labware/fixtures/2/fixture_flex_96_tiprack_1000ul.json +1026 -0
  266. package/labware/fixtures/2/fixture_flex_96_tiprack_adapter.json +41 -0
  267. package/labware/fixtures/2/fixture_irregular_example_1.json +600 -0
  268. package/labware/fixtures/2/fixture_overlappy_wellplate.json +1113 -0
  269. package/labware/fixtures/2/fixture_regular_example_1.json +57 -0
  270. package/labware/fixtures/2/fixture_regular_example_2.json +95 -0
  271. package/labware/fixtures/2/fixture_tiprack_1000_ul.json +1015 -0
  272. package/labware/fixtures/2/fixture_tiprack_10_ul.json +1015 -0
  273. package/labware/fixtures/2/fixture_tiprack_300_ul.json +1014 -0
  274. package/labware/fixtures/2/fixture_trash.json +50 -0
  275. package/labware/schemas/2.json +372 -0
  276. package/liquid/schemas/1.json +21 -0
  277. package/liquid/types/index.ts +5 -0
  278. package/module/definitions/1.json +57 -0
  279. package/module/definitions/2/magneticModuleV1.json +22 -0
  280. package/module/definitions/2/magneticModuleV2.json +69 -0
  281. package/module/definitions/2/temperatureModuleV1.json +22 -0
  282. package/module/definitions/2/temperatureModuleV2.json +69 -0
  283. package/module/definitions/2/thermocyclerModuleV1.json +23 -0
  284. package/module/definitions/3/heaterShakerModuleV1.json +521 -0
  285. package/module/definitions/3/magneticBlockV1.json +199 -0
  286. package/module/definitions/3/magneticModuleV1.json +435 -0
  287. package/module/definitions/3/magneticModuleV2.json +488 -0
  288. package/module/definitions/3/temperatureModuleV1.json +190 -0
  289. package/module/definitions/3/temperatureModuleV2.json +315 -0
  290. package/module/definitions/3/thermocyclerModuleV1.json +1380 -0
  291. package/module/definitions/3/thermocyclerModuleV2.json +3686 -0
  292. package/module/fixtures/3/compatibleGenerationV1.json +69 -0
  293. package/module/fixtures/3/compatibleGenerationV2.json +69 -0
  294. package/module/fixtures/3/incompatibleGenerationV1.json +22 -0
  295. package/module/fixtures/3/incompatibleGenerationV2.json +69 -0
  296. package/module/schemas/1.json +55 -0
  297. package/module/schemas/2.json +112 -0
  298. package/module/schemas/3.json +206 -0
  299. package/package.json +20 -0
  300. package/pipette/README.md +50 -0
  301. package/pipette/definitions/1/pipetteModelSpecs.json +10214 -0
  302. package/pipette/definitions/1/pipetteNameSpecs.json +679 -0
  303. package/pipette/definitions/2/general/eight_channel/p10/1_0.json +59 -0
  304. package/pipette/definitions/2/general/eight_channel/p10/1_3.json +59 -0
  305. package/pipette/definitions/2/general/eight_channel/p10/1_4.json +59 -0
  306. package/pipette/definitions/2/general/eight_channel/p10/1_5.json +59 -0
  307. package/pipette/definitions/2/general/eight_channel/p10/1_6.json +59 -0
  308. package/pipette/definitions/2/general/eight_channel/p1000/1_0.json +68 -0
  309. package/pipette/definitions/2/general/eight_channel/p1000/3_0.json +68 -0
  310. package/pipette/definitions/2/general/eight_channel/p1000/3_3.json +68 -0
  311. package/pipette/definitions/2/general/eight_channel/p1000/3_4.json +68 -0
  312. package/pipette/definitions/2/general/eight_channel/p1000/3_5.json +68 -0
  313. package/pipette/definitions/2/general/eight_channel/p20/2_0.json +59 -0
  314. package/pipette/definitions/2/general/eight_channel/p20/2_1.json +59 -0
  315. package/pipette/definitions/2/general/eight_channel/p300/1_0.json +59 -0
  316. package/pipette/definitions/2/general/eight_channel/p300/1_3.json +59 -0
  317. package/pipette/definitions/2/general/eight_channel/p300/1_4.json +59 -0
  318. package/pipette/definitions/2/general/eight_channel/p300/1_5.json +59 -0
  319. package/pipette/definitions/2/general/eight_channel/p300/2_0.json +59 -0
  320. package/pipette/definitions/2/general/eight_channel/p300/2_1.json +59 -0
  321. package/pipette/definitions/2/general/eight_channel/p50/1_0.json +59 -0
  322. package/pipette/definitions/2/general/eight_channel/p50/1_3.json +59 -0
  323. package/pipette/definitions/2/general/eight_channel/p50/1_4.json +59 -0
  324. package/pipette/definitions/2/general/eight_channel/p50/1_5.json +59 -0
  325. package/pipette/definitions/2/general/eight_channel/p50/3_0.json +74 -0
  326. package/pipette/definitions/2/general/eight_channel/p50/3_3.json +74 -0
  327. package/pipette/definitions/2/general/eight_channel/p50/3_4.json +74 -0
  328. package/pipette/definitions/2/general/eight_channel/p50/3_5.json +74 -0
  329. package/pipette/definitions/2/general/ninety_six_channel/p1000/1_0.json +87 -0
  330. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_0.json +92 -0
  331. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_3.json +87 -0
  332. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_4.json +88 -0
  333. package/pipette/definitions/2/general/ninety_six_channel/p1000/3_5.json +87 -0
  334. package/pipette/definitions/2/general/single_channel/p10/1_0.json +52 -0
  335. package/pipette/definitions/2/general/single_channel/p10/1_3.json +52 -0
  336. package/pipette/definitions/2/general/single_channel/p10/1_4.json +52 -0
  337. package/pipette/definitions/2/general/single_channel/p10/1_5.json +52 -0
  338. package/pipette/definitions/2/general/single_channel/p1000/1_0.json +52 -0
  339. package/pipette/definitions/2/general/single_channel/p1000/1_3.json +52 -0
  340. package/pipette/definitions/2/general/single_channel/p1000/1_4.json +52 -0
  341. package/pipette/definitions/2/general/single_channel/p1000/1_5.json +52 -0
  342. package/pipette/definitions/2/general/single_channel/p1000/2_0.json +52 -0
  343. package/pipette/definitions/2/general/single_channel/p1000/2_1.json +52 -0
  344. package/pipette/definitions/2/general/single_channel/p1000/2_2.json +52 -0
  345. package/pipette/definitions/2/general/single_channel/p1000/3_0.json +61 -0
  346. package/pipette/definitions/2/general/single_channel/p1000/3_3.json +61 -0
  347. package/pipette/definitions/2/general/single_channel/p1000/3_4.json +61 -0
  348. package/pipette/definitions/2/general/single_channel/p1000/3_5.json +61 -0
  349. package/pipette/definitions/2/general/single_channel/p20/2_0.json +52 -0
  350. package/pipette/definitions/2/general/single_channel/p20/2_1.json +52 -0
  351. package/pipette/definitions/2/general/single_channel/p20/2_2.json +52 -0
  352. package/pipette/definitions/2/general/single_channel/p300/1_0.json +52 -0
  353. package/pipette/definitions/2/general/single_channel/p300/1_3.json +52 -0
  354. package/pipette/definitions/2/general/single_channel/p300/1_4.json +52 -0
  355. package/pipette/definitions/2/general/single_channel/p300/1_5.json +52 -0
  356. package/pipette/definitions/2/general/single_channel/p300/2_0.json +52 -0
  357. package/pipette/definitions/2/general/single_channel/p300/2_1.json +52 -0
  358. package/pipette/definitions/2/general/single_channel/p50/1_0.json +52 -0
  359. package/pipette/definitions/2/general/single_channel/p50/1_3.json +52 -0
  360. package/pipette/definitions/2/general/single_channel/p50/1_4.json +52 -0
  361. package/pipette/definitions/2/general/single_channel/p50/1_5.json +52 -0
  362. package/pipette/definitions/2/general/single_channel/p50/3_0.json +67 -0
  363. package/pipette/definitions/2/general/single_channel/p50/3_3.json +67 -0
  364. package/pipette/definitions/2/general/single_channel/p50/3_4.json +67 -0
  365. package/pipette/definitions/2/general/single_channel/p50/3_5.json +67 -0
  366. package/pipette/definitions/2/geometry/eight_channel/p10/1_0.json +37 -0
  367. package/pipette/definitions/2/geometry/eight_channel/p10/1_3.json +37 -0
  368. package/pipette/definitions/2/geometry/eight_channel/p10/1_4.json +37 -0
  369. package/pipette/definitions/2/geometry/eight_channel/p10/1_5.json +37 -0
  370. package/pipette/definitions/2/geometry/eight_channel/p10/1_6.json +37 -0
  371. package/pipette/definitions/2/geometry/eight_channel/p10/placeholder.gltf +0 -0
  372. package/pipette/definitions/2/geometry/eight_channel/p1000/1_0.json +37 -0
  373. package/pipette/definitions/2/geometry/eight_channel/p1000/3_0.json +37 -0
  374. package/pipette/definitions/2/geometry/eight_channel/p1000/3_3.json +37 -0
  375. package/pipette/definitions/2/geometry/eight_channel/p1000/3_4.json +37 -0
  376. package/pipette/definitions/2/geometry/eight_channel/p1000/3_5.json +37 -0
  377. package/pipette/definitions/2/geometry/eight_channel/p1000/placeholder.gltf +0 -0
  378. package/pipette/definitions/2/geometry/eight_channel/p20/2_0.json +37 -0
  379. package/pipette/definitions/2/geometry/eight_channel/p20/2_1.json +37 -0
  380. package/pipette/definitions/2/geometry/eight_channel/p20/placeholder.gltf +0 -0
  381. package/pipette/definitions/2/geometry/eight_channel/p300/1_0.json +37 -0
  382. package/pipette/definitions/2/geometry/eight_channel/p300/1_3.json +37 -0
  383. package/pipette/definitions/2/geometry/eight_channel/p300/1_4.json +37 -0
  384. package/pipette/definitions/2/geometry/eight_channel/p300/1_5.json +37 -0
  385. package/pipette/definitions/2/geometry/eight_channel/p300/2_0.json +37 -0
  386. package/pipette/definitions/2/geometry/eight_channel/p300/2_1.json +37 -0
  387. package/pipette/definitions/2/geometry/eight_channel/p300/placeholder.gltf +0 -0
  388. package/pipette/definitions/2/geometry/eight_channel/p50/1_0.json +37 -0
  389. package/pipette/definitions/2/geometry/eight_channel/p50/1_3.json +37 -0
  390. package/pipette/definitions/2/geometry/eight_channel/p50/1_4.json +37 -0
  391. package/pipette/definitions/2/geometry/eight_channel/p50/1_5.json +37 -0
  392. package/pipette/definitions/2/geometry/eight_channel/p50/3_0.json +37 -0
  393. package/pipette/definitions/2/geometry/eight_channel/p50/3_3.json +37 -0
  394. package/pipette/definitions/2/geometry/eight_channel/p50/3_4.json +37 -0
  395. package/pipette/definitions/2/geometry/eight_channel/p50/3_5.json +37 -0
  396. package/pipette/definitions/2/geometry/eight_channel/p50/placeholder.gltf +0 -0
  397. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/1_0.json +291 -0
  398. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_0.json +291 -0
  399. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_3.json +291 -0
  400. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_4.json +291 -0
  401. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/3_5.json +291 -0
  402. package/pipette/definitions/2/geometry/ninety_six_channel/p1000/placeholder.gltf +0 -0
  403. package/pipette/definitions/2/geometry/single_channel/p10/1_0.json +10 -0
  404. package/pipette/definitions/2/geometry/single_channel/p10/1_3.json +10 -0
  405. package/pipette/definitions/2/geometry/single_channel/p10/1_4.json +10 -0
  406. package/pipette/definitions/2/geometry/single_channel/p10/1_5.json +10 -0
  407. package/pipette/definitions/2/geometry/single_channel/p10/placeholder.gltf +0 -0
  408. package/pipette/definitions/2/geometry/single_channel/p1000/1_0.json +10 -0
  409. package/pipette/definitions/2/geometry/single_channel/p1000/1_3.json +10 -0
  410. package/pipette/definitions/2/geometry/single_channel/p1000/1_4.json +10 -0
  411. package/pipette/definitions/2/geometry/single_channel/p1000/1_5.json +10 -0
  412. package/pipette/definitions/2/geometry/single_channel/p1000/2_0.json +10 -0
  413. package/pipette/definitions/2/geometry/single_channel/p1000/2_1.json +10 -0
  414. package/pipette/definitions/2/geometry/single_channel/p1000/2_2.json +10 -0
  415. package/pipette/definitions/2/geometry/single_channel/p1000/3_0.json +10 -0
  416. package/pipette/definitions/2/geometry/single_channel/p1000/3_3.json +10 -0
  417. package/pipette/definitions/2/geometry/single_channel/p1000/3_4.json +10 -0
  418. package/pipette/definitions/2/geometry/single_channel/p1000/3_5.json +10 -0
  419. package/pipette/definitions/2/geometry/single_channel/p1000/placeholder.gltf +0 -0
  420. package/pipette/definitions/2/geometry/single_channel/p20/2_0.json +10 -0
  421. package/pipette/definitions/2/geometry/single_channel/p20/2_1.json +10 -0
  422. package/pipette/definitions/2/geometry/single_channel/p20/2_2.json +10 -0
  423. package/pipette/definitions/2/geometry/single_channel/p20/placeholder.gltf +0 -0
  424. package/pipette/definitions/2/geometry/single_channel/p300/1_0.json +10 -0
  425. package/pipette/definitions/2/geometry/single_channel/p300/1_3.json +10 -0
  426. package/pipette/definitions/2/geometry/single_channel/p300/1_4.json +10 -0
  427. package/pipette/definitions/2/geometry/single_channel/p300/1_5.json +10 -0
  428. package/pipette/definitions/2/geometry/single_channel/p300/2_0.json +10 -0
  429. package/pipette/definitions/2/geometry/single_channel/p300/2_1.json +10 -0
  430. package/pipette/definitions/2/geometry/single_channel/p300/placeholder.gltf +0 -0
  431. package/pipette/definitions/2/geometry/single_channel/p50/1_0.json +10 -0
  432. package/pipette/definitions/2/geometry/single_channel/p50/1_3.json +10 -0
  433. package/pipette/definitions/2/geometry/single_channel/p50/1_4.json +10 -0
  434. package/pipette/definitions/2/geometry/single_channel/p50/1_5.json +10 -0
  435. package/pipette/definitions/2/geometry/single_channel/p50/3_0.json +10 -0
  436. package/pipette/definitions/2/geometry/single_channel/p50/3_3.json +10 -0
  437. package/pipette/definitions/2/geometry/single_channel/p50/3_4.json +10 -0
  438. package/pipette/definitions/2/geometry/single_channel/p50/3_5.json +10 -0
  439. package/pipette/definitions/2/geometry/single_channel/p50/placeholder.gltf +0 -0
  440. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_0.json +58 -0
  441. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_3.json +58 -0
  442. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_4.json +58 -0
  443. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_5.json +47 -0
  444. package/pipette/definitions/2/liquid/eight_channel/p10/default/1_6.json +55 -0
  445. package/pipette/definitions/2/liquid/eight_channel/p1000/default/1_0.json +356 -0
  446. package/pipette/definitions/2/liquid/eight_channel/p1000/default/3_0.json +359 -0
  447. package/pipette/definitions/2/liquid/eight_channel/p1000/default/3_3.json +359 -0
  448. package/pipette/definitions/2/liquid/eight_channel/p1000/default/3_4.json +359 -0
  449. package/pipette/definitions/2/liquid/eight_channel/p1000/default/3_5.json +239 -0
  450. package/pipette/definitions/2/liquid/eight_channel/p20/default/2_0.json +311 -0
  451. package/pipette/definitions/2/liquid/eight_channel/p20/default/2_1.json +191 -0
  452. package/pipette/definitions/2/liquid/eight_channel/p300/default/1_0.json +67 -0
  453. package/pipette/definitions/2/liquid/eight_channel/p300/default/1_3.json +67 -0
  454. package/pipette/definitions/2/liquid/eight_channel/p300/default/1_4.json +67 -0
  455. package/pipette/definitions/2/liquid/eight_channel/p300/default/1_5.json +67 -0
  456. package/pipette/definitions/2/liquid/eight_channel/p300/default/2_0.json +190 -0
  457. package/pipette/definitions/2/liquid/eight_channel/p300/default/2_1.json +190 -0
  458. package/pipette/definitions/2/liquid/eight_channel/p50/default/1_0.json +128 -0
  459. package/pipette/definitions/2/liquid/eight_channel/p50/default/1_3.json +128 -0
  460. package/pipette/definitions/2/liquid/eight_channel/p50/default/1_4.json +128 -0
  461. package/pipette/definitions/2/liquid/eight_channel/p50/default/1_5.json +110 -0
  462. package/pipette/definitions/2/liquid/eight_channel/p50/default/3_0.json +99 -0
  463. package/pipette/definitions/2/liquid/eight_channel/p50/default/3_3.json +99 -0
  464. package/pipette/definitions/2/liquid/eight_channel/p50/default/3_4.json +99 -0
  465. package/pipette/definitions/2/liquid/eight_channel/p50/default/3_5.json +91 -0
  466. package/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_0.json +94 -0
  467. package/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_3.json +89 -0
  468. package/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_4.json +89 -0
  469. package/pipette/definitions/2/liquid/eight_channel/p50/lowVolumeDefault/3_5.json +89 -0
  470. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/1_0.json +188 -0
  471. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_0.json +188 -0
  472. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_3.json +188 -0
  473. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_4.json +188 -0
  474. package/pipette/definitions/2/liquid/ninety_six_channel/p1000/default/3_5.json +188 -0
  475. package/pipette/definitions/2/liquid/single_channel/p10/default/1_0.json +59 -0
  476. package/pipette/definitions/2/liquid/single_channel/p10/default/1_3.json +59 -0
  477. package/pipette/definitions/2/liquid/single_channel/p10/default/1_4.json +56 -0
  478. package/pipette/definitions/2/liquid/single_channel/p10/default/1_5.json +54 -0
  479. package/pipette/definitions/2/liquid/single_channel/p1000/default/1_0.json +48 -0
  480. package/pipette/definitions/2/liquid/single_channel/p1000/default/1_3.json +48 -0
  481. package/pipette/definitions/2/liquid/single_channel/p1000/default/1_4.json +48 -0
  482. package/pipette/definitions/2/liquid/single_channel/p1000/default/1_5.json +48 -0
  483. package/pipette/definitions/2/liquid/single_channel/p1000/default/2_0.json +105 -0
  484. package/pipette/definitions/2/liquid/single_channel/p1000/default/2_1.json +107 -0
  485. package/pipette/definitions/2/liquid/single_channel/p1000/default/2_2.json +107 -0
  486. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_0.json +356 -0
  487. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_3.json +356 -0
  488. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_4.json +282 -0
  489. package/pipette/definitions/2/liquid/single_channel/p1000/default/3_5.json +204 -0
  490. package/pipette/definitions/2/liquid/single_channel/p20/default/2_0.json +431 -0
  491. package/pipette/definitions/2/liquid/single_channel/p20/default/2_1.json +251 -0
  492. package/pipette/definitions/2/liquid/single_channel/p20/default/2_2.json +311 -0
  493. package/pipette/definitions/2/liquid/single_channel/p300/default/1_0.json +99 -0
  494. package/pipette/definitions/2/liquid/single_channel/p300/default/1_3.json +99 -0
  495. package/pipette/definitions/2/liquid/single_channel/p300/default/1_4.json +99 -0
  496. package/pipette/definitions/2/liquid/single_channel/p300/default/1_5.json +75 -0
  497. package/pipette/definitions/2/liquid/single_channel/p300/default/2_0.json +188 -0
  498. package/pipette/definitions/2/liquid/single_channel/p300/default/2_1.json +188 -0
  499. package/pipette/definitions/2/liquid/single_channel/p50/default/1_0.json +119 -0
  500. package/pipette/definitions/2/liquid/single_channel/p50/default/1_3.json +128 -0
  501. package/pipette/definitions/2/liquid/single_channel/p50/default/1_4.json +128 -0
  502. package/pipette/definitions/2/liquid/single_channel/p50/default/1_5.json +104 -0
  503. package/pipette/definitions/2/liquid/single_channel/p50/default/3_0.json +98 -0
  504. package/pipette/definitions/2/liquid/single_channel/p50/default/3_3.json +98 -0
  505. package/pipette/definitions/2/liquid/single_channel/p50/default/3_4.json +100 -0
  506. package/pipette/definitions/2/liquid/single_channel/p50/default/3_5.json +80 -0
  507. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_0.json +78 -0
  508. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_3.json +78 -0
  509. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_4.json +78 -0
  510. package/pipette/definitions/2/liquid/single_channel/p50/lowVolumeDefault/3_5.json +76 -0
  511. package/pipette/fixtures/name/index.ts +19 -0
  512. package/pipette/fixtures/name/pipetteNameSpecFixtures.json +130 -0
  513. package/pipette/schemas/1/pipetteModelSpecsSchema.json +155 -0
  514. package/pipette/schemas/1/pipetteNameSpecsSchema.json +91 -0
  515. package/pipette/schemas/2/pipetteGeometrySchema.json +81 -0
  516. package/pipette/schemas/2/pipetteLiquidPropertiesSchema.json +120 -0
  517. package/pipette/schemas/2/pipettePropertiesSchema.json +287 -0
  518. package/protocol/README.md +12 -0
  519. package/protocol/fixtures/1/simple.json +73 -0
  520. package/protocol/fixtures/3/simple.json +1307 -0
  521. package/protocol/fixtures/3/testAllAtomicSingleV3.json +2281 -0
  522. package/protocol/fixtures/3/testTrickyLabwareV3.json +2577 -0
  523. package/protocol/fixtures/3/unusedPipette.json +1311 -0
  524. package/protocol/fixtures/4/pipetteMultiChannelProtocolV4.json +2561 -0
  525. package/protocol/fixtures/4/simpleV4.json +1309 -0
  526. package/protocol/fixtures/4/testMagneticModuleV4.json +2156 -0
  527. package/protocol/fixtures/4/testModulesProtocol.json +2561 -0
  528. package/protocol/fixtures/4/testTemperatureModuleV4.json +1480 -0
  529. package/protocol/fixtures/4/testThermocyclerModuleV4.json +2182 -0
  530. package/protocol/fixtures/4/transferSettings.json +5482 -0
  531. package/protocol/fixtures/5/multipleTipracks.json +2476 -0
  532. package/protocol/fixtures/5/multipleTipracksWithTC.json +3544 -0
  533. package/protocol/fixtures/5/simpleV5.json +1328 -0
  534. package/protocol/fixtures/6/heaterShakerCommands.json +1422 -0
  535. package/protocol/fixtures/6/heaterShakerCommandsWithResultsKey.json +4725 -0
  536. package/protocol/fixtures/6/multipleTempModules.json +11060 -0
  537. package/protocol/fixtures/6/multipleTipracks.json +5020 -0
  538. package/protocol/fixtures/6/multipleTipracksWithTC.json +7057 -0
  539. package/protocol/fixtures/6/oneTiprack.json +1388 -0
  540. package/protocol/fixtures/6/simpleV6.json +1494 -0
  541. package/protocol/fixtures/6/tempAndMagModuleCommands.json +1413 -0
  542. package/protocol/fixtures/6/transferSettings.json +11060 -0
  543. package/protocol/fixtures/7/moveLabware.json +1303 -0
  544. package/protocol/fixtures/7/simpleV7.json +1496 -0
  545. package/protocol/fixtures/8/moveLabware8.json +1309 -0
  546. package/protocol/fixtures/8/moveLabwareFlex8.json +1309 -0
  547. package/protocol/fixtures/8/simpleFlexV8.json +1475 -0
  548. package/protocol/fixtures/8/simpleV8.json +1473 -0
  549. package/protocol/index.ts +32 -0
  550. package/protocol/schemas/1.json +389 -0
  551. package/protocol/schemas/2.json +416 -0
  552. package/protocol/schemas/3.json +360 -0
  553. package/protocol/schemas/4.json +662 -0
  554. package/protocol/schemas/5.json +701 -0
  555. package/protocol/schemas/6.json +1225 -0
  556. package/protocol/schemas/7.json +290 -0
  557. package/protocol/schemas/8.json +157 -0
  558. package/protocol/types/schemaV1.ts +108 -0
  559. package/protocol/types/schemaV3.ts +131 -0
  560. package/protocol/types/schemaV4.ts +146 -0
  561. package/protocol/types/schemaV5.ts +34 -0
  562. package/protocol/types/schemaV5Addendum.ts +27 -0
  563. package/protocol/types/schemaV6/command/gantry.ts +146 -0
  564. package/protocol/types/schemaV6/command/index.ts +65 -0
  565. package/protocol/types/schemaV6/command/module.ts +302 -0
  566. package/protocol/types/schemaV6/command/pipetting.ts +114 -0
  567. package/protocol/types/schemaV6/command/setup.ts +127 -0
  568. package/protocol/types/schemaV6/command/timing.ts +58 -0
  569. package/protocol/types/schemaV6/index.ts +122 -0
  570. package/protocol/types/schemaV7/command/annotation.ts +37 -0
  571. package/protocol/types/schemaV7/command/calibration.ts +84 -0
  572. package/protocol/types/schemaV7/command/gantry.ts +154 -0
  573. package/protocol/types/schemaV7/command/incidental.ts +21 -0
  574. package/protocol/types/schemaV7/command/index.ts +76 -0
  575. package/protocol/types/schemaV7/command/module.ts +307 -0
  576. package/protocol/types/schemaV7/command/pipetting.ts +173 -0
  577. package/protocol/types/schemaV7/command/setup.ts +158 -0
  578. package/protocol/types/schemaV7/command/timing.ts +58 -0
  579. package/protocol/types/schemaV7/index.ts +98 -0
  580. package/protocol/types/schemaV8/index.ts +160 -0
  581. package/python/.coveragerc +4 -0
  582. package/python/.flake8 +32 -0
  583. package/python/Config.in +10 -0
  584. package/python/Makefile +134 -0
  585. package/python/Pipfile +28 -0
  586. package/python/Pipfile.lock +645 -0
  587. package/python/buildroot.mk +30 -0
  588. package/python/mypy.ini +41 -0
  589. package/python/opentrons_shared_data/__init__.py +17 -0
  590. package/python/opentrons_shared_data/_version.py +20 -0
  591. package/python/opentrons_shared_data/command/__init__.py +52 -0
  592. package/python/opentrons_shared_data/deck/__init__.py +96 -0
  593. package/python/opentrons_shared_data/deck/dev_types.py +180 -0
  594. package/python/opentrons_shared_data/errors/__init__.py +30 -0
  595. package/python/opentrons_shared_data/errors/categories.py +60 -0
  596. package/python/opentrons_shared_data/errors/codes.py +108 -0
  597. package/python/opentrons_shared_data/errors/exceptions.py +915 -0
  598. package/python/opentrons_shared_data/gripper/__init__.py +63 -0
  599. package/python/opentrons_shared_data/gripper/constants.py +5 -0
  600. package/python/opentrons_shared_data/gripper/gripper_definition.py +101 -0
  601. package/python/opentrons_shared_data/labware/__init__.py +22 -0
  602. package/python/opentrons_shared_data/labware/constants.py +7 -0
  603. package/python/opentrons_shared_data/labware/dev_types.py +140 -0
  604. package/python/opentrons_shared_data/labware/labware_definition.py +328 -0
  605. package/python/opentrons_shared_data/load.py +57 -0
  606. package/python/opentrons_shared_data/module/__init__.py +74 -0
  607. package/python/opentrons_shared_data/module/dev_types.py +141 -0
  608. package/python/opentrons_shared_data/pipette/__init__.py +107 -0
  609. package/python/opentrons_shared_data/pipette/dev_types.py +177 -0
  610. package/python/opentrons_shared_data/pipette/file_operation_helpers.py +37 -0
  611. package/python/opentrons_shared_data/pipette/load_data.py +261 -0
  612. package/python/opentrons_shared_data/pipette/model_constants.py +123 -0
  613. package/python/opentrons_shared_data/pipette/mutable_configurations.py +431 -0
  614. package/python/opentrons_shared_data/pipette/pipette_definition.py +503 -0
  615. package/python/opentrons_shared_data/pipette/pipette_load_name_conversions.py +236 -0
  616. package/python/opentrons_shared_data/pipette/scripts/__init__.py +0 -0
  617. package/python/opentrons_shared_data/pipette/scripts/build_json_script.py +469 -0
  618. package/python/opentrons_shared_data/pipette/scripts/update_configuration_files.py +450 -0
  619. package/python/opentrons_shared_data/pipette/types.py +193 -0
  620. package/python/opentrons_shared_data/protocol/__init__.py +13 -0
  621. package/python/opentrons_shared_data/protocol/constants.py +98 -0
  622. package/python/opentrons_shared_data/protocol/dev_types.py +436 -0
  623. package/python/opentrons_shared_data/protocol/models/__init__.py +48 -0
  624. package/python/opentrons_shared_data/protocol/models/protocol_schema_v6.py +145 -0
  625. package/python/opentrons_shared_data/protocol/models/protocol_schema_v7.py +95 -0
  626. package/python/opentrons_shared_data/protocol/models/protocol_schema_v8.py +108 -0
  627. package/python/opentrons_shared_data/protocol/models/shared_models.py +105 -0
  628. package/python/opentrons_shared_data/py.typed +0 -0
  629. package/python/opentrons_shared_data/robot/__init__.py +25 -0
  630. package/python/opentrons_shared_data/robot/dev_types.py +37 -0
  631. package/python/pytest.ini +2 -0
  632. package/python/setup.cfg +5 -0
  633. package/python/setup.py +179 -0
  634. package/python/tests/__init__.py +1 -0
  635. package/python/tests/conftest.py +0 -0
  636. package/python/tests/deck/__init__.py +0 -0
  637. package/python/tests/deck/test_list_names.py +12 -0
  638. package/python/tests/deck/test_position.py +113 -0
  639. package/python/tests/deck/test_typechecks.py +28 -0
  640. package/python/tests/errors/__init__.py +1 -0
  641. package/python/tests/errors/test_error_completeness.py +19 -0
  642. package/python/tests/errors/test_exceptions.py +74 -0
  643. package/python/tests/gripper/__init__.py +0 -0
  644. package/python/tests/gripper/test_definition.py +30 -0
  645. package/python/tests/gripper/test_load.py +16 -0
  646. package/python/tests/labware/__init__.py +13 -0
  647. package/python/tests/labware/test_typechecks.py +21 -0
  648. package/python/tests/module/__init__.py +20 -0
  649. package/python/tests/module/test_load.py +49 -0
  650. package/python/tests/module/test_typechecks.py +34 -0
  651. package/python/tests/pipette/__init__.py +0 -0
  652. package/python/tests/pipette/test_load_data.py +103 -0
  653. package/python/tests/pipette/test_mutable_configurations.py +266 -0
  654. package/python/tests/pipette/test_pipette_definition.py +183 -0
  655. package/python/tests/pipette/test_pipette_load_name_conversions.py +222 -0
  656. package/python/tests/pipette/test_typechecks.py +50 -0
  657. package/python/tests/pipette/test_validate_schema.py +37 -0
  658. package/python/tests/protocol/__init__.py +15 -0
  659. package/python/tests/protocol/test_protocol_schema_v6.py +107 -0
  660. package/python/tests/protocol/test_protocol_schema_v7.py +34 -0
  661. package/python/tests/protocol/test_protocol_schema_v8.py +20 -0
  662. package/python/tests/protocol/test_typechecks.py +36 -0
  663. package/python/tests/robot/__init__.py +0 -0
  664. package/python/tests/robot/test_typechecks.py +20 -0
  665. package/robot/definitions/1/ot2.json +5 -0
  666. package/robot/definitions/1/ot3.json +5 -0
  667. package/robot/schemas/1.json +30 -0
  668. package/tsconfig-data.json +24 -0
  669. package/tsconfig.json +17 -0
@@ -0,0 +1,1480 @@
1
+ {
2
+ "$otSharedSchema": "#/protocol/schemas/4",
3
+ "schemaVersion": 4,
4
+ "metadata": {
5
+ "protocolName": "Test temperature module",
6
+ "author": "",
7
+ "description": "",
8
+ "created": 1580338062825,
9
+ "category": null,
10
+ "subcategory": null,
11
+ "tags": []
12
+ },
13
+ "robot": {
14
+ "model": "OT-2 Standard"
15
+ },
16
+ "pipettes": {
17
+ "pipetteId": {
18
+ "mount": "left",
19
+ "name": "p10_single"
20
+ }
21
+ },
22
+ "labware": {
23
+ "trashId": {
24
+ "slot": "12",
25
+ "displayName": "Trash",
26
+ "definitionId": "opentrons/opentrons_1_trash_1100ml_fixed/1"
27
+ },
28
+ "tiprackId": {
29
+ "slot": "1",
30
+ "displayName": "Opentrons 96 Tip Rack 10 µL",
31
+ "definitionId": "opentrons/opentrons_96_tiprack_10ul/1"
32
+ },
33
+ "sourcePlateId": {
34
+ "slot": "temperatureModuleId",
35
+ "displayName": "Opentrons 24 Well Aluminum Block with Generic 2 mL Screwcap",
36
+ "definitionId": "opentrons/opentrons_24_aluminumblock_generic_2ml_screwcap/1"
37
+ }
38
+ },
39
+ "labwareDefinitions": {
40
+ "opentrons/opentrons_1_trash_1100ml_fixed/1": {
41
+ "ordering": [["A1"]],
42
+ "metadata": {
43
+ "displayCategory": "trash",
44
+ "displayVolumeUnits": "mL",
45
+ "displayName": "Opentrons Fixed Trash",
46
+ "tags": []
47
+ },
48
+ "schemaVersion": 2,
49
+ "version": 1,
50
+ "namespace": "opentrons",
51
+ "dimensions": {
52
+ "xDimension": 172.86,
53
+ "yDimension": 165.86,
54
+ "zDimension": 82
55
+ },
56
+ "parameters": {
57
+ "format": "trash",
58
+ "isTiprack": false,
59
+ "loadName": "opentrons_1_trash_1100ml_fixed",
60
+ "isMagneticModuleCompatible": false,
61
+ "quirks": [
62
+ "fixedTrash",
63
+ "centerMultichannelOnWells",
64
+ "touchTipDisabled"
65
+ ]
66
+ },
67
+ "wells": {
68
+ "A1": {
69
+ "shape": "rectangular",
70
+ "yDimension": 165.67,
71
+ "xDimension": 107.11,
72
+ "totalLiquidVolume": 1100000,
73
+ "depth": 0,
74
+ "x": 82.84,
75
+ "y": 80,
76
+ "z": 82
77
+ }
78
+ },
79
+ "brand": {
80
+ "brand": "Opentrons"
81
+ },
82
+ "groups": [
83
+ {
84
+ "wells": ["A1"],
85
+ "metadata": {}
86
+ }
87
+ ],
88
+ "cornerOffsetFromSlot": {
89
+ "x": 0,
90
+ "y": 0,
91
+ "z": 0
92
+ }
93
+ },
94
+ "opentrons/opentrons_96_tiprack_10ul/1": {
95
+ "ordering": [
96
+ ["A1", "B1", "C1", "D1", "E1", "F1", "G1", "H1"],
97
+ ["A2", "B2", "C2", "D2", "E2", "F2", "G2", "H2"],
98
+ ["A3", "B3", "C3", "D3", "E3", "F3", "G3", "H3"],
99
+ ["A4", "B4", "C4", "D4", "E4", "F4", "G4", "H4"],
100
+ ["A5", "B5", "C5", "D5", "E5", "F5", "G5", "H5"],
101
+ ["A6", "B6", "C6", "D6", "E6", "F6", "G6", "H6"],
102
+ ["A7", "B7", "C7", "D7", "E7", "F7", "G7", "H7"],
103
+ ["A8", "B8", "C8", "D8", "E8", "F8", "G8", "H8"],
104
+ ["A9", "B9", "C9", "D9", "E9", "F9", "G9", "H9"],
105
+ ["A10", "B10", "C10", "D10", "E10", "F10", "G10", "H10"],
106
+ ["A11", "B11", "C11", "D11", "E11", "F11", "G11", "H11"],
107
+ ["A12", "B12", "C12", "D12", "E12", "F12", "G12", "H12"]
108
+ ],
109
+ "brand": {
110
+ "brand": "Opentrons",
111
+ "brandId": [],
112
+ "links": [
113
+ "https://shop.opentrons.com/collections/opentrons-tips/products/opentrons-10ul-tips"
114
+ ]
115
+ },
116
+ "metadata": {
117
+ "displayName": "Opentrons 96 Tip Rack 10 µL",
118
+ "displayCategory": "tipRack",
119
+ "displayVolumeUnits": "µL",
120
+ "tags": []
121
+ },
122
+ "dimensions": {
123
+ "xDimension": 127.76,
124
+ "yDimension": 85.48,
125
+ "zDimension": 64.69
126
+ },
127
+ "wells": {
128
+ "A1": {
129
+ "depth": 39.2,
130
+ "shape": "circular",
131
+ "diameter": 3.27,
132
+ "totalLiquidVolume": 10,
133
+ "x": 14.38,
134
+ "y": 74.24,
135
+ "z": 25.49
136
+ },
137
+ "B1": {
138
+ "depth": 39.2,
139
+ "shape": "circular",
140
+ "diameter": 3.27,
141
+ "totalLiquidVolume": 10,
142
+ "x": 14.38,
143
+ "y": 65.24,
144
+ "z": 25.49
145
+ },
146
+ "C1": {
147
+ "depth": 39.2,
148
+ "shape": "circular",
149
+ "diameter": 3.27,
150
+ "totalLiquidVolume": 10,
151
+ "x": 14.38,
152
+ "y": 56.24,
153
+ "z": 25.49
154
+ },
155
+ "D1": {
156
+ "depth": 39.2,
157
+ "shape": "circular",
158
+ "diameter": 3.27,
159
+ "totalLiquidVolume": 10,
160
+ "x": 14.38,
161
+ "y": 47.24,
162
+ "z": 25.49
163
+ },
164
+ "E1": {
165
+ "depth": 39.2,
166
+ "shape": "circular",
167
+ "diameter": 3.27,
168
+ "totalLiquidVolume": 10,
169
+ "x": 14.38,
170
+ "y": 38.24,
171
+ "z": 25.49
172
+ },
173
+ "F1": {
174
+ "depth": 39.2,
175
+ "shape": "circular",
176
+ "diameter": 3.27,
177
+ "totalLiquidVolume": 10,
178
+ "x": 14.38,
179
+ "y": 29.24,
180
+ "z": 25.49
181
+ },
182
+ "G1": {
183
+ "depth": 39.2,
184
+ "shape": "circular",
185
+ "diameter": 3.27,
186
+ "totalLiquidVolume": 10,
187
+ "x": 14.38,
188
+ "y": 20.24,
189
+ "z": 25.49
190
+ },
191
+ "H1": {
192
+ "depth": 39.2,
193
+ "shape": "circular",
194
+ "diameter": 3.27,
195
+ "totalLiquidVolume": 10,
196
+ "x": 14.38,
197
+ "y": 11.24,
198
+ "z": 25.49
199
+ },
200
+ "A2": {
201
+ "depth": 39.2,
202
+ "shape": "circular",
203
+ "diameter": 3.27,
204
+ "totalLiquidVolume": 10,
205
+ "x": 23.38,
206
+ "y": 74.24,
207
+ "z": 25.49
208
+ },
209
+ "B2": {
210
+ "depth": 39.2,
211
+ "shape": "circular",
212
+ "diameter": 3.27,
213
+ "totalLiquidVolume": 10,
214
+ "x": 23.38,
215
+ "y": 65.24,
216
+ "z": 25.49
217
+ },
218
+ "C2": {
219
+ "depth": 39.2,
220
+ "shape": "circular",
221
+ "diameter": 3.27,
222
+ "totalLiquidVolume": 10,
223
+ "x": 23.38,
224
+ "y": 56.24,
225
+ "z": 25.49
226
+ },
227
+ "D2": {
228
+ "depth": 39.2,
229
+ "shape": "circular",
230
+ "diameter": 3.27,
231
+ "totalLiquidVolume": 10,
232
+ "x": 23.38,
233
+ "y": 47.24,
234
+ "z": 25.49
235
+ },
236
+ "E2": {
237
+ "depth": 39.2,
238
+ "shape": "circular",
239
+ "diameter": 3.27,
240
+ "totalLiquidVolume": 10,
241
+ "x": 23.38,
242
+ "y": 38.24,
243
+ "z": 25.49
244
+ },
245
+ "F2": {
246
+ "depth": 39.2,
247
+ "shape": "circular",
248
+ "diameter": 3.27,
249
+ "totalLiquidVolume": 10,
250
+ "x": 23.38,
251
+ "y": 29.24,
252
+ "z": 25.49
253
+ },
254
+ "G2": {
255
+ "depth": 39.2,
256
+ "shape": "circular",
257
+ "diameter": 3.27,
258
+ "totalLiquidVolume": 10,
259
+ "x": 23.38,
260
+ "y": 20.24,
261
+ "z": 25.49
262
+ },
263
+ "H2": {
264
+ "depth": 39.2,
265
+ "shape": "circular",
266
+ "diameter": 3.27,
267
+ "totalLiquidVolume": 10,
268
+ "x": 23.38,
269
+ "y": 11.24,
270
+ "z": 25.49
271
+ },
272
+ "A3": {
273
+ "depth": 39.2,
274
+ "shape": "circular",
275
+ "diameter": 3.27,
276
+ "totalLiquidVolume": 10,
277
+ "x": 32.38,
278
+ "y": 74.24,
279
+ "z": 25.49
280
+ },
281
+ "B3": {
282
+ "depth": 39.2,
283
+ "shape": "circular",
284
+ "diameter": 3.27,
285
+ "totalLiquidVolume": 10,
286
+ "x": 32.38,
287
+ "y": 65.24,
288
+ "z": 25.49
289
+ },
290
+ "C3": {
291
+ "depth": 39.2,
292
+ "shape": "circular",
293
+ "diameter": 3.27,
294
+ "totalLiquidVolume": 10,
295
+ "x": 32.38,
296
+ "y": 56.24,
297
+ "z": 25.49
298
+ },
299
+ "D3": {
300
+ "depth": 39.2,
301
+ "shape": "circular",
302
+ "diameter": 3.27,
303
+ "totalLiquidVolume": 10,
304
+ "x": 32.38,
305
+ "y": 47.24,
306
+ "z": 25.49
307
+ },
308
+ "E3": {
309
+ "depth": 39.2,
310
+ "shape": "circular",
311
+ "diameter": 3.27,
312
+ "totalLiquidVolume": 10,
313
+ "x": 32.38,
314
+ "y": 38.24,
315
+ "z": 25.49
316
+ },
317
+ "F3": {
318
+ "depth": 39.2,
319
+ "shape": "circular",
320
+ "diameter": 3.27,
321
+ "totalLiquidVolume": 10,
322
+ "x": 32.38,
323
+ "y": 29.24,
324
+ "z": 25.49
325
+ },
326
+ "G3": {
327
+ "depth": 39.2,
328
+ "shape": "circular",
329
+ "diameter": 3.27,
330
+ "totalLiquidVolume": 10,
331
+ "x": 32.38,
332
+ "y": 20.24,
333
+ "z": 25.49
334
+ },
335
+ "H3": {
336
+ "depth": 39.2,
337
+ "shape": "circular",
338
+ "diameter": 3.27,
339
+ "totalLiquidVolume": 10,
340
+ "x": 32.38,
341
+ "y": 11.24,
342
+ "z": 25.49
343
+ },
344
+ "A4": {
345
+ "depth": 39.2,
346
+ "shape": "circular",
347
+ "diameter": 3.27,
348
+ "totalLiquidVolume": 10,
349
+ "x": 41.38,
350
+ "y": 74.24,
351
+ "z": 25.49
352
+ },
353
+ "B4": {
354
+ "depth": 39.2,
355
+ "shape": "circular",
356
+ "diameter": 3.27,
357
+ "totalLiquidVolume": 10,
358
+ "x": 41.38,
359
+ "y": 65.24,
360
+ "z": 25.49
361
+ },
362
+ "C4": {
363
+ "depth": 39.2,
364
+ "shape": "circular",
365
+ "diameter": 3.27,
366
+ "totalLiquidVolume": 10,
367
+ "x": 41.38,
368
+ "y": 56.24,
369
+ "z": 25.49
370
+ },
371
+ "D4": {
372
+ "depth": 39.2,
373
+ "shape": "circular",
374
+ "diameter": 3.27,
375
+ "totalLiquidVolume": 10,
376
+ "x": 41.38,
377
+ "y": 47.24,
378
+ "z": 25.49
379
+ },
380
+ "E4": {
381
+ "depth": 39.2,
382
+ "shape": "circular",
383
+ "diameter": 3.27,
384
+ "totalLiquidVolume": 10,
385
+ "x": 41.38,
386
+ "y": 38.24,
387
+ "z": 25.49
388
+ },
389
+ "F4": {
390
+ "depth": 39.2,
391
+ "shape": "circular",
392
+ "diameter": 3.27,
393
+ "totalLiquidVolume": 10,
394
+ "x": 41.38,
395
+ "y": 29.24,
396
+ "z": 25.49
397
+ },
398
+ "G4": {
399
+ "depth": 39.2,
400
+ "shape": "circular",
401
+ "diameter": 3.27,
402
+ "totalLiquidVolume": 10,
403
+ "x": 41.38,
404
+ "y": 20.24,
405
+ "z": 25.49
406
+ },
407
+ "H4": {
408
+ "depth": 39.2,
409
+ "shape": "circular",
410
+ "diameter": 3.27,
411
+ "totalLiquidVolume": 10,
412
+ "x": 41.38,
413
+ "y": 11.24,
414
+ "z": 25.49
415
+ },
416
+ "A5": {
417
+ "depth": 39.2,
418
+ "shape": "circular",
419
+ "diameter": 3.27,
420
+ "totalLiquidVolume": 10,
421
+ "x": 50.38,
422
+ "y": 74.24,
423
+ "z": 25.49
424
+ },
425
+ "B5": {
426
+ "depth": 39.2,
427
+ "shape": "circular",
428
+ "diameter": 3.27,
429
+ "totalLiquidVolume": 10,
430
+ "x": 50.38,
431
+ "y": 65.24,
432
+ "z": 25.49
433
+ },
434
+ "C5": {
435
+ "depth": 39.2,
436
+ "shape": "circular",
437
+ "diameter": 3.27,
438
+ "totalLiquidVolume": 10,
439
+ "x": 50.38,
440
+ "y": 56.24,
441
+ "z": 25.49
442
+ },
443
+ "D5": {
444
+ "depth": 39.2,
445
+ "shape": "circular",
446
+ "diameter": 3.27,
447
+ "totalLiquidVolume": 10,
448
+ "x": 50.38,
449
+ "y": 47.24,
450
+ "z": 25.49
451
+ },
452
+ "E5": {
453
+ "depth": 39.2,
454
+ "shape": "circular",
455
+ "diameter": 3.27,
456
+ "totalLiquidVolume": 10,
457
+ "x": 50.38,
458
+ "y": 38.24,
459
+ "z": 25.49
460
+ },
461
+ "F5": {
462
+ "depth": 39.2,
463
+ "shape": "circular",
464
+ "diameter": 3.27,
465
+ "totalLiquidVolume": 10,
466
+ "x": 50.38,
467
+ "y": 29.24,
468
+ "z": 25.49
469
+ },
470
+ "G5": {
471
+ "depth": 39.2,
472
+ "shape": "circular",
473
+ "diameter": 3.27,
474
+ "totalLiquidVolume": 10,
475
+ "x": 50.38,
476
+ "y": 20.24,
477
+ "z": 25.49
478
+ },
479
+ "H5": {
480
+ "depth": 39.2,
481
+ "shape": "circular",
482
+ "diameter": 3.27,
483
+ "totalLiquidVolume": 10,
484
+ "x": 50.38,
485
+ "y": 11.24,
486
+ "z": 25.49
487
+ },
488
+ "A6": {
489
+ "depth": 39.2,
490
+ "shape": "circular",
491
+ "diameter": 3.27,
492
+ "totalLiquidVolume": 10,
493
+ "x": 59.38,
494
+ "y": 74.24,
495
+ "z": 25.49
496
+ },
497
+ "B6": {
498
+ "depth": 39.2,
499
+ "shape": "circular",
500
+ "diameter": 3.27,
501
+ "totalLiquidVolume": 10,
502
+ "x": 59.38,
503
+ "y": 65.24,
504
+ "z": 25.49
505
+ },
506
+ "C6": {
507
+ "depth": 39.2,
508
+ "shape": "circular",
509
+ "diameter": 3.27,
510
+ "totalLiquidVolume": 10,
511
+ "x": 59.38,
512
+ "y": 56.24,
513
+ "z": 25.49
514
+ },
515
+ "D6": {
516
+ "depth": 39.2,
517
+ "shape": "circular",
518
+ "diameter": 3.27,
519
+ "totalLiquidVolume": 10,
520
+ "x": 59.38,
521
+ "y": 47.24,
522
+ "z": 25.49
523
+ },
524
+ "E6": {
525
+ "depth": 39.2,
526
+ "shape": "circular",
527
+ "diameter": 3.27,
528
+ "totalLiquidVolume": 10,
529
+ "x": 59.38,
530
+ "y": 38.24,
531
+ "z": 25.49
532
+ },
533
+ "F6": {
534
+ "depth": 39.2,
535
+ "shape": "circular",
536
+ "diameter": 3.27,
537
+ "totalLiquidVolume": 10,
538
+ "x": 59.38,
539
+ "y": 29.24,
540
+ "z": 25.49
541
+ },
542
+ "G6": {
543
+ "depth": 39.2,
544
+ "shape": "circular",
545
+ "diameter": 3.27,
546
+ "totalLiquidVolume": 10,
547
+ "x": 59.38,
548
+ "y": 20.24,
549
+ "z": 25.49
550
+ },
551
+ "H6": {
552
+ "depth": 39.2,
553
+ "shape": "circular",
554
+ "diameter": 3.27,
555
+ "totalLiquidVolume": 10,
556
+ "x": 59.38,
557
+ "y": 11.24,
558
+ "z": 25.49
559
+ },
560
+ "A7": {
561
+ "depth": 39.2,
562
+ "shape": "circular",
563
+ "diameter": 3.27,
564
+ "totalLiquidVolume": 10,
565
+ "x": 68.38,
566
+ "y": 74.24,
567
+ "z": 25.49
568
+ },
569
+ "B7": {
570
+ "depth": 39.2,
571
+ "shape": "circular",
572
+ "diameter": 3.27,
573
+ "totalLiquidVolume": 10,
574
+ "x": 68.38,
575
+ "y": 65.24,
576
+ "z": 25.49
577
+ },
578
+ "C7": {
579
+ "depth": 39.2,
580
+ "shape": "circular",
581
+ "diameter": 3.27,
582
+ "totalLiquidVolume": 10,
583
+ "x": 68.38,
584
+ "y": 56.24,
585
+ "z": 25.49
586
+ },
587
+ "D7": {
588
+ "depth": 39.2,
589
+ "shape": "circular",
590
+ "diameter": 3.27,
591
+ "totalLiquidVolume": 10,
592
+ "x": 68.38,
593
+ "y": 47.24,
594
+ "z": 25.49
595
+ },
596
+ "E7": {
597
+ "depth": 39.2,
598
+ "shape": "circular",
599
+ "diameter": 3.27,
600
+ "totalLiquidVolume": 10,
601
+ "x": 68.38,
602
+ "y": 38.24,
603
+ "z": 25.49
604
+ },
605
+ "F7": {
606
+ "depth": 39.2,
607
+ "shape": "circular",
608
+ "diameter": 3.27,
609
+ "totalLiquidVolume": 10,
610
+ "x": 68.38,
611
+ "y": 29.24,
612
+ "z": 25.49
613
+ },
614
+ "G7": {
615
+ "depth": 39.2,
616
+ "shape": "circular",
617
+ "diameter": 3.27,
618
+ "totalLiquidVolume": 10,
619
+ "x": 68.38,
620
+ "y": 20.24,
621
+ "z": 25.49
622
+ },
623
+ "H7": {
624
+ "depth": 39.2,
625
+ "shape": "circular",
626
+ "diameter": 3.27,
627
+ "totalLiquidVolume": 10,
628
+ "x": 68.38,
629
+ "y": 11.24,
630
+ "z": 25.49
631
+ },
632
+ "A8": {
633
+ "depth": 39.2,
634
+ "shape": "circular",
635
+ "diameter": 3.27,
636
+ "totalLiquidVolume": 10,
637
+ "x": 77.38,
638
+ "y": 74.24,
639
+ "z": 25.49
640
+ },
641
+ "B8": {
642
+ "depth": 39.2,
643
+ "shape": "circular",
644
+ "diameter": 3.27,
645
+ "totalLiquidVolume": 10,
646
+ "x": 77.38,
647
+ "y": 65.24,
648
+ "z": 25.49
649
+ },
650
+ "C8": {
651
+ "depth": 39.2,
652
+ "shape": "circular",
653
+ "diameter": 3.27,
654
+ "totalLiquidVolume": 10,
655
+ "x": 77.38,
656
+ "y": 56.24,
657
+ "z": 25.49
658
+ },
659
+ "D8": {
660
+ "depth": 39.2,
661
+ "shape": "circular",
662
+ "diameter": 3.27,
663
+ "totalLiquidVolume": 10,
664
+ "x": 77.38,
665
+ "y": 47.24,
666
+ "z": 25.49
667
+ },
668
+ "E8": {
669
+ "depth": 39.2,
670
+ "shape": "circular",
671
+ "diameter": 3.27,
672
+ "totalLiquidVolume": 10,
673
+ "x": 77.38,
674
+ "y": 38.24,
675
+ "z": 25.49
676
+ },
677
+ "F8": {
678
+ "depth": 39.2,
679
+ "shape": "circular",
680
+ "diameter": 3.27,
681
+ "totalLiquidVolume": 10,
682
+ "x": 77.38,
683
+ "y": 29.24,
684
+ "z": 25.49
685
+ },
686
+ "G8": {
687
+ "depth": 39.2,
688
+ "shape": "circular",
689
+ "diameter": 3.27,
690
+ "totalLiquidVolume": 10,
691
+ "x": 77.38,
692
+ "y": 20.24,
693
+ "z": 25.49
694
+ },
695
+ "H8": {
696
+ "depth": 39.2,
697
+ "shape": "circular",
698
+ "diameter": 3.27,
699
+ "totalLiquidVolume": 10,
700
+ "x": 77.38,
701
+ "y": 11.24,
702
+ "z": 25.49
703
+ },
704
+ "A9": {
705
+ "depth": 39.2,
706
+ "shape": "circular",
707
+ "diameter": 3.27,
708
+ "totalLiquidVolume": 10,
709
+ "x": 86.38,
710
+ "y": 74.24,
711
+ "z": 25.49
712
+ },
713
+ "B9": {
714
+ "depth": 39.2,
715
+ "shape": "circular",
716
+ "diameter": 3.27,
717
+ "totalLiquidVolume": 10,
718
+ "x": 86.38,
719
+ "y": 65.24,
720
+ "z": 25.49
721
+ },
722
+ "C9": {
723
+ "depth": 39.2,
724
+ "shape": "circular",
725
+ "diameter": 3.27,
726
+ "totalLiquidVolume": 10,
727
+ "x": 86.38,
728
+ "y": 56.24,
729
+ "z": 25.49
730
+ },
731
+ "D9": {
732
+ "depth": 39.2,
733
+ "shape": "circular",
734
+ "diameter": 3.27,
735
+ "totalLiquidVolume": 10,
736
+ "x": 86.38,
737
+ "y": 47.24,
738
+ "z": 25.49
739
+ },
740
+ "E9": {
741
+ "depth": 39.2,
742
+ "shape": "circular",
743
+ "diameter": 3.27,
744
+ "totalLiquidVolume": 10,
745
+ "x": 86.38,
746
+ "y": 38.24,
747
+ "z": 25.49
748
+ },
749
+ "F9": {
750
+ "depth": 39.2,
751
+ "shape": "circular",
752
+ "diameter": 3.27,
753
+ "totalLiquidVolume": 10,
754
+ "x": 86.38,
755
+ "y": 29.24,
756
+ "z": 25.49
757
+ },
758
+ "G9": {
759
+ "depth": 39.2,
760
+ "shape": "circular",
761
+ "diameter": 3.27,
762
+ "totalLiquidVolume": 10,
763
+ "x": 86.38,
764
+ "y": 20.24,
765
+ "z": 25.49
766
+ },
767
+ "H9": {
768
+ "depth": 39.2,
769
+ "shape": "circular",
770
+ "diameter": 3.27,
771
+ "totalLiquidVolume": 10,
772
+ "x": 86.38,
773
+ "y": 11.24,
774
+ "z": 25.49
775
+ },
776
+ "A10": {
777
+ "depth": 39.2,
778
+ "shape": "circular",
779
+ "diameter": 3.27,
780
+ "totalLiquidVolume": 10,
781
+ "x": 95.38,
782
+ "y": 74.24,
783
+ "z": 25.49
784
+ },
785
+ "B10": {
786
+ "depth": 39.2,
787
+ "shape": "circular",
788
+ "diameter": 3.27,
789
+ "totalLiquidVolume": 10,
790
+ "x": 95.38,
791
+ "y": 65.24,
792
+ "z": 25.49
793
+ },
794
+ "C10": {
795
+ "depth": 39.2,
796
+ "shape": "circular",
797
+ "diameter": 3.27,
798
+ "totalLiquidVolume": 10,
799
+ "x": 95.38,
800
+ "y": 56.24,
801
+ "z": 25.49
802
+ },
803
+ "D10": {
804
+ "depth": 39.2,
805
+ "shape": "circular",
806
+ "diameter": 3.27,
807
+ "totalLiquidVolume": 10,
808
+ "x": 95.38,
809
+ "y": 47.24,
810
+ "z": 25.49
811
+ },
812
+ "E10": {
813
+ "depth": 39.2,
814
+ "shape": "circular",
815
+ "diameter": 3.27,
816
+ "totalLiquidVolume": 10,
817
+ "x": 95.38,
818
+ "y": 38.24,
819
+ "z": 25.49
820
+ },
821
+ "F10": {
822
+ "depth": 39.2,
823
+ "shape": "circular",
824
+ "diameter": 3.27,
825
+ "totalLiquidVolume": 10,
826
+ "x": 95.38,
827
+ "y": 29.24,
828
+ "z": 25.49
829
+ },
830
+ "G10": {
831
+ "depth": 39.2,
832
+ "shape": "circular",
833
+ "diameter": 3.27,
834
+ "totalLiquidVolume": 10,
835
+ "x": 95.38,
836
+ "y": 20.24,
837
+ "z": 25.49
838
+ },
839
+ "H10": {
840
+ "depth": 39.2,
841
+ "shape": "circular",
842
+ "diameter": 3.27,
843
+ "totalLiquidVolume": 10,
844
+ "x": 95.38,
845
+ "y": 11.24,
846
+ "z": 25.49
847
+ },
848
+ "A11": {
849
+ "depth": 39.2,
850
+ "shape": "circular",
851
+ "diameter": 3.27,
852
+ "totalLiquidVolume": 10,
853
+ "x": 104.38,
854
+ "y": 74.24,
855
+ "z": 25.49
856
+ },
857
+ "B11": {
858
+ "depth": 39.2,
859
+ "shape": "circular",
860
+ "diameter": 3.27,
861
+ "totalLiquidVolume": 10,
862
+ "x": 104.38,
863
+ "y": 65.24,
864
+ "z": 25.49
865
+ },
866
+ "C11": {
867
+ "depth": 39.2,
868
+ "shape": "circular",
869
+ "diameter": 3.27,
870
+ "totalLiquidVolume": 10,
871
+ "x": 104.38,
872
+ "y": 56.24,
873
+ "z": 25.49
874
+ },
875
+ "D11": {
876
+ "depth": 39.2,
877
+ "shape": "circular",
878
+ "diameter": 3.27,
879
+ "totalLiquidVolume": 10,
880
+ "x": 104.38,
881
+ "y": 47.24,
882
+ "z": 25.49
883
+ },
884
+ "E11": {
885
+ "depth": 39.2,
886
+ "shape": "circular",
887
+ "diameter": 3.27,
888
+ "totalLiquidVolume": 10,
889
+ "x": 104.38,
890
+ "y": 38.24,
891
+ "z": 25.49
892
+ },
893
+ "F11": {
894
+ "depth": 39.2,
895
+ "shape": "circular",
896
+ "diameter": 3.27,
897
+ "totalLiquidVolume": 10,
898
+ "x": 104.38,
899
+ "y": 29.24,
900
+ "z": 25.49
901
+ },
902
+ "G11": {
903
+ "depth": 39.2,
904
+ "shape": "circular",
905
+ "diameter": 3.27,
906
+ "totalLiquidVolume": 10,
907
+ "x": 104.38,
908
+ "y": 20.24,
909
+ "z": 25.49
910
+ },
911
+ "H11": {
912
+ "depth": 39.2,
913
+ "shape": "circular",
914
+ "diameter": 3.27,
915
+ "totalLiquidVolume": 10,
916
+ "x": 104.38,
917
+ "y": 11.24,
918
+ "z": 25.49
919
+ },
920
+ "A12": {
921
+ "depth": 39.2,
922
+ "shape": "circular",
923
+ "diameter": 3.27,
924
+ "totalLiquidVolume": 10,
925
+ "x": 113.38,
926
+ "y": 74.24,
927
+ "z": 25.49
928
+ },
929
+ "B12": {
930
+ "depth": 39.2,
931
+ "shape": "circular",
932
+ "diameter": 3.27,
933
+ "totalLiquidVolume": 10,
934
+ "x": 113.38,
935
+ "y": 65.24,
936
+ "z": 25.49
937
+ },
938
+ "C12": {
939
+ "depth": 39.2,
940
+ "shape": "circular",
941
+ "diameter": 3.27,
942
+ "totalLiquidVolume": 10,
943
+ "x": 113.38,
944
+ "y": 56.24,
945
+ "z": 25.49
946
+ },
947
+ "D12": {
948
+ "depth": 39.2,
949
+ "shape": "circular",
950
+ "diameter": 3.27,
951
+ "totalLiquidVolume": 10,
952
+ "x": 113.38,
953
+ "y": 47.24,
954
+ "z": 25.49
955
+ },
956
+ "E12": {
957
+ "depth": 39.2,
958
+ "shape": "circular",
959
+ "diameter": 3.27,
960
+ "totalLiquidVolume": 10,
961
+ "x": 113.38,
962
+ "y": 38.24,
963
+ "z": 25.49
964
+ },
965
+ "F12": {
966
+ "depth": 39.2,
967
+ "shape": "circular",
968
+ "diameter": 3.27,
969
+ "totalLiquidVolume": 10,
970
+ "x": 113.38,
971
+ "y": 29.24,
972
+ "z": 25.49
973
+ },
974
+ "G12": {
975
+ "depth": 39.2,
976
+ "shape": "circular",
977
+ "diameter": 3.27,
978
+ "totalLiquidVolume": 10,
979
+ "x": 113.38,
980
+ "y": 20.24,
981
+ "z": 25.49
982
+ },
983
+ "H12": {
984
+ "depth": 39.2,
985
+ "shape": "circular",
986
+ "diameter": 3.27,
987
+ "totalLiquidVolume": 10,
988
+ "x": 113.38,
989
+ "y": 11.24,
990
+ "z": 25.49
991
+ }
992
+ },
993
+ "groups": [
994
+ {
995
+ "metadata": {},
996
+ "wells": [
997
+ "A1",
998
+ "B1",
999
+ "C1",
1000
+ "D1",
1001
+ "E1",
1002
+ "F1",
1003
+ "G1",
1004
+ "H1",
1005
+ "A2",
1006
+ "B2",
1007
+ "C2",
1008
+ "D2",
1009
+ "E2",
1010
+ "F2",
1011
+ "G2",
1012
+ "H2",
1013
+ "A3",
1014
+ "B3",
1015
+ "C3",
1016
+ "D3",
1017
+ "E3",
1018
+ "F3",
1019
+ "G3",
1020
+ "H3",
1021
+ "A4",
1022
+ "B4",
1023
+ "C4",
1024
+ "D4",
1025
+ "E4",
1026
+ "F4",
1027
+ "G4",
1028
+ "H4",
1029
+ "A5",
1030
+ "B5",
1031
+ "C5",
1032
+ "D5",
1033
+ "E5",
1034
+ "F5",
1035
+ "G5",
1036
+ "H5",
1037
+ "A6",
1038
+ "B6",
1039
+ "C6",
1040
+ "D6",
1041
+ "E6",
1042
+ "F6",
1043
+ "G6",
1044
+ "H6",
1045
+ "A7",
1046
+ "B7",
1047
+ "C7",
1048
+ "D7",
1049
+ "E7",
1050
+ "F7",
1051
+ "G7",
1052
+ "H7",
1053
+ "A8",
1054
+ "B8",
1055
+ "C8",
1056
+ "D8",
1057
+ "E8",
1058
+ "F8",
1059
+ "G8",
1060
+ "H8",
1061
+ "A9",
1062
+ "B9",
1063
+ "C9",
1064
+ "D9",
1065
+ "E9",
1066
+ "F9",
1067
+ "G9",
1068
+ "H9",
1069
+ "A10",
1070
+ "B10",
1071
+ "C10",
1072
+ "D10",
1073
+ "E10",
1074
+ "F10",
1075
+ "G10",
1076
+ "H10",
1077
+ "A11",
1078
+ "B11",
1079
+ "C11",
1080
+ "D11",
1081
+ "E11",
1082
+ "F11",
1083
+ "G11",
1084
+ "H11",
1085
+ "A12",
1086
+ "B12",
1087
+ "C12",
1088
+ "D12",
1089
+ "E12",
1090
+ "F12",
1091
+ "G12",
1092
+ "H12"
1093
+ ]
1094
+ }
1095
+ ],
1096
+ "parameters": {
1097
+ "format": "96Standard",
1098
+ "isTiprack": true,
1099
+ "tipLength": 39.2,
1100
+ "tipOverlap": 3.29,
1101
+ "isMagneticModuleCompatible": false,
1102
+ "loadName": "opentrons_96_tiprack_10ul"
1103
+ },
1104
+ "namespace": "opentrons",
1105
+ "version": 1,
1106
+ "schemaVersion": 2,
1107
+ "cornerOffsetFromSlot": {
1108
+ "x": 0,
1109
+ "y": 0,
1110
+ "z": 0
1111
+ }
1112
+ },
1113
+ "opentrons/opentrons_24_aluminumblock_generic_2ml_screwcap/1": {
1114
+ "ordering": [
1115
+ ["A1", "B1", "C1", "D1"],
1116
+ ["A2", "B2", "C2", "D2"],
1117
+ ["A3", "B3", "C3", "D3"],
1118
+ ["A4", "B4", "C4", "D4"],
1119
+ ["A5", "B5", "C5", "D5"],
1120
+ ["A6", "B6", "C6", "D6"]
1121
+ ],
1122
+ "schemaVersion": 2,
1123
+ "version": 1,
1124
+ "namespace": "opentrons",
1125
+ "metadata": {
1126
+ "displayName": "Opentrons 24 Well Aluminum Block with Generic 2 mL Screwcap",
1127
+ "displayVolumeUnits": "mL",
1128
+ "displayCategory": "aluminumBlock",
1129
+ "tags": []
1130
+ },
1131
+ "dimensions": {
1132
+ "xDimension": 127.75,
1133
+ "yDimension": 85.5,
1134
+ "zDimension": 42
1135
+ },
1136
+ "parameters": {
1137
+ "format": "irregular",
1138
+ "isTiprack": false,
1139
+ "isMagneticModuleCompatible": false,
1140
+ "loadName": "opentrons_24_aluminumblock_generic_2ml_screwcap"
1141
+ },
1142
+ "wells": {
1143
+ "D1": {
1144
+ "shape": "circular",
1145
+ "depth": 42,
1146
+ "diameter": 8.5,
1147
+ "totalLiquidVolume": 2000,
1148
+ "x": 20.75,
1149
+ "y": 16.88,
1150
+ "z": 6.7
1151
+ },
1152
+ "C1": {
1153
+ "shape": "circular",
1154
+ "depth": 42,
1155
+ "diameter": 8.5,
1156
+ "totalLiquidVolume": 2000,
1157
+ "x": 20.75,
1158
+ "y": 34.13,
1159
+ "z": 6.7
1160
+ },
1161
+ "B1": {
1162
+ "shape": "circular",
1163
+ "depth": 42,
1164
+ "diameter": 8.5,
1165
+ "totalLiquidVolume": 2000,
1166
+ "x": 20.75,
1167
+ "y": 51.38,
1168
+ "z": 6.7
1169
+ },
1170
+ "A1": {
1171
+ "shape": "circular",
1172
+ "depth": 42,
1173
+ "diameter": 8.5,
1174
+ "totalLiquidVolume": 2000,
1175
+ "x": 20.75,
1176
+ "y": 68.63,
1177
+ "z": 6.7
1178
+ },
1179
+ "D2": {
1180
+ "shape": "circular",
1181
+ "depth": 42,
1182
+ "diameter": 8.5,
1183
+ "totalLiquidVolume": 2000,
1184
+ "x": 38,
1185
+ "y": 16.88,
1186
+ "z": 6.7
1187
+ },
1188
+ "C2": {
1189
+ "shape": "circular",
1190
+ "depth": 42,
1191
+ "diameter": 8.5,
1192
+ "totalLiquidVolume": 2000,
1193
+ "x": 38,
1194
+ "y": 34.13,
1195
+ "z": 6.7
1196
+ },
1197
+ "B2": {
1198
+ "shape": "circular",
1199
+ "depth": 42,
1200
+ "diameter": 8.5,
1201
+ "totalLiquidVolume": 2000,
1202
+ "x": 38,
1203
+ "y": 51.38,
1204
+ "z": 6.7
1205
+ },
1206
+ "A2": {
1207
+ "shape": "circular",
1208
+ "depth": 42,
1209
+ "diameter": 8.5,
1210
+ "totalLiquidVolume": 2000,
1211
+ "x": 38,
1212
+ "y": 68.63,
1213
+ "z": 6.7
1214
+ },
1215
+ "D3": {
1216
+ "shape": "circular",
1217
+ "depth": 42,
1218
+ "diameter": 8.5,
1219
+ "totalLiquidVolume": 2000,
1220
+ "x": 55.25,
1221
+ "y": 16.88,
1222
+ "z": 6.7
1223
+ },
1224
+ "C3": {
1225
+ "shape": "circular",
1226
+ "depth": 42,
1227
+ "diameter": 8.5,
1228
+ "totalLiquidVolume": 2000,
1229
+ "x": 55.25,
1230
+ "y": 34.13,
1231
+ "z": 6.7
1232
+ },
1233
+ "B3": {
1234
+ "shape": "circular",
1235
+ "depth": 42,
1236
+ "diameter": 8.5,
1237
+ "totalLiquidVolume": 2000,
1238
+ "x": 55.25,
1239
+ "y": 51.38,
1240
+ "z": 6.7
1241
+ },
1242
+ "A3": {
1243
+ "shape": "circular",
1244
+ "depth": 42,
1245
+ "diameter": 8.5,
1246
+ "totalLiquidVolume": 2000,
1247
+ "x": 55.25,
1248
+ "y": 68.63,
1249
+ "z": 6.7
1250
+ },
1251
+ "D4": {
1252
+ "shape": "circular",
1253
+ "depth": 42,
1254
+ "diameter": 8.5,
1255
+ "totalLiquidVolume": 2000,
1256
+ "x": 72.5,
1257
+ "y": 16.88,
1258
+ "z": 6.7
1259
+ },
1260
+ "C4": {
1261
+ "shape": "circular",
1262
+ "depth": 42,
1263
+ "diameter": 8.5,
1264
+ "totalLiquidVolume": 2000,
1265
+ "x": 72.5,
1266
+ "y": 34.13,
1267
+ "z": 6.7
1268
+ },
1269
+ "B4": {
1270
+ "shape": "circular",
1271
+ "depth": 42,
1272
+ "diameter": 8.5,
1273
+ "totalLiquidVolume": 2000,
1274
+ "x": 72.5,
1275
+ "y": 51.38,
1276
+ "z": 6.7
1277
+ },
1278
+ "A4": {
1279
+ "shape": "circular",
1280
+ "depth": 42,
1281
+ "diameter": 8.5,
1282
+ "totalLiquidVolume": 2000,
1283
+ "x": 72.5,
1284
+ "y": 68.63,
1285
+ "z": 6.7
1286
+ },
1287
+ "D5": {
1288
+ "shape": "circular",
1289
+ "depth": 42,
1290
+ "diameter": 8.5,
1291
+ "totalLiquidVolume": 2000,
1292
+ "x": 89.75,
1293
+ "y": 16.88,
1294
+ "z": 6.7
1295
+ },
1296
+ "C5": {
1297
+ "shape": "circular",
1298
+ "depth": 42,
1299
+ "diameter": 8.5,
1300
+ "totalLiquidVolume": 2000,
1301
+ "x": 89.75,
1302
+ "y": 34.13,
1303
+ "z": 6.7
1304
+ },
1305
+ "B5": {
1306
+ "shape": "circular",
1307
+ "depth": 42,
1308
+ "diameter": 8.5,
1309
+ "totalLiquidVolume": 2000,
1310
+ "x": 89.75,
1311
+ "y": 51.38,
1312
+ "z": 6.7
1313
+ },
1314
+ "A5": {
1315
+ "shape": "circular",
1316
+ "depth": 42,
1317
+ "diameter": 8.5,
1318
+ "totalLiquidVolume": 2000,
1319
+ "x": 89.75,
1320
+ "y": 68.63,
1321
+ "z": 6.7
1322
+ },
1323
+ "D6": {
1324
+ "shape": "circular",
1325
+ "depth": 42,
1326
+ "diameter": 8.5,
1327
+ "totalLiquidVolume": 2000,
1328
+ "x": 107,
1329
+ "y": 16.88,
1330
+ "z": 6.7
1331
+ },
1332
+ "C6": {
1333
+ "shape": "circular",
1334
+ "depth": 42,
1335
+ "diameter": 8.5,
1336
+ "totalLiquidVolume": 2000,
1337
+ "x": 107,
1338
+ "y": 34.13,
1339
+ "z": 6.7
1340
+ },
1341
+ "B6": {
1342
+ "shape": "circular",
1343
+ "depth": 42,
1344
+ "diameter": 8.5,
1345
+ "totalLiquidVolume": 2000,
1346
+ "x": 107,
1347
+ "y": 51.38,
1348
+ "z": 6.7
1349
+ },
1350
+ "A6": {
1351
+ "shape": "circular",
1352
+ "depth": 42,
1353
+ "diameter": 8.5,
1354
+ "totalLiquidVolume": 2000,
1355
+ "x": 107,
1356
+ "y": 68.63,
1357
+ "z": 6.7
1358
+ }
1359
+ },
1360
+ "brand": {
1361
+ "brand": "Opentrons",
1362
+ "brandId": [],
1363
+ "links": [
1364
+ "https://shop.opentrons.com/collections/hardware-modules/products/aluminum-block-set"
1365
+ ]
1366
+ },
1367
+ "groups": [
1368
+ {
1369
+ "wells": [
1370
+ "A1",
1371
+ "B1",
1372
+ "C1",
1373
+ "D1",
1374
+ "A2",
1375
+ "B2",
1376
+ "C2",
1377
+ "D2",
1378
+ "A3",
1379
+ "B3",
1380
+ "C3",
1381
+ "D3",
1382
+ "A4",
1383
+ "B4",
1384
+ "C4",
1385
+ "D4",
1386
+ "A5",
1387
+ "B5",
1388
+ "C5",
1389
+ "D5",
1390
+ "A6",
1391
+ "B6",
1392
+ "C6",
1393
+ "D6"
1394
+ ],
1395
+ "metadata": {
1396
+ "displayName": "Generic 2 mL Screwcap",
1397
+ "displayCategory": "tubeRack",
1398
+ "wellBottomShape": "v"
1399
+ },
1400
+ "brand": {
1401
+ "brand": "generic",
1402
+ "brandId": [],
1403
+ "links": []
1404
+ }
1405
+ }
1406
+ ],
1407
+ "cornerOffsetFromSlot": {
1408
+ "x": 0,
1409
+ "y": 0,
1410
+ "z": 0
1411
+ }
1412
+ }
1413
+ },
1414
+ "modules": {
1415
+ "temperatureModuleId": {
1416
+ "slot": "3",
1417
+ "model": "temperatureModuleV1"
1418
+ }
1419
+ },
1420
+ "commands": [
1421
+ {
1422
+ "command": "temperatureModule/setTargetTemperature",
1423
+ "params": {
1424
+ "module": "temperatureModuleId",
1425
+ "temperature": 60
1426
+ }
1427
+ },
1428
+ {
1429
+ "command": "temperatureModule/awaitTemperature",
1430
+ "params": {
1431
+ "module": "temperatureModuleId",
1432
+ "temperature": 50
1433
+ }
1434
+ },
1435
+ {
1436
+ "command": "pickUpTip",
1437
+ "params": {
1438
+ "pipette": "pipetteId",
1439
+ "labware": "tiprackId",
1440
+ "well": "B1"
1441
+ }
1442
+ },
1443
+ {
1444
+ "command": "aspirate",
1445
+ "params": {
1446
+ "pipette": "pipetteId",
1447
+ "labware": "sourcePlateId",
1448
+ "well": "A1",
1449
+ "volume": 5,
1450
+ "flowRate": 3,
1451
+ "offsetFromBottomMm": 2
1452
+ }
1453
+ },
1454
+ {
1455
+ "command": "dispense",
1456
+ "params": {
1457
+ "pipette": "pipetteId",
1458
+ "labware": "sourcePlateId",
1459
+ "well": "B1",
1460
+ "volume": 4.5,
1461
+ "flowRate": 2.5,
1462
+ "offsetFromBottomMm": 1
1463
+ }
1464
+ },
1465
+ {
1466
+ "command": "dropTip",
1467
+ "params": {
1468
+ "pipette": "pipetteId",
1469
+ "labware": "trashId",
1470
+ "well": "A1"
1471
+ }
1472
+ },
1473
+ {
1474
+ "command": "temperatureModule/deactivate",
1475
+ "params": {
1476
+ "module": "temperatureModuleId"
1477
+ }
1478
+ }
1479
+ ]
1480
+ }