[{"data":1,"prerenderedAt":3380},["ShallowReactive",2],{"navigation":3,"\u002Foperate\u002Fguides\u002Flabware\u002Fplates":750,"\u002Foperate\u002Fguides\u002Flabware\u002Fplates-surround":3375},[4,80,134,364,428,530,567,646],{"title":5,"path":6,"stem":7,"children":8,"page":42},"Get Started","\u002Fget-started","01.get-started",[9,13,17,43,47],{"title":10,"path":11,"stem":12},"Welcome to UniteLabs","\u002Fget-started\u002Fwelcome","01.get-started\u002F00.welcome",{"title":14,"path":15,"stem":16},"How it works","\u002Fget-started\u002Fhow-it-works","01.get-started\u002F01.how-it-works",{"title":18,"path":19,"stem":20,"children":21,"page":42},"Use Cases","\u002Fget-started\u002Fuse-cases","01.get-started\u002F02.use-cases",[22,26,30,34,38],{"title":23,"path":24,"stem":25},"Instrument Control","\u002Fget-started\u002Fuse-cases\u002Flow-level-instrument-control","01.get-started\u002F02.use-cases\u002F10.low-level-instrument-control",{"title":27,"path":28,"stem":29},"Multi-device Control","\u002Fget-started\u002Fuse-cases\u002Fmulti-device-control","01.get-started\u002F02.use-cases\u002F20.multi-device-control",{"title":31,"path":32,"stem":33},"Workflow Orchestration","\u002Fget-started\u002Fuse-cases\u002Fworkflow-orchestration","01.get-started\u002F02.use-cases\u002F30.workflow-orchestration",{"title":35,"path":36,"stem":37},"Custom Apps and LIMS Integration","\u002Fget-started\u002Fuse-cases\u002Fcustom-apps-lims","01.get-started\u002F02.use-cases\u002F40.custom-apps-lims",{"title":39,"path":40,"stem":41},"Scale and Fleet Management","\u002Fget-started\u002Fuse-cases\u002Fscale-and-fleet","01.get-started\u002F02.use-cases\u002F50.scale-and-fleet",false,{"title":44,"path":45,"stem":46},"Lab as Code","\u002Fget-started\u002Fwhy-code","01.get-started\u002F03.why-code",{"title":48,"path":49,"stem":50,"children":51,"page":42},"Setup","\u002Fget-started\u002Fsetup","01.get-started\u002F20.setup",[52,56,60,64,68,72,76],{"title":53,"path":54,"stem":55},"GroundControl","\u002Fget-started\u002Fsetup\u002Fgroundcontrol","01.get-started\u002F20.setup\u002F10.groundcontrol",{"title":57,"path":58,"stem":59},"Network requirements","\u002Fget-started\u002Fsetup\u002Fnetwork-requirements","01.get-started\u002F20.setup\u002F20.network-requirements",{"title":61,"path":62,"stem":63},"Multi-device Networking","\u002Fget-started\u002Fsetup\u002Fmultiple-devices","01.get-started\u002F20.setup\u002F30.multiple-devices",{"title":65,"path":66,"stem":67},"Connect to Platform","\u002Fget-started\u002Fsetup\u002Fconnect-to-platform","01.get-started\u002F20.setup\u002F40.connect-to-platform",{"title":69,"path":70,"stem":71},"Headless install","\u002Fget-started\u002Fsetup\u002Fheadless-install","01.get-started\u002F20.setup\u002F50.headless-install",{"title":73,"path":74,"stem":75},"Raspberry Pi","\u002Fget-started\u002Fsetup\u002Fraspberry-pi","01.get-started\u002F20.setup\u002F55.raspberry-pi",{"title":77,"path":78,"stem":79},"Installation","\u002Fget-started\u002Fsetup\u002Fsdk-installation","01.get-started\u002F20.setup\u002F60.sdk-installation",{"title":81,"path":82,"stem":83,"children":84,"page":42},"Integrate","\u002Fintegrate","02.integrate",[85,89,93,118],{"title":86,"path":87,"stem":88},"What is a connector?","\u002Fintegrate\u002Fwhat-is-a-connector","02.integrate\u002F00.what-is-a-connector",{"title":90,"path":91,"stem":92},"Calling a Connector","\u002Fintegrate\u002Fcontrol-with-code","02.integrate\u002F05.control-with-code",{"title":94,"path":95,"stem":96,"children":97,"page":42},"Concepts","\u002Fintegrate\u002Fconcepts","02.integrate\u002F10.concepts",[98,102,106,110,114],{"title":99,"path":100,"stem":101},"Connector","\u002Fintegrate\u002Fconcepts\u002Fconnector","02.integrate\u002F10.concepts\u002F10.connector",{"title":103,"path":104,"stem":105},"Module","\u002Fintegrate\u002Fconcepts\u002Fmodule","02.integrate\u002F10.concepts\u002F20.module",{"title":107,"path":108,"stem":109},"Action","\u002Fintegrate\u002Fconcepts\u002Faction","02.integrate\u002F10.concepts\u002F30.action",{"title":111,"path":112,"stem":113},"Subscription","\u002Fintegrate\u002Fconcepts\u002Fsubscription","02.integrate\u002F10.concepts\u002F40.subscription",{"title":115,"path":116,"stem":117},"Device","\u002Fintegrate\u002Fconcepts\u002Fdevice","02.integrate\u002F10.concepts\u002F50.device",{"title":119,"path":120,"stem":121,"children":122,"page":42},"Use a connector","\u002Fintegrate\u002Fuse-a-connector","02.integrate\u002F30.use-a-connector",[123,126,130],{"title":53,"path":124,"stem":125},"\u002Fintegrate\u002Fuse-a-connector\u002Fgroundcontrol","02.integrate\u002F30.use-a-connector\u002F10.groundcontrol",{"title":127,"path":128,"stem":129},"Platform","\u002Fintegrate\u002Fuse-a-connector\u002Fplatform","02.integrate\u002F30.use-a-connector\u002F20.platform",{"title":131,"path":132,"stem":133},"UniteLabs SDK & REST API","\u002Fintegrate\u002Fuse-a-connector\u002Fpython","02.integrate\u002F30.use-a-connector\u002F30.python",{"title":135,"path":136,"stem":137,"children":138,"page":42},"Operate","\u002Foperate","03.operate",[139,142,146,186,259],{"title":135,"path":140,"stem":141},"\u002Foperate\u002Foverview","03.operate\u002F00.overview",{"title":143,"path":144,"stem":145},"Your First Protocol","\u002Foperate\u002Fyour-first-protocol","03.operate\u002F05.your-first-protocol",{"title":94,"path":147,"stem":148,"children":149,"page":42},"\u002Foperate\u002Fconcepts","03.operate\u002F10.concepts",[150,154,158,162,166,170,174,178,182],{"title":151,"path":152,"stem":153},"Liquid Handling","\u002Foperate\u002Fconcepts\u002Fliquid-handling","03.operate\u002F10.concepts\u002F10.liquid-handling",{"title":155,"path":156,"stem":157},"Modules","\u002Foperate\u002Fconcepts\u002Fmodules","03.operate\u002F10.concepts\u002F20.modules",{"title":159,"path":160,"stem":161},"Deck","\u002Foperate\u002Fconcepts\u002Fdeck","03.operate\u002F10.concepts\u002F30.deck",{"title":163,"path":164,"stem":165},"Labware","\u002Foperate\u002Fconcepts\u002Flabware","03.operate\u002F10.concepts\u002F40.labware",{"title":167,"path":168,"stem":169},"Liquids","\u002Foperate\u002Fconcepts\u002Fliquids","03.operate\u002F10.concepts\u002F50.liquids",{"title":171,"path":172,"stem":173},"Liquid Classes","\u002Foperate\u002Fconcepts\u002Fliquid-classes","03.operate\u002F10.concepts\u002F60.liquid-classes",{"title":175,"path":176,"stem":177},"Tips and Tip Tracking","\u002Foperate\u002Fconcepts\u002Ftips","03.operate\u002F10.concepts\u002F70.tips",{"title":179,"path":180,"stem":181},"Simulation","\u002Foperate\u002Fconcepts\u002Fsimulation","03.operate\u002F10.concepts\u002F80.simulation",{"title":183,"path":184,"stem":185},"Error Handling","\u002Foperate\u002Fconcepts\u002Ferror-handling","03.operate\u002F10.concepts\u002F90.error-handling",{"title":187,"path":188,"stem":189,"children":190,"page":42},"Guides","\u002Foperate\u002Fguides","03.operate\u002F20.guides",[191,220,232,256],{"title":163,"path":192,"stem":193,"children":194},"\u002Foperate\u002Fguides\u002Flabware","03.operate\u002F20.guides\u002F10.labware\u002Findex",[195,196,200,204,208,212,216],{"title":163,"path":192,"stem":193},{"title":197,"path":198,"stem":199},"Standard Labware","\u002Foperate\u002Fguides\u002Flabware\u002Fstandard-labware","03.operate\u002F20.guides\u002F10.labware\u002F05.standard-labware",{"title":201,"path":202,"stem":203},"Plates","\u002Foperate\u002Fguides\u002Flabware\u002Fplates","03.operate\u002F20.guides\u002F10.labware\u002F10.plates",{"title":205,"path":206,"stem":207},"Tips and Tip Racks","\u002Foperate\u002Fguides\u002Flabware\u002Ftips-and-racks","03.operate\u002F20.guides\u002F10.labware\u002F20.tips-and-racks",{"title":209,"path":210,"stem":211},"Tubes and Tube Racks","\u002Foperate\u002Fguides\u002Flabware\u002Ftubes-and-tube-racks","03.operate\u002F20.guides\u002F10.labware\u002F30.tubes-and-tube-racks",{"title":213,"path":214,"stem":215},"Troughs","\u002Foperate\u002Fguides\u002Flabware\u002Ftroughs","03.operate\u002F20.guides\u002F10.labware\u002F35.troughs",{"title":217,"path":218,"stem":219},"Carriers and Adapters","\u002Foperate\u002Fguides\u002Flabware\u002Fcarriers-and-adapters","03.operate\u002F20.guides\u002F10.labware\u002F40.carriers-and-adapters",{"title":159,"path":221,"stem":222,"children":223,"page":42},"\u002Foperate\u002Fguides\u002Fdeck","03.operate\u002F20.guides\u002F20.deck",[224,228],{"title":225,"path":226,"stem":227},"Building a Deck","\u002Foperate\u002Fguides\u002Fdeck\u002Fbuilding-a-deck","03.operate\u002F20.guides\u002F20.deck\u002F10.building-a-deck",{"title":229,"path":230,"stem":231},"Save\u002FLoad a Deck","\u002Foperate\u002Fguides\u002Fdeck\u002Fsave-load-deck","03.operate\u002F20.guides\u002F20.deck\u002F20.save-load-deck",{"title":233,"path":234,"stem":235,"children":236,"page":42},"Pipetting","\u002Foperate\u002Fguides\u002Fpipetting","03.operate\u002F20.guides\u002F30.pipetting",[237,241,245,249,252],{"title":238,"path":239,"stem":240},"Basic Pipetting","\u002Foperate\u002Fguides\u002Fpipetting\u002Fbasic-pipetting","03.operate\u002F20.guides\u002F30.pipetting\u002F10.basic-pipetting",{"title":242,"path":243,"stem":244},"Advanced Pipetting","\u002Foperate\u002Fguides\u002Fpipetting\u002Fadvanced-pipetting","03.operate\u002F20.guides\u002F30.pipetting\u002F20.advanced-pipetting",{"title":246,"path":247,"stem":248},"Tip Handling","\u002Foperate\u002Fguides\u002Fpipetting\u002Ftip-handling","03.operate\u002F20.guides\u002F30.pipetting\u002F30.tip-handling",{"title":171,"path":250,"stem":251},"\u002Foperate\u002Fguides\u002Fpipetting\u002Fliquid-classes","03.operate\u002F20.guides\u002F30.pipetting\u002F40.liquid-classes",{"title":253,"path":254,"stem":255},"Labware Transport","\u002Foperate\u002Fguides\u002Fpipetting\u002Flabware-transport","03.operate\u002F20.guides\u002F30.pipetting\u002F50.labware-transport",{"title":179,"path":257,"stem":258},"\u002Foperate\u002Fguides\u002Fsimulation","03.operate\u002F20.guides\u002F40.simulation",{"title":260,"path":261,"stem":262,"children":263,"page":42},"Liquid Handler Guides","\u002Foperate\u002Fdevices","03.operate\u002F30.devices",[264,305,330,347],{"title":265,"path":266,"stem":267,"children":268,"page":42},"Hamilton STAR","\u002Foperate\u002Fdevices\u002Fhamilton-star","03.operate\u002F30.devices\u002F10.hamilton-star",[269,273,277,281,285,289,293,297,301],{"title":270,"path":271,"stem":272},"Positioning & Movement","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fpositioning","03.operate\u002F30.devices\u002F10.hamilton-star\u002F10.positioning",{"title":274,"path":275,"stem":276},"Gripper Module","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fcore-gripper","03.operate\u002F30.devices\u002F10.hamilton-star\u002F20.core-gripper",{"title":278,"path":279,"stem":280},"iSWAP Module","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fiswap","03.operate\u002F30.devices\u002F10.hamilton-star\u002F30.iswap",{"title":282,"path":283,"stem":284},"Using TADM","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Ftadm","03.operate\u002F30.devices\u002F10.hamilton-star\u002F40.tadm",{"title":286,"path":287,"stem":288},"Autoload Module","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fautoload","03.operate\u002F30.devices\u002F10.hamilton-star\u002F50.autoload",{"title":290,"path":291,"stem":292},"Waste Block","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fwaste-block","03.operate\u002F30.devices\u002F10.hamilton-star\u002F60.waste-block",{"title":294,"path":295,"stem":296},"Complex Mixing","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fcomplex-mixing","03.operate\u002F30.devices\u002F10.hamilton-star\u002F66.complex-mixing",{"title":298,"path":299,"stem":300},"Teaching Gripper Paddle Positions","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fgripper-positions","03.operate\u002F30.devices\u002F10.hamilton-star\u002F70.gripper-positions",{"title":302,"path":303,"stem":304},"Training a Custom Deck Position With the iSWAP","\u002Foperate\u002Fdevices\u002Fhamilton-star\u002Fcustom-deck-position","03.operate\u002F30.devices\u002F10.hamilton-star\u002F75.custom-deck-position",{"title":306,"path":307,"stem":308,"children":309,"page":42},"Hamilton Vantage","\u002Foperate\u002Fdevices\u002Fhamilton-vantage","03.operate\u002F30.devices\u002F20.hamilton-vantage",[310,314,318,322,326],{"title":311,"path":312,"stem":313},"Waste Configuration","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fwaste-configuration","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F05.waste-configuration",{"title":315,"path":316,"stem":317},"Covers and Lights","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fcovers-and-lights","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F10.covers-and-lights",{"title":319,"path":320,"stem":321},"IDL Module","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fidl","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F20.idl",{"title":323,"path":324,"stem":325},"IPG Module","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fipg","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F30.ipg",{"title":327,"path":328,"stem":329},"XL Pipettes","\u002Foperate\u002Fdevices\u002Fhamilton-vantage\u002Fxl-channels","03.operate\u002F30.devices\u002F20.hamilton-vantage\u002F40.xl-channels",{"title":331,"path":332,"stem":333,"children":334,"page":42},"Agilent Bravo","\u002Foperate\u002Fdevices\u002Fagilent-bravo","03.operate\u002F30.devices\u002F30.agilent-bravo",[335,338,341,344],{"title":246,"path":336,"stem":337},"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Ftip-handling","03.operate\u002F30.devices\u002F30.agilent-bravo\u002F10.tip-handling",{"title":238,"path":339,"stem":340},"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Fbasic-pipetting","03.operate\u002F30.devices\u002F30.agilent-bravo\u002F20.basic-pipetting",{"title":171,"path":342,"stem":343},"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Fliquid-classes","03.operate\u002F30.devices\u002F30.agilent-bravo\u002F25.liquid-classes",{"title":274,"path":345,"stem":346},"\u002Foperate\u002Fdevices\u002Fagilent-bravo\u002Fusing-the-gripper","03.operate\u002F30.devices\u002F30.agilent-bravo\u002F30.using-the-gripper",{"title":348,"path":349,"stem":350,"children":351,"page":42},"Tecan FluentControl","\u002Foperate\u002Fdevices\u002Ftecan-fluentcontrol","03.operate\u002F30.devices\u002F40.tecan-fluentcontrol",[352,356,360],{"title":353,"path":354,"stem":355},"Connect & Run a Method","\u002Foperate\u002Fdevices\u002Ftecan-fluentcontrol\u002Fconnect-and-run","03.operate\u002F30.devices\u002F40.tecan-fluentcontrol\u002F10.connect-and-run",{"title":357,"path":358,"stem":359},"Sending XML Commands","\u002Foperate\u002Fdevices\u002Ftecan-fluentcontrol\u002Fsending-xml-commands","03.operate\u002F30.devices\u002F40.tecan-fluentcontrol\u002F20.sending-xml-commands",{"title":361,"path":362,"stem":363},"Full Workflow Example","\u002Foperate\u002Fdevices\u002Ftecan-fluentcontrol\u002Ffull-workflow-example","03.operate\u002F30.devices\u002F40.tecan-fluentcontrol\u002F30.full-workflow-example",{"title":365,"path":366,"stem":367,"children":368,"page":42},"Device Guides","\u002Fdevice-guides","06.device-guides",[369,372,385,402,415],{"title":365,"path":370,"stem":371},"\u002Fdevice-guides\u002Foverview","06.device-guides\u002F00.overview",{"title":373,"path":374,"stem":375,"children":376,"page":42},"Incubation","\u002Fdevice-guides\u002Fincubation","06.device-guides\u002F20.incubation",[377,381],{"title":378,"path":379,"stem":380},"Inheco ODTC","\u002Fdevice-guides\u002Fincubation\u002Finheco-odtc","06.device-guides\u002F20.incubation\u002F10.inheco-odtc",{"title":382,"path":383,"stem":384},"Inheco SCILA","\u002Fdevice-guides\u002Fincubation\u002Finheco-scila","06.device-guides\u002F20.incubation\u002F20.inheco-scila",{"title":386,"path":387,"stem":388,"children":389,"page":42},"Heater-Shakers","\u002Fdevice-guides\u002Fheater-shakers","06.device-guides\u002F30.heater-shakers",[390,394,398],{"title":391,"path":392,"stem":393},"Inheco Thermoshake","\u002Fdevice-guides\u002Fheater-shakers\u002Finheco-thermoshake","06.device-guides\u002F30.heater-shakers\u002F10.inheco-thermoshake",{"title":395,"path":396,"stem":397},"QInstruments Bioshake","\u002Fdevice-guides\u002Fheater-shakers\u002Fqinstruments-bioshake","06.device-guides\u002F30.heater-shakers\u002F20.qinstruments-bioshake",{"title":399,"path":400,"stem":401},"QInstruments ColdPlate","\u002Fdevice-guides\u002Fheater-shakers\u002Fqinstruments-coldplate","06.device-guides\u002F30.heater-shakers\u002F30.qinstruments-coldplate",{"title":403,"path":404,"stem":405,"children":406,"page":42},"Readers","\u002Fdevice-guides\u002Freaders","06.device-guides\u002F40.readers",[407,411],{"title":408,"path":409,"stem":410},"Biotek Gen5","\u002Fdevice-guides\u002Freaders\u002Fbiotek-gen5","06.device-guides\u002F40.readers\u002F10.biotek-gen5",{"title":412,"path":413,"stem":414},"Biotek Synergy H1","\u002Fdevice-guides\u002Freaders\u002Fbiotek-synergy-h1","06.device-guides\u002F40.readers\u002F20.biotek-synergy-H1",{"title":416,"path":417,"stem":418,"children":419,"page":42},"Tilt & Turn","\u002Fdevice-guides\u002Ftilt-and-turn","06.device-guides\u002F50.tilt-and-turn",[420,424],{"title":421,"path":422,"stem":423},"TurnStation","\u002Fdevice-guides\u002Ftilt-and-turn\u002Fqinstruments-turnstation","06.device-guides\u002F50.tilt-and-turn\u002F10.qinstruments-turnstation",{"title":425,"path":426,"stem":427},"TiltStation","\u002Fdevice-guides\u002Ftilt-and-turn\u002Fqinstruments-tiltstation","06.device-guides\u002F50.tilt-and-turn\u002F20.qinstruments-tiltstation",{"title":429,"path":430,"stem":431,"children":432,"page":42},"Automate","\u002Fautomate","07.automate",[433,437,441,445,494],{"title":434,"path":435,"stem":436},"What is a workflow?","\u002Fautomate\u002Fwhat-is-a-workflow","07.automate\u002F00.what-is-a-workflow",{"title":438,"path":439,"stem":440},"Workflow template","\u002Fautomate\u002Fworkflow-template","07.automate\u002F05.workflow-template",{"title":442,"path":443,"stem":444},"Your First Workflow","\u002Fautomate\u002Fyour-first-workflow","07.automate\u002F08.your-first-workflow",{"title":94,"pages":446,"path":456,"stem":457,"children":458,"page":42},[447,448,449,450,451,452,453,454,455],"workflow","phase","step","runs","input","artifacts","logs","human-in-the-loop","error-handling","\u002Fautomate\u002Fconcepts","07.automate\u002F10.concepts",[459,463,467,471,475,479,483,487,491],{"title":460,"path":461,"stem":462},"Workflow","\u002Fautomate\u002Fconcepts\u002Fworkflow","07.automate\u002F10.concepts\u002F10.workflow",{"title":464,"path":465,"stem":466},"Phase","\u002Fautomate\u002Fconcepts\u002Fphase","07.automate\u002F10.concepts\u002F20.phase",{"title":468,"path":469,"stem":470},"Step","\u002Fautomate\u002Fconcepts\u002Fstep","07.automate\u002F10.concepts\u002F30.step",{"title":472,"path":473,"stem":474},"Runs","\u002Fautomate\u002Fconcepts\u002Fruns","07.automate\u002F10.concepts\u002F40.runs",{"title":476,"path":477,"stem":478},"Input","\u002Fautomate\u002Fconcepts\u002Finput","07.automate\u002F10.concepts\u002F50.input",{"title":480,"path":481,"stem":482},"Artifacts","\u002Fautomate\u002Fconcepts\u002Fartifacts","07.automate\u002F10.concepts\u002F60.artifacts",{"title":484,"path":485,"stem":486},"Logs","\u002Fautomate\u002Fconcepts\u002Flogs","07.automate\u002F10.concepts\u002F70.logs",{"title":488,"path":489,"stem":490},"Human in the Loop","\u002Fautomate\u002Fconcepts\u002Fhuman-in-the-loop","07.automate\u002F10.concepts\u002F80.human-in-the-loop",{"title":183,"path":492,"stem":493},"\u002Fautomate\u002Fconcepts\u002Ferror-handling","07.automate\u002F10.concepts\u002F90.error-handling",{"title":187,"path":495,"stem":496,"children":497,"page":42},"\u002Fautomate\u002Fguides","07.automate\u002F25.guides",[498,502,506,510,514,518,522,526],{"title":499,"path":500,"stem":501},"Deploy a workflow","\u002Fautomate\u002Fguides\u002Fdeploy-a-workflow","07.automate\u002F25.guides\u002F30.deploy-a-workflow",{"title":503,"path":504,"stem":505},"Run a workflow","\u002Fautomate\u002Fguides\u002Frun-a-workflow","07.automate\u002F25.guides\u002F35.run-a-workflow",{"title":507,"path":508,"stem":509},"CI\u002FCD for workflows","\u002Fautomate\u002Fguides\u002Fcicd-for-workflows","07.automate\u002F25.guides\u002F40.cicd-for-workflows",{"title":511,"path":512,"stem":513},"HITL basics","\u002Fautomate\u002Fguides\u002Fbasic-hitl","07.automate\u002F25.guides\u002F50.basic-hitl",{"title":515,"path":516,"stem":517},"Typed operator inputs","\u002Fautomate\u002Fguides\u002Ftyped-operator-inputs","07.automate\u002F25.guides\u002F55.typed-operator-inputs",{"title":519,"path":520,"stem":521},"Error recovery","\u002Fautomate\u002Fguides\u002Fbasic-error-handling","07.automate\u002F25.guides\u002F60.basic-error-handling",{"title":523,"path":524,"stem":525},"Advanced error handling","\u002Fautomate\u002Fguides\u002Fadvanced-error-handling","07.automate\u002F25.guides\u002F70.advanced-error-handling",{"title":527,"path":528,"stem":529},"Workflows REST API","\u002Fautomate\u002Fguides\u002Fworkflows-api","07.automate\u002F25.guides\u002F80.workflows-api",{"title":531,"path":532,"stem":533,"children":534,"page":42},"Observe","\u002Fobserve","08.observe",[535,539,555],{"title":536,"path":537,"stem":538},"Overview","\u002Fobserve\u002Foverview","08.observe\u002F10.overview",{"title":94,"path":540,"stem":541,"children":542,"page":42},"\u002Fobserve\u002Fconcepts","08.observe\u002F20.concepts",[543,547,551],{"title":544,"path":545,"stem":546},"Object Storage","\u002Fobserve\u002Fconcepts\u002Fstorage","08.observe\u002F20.concepts\u002F10.storage",{"title":548,"path":549,"stem":550},"Secrets","\u002Fobserve\u002Fconcepts\u002Fsecrets","08.observe\u002F20.concepts\u002F20.secrets",{"title":552,"path":553,"stem":554},"Data sources","\u002Fobserve\u002Fconcepts\u002Fdata-sources","08.observe\u002F20.concepts\u002F30.data-sources",{"title":187,"path":556,"stem":557,"children":558,"page":42},"\u002Fobserve\u002Fguides","08.observe\u002F30.guides",[559,563],{"title":560,"path":561,"stem":562},"File System Connector","\u002Fobserve\u002Fguides\u002Ffilesystem-connector","08.observe\u002F30.guides\u002F10.filesystem-connector",{"title":564,"path":565,"stem":566},"Building an ETL","\u002Fobserve\u002Fguides\u002Fbuilding-an-etl","08.observe\u002F30.guides\u002F20.building-an-etl",{"title":568,"path":569,"stem":570,"children":571,"page":42},"Technical Reference","\u002Ftechnical-reference","10.technical-reference",[572,576,580,592,603,614,624,635],{"title":573,"path":574,"stem":575},"Introduction","\u002Ftechnical-reference\u002Fplatform-blueprint","10.technical-reference\u002F00.platform-blueprint",{"title":577,"path":578,"stem":579},"REST API","\u002Ftechnical-reference\u002Frest-api","10.technical-reference\u002F01.rest-api",{"title":53,"path":581,"stem":582,"children":583,"page":42},"\u002Ftechnical-reference\u002Fgroundcontrol","10.technical-reference\u002F10.groundcontrol",[584,588],{"title":585,"path":586,"stem":587},"Install & Setup","\u002Ftechnical-reference\u002Fgroundcontrol\u002Finstall","10.technical-reference\u002F10.groundcontrol\u002F10.install",{"title":589,"path":590,"stem":591},"Changelog","\u002Ftechnical-reference\u002Fgroundcontrol\u002Fchangelog","10.technical-reference\u002F10.groundcontrol\u002F20.changelog",{"title":593,"path":594,"stem":595,"children":596,"page":42},"UniteLabs SDK","\u002Ftechnical-reference\u002Fpython-sdk","10.technical-reference\u002F20.python-sdk",[597,600],{"title":585,"path":598,"stem":599},"\u002Ftechnical-reference\u002Fpython-sdk\u002Finstall","10.technical-reference\u002F20.python-sdk\u002F10.install",{"title":589,"path":601,"stem":602},"\u002Ftechnical-reference\u002Fpython-sdk\u002Fchangelog","10.technical-reference\u002F20.python-sdk\u002F20.changelog",{"title":604,"path":605,"stem":606,"children":607,"page":42},"Liquid Handling SDK","\u002Ftechnical-reference\u002Fpython-liquid-handling-sdk","10.technical-reference\u002F30.python-liquid-handling-sdk",[608,611],{"title":585,"path":609,"stem":610},"\u002Ftechnical-reference\u002Fpython-liquid-handling-sdk\u002Finstall","10.technical-reference\u002F30.python-liquid-handling-sdk\u002F10.install",{"title":589,"path":612,"stem":613},"\u002Ftechnical-reference\u002Fpython-liquid-handling-sdk\u002Fchangelog","10.technical-reference\u002F30.python-liquid-handling-sdk\u002F20.changelog",{"title":163,"path":615,"stem":616,"children":617,"page":42},"\u002Ftechnical-reference\u002Flabware","10.technical-reference\u002F40.labware",[618,621],{"title":585,"path":619,"stem":620},"\u002Ftechnical-reference\u002Flabware\u002Finstall","10.technical-reference\u002F40.labware\u002F10.install",{"title":589,"path":622,"stem":623},"\u002Ftechnical-reference\u002Flabware\u002Fchangelog","10.technical-reference\u002F40.labware\u002F20.changelog",{"title":625,"path":626,"stem":627,"children":628,"page":42},"Python Omnibus","\u002Ftechnical-reference\u002Fpython-omnibus","10.technical-reference\u002F50.python-omnibus",[629,632],{"title":585,"path":630,"stem":631},"\u002Ftechnical-reference\u002Fpython-omnibus\u002Finstall","10.technical-reference\u002F50.python-omnibus\u002F10.install",{"title":589,"path":633,"stem":634},"\u002Ftechnical-reference\u002Fpython-omnibus\u002Fchangelog","10.technical-reference\u002F50.python-omnibus\u002F20.changelog",{"title":636,"path":637,"stem":638,"children":639,"page":42},"Python CDK","\u002Ftechnical-reference\u002Fpython-cdk","10.technical-reference\u002F60.python-cdk",[640,643],{"title":585,"path":641,"stem":642},"\u002Ftechnical-reference\u002Fpython-cdk\u002Finstall","10.technical-reference\u002F60.python-cdk\u002F10.install",{"title":589,"path":644,"stem":645},"\u002Ftechnical-reference\u002Fpython-cdk\u002Fchangelog","10.technical-reference\u002F60.python-cdk\u002F20.changelog",{"title":647,"path":648,"stem":649,"children":650},"Connector Development (CDK)","\u002Fconnector-development","20.connector-development",[651,653,672,705,713,744],{"title":647,"path":648,"stem":652},"20.connector-development\u002Findex",{"title":654,"path":655,"stem":656,"children":657,"page":42},"Getting Started","\u002Fconnector-development\u002Fgetting-started","20.connector-development\u002F10.getting-started",[658,661,665,668],{"title":536,"path":659,"stem":660},"\u002Fconnector-development\u002Fgetting-started\u002Foverview","20.connector-development\u002F10.getting-started\u002F10.overview",{"title":662,"path":663,"stem":664},"What's new","\u002Fconnector-development\u002Fgetting-started\u002Fwhats-new","20.connector-development\u002F10.getting-started\u002F20.whats-new",{"title":77,"path":666,"stem":667},"\u002Fconnector-development\u002Fgetting-started\u002Finstallation","20.connector-development\u002F10.getting-started\u002F30.installation",{"title":669,"path":670,"stem":671},"Contributing","\u002Fconnector-development\u002Fgetting-started\u002Fcontributing","20.connector-development\u002F10.getting-started\u002F40.contributing",{"title":673,"path":674,"stem":675,"children":676,"page":42},"Tutorial","\u002Fconnector-development\u002Ftutorial","20.connector-development\u002F20.tutorial",[677,681,685,689,693,697,701],{"title":678,"path":679,"stem":680},"Walkthrough","\u002Fconnector-development\u002Ftutorial\u002Fwalkthrough","20.connector-development\u002F20.tutorial\u002F00.walkthrough",{"title":682,"path":683,"stem":684},"SiLA Endpoints","\u002Fconnector-development\u002Ftutorial\u002Fsila-endpoints","20.connector-development\u002F20.tutorial\u002F10.sila-endpoints",{"title":686,"path":687,"stem":688},"Data Endpoints","\u002Fconnector-development\u002Ftutorial\u002Fdata-endpoints","20.connector-development\u002F20.tutorial\u002F20.data-endpoints",{"title":690,"path":691,"stem":692},"Controls","\u002Fconnector-development\u002Ftutorial\u002Fcontrols","20.connector-development\u002F20.tutorial\u002F30.controls",{"title":694,"path":695,"stem":696},"SiLA Data Types","\u002Fconnector-development\u002Ftutorial\u002Fdata-types","20.connector-development\u002F20.tutorial\u002F40.data-types",{"title":698,"path":699,"stem":700},"Feature","\u002Fconnector-development\u002Ftutorial\u002Fconnector-structure","20.connector-development\u002F20.tutorial\u002F70.connector-structure",{"title":702,"path":703,"stem":704},"Hardware Communication","\u002Fconnector-development\u002Ftutorial\u002Fhardware-communication","20.connector-development\u002F20.tutorial\u002F90.hardware-communication",{"title":94,"path":706,"stem":707,"children":708,"page":42},"\u002Fconnector-development\u002Fconcepts","20.connector-development\u002F30.concepts",[709],{"title":710,"path":711,"stem":712},"SiLA","\u002Fconnector-development\u002Fconcepts\u002Fsila","20.connector-development\u002F30.concepts\u002Fsila",{"title":187,"path":714,"stem":715,"children":716,"page":42},"\u002Fconnector-development\u002Fguides","20.connector-development\u002F40.guides",[717,721,725,729,733,736,740],{"title":718,"path":719,"stem":720},"Configuration","\u002Fconnector-development\u002Fguides\u002Fconfiguration","20.connector-development\u002F40.guides\u002F20.configuration",{"title":722,"path":723,"stem":724},"Deployment","\u002Fconnector-development\u002Fguides\u002Fdeployment","20.connector-development\u002F40.guides\u002F30.deployment",{"title":726,"path":727,"stem":728},"Security","\u002Fconnector-development\u002Fguides\u002Fsecurity","20.connector-development\u002F40.guides\u002F40.security",{"title":730,"path":731,"stem":732},"Subscriptions","\u002Fconnector-development\u002Fguides\u002Fsubscriptions","20.connector-development\u002F40.guides\u002F45.subscriptions",{"title":183,"path":734,"stem":735},"\u002Fconnector-development\u002Fguides\u002Ferror-handling","20.connector-development\u002F40.guides\u002F50.error-handling",{"title":737,"path":738,"stem":739},"Serial Troubleshooting","\u002Fconnector-development\u002Fguides\u002Fserial-troubleshooting","20.connector-development\u002F40.guides\u002F70.serial-troubleshooting",{"title":741,"path":742,"stem":743},"Testing","\u002Fconnector-development\u002Fguides\u002Ftesting","20.connector-development\u002F40.guides\u002F80.testing",{"title":745,"path":746,"stem":747,"children":748},"References","\u002Fconnector-development\u002Freference","20.connector-development\u002F50.reference\u002Findex",[749],{"title":745,"path":746,"stem":747},{"id":751,"title":201,"body":752,"description":3369,"extension":3370,"links":3371,"meta":3372,"navigation":855,"path":202,"seo":3373,"stem":203,"__hash__":3374},"docs\u002F03.operate\u002F20.guides\u002F10.labware\u002F10.plates.md",{"type":753,"value":754,"toc":3359},"minimark",[755,767,785,788,798,810,813,1292,1297,1317,1320,1734,1737,1906,1909,1917,1920,2289,2300,2389,2397,2400,2406,2410,2426,2429,2449,2455,2481,2486,2497,2836,2840,2851,3085,3108,3112,3119,3145,3149,3160,3173,3355],[756,757,758,759,766],"p",{},"To define a new plate, a technical drawing is essential. A standard plate class is defined based on the ",[760,761,765],"a",{"href":762,"rel":763},"https:\u002F\u002Fwww.slas.org\u002Feducation\u002Fansi-slas-microplate-standards\u002F",[764],"nofollow","ANSI\u002FSLAS Microplate Standards",". A typical technical drawing from a vendor has the following information:",[756,768,769,778],{},[770,771],"img",{"alt":772,"className":773,"src":777},"Technical drawing of a microtiter plate",[774,775,776],"max-w-md","mx-auto","mb-2","\u002Fimages\u002Fautomate\u002Flabware\u002Fplate-technical-drawing.webp",[779,780,784],"span",{"className":781},[782,774,775,783],"block","text-sm","© by Perkin Elmer",[756,786,787],{},"We need the length, width, and height which are the base dimensions (x, y, z) of the plate respectively. Furthermore, we need the offsets in x-, y-, and z-direction starting from well A1. To define the wells, it may be necessary to measure the well width, length, and depth. The plate in this example follows the standard definition of a 96 well plate and has the following dimensions:",[789,790,791,795],"ul",{},[792,793,794],"li",{},"Cols, rows: 12, 8",[792,796,797],{},"Length, width, height (mm): 127.76 mm, 85.48 mm, 14.35 mm",[756,799,800,801,805,806,809],{},"By using the ",[802,803,804],"code",{},"place_standardized(count=96)"," method, the offsets and spacing are inferred from the standard specification. If the plate deviates from the specification, the ",[802,807,808],{},"place()"," method can be used to define custom offsets, well spacings, or alignments.",[756,811,812],{},"In the code below, we create a 96-well plate with a cylindrical form and a round bottom.",[814,815,820],"pre",{"className":816,"code":817,"language":818,"meta":819,"style":819},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import collections.abc\nimport dataclasses\n\nfrom unitelabs.labware import (\n    Container,\n    Cylinder,\n    Decimal,\n    Plate,\n    StandardMicroplateDimensions,\n    Well,\n    place_standardized,\n)\n\n\n@dataclasses.dataclass\nclass Standard96Plate(Plate, StandardMicroplateDimensions):\n    \"\"\"Standard 96-well plate.\"\"\"\n\n    cols: int = 12\n    rows: int = 8\n    grab_height: Decimal = dataclasses.field(default=Decimal(default=13.2))\n    children: collections.abc.Sequence[Well] = dataclasses.field(\n        repr=False,\n        default_factory=lambda: [\n            Well(\n                container=Container(max_volume=300, sections=[Cylinder(radius=3.48, height=10.67)]),\n                dimensions=dimension,\n            ).copy(location=location)\n            for location, dimension in place_standardized(count=96)\n        ],\n    )\n","python","",[802,821,822,842,850,857,876,885,893,901,909,917,925,933,939,944,949,964,990,1003,1008,1027,1042,1087,1127,1136,1152,1160,1215,1228,1248,1280,1286],{"__ignoreMap":819},[779,823,826,830,834,838],{"class":824,"line":825},"line",1,[779,827,829],{"class":828},"s7zQu","import",[779,831,833],{"class":832},"sTEyZ"," collections",[779,835,837],{"class":836},"sMK4o",".",[779,839,841],{"class":840},"swJcz","abc\n",[779,843,845,847],{"class":824,"line":844},2,[779,846,829],{"class":828},[779,848,849],{"class":832}," dataclasses\n",[779,851,853],{"class":824,"line":852},3,[779,854,856],{"emptyLinePlaceholder":855},true,"\n",[779,858,860,863,866,868,871,873],{"class":824,"line":859},4,[779,861,862],{"class":828},"from",[779,864,865],{"class":832}," unitelabs",[779,867,837],{"class":836},[779,869,870],{"class":832},"labware ",[779,872,829],{"class":828},[779,874,875],{"class":836}," (\n",[779,877,879,882],{"class":824,"line":878},5,[779,880,881],{"class":832},"    Container",[779,883,884],{"class":836},",\n",[779,886,888,891],{"class":824,"line":887},6,[779,889,890],{"class":832},"    Cylinder",[779,892,884],{"class":836},[779,894,896,899],{"class":824,"line":895},7,[779,897,898],{"class":832},"    Decimal",[779,900,884],{"class":836},[779,902,904,907],{"class":824,"line":903},8,[779,905,906],{"class":832},"    Plate",[779,908,884],{"class":836},[779,910,912,915],{"class":824,"line":911},9,[779,913,914],{"class":832},"    StandardMicroplateDimensions",[779,916,884],{"class":836},[779,918,920,923],{"class":824,"line":919},10,[779,921,922],{"class":832},"    Well",[779,924,884],{"class":836},[779,926,928,931],{"class":824,"line":927},11,[779,929,930],{"class":832},"    place_standardized",[779,932,884],{"class":836},[779,934,936],{"class":824,"line":935},12,[779,937,938],{"class":836},")\n",[779,940,942],{"class":824,"line":941},13,[779,943,856],{"emptyLinePlaceholder":855},[779,945,947],{"class":824,"line":946},14,[779,948,856],{"emptyLinePlaceholder":855},[779,950,952,955,959,961],{"class":824,"line":951},15,[779,953,954],{"class":836},"@",[779,956,958],{"class":957},"s2Zo4","dataclasses",[779,960,837],{"class":836},[779,962,963],{"class":957},"dataclass\n",[779,965,967,971,975,978,981,984,987],{"class":824,"line":966},16,[779,968,970],{"class":969},"spNyl","class",[779,972,974],{"class":973},"sBMFI"," Standard96Plate",[779,976,977],{"class":836},"(",[779,979,980],{"class":973},"Plate",[779,982,983],{"class":836},",",[779,985,986],{"class":973}," StandardMicroplateDimensions",[779,988,989],{"class":836},"):\n",[779,991,993,996,1000],{"class":824,"line":992},17,[779,994,995],{"class":828},"    \"\"\"",[779,997,999],{"class":998},"sHwdD","Standard 96-well plate.",[779,1001,1002],{"class":828},"\"\"\"\n",[779,1004,1006],{"class":824,"line":1005},18,[779,1007,856],{"emptyLinePlaceholder":855},[779,1009,1011,1014,1017,1020,1023],{"class":824,"line":1010},19,[779,1012,1013],{"class":832},"    cols",[779,1015,1016],{"class":836},":",[779,1018,1019],{"class":973}," int",[779,1021,1022],{"class":836}," =",[779,1024,1026],{"class":1025},"sbssI"," 12\n",[779,1028,1030,1033,1035,1037,1039],{"class":824,"line":1029},20,[779,1031,1032],{"class":832},"    rows",[779,1034,1016],{"class":836},[779,1036,1019],{"class":973},[779,1038,1022],{"class":836},[779,1040,1041],{"class":1025}," 8\n",[779,1043,1045,1048,1050,1053,1056,1059,1061,1064,1066,1070,1072,1075,1077,1079,1081,1084],{"class":824,"line":1044},21,[779,1046,1047],{"class":832},"    grab_height",[779,1049,1016],{"class":836},[779,1051,1052],{"class":832}," Decimal ",[779,1054,1055],{"class":836},"=",[779,1057,1058],{"class":832}," dataclasses",[779,1060,837],{"class":836},[779,1062,1063],{"class":957},"field",[779,1065,977],{"class":836},[779,1067,1069],{"class":1068},"sHdIc","default",[779,1071,1055],{"class":836},[779,1073,1074],{"class":957},"Decimal",[779,1076,977],{"class":836},[779,1078,1069],{"class":1068},[779,1080,1055],{"class":836},[779,1082,1083],{"class":1025},"13.2",[779,1085,1086],{"class":836},"))\n",[779,1088,1090,1093,1095,1097,1099,1102,1104,1107,1110,1113,1116,1118,1120,1122,1124],{"class":824,"line":1089},22,[779,1091,1092],{"class":832},"    children",[779,1094,1016],{"class":836},[779,1096,833],{"class":832},[779,1098,837],{"class":836},[779,1100,1101],{"class":840},"abc",[779,1103,837],{"class":836},[779,1105,1106],{"class":840},"Sequence",[779,1108,1109],{"class":836},"[",[779,1111,1112],{"class":840},"Well",[779,1114,1115],{"class":836},"]",[779,1117,1022],{"class":836},[779,1119,1058],{"class":832},[779,1121,837],{"class":836},[779,1123,1063],{"class":957},[779,1125,1126],{"class":836},"(\n",[779,1128,1130,1133],{"class":824,"line":1129},23,[779,1131,1132],{"class":1068},"        repr",[779,1134,1135],{"class":836},"=False,\n",[779,1137,1139,1142,1144,1147,1149],{"class":824,"line":1138},24,[779,1140,1141],{"class":1068},"        default_factory",[779,1143,1055],{"class":836},[779,1145,1146],{"class":969},"lambda",[779,1148,1016],{"class":836},[779,1150,1151],{"class":836}," [\n",[779,1153,1155,1158],{"class":824,"line":1154},25,[779,1156,1157],{"class":957},"            Well",[779,1159,1126],{"class":836},[779,1161,1163,1166,1168,1171,1173,1176,1178,1181,1183,1186,1189,1192,1194,1197,1199,1202,1204,1207,1209,1212],{"class":824,"line":1162},26,[779,1164,1165],{"class":1068},"                container",[779,1167,1055],{"class":836},[779,1169,1170],{"class":957},"Container",[779,1172,977],{"class":836},[779,1174,1175],{"class":1068},"max_volume",[779,1177,1055],{"class":836},[779,1179,1180],{"class":1025},"300",[779,1182,983],{"class":836},[779,1184,1185],{"class":1068}," sections",[779,1187,1188],{"class":836},"=[",[779,1190,1191],{"class":957},"Cylinder",[779,1193,977],{"class":836},[779,1195,1196],{"class":1068},"radius",[779,1198,1055],{"class":836},[779,1200,1201],{"class":1025},"3.48",[779,1203,983],{"class":836},[779,1205,1206],{"class":1068}," height",[779,1208,1055],{"class":836},[779,1210,1211],{"class":1025},"10.67",[779,1213,1214],{"class":836},")]),\n",[779,1216,1218,1221,1223,1226],{"class":824,"line":1217},27,[779,1219,1220],{"class":1068},"                dimensions",[779,1222,1055],{"class":836},[779,1224,1225],{"class":957},"dimension",[779,1227,884],{"class":836},[779,1229,1231,1234,1237,1239,1242,1244,1246],{"class":824,"line":1230},28,[779,1232,1233],{"class":836},"            ).",[779,1235,1236],{"class":957},"copy",[779,1238,977],{"class":836},[779,1240,1241],{"class":1068},"location",[779,1243,1055],{"class":836},[779,1245,1241],{"class":957},[779,1247,938],{"class":836},[779,1249,1251,1254,1257,1259,1262,1265,1268,1270,1273,1275,1278],{"class":824,"line":1250},29,[779,1252,1253],{"class":828},"            for",[779,1255,1256],{"class":957}," location",[779,1258,983],{"class":836},[779,1260,1261],{"class":957}," dimension ",[779,1263,1264],{"class":828},"in",[779,1266,1267],{"class":957}," place_standardized",[779,1269,977],{"class":836},[779,1271,1272],{"class":1068},"count",[779,1274,1055],{"class":836},[779,1276,1277],{"class":1025},"96",[779,1279,938],{"class":836},[779,1281,1283],{"class":824,"line":1282},30,[779,1284,1285],{"class":836},"        ],\n",[779,1287,1289],{"class":824,"line":1288},31,[779,1290,1291],{"class":836},"    )\n",[1293,1294,1296],"h2",{"id":1295},"ad-hoc-building-in-your-workflow","Ad-hoc building in your workflow",[756,1298,1299,1300,1305,1306,1311,1312,837],{},"You can find the plate that is defined below in the Thermofisher webshop under the model number ",[760,1301,1304],{"href":1302,"rel":1303},"https:\u002F\u002Fwww.thermofisher.com\u002Fdocument-connect\u002Fdocument-connect.html?url=https:\u002F\u002Fassets.thermofisher.com\u002FTFS-Assets%2FLSG%2Fmanuals%2Fcms_042421.pdf",[764],"3959",". Corning has published a table of the dimensions for all their plates ",[760,1307,1310],{"href":1308,"rel":1309},"https:\u002F\u002Fwww.corning.com\u002Fcatalog\u002Fcls\u002Fdocuments\u002Fdrawings\u002FMicroplateDimensions96-384-1536.pdf",[764],"here",". They have a separate table for ",[760,1313,1316],{"href":1314,"rel":1315},"https:\u002F\u002Fwww.corning.com\u002Fcatalog\u002Fcls\u002Fdocuments\u002Fselection-guides\u002FCLS-CC-010.pdf",[764],"cell-culture plates",[756,1318,1319],{},"In this example, we will define the plate \"on the fly\" and not as a dataclass. The total height of the plate is 23.24 mm. The well bottom is offset from the ground by 0.74 mm and the boundary box at which the well ends is 2.5 mm below the height of the plate. The spacing between the wells is 9.025 mm and thus deviates from the standard specification by 0.025 mm. The volume of the well is calculated with the approximation of a conical frustum. To yield more accurate results, the well could be divided into two sections: a conical frustum and a spherical segment at the bottom. However, the required measurements are not provided by the technical data sheet. A maximum volume is defined for this well. The maximum volume corresponds to the recommended working volume.",[814,1321,1323],{"className":816,"code":1322,"language":818,"meta":819,"style":819},"from unitelabs.labware import (\n    ConicalFrustum,\n    Container,\n    Plate,\n    Vector,\n    Well,\n    place,\n)\n\n# MicroAmp_Optical_96_Well_Reaction_Plate approximated with a conical frustum shape\nmicroamp_optical_96_well = Plate(\n    dimensions=Vector(x=125.98, y=85.85, z=23.24),  # base dimension in mm\n    children=[\n        Well(\n            container=Container(\n                max_volume=200,\n                sections=[\n                    ConicalFrustum(\n                        radius_lower=1,\n                        radius_upper=2.747,\n                        height=23.24 - 0.74 - 2.5,\n                    )\n                ],\n            ),\n            dimensions=dimensions,\n        ).copy(location=location)\n        for location, dimensions in place(\n            rows=8,\n            cols=12,\n            boundary=Vector(x=125.98, y=85.85, z=23.24 - 2.5),\n            item=Vector(x=9.025, y=9.025, z=23.24 - 0.74 - 2.5),\n        )\n    ],\n)\n",[802,1324,1325,1339,1346,1352,1358,1365,1371,1378,1382,1386,1391,1403,1449,1456,1463,1474,1486,1493,1500,1512,1524,1546,1551,1556,1561,1573,1590,1609,1621,1633,1673,1717,1723,1729],{"__ignoreMap":819},[779,1326,1327,1329,1331,1333,1335,1337],{"class":824,"line":825},[779,1328,862],{"class":828},[779,1330,865],{"class":832},[779,1332,837],{"class":836},[779,1334,870],{"class":832},[779,1336,829],{"class":828},[779,1338,875],{"class":836},[779,1340,1341,1344],{"class":824,"line":844},[779,1342,1343],{"class":832},"    ConicalFrustum",[779,1345,884],{"class":836},[779,1347,1348,1350],{"class":824,"line":852},[779,1349,881],{"class":832},[779,1351,884],{"class":836},[779,1353,1354,1356],{"class":824,"line":859},[779,1355,906],{"class":832},[779,1357,884],{"class":836},[779,1359,1360,1363],{"class":824,"line":878},[779,1361,1362],{"class":832},"    Vector",[779,1364,884],{"class":836},[779,1366,1367,1369],{"class":824,"line":887},[779,1368,922],{"class":832},[779,1370,884],{"class":836},[779,1372,1373,1376],{"class":824,"line":895},[779,1374,1375],{"class":832},"    place",[779,1377,884],{"class":836},[779,1379,1380],{"class":824,"line":903},[779,1381,938],{"class":836},[779,1383,1384],{"class":824,"line":911},[779,1385,856],{"emptyLinePlaceholder":855},[779,1387,1388],{"class":824,"line":919},[779,1389,1390],{"class":998},"# MicroAmp_Optical_96_Well_Reaction_Plate approximated with a conical frustum shape\n",[779,1392,1393,1396,1398,1401],{"class":824,"line":927},[779,1394,1395],{"class":832},"microamp_optical_96_well ",[779,1397,1055],{"class":836},[779,1399,1400],{"class":957}," Plate",[779,1402,1126],{"class":836},[779,1404,1405,1408,1410,1413,1415,1418,1420,1423,1425,1428,1430,1433,1435,1438,1440,1443,1446],{"class":824,"line":935},[779,1406,1407],{"class":1068},"    dimensions",[779,1409,1055],{"class":836},[779,1411,1412],{"class":957},"Vector",[779,1414,977],{"class":836},[779,1416,1417],{"class":1068},"x",[779,1419,1055],{"class":836},[779,1421,1422],{"class":1025},"125.98",[779,1424,983],{"class":836},[779,1426,1427],{"class":1068}," y",[779,1429,1055],{"class":836},[779,1431,1432],{"class":1025},"85.85",[779,1434,983],{"class":836},[779,1436,1437],{"class":1068}," z",[779,1439,1055],{"class":836},[779,1441,1442],{"class":1025},"23.24",[779,1444,1445],{"class":836},"),",[779,1447,1448],{"class":998},"  # base dimension in mm\n",[779,1450,1451,1453],{"class":824,"line":941},[779,1452,1092],{"class":1068},[779,1454,1455],{"class":836},"=[\n",[779,1457,1458,1461],{"class":824,"line":946},[779,1459,1460],{"class":957},"        Well",[779,1462,1126],{"class":836},[779,1464,1465,1468,1470,1472],{"class":824,"line":951},[779,1466,1467],{"class":1068},"            container",[779,1469,1055],{"class":836},[779,1471,1170],{"class":957},[779,1473,1126],{"class":836},[779,1475,1476,1479,1481,1484],{"class":824,"line":966},[779,1477,1478],{"class":1068},"                max_volume",[779,1480,1055],{"class":836},[779,1482,1483],{"class":1025},"200",[779,1485,884],{"class":836},[779,1487,1488,1491],{"class":824,"line":992},[779,1489,1490],{"class":1068},"                sections",[779,1492,1455],{"class":836},[779,1494,1495,1498],{"class":824,"line":1005},[779,1496,1497],{"class":957},"                    ConicalFrustum",[779,1499,1126],{"class":836},[779,1501,1502,1505,1507,1510],{"class":824,"line":1010},[779,1503,1504],{"class":1068},"                        radius_lower",[779,1506,1055],{"class":836},[779,1508,1509],{"class":1025},"1",[779,1511,884],{"class":836},[779,1513,1514,1517,1519,1522],{"class":824,"line":1029},[779,1515,1516],{"class":1068},"                        radius_upper",[779,1518,1055],{"class":836},[779,1520,1521],{"class":1025},"2.747",[779,1523,884],{"class":836},[779,1525,1526,1529,1531,1533,1536,1539,1541,1544],{"class":824,"line":1044},[779,1527,1528],{"class":1068},"                        height",[779,1530,1055],{"class":836},[779,1532,1442],{"class":1025},[779,1534,1535],{"class":836}," -",[779,1537,1538],{"class":1025}," 0.74",[779,1540,1535],{"class":836},[779,1542,1543],{"class":1025}," 2.5",[779,1545,884],{"class":836},[779,1547,1548],{"class":824,"line":1089},[779,1549,1550],{"class":836},"                    )\n",[779,1552,1553],{"class":824,"line":1129},[779,1554,1555],{"class":836},"                ],\n",[779,1557,1558],{"class":824,"line":1138},[779,1559,1560],{"class":836},"            ),\n",[779,1562,1563,1566,1568,1571],{"class":824,"line":1154},[779,1564,1565],{"class":1068},"            dimensions",[779,1567,1055],{"class":836},[779,1569,1570],{"class":957},"dimensions",[779,1572,884],{"class":836},[779,1574,1575,1578,1580,1582,1584,1586,1588],{"class":824,"line":1162},[779,1576,1577],{"class":836},"        ).",[779,1579,1236],{"class":957},[779,1581,977],{"class":836},[779,1583,1241],{"class":1068},[779,1585,1055],{"class":836},[779,1587,1241],{"class":957},[779,1589,938],{"class":836},[779,1591,1592,1595,1597,1599,1602,1604,1607],{"class":824,"line":1217},[779,1593,1594],{"class":828},"        for",[779,1596,1256],{"class":957},[779,1598,983],{"class":836},[779,1600,1601],{"class":957}," dimensions ",[779,1603,1264],{"class":828},[779,1605,1606],{"class":957}," place",[779,1608,1126],{"class":836},[779,1610,1611,1614,1616,1619],{"class":824,"line":1230},[779,1612,1613],{"class":1068},"            rows",[779,1615,1055],{"class":836},[779,1617,1618],{"class":1025},"8",[779,1620,884],{"class":836},[779,1622,1623,1626,1628,1631],{"class":824,"line":1250},[779,1624,1625],{"class":1068},"            cols",[779,1627,1055],{"class":836},[779,1629,1630],{"class":1025},"12",[779,1632,884],{"class":836},[779,1634,1635,1638,1640,1642,1644,1646,1648,1650,1652,1654,1656,1658,1660,1662,1664,1666,1668,1670],{"class":824,"line":1282},[779,1636,1637],{"class":1068},"            boundary",[779,1639,1055],{"class":836},[779,1641,1412],{"class":957},[779,1643,977],{"class":836},[779,1645,1417],{"class":1068},[779,1647,1055],{"class":836},[779,1649,1422],{"class":1025},[779,1651,983],{"class":836},[779,1653,1427],{"class":1068},[779,1655,1055],{"class":836},[779,1657,1432],{"class":1025},[779,1659,983],{"class":836},[779,1661,1437],{"class":1068},[779,1663,1055],{"class":836},[779,1665,1442],{"class":1025},[779,1667,1535],{"class":836},[779,1669,1543],{"class":1025},[779,1671,1672],{"class":836},"),\n",[779,1674,1675,1678,1680,1682,1684,1686,1688,1691,1693,1695,1697,1699,1701,1703,1705,1707,1709,1711,1713,1715],{"class":824,"line":1288},[779,1676,1677],{"class":1068},"            item",[779,1679,1055],{"class":836},[779,1681,1412],{"class":957},[779,1683,977],{"class":836},[779,1685,1417],{"class":1068},[779,1687,1055],{"class":836},[779,1689,1690],{"class":1025},"9.025",[779,1692,983],{"class":836},[779,1694,1427],{"class":1068},[779,1696,1055],{"class":836},[779,1698,1690],{"class":1025},[779,1700,983],{"class":836},[779,1702,1437],{"class":1068},[779,1704,1055],{"class":836},[779,1706,1442],{"class":1025},[779,1708,1535],{"class":836},[779,1710,1538],{"class":1025},[779,1712,1535],{"class":836},[779,1714,1543],{"class":1025},[779,1716,1672],{"class":836},[779,1718,1720],{"class":824,"line":1719},32,[779,1721,1722],{"class":836},"        )\n",[779,1724,1726],{"class":824,"line":1725},33,[779,1727,1728],{"class":836},"    ],\n",[779,1730,1732],{"class":824,"line":1731},34,[779,1733,938],{"class":836},[756,1735,1736],{},"The plate and well object properties can be accessed to double-check their definition:",[814,1738,1740],{"className":816,"code":1739,"language":818,"meta":819,"style":819},"print(f'Absolute location of the plate: {microamp_optical_96_well.absolute_location}')\n\nprint(f'Base dimensions of the plate: {microamp_optical_96_well.dimensions}')\n\nprint(f'The relative location of well A1: {microamp_optical_96_well[0].location}')\n\nprint(f'The absolute location of well A1: {microamp_optical_96_well[0].absolute_location}')\n\nprint(f'The height of well A1: {microamp_optical_96_well[0].height}')\n",[802,1741,1742,1775,1779,1804,1808,1839,1843,1872,1876],{"__ignoreMap":819},[779,1743,1744,1747,1749,1752,1756,1759,1762,1764,1767,1770,1773],{"class":824,"line":825},[779,1745,1746],{"class":957},"print",[779,1748,977],{"class":836},[779,1750,1751],{"class":969},"f",[779,1753,1755],{"class":1754},"sfazB","'Absolute location of the plate: ",[779,1757,1758],{"class":1025},"{",[779,1760,1761],{"class":957},"microamp_optical_96_well",[779,1763,837],{"class":836},[779,1765,1766],{"class":840},"absolute_location",[779,1768,1769],{"class":1025},"}",[779,1771,1772],{"class":1754},"'",[779,1774,938],{"class":836},[779,1776,1777],{"class":824,"line":844},[779,1778,856],{"emptyLinePlaceholder":855},[779,1780,1781,1783,1785,1787,1790,1792,1794,1796,1798,1800,1802],{"class":824,"line":852},[779,1782,1746],{"class":957},[779,1784,977],{"class":836},[779,1786,1751],{"class":969},[779,1788,1789],{"class":1754},"'Base dimensions of the plate: ",[779,1791,1758],{"class":1025},[779,1793,1761],{"class":957},[779,1795,837],{"class":836},[779,1797,1570],{"class":840},[779,1799,1769],{"class":1025},[779,1801,1772],{"class":1754},[779,1803,938],{"class":836},[779,1805,1806],{"class":824,"line":859},[779,1807,856],{"emptyLinePlaceholder":855},[779,1809,1810,1812,1814,1816,1819,1821,1823,1825,1828,1831,1833,1835,1837],{"class":824,"line":878},[779,1811,1746],{"class":957},[779,1813,977],{"class":836},[779,1815,1751],{"class":969},[779,1817,1818],{"class":1754},"'The relative location of well A1: ",[779,1820,1758],{"class":1025},[779,1822,1761],{"class":957},[779,1824,1109],{"class":836},[779,1826,1827],{"class":1025},"0",[779,1829,1830],{"class":836},"].",[779,1832,1241],{"class":840},[779,1834,1769],{"class":1025},[779,1836,1772],{"class":1754},[779,1838,938],{"class":836},[779,1840,1841],{"class":824,"line":887},[779,1842,856],{"emptyLinePlaceholder":855},[779,1844,1845,1847,1849,1851,1854,1856,1858,1860,1862,1864,1866,1868,1870],{"class":824,"line":895},[779,1846,1746],{"class":957},[779,1848,977],{"class":836},[779,1850,1751],{"class":969},[779,1852,1853],{"class":1754},"'The absolute location of well A1: ",[779,1855,1758],{"class":1025},[779,1857,1761],{"class":957},[779,1859,1109],{"class":836},[779,1861,1827],{"class":1025},[779,1863,1830],{"class":836},[779,1865,1766],{"class":840},[779,1867,1769],{"class":1025},[779,1869,1772],{"class":1754},[779,1871,938],{"class":836},[779,1873,1874],{"class":824,"line":903},[779,1875,856],{"emptyLinePlaceholder":855},[779,1877,1878,1880,1882,1884,1887,1889,1891,1893,1895,1897,1900,1902,1904],{"class":824,"line":911},[779,1879,1746],{"class":957},[779,1881,977],{"class":836},[779,1883,1751],{"class":969},[779,1885,1886],{"class":1754},"'The height of well A1: ",[779,1888,1758],{"class":1025},[779,1890,1761],{"class":957},[779,1892,1109],{"class":836},[779,1894,1827],{"class":1025},[779,1896,1830],{"class":836},[779,1898,1899],{"class":840},"height",[779,1901,1769],{"class":1025},[779,1903,1772],{"class":1754},[779,1905,938],{"class":836},[756,1907,1908],{},"Since the plate is not assigned to a deck, its absolute location is the origin. The well is a part of the plate and therefore its absolute location is relative to the location of the plate. As shown in the well z-location, the well bottom sits 0.74 mm above the plate bottom, accounting for the material of the well bottom\u002Fplate base.",[814,1910,1915],{"className":1911,"code":1913,"language":1914},[1912],"language-text","Absolute location of the plate: Vector(x=Decimal('0'), y=Decimal('0'), z=Decimal('0'))\nBase dimensions of the pate: Vector(x=Decimal('125.98'), y=Decimal('85.85'), z=Decimal('23.24'))\nThe relative location of well A1: Vector(x=Decimal('8.840'), y=Decimal('70.000'), z=Decimal('0.74'))\nThe absolute location of well A1: Vector(x=Decimal('8.840'), y=Decimal('70.000'), z=Decimal('0.74'))\nThe height of well A1: 20.0\n","text",[802,1916,1913],{"__ignoreMap":819},[756,1918,1919],{},"The wells on the plate have containers. These containers are defined by their shape by which volume and liquid level calculations are performed. While these are used heavily in the background, they can also be directly accessed. Here are some useful properties and methods of the general container object:",[814,1921,1923],{"className":816,"code":1922,"language":818,"meta":819,"style":819},"from unitelabs.labware import PredefinedLiquids\n\nmicroamp_optical_96_well[0].container.add_liquid(liquid=PredefinedLiquids.WATER, volume=50)\n\nprint(f'The max volume defined by the creator: {microamp_optical_96_well[0].container.max_volume} µL')\n\nprint(f'The max calculated volume derived from the dimensions: {round(microamp_optical_96_well[0].container.max_fitting_volume, 3)} µL')\n\nprint(f'The current volume inside of this container: {round(microamp_optical_96_well[0].container.volume, 3)} µL')\n\nprint(f'The current liquid level inside of the container: {round(microamp_optical_96_well[0].container.liquid_level, 3)} mm')\n\nprint(f'Calculating the volume inside the container for a height of 10 mm: {round(microamp_optical_96_well[0].container.volume_for_height(height=10), 3)} µL')\n\nprint(f'Calculating the liquid level height for volume of 100 µL: {round(microamp_optical_96_well[0].container.height_for_volume(volume=100), 3)} mm')\n",[802,1924,1925,1940,1944,1989,1993,2027,2031,2078,2082,2126,2130,2175,2179,2232,2236],{"__ignoreMap":819},[779,1926,1927,1929,1931,1933,1935,1937],{"class":824,"line":825},[779,1928,862],{"class":828},[779,1930,865],{"class":832},[779,1932,837],{"class":836},[779,1934,870],{"class":832},[779,1936,829],{"class":828},[779,1938,1939],{"class":832}," PredefinedLiquids\n",[779,1941,1942],{"class":824,"line":844},[779,1943,856],{"emptyLinePlaceholder":855},[779,1945,1946,1948,1950,1952,1954,1957,1959,1962,1964,1967,1969,1972,1974,1977,1979,1982,1984,1987],{"class":824,"line":852},[779,1947,1761],{"class":832},[779,1949,1109],{"class":836},[779,1951,1827],{"class":1025},[779,1953,1830],{"class":836},[779,1955,1956],{"class":840},"container",[779,1958,837],{"class":836},[779,1960,1961],{"class":957},"add_liquid",[779,1963,977],{"class":836},[779,1965,1966],{"class":1068},"liquid",[779,1968,1055],{"class":836},[779,1970,1971],{"class":957},"PredefinedLiquids",[779,1973,837],{"class":836},[779,1975,1976],{"class":840},"WATER",[779,1978,983],{"class":836},[779,1980,1981],{"class":1068}," volume",[779,1983,1055],{"class":836},[779,1985,1986],{"class":1025},"50",[779,1988,938],{"class":836},[779,1990,1991],{"class":824,"line":859},[779,1992,856],{"emptyLinePlaceholder":855},[779,1994,1995,1997,1999,2001,2004,2006,2008,2010,2012,2014,2016,2018,2020,2022,2025],{"class":824,"line":878},[779,1996,1746],{"class":957},[779,1998,977],{"class":836},[779,2000,1751],{"class":969},[779,2002,2003],{"class":1754},"'The max volume defined by the creator: ",[779,2005,1758],{"class":1025},[779,2007,1761],{"class":957},[779,2009,1109],{"class":836},[779,2011,1827],{"class":1025},[779,2013,1830],{"class":836},[779,2015,1956],{"class":840},[779,2017,837],{"class":836},[779,2019,1175],{"class":840},[779,2021,1769],{"class":1025},[779,2023,2024],{"class":1754}," µL'",[779,2026,938],{"class":836},[779,2028,2029],{"class":824,"line":887},[779,2030,856],{"emptyLinePlaceholder":855},[779,2032,2033,2035,2037,2039,2042,2044,2047,2049,2051,2053,2055,2057,2059,2061,2064,2066,2069,2072,2074,2076],{"class":824,"line":895},[779,2034,1746],{"class":957},[779,2036,977],{"class":836},[779,2038,1751],{"class":969},[779,2040,2041],{"class":1754},"'The max calculated volume derived from the dimensions: ",[779,2043,1758],{"class":1025},[779,2045,2046],{"class":957},"round",[779,2048,977],{"class":836},[779,2050,1761],{"class":957},[779,2052,1109],{"class":836},[779,2054,1827],{"class":1025},[779,2056,1830],{"class":836},[779,2058,1956],{"class":840},[779,2060,837],{"class":836},[779,2062,2063],{"class":840},"max_fitting_volume",[779,2065,983],{"class":836},[779,2067,2068],{"class":1025}," 3",[779,2070,2071],{"class":836},")",[779,2073,1769],{"class":1025},[779,2075,2024],{"class":1754},[779,2077,938],{"class":836},[779,2079,2080],{"class":824,"line":903},[779,2081,856],{"emptyLinePlaceholder":855},[779,2083,2084,2086,2088,2090,2093,2095,2097,2099,2101,2103,2105,2107,2109,2111,2114,2116,2118,2120,2122,2124],{"class":824,"line":911},[779,2085,1746],{"class":957},[779,2087,977],{"class":836},[779,2089,1751],{"class":969},[779,2091,2092],{"class":1754},"'The current volume inside of this container: ",[779,2094,1758],{"class":1025},[779,2096,2046],{"class":957},[779,2098,977],{"class":836},[779,2100,1761],{"class":957},[779,2102,1109],{"class":836},[779,2104,1827],{"class":1025},[779,2106,1830],{"class":836},[779,2108,1956],{"class":840},[779,2110,837],{"class":836},[779,2112,2113],{"class":840},"volume",[779,2115,983],{"class":836},[779,2117,2068],{"class":1025},[779,2119,2071],{"class":836},[779,2121,1769],{"class":1025},[779,2123,2024],{"class":1754},[779,2125,938],{"class":836},[779,2127,2128],{"class":824,"line":919},[779,2129,856],{"emptyLinePlaceholder":855},[779,2131,2132,2134,2136,2138,2141,2143,2145,2147,2149,2151,2153,2155,2157,2159,2162,2164,2166,2168,2170,2173],{"class":824,"line":927},[779,2133,1746],{"class":957},[779,2135,977],{"class":836},[779,2137,1751],{"class":969},[779,2139,2140],{"class":1754},"'The current liquid level inside of the container: ",[779,2142,1758],{"class":1025},[779,2144,2046],{"class":957},[779,2146,977],{"class":836},[779,2148,1761],{"class":957},[779,2150,1109],{"class":836},[779,2152,1827],{"class":1025},[779,2154,1830],{"class":836},[779,2156,1956],{"class":840},[779,2158,837],{"class":836},[779,2160,2161],{"class":840},"liquid_level",[779,2163,983],{"class":836},[779,2165,2068],{"class":1025},[779,2167,2071],{"class":836},[779,2169,1769],{"class":1025},[779,2171,2172],{"class":1754}," mm'",[779,2174,938],{"class":836},[779,2176,2177],{"class":824,"line":935},[779,2178,856],{"emptyLinePlaceholder":855},[779,2180,2181,2183,2185,2187,2190,2192,2194,2196,2198,2200,2202,2204,2206,2208,2211,2213,2215,2217,2220,2222,2224,2226,2228,2230],{"class":824,"line":941},[779,2182,1746],{"class":957},[779,2184,977],{"class":836},[779,2186,1751],{"class":969},[779,2188,2189],{"class":1754},"'Calculating the volume inside the container for a height of 10 mm: ",[779,2191,1758],{"class":1025},[779,2193,2046],{"class":957},[779,2195,977],{"class":836},[779,2197,1761],{"class":957},[779,2199,1109],{"class":836},[779,2201,1827],{"class":1025},[779,2203,1830],{"class":836},[779,2205,1956],{"class":840},[779,2207,837],{"class":836},[779,2209,2210],{"class":957},"volume_for_height",[779,2212,977],{"class":836},[779,2214,1899],{"class":1068},[779,2216,1055],{"class":836},[779,2218,2219],{"class":1025},"10",[779,2221,1445],{"class":836},[779,2223,2068],{"class":1025},[779,2225,2071],{"class":836},[779,2227,1769],{"class":1025},[779,2229,2024],{"class":1754},[779,2231,938],{"class":836},[779,2233,2234],{"class":824,"line":946},[779,2235,856],{"emptyLinePlaceholder":855},[779,2237,2238,2240,2242,2244,2247,2249,2251,2253,2255,2257,2259,2261,2263,2265,2268,2270,2272,2274,2277,2279,2281,2283,2285,2287],{"class":824,"line":951},[779,2239,1746],{"class":957},[779,2241,977],{"class":836},[779,2243,1751],{"class":969},[779,2245,2246],{"class":1754},"'Calculating the liquid level height for volume of 100 µL: ",[779,2248,1758],{"class":1025},[779,2250,2046],{"class":957},[779,2252,977],{"class":836},[779,2254,1761],{"class":957},[779,2256,1109],{"class":836},[779,2258,1827],{"class":1025},[779,2260,1830],{"class":836},[779,2262,1956],{"class":840},[779,2264,837],{"class":836},[779,2266,2267],{"class":957},"height_for_volume",[779,2269,977],{"class":836},[779,2271,2113],{"class":1068},[779,2273,1055],{"class":836},[779,2275,2276],{"class":1025},"100",[779,2278,1445],{"class":836},[779,2280,2068],{"class":1025},[779,2282,2071],{"class":836},[779,2284,1769],{"class":1025},[779,2286,2172],{"class":1754},[779,2288,938],{"class":836},[756,2290,2291,2292,2295,2296,2299],{},"To pre-fill every well at construction, pass ",[802,2293,2294],{},"filled_with"," to the plate — this works for both predefined plates and the ad-hoc ",[802,2297,2298],{},"Plate(...)"," shown above:",[814,2301,2303],{"className":816,"code":2302,"language":818,"meta":819,"style":819},"microamp_optical_96_well = Plate(\n    dimensions=Vector(x=125.98, y=85.85, z=23.24),\n    children=[...],  # as above\n    filled_with=(PredefinedLiquids.WATER, 50),\n)\n",[802,2304,2305,2315,2349,2364,2385],{"__ignoreMap":819},[779,2306,2307,2309,2311,2313],{"class":824,"line":825},[779,2308,1395],{"class":832},[779,2310,1055],{"class":836},[779,2312,1400],{"class":957},[779,2314,1126],{"class":836},[779,2316,2317,2319,2321,2323,2325,2327,2329,2331,2333,2335,2337,2339,2341,2343,2345,2347],{"class":824,"line":844},[779,2318,1407],{"class":1068},[779,2320,1055],{"class":836},[779,2322,1412],{"class":957},[779,2324,977],{"class":836},[779,2326,1417],{"class":1068},[779,2328,1055],{"class":836},[779,2330,1422],{"class":1025},[779,2332,983],{"class":836},[779,2334,1427],{"class":1068},[779,2336,1055],{"class":836},[779,2338,1432],{"class":1025},[779,2340,983],{"class":836},[779,2342,1437],{"class":1068},[779,2344,1055],{"class":836},[779,2346,1442],{"class":1025},[779,2348,1672],{"class":836},[779,2350,2351,2353,2355,2358,2361],{"class":824,"line":852},[779,2352,1092],{"class":1068},[779,2354,1188],{"class":836},[779,2356,2357],{"class":957},"...",[779,2359,2360],{"class":836},"],",[779,2362,2363],{"class":998},"  # as above\n",[779,2365,2366,2369,2372,2374,2376,2378,2380,2383],{"class":824,"line":859},[779,2367,2368],{"class":1068},"    filled_with",[779,2370,2371],{"class":836},"=(",[779,2373,1971],{"class":957},[779,2375,837],{"class":836},[779,2377,1976],{"class":840},[779,2379,983],{"class":836},[779,2381,2382],{"class":1025}," 50",[779,2384,1672],{"class":836},[779,2386,2387],{"class":824,"line":878},[779,2388,938],{"class":836},[756,2390,2391,2392,2396],{},"See ",[760,2393,2395],{"href":2394},"\u002Foperate\u002Fconcepts\u002Fliquids#pre-filling-labware","Pre-filling Labware"," for mixtures, troughs, and the full behavior.",[756,2398,2399],{},"These functions can be used to verify the labware definition.",[814,2401,2404],{"className":2402,"code":2403,"language":1914},[1912],"The max volume defined by the creator: 200 µL\nThe max calculated volume derived from the dimensions: 236.520 µL\nThe current volume inside of this container: 50.000 µL\nThe current liquid level inside of the container: 8.348 mm\nCalculating the volume inside the container for a height of 10 mm: 66.848 µL\nCalculating the liquid level height for volume of 100 µL: 12.662 mm\n",[802,2405,2403],{"__ignoreMap":819},[1293,2407,2409],{"id":2408},"shape-dimensions-at-height","Shape Dimensions at Height",[756,2411,2412,2413,2415,2416,2415,2419,2415,2422,2425],{},"Labware containers can be made up of different shape types such as ",[802,2414,1191],{},", ",[802,2417,2418],{},"Cuboid",[802,2420,2421],{},"Cone",[802,2423,2424],{},"Pyramid",", and others. When an operation needs to know the width of a container at a specific height — for example, to move a pipetting channel to the side of a well — there is no single shared property for this across all shapes. Without a universal interface, logic that depends on the cross-sectional width or area at a given height must handle each shape type separately, which is error-prone and hard to maintain.",[756,2427,2428],{},"To solve this, three methods are available on all concrete shape classes:",[789,2430,2431,2437,2443],{},[792,2432,2433,2436],{},[802,2434,2435],{},"width_at_height(height)"," — Returns the x-axis extent of the cross-section at a given height.",[792,2438,2439,2442],{},[802,2440,2441],{},"depth_at_height(height)"," — Returns the y-axis extent of the cross-section at a given height. For circular shapes this equals the width.",[792,2444,2445,2448],{},[802,2446,2447],{},"area_at_height(height)"," — Returns the cross-sectional area at a given height.",[756,2450,2451,2452,2454],{},"For stacked containers (any ",[802,2453,1170],{}," with multiple sections), an additional method is available:",[789,2456,2457],{},[792,2458,2459,2462,2463,2466,2467,2469,2470,2415,2473,2476,2477,2480],{},[802,2460,2461],{},"section_at_height(height)"," — Returns a ",[802,2464,2465],{},"tuple[Shape, Decimal]"," containing the shape section and the local height within that section. ",[802,2468,1170],{}," automatically delegates ",[802,2471,2472],{},"width_at_height",[802,2474,2475],{},"depth_at_height",", and ",[802,2478,2479],{},"area_at_height"," through this method.",[2482,2483,2485],"h3",{"id":2484},"usage-example","Usage Example",[756,2487,2488,2489,2492,2493,2496],{},"Given the ",[802,2490,2491],{},"Standard50mLTube"," defined in ",[760,2494,209],{"href":2495},"\u002Foperate\u002Fguides\u002Flabware\u002Ftubes-and-tube-racks\u002F"," — a tube with a cylindrical upper section and a conical frustum at the bottom — you can query the width at any height without caring which section you are in:",[814,2498,2500],{"className":816,"code":2499,"language":818,"meta":819,"style":819},"from unitelabs.labware import Decimal\n\ntube = Standard50mLTube()\n\n# Width at the middle of the cylindrical section (e.g. 50 mm from bottom)\nwidth_mid = tube.container.width_at_height(Decimal(\"50\"))\nprint(f\"Width at 50 mm: {width_mid} mm\")  # 27.78 mm (2 × 13.89)\n\n# Width near the tip of the conical frustum (e.g. 5 mm from bottom)\nwidth_tip = tube.container.width_at_height(Decimal(\"5\"))\nprint(f\"Width at 5 mm: {width_tip} mm\")  # interpolated between 7.2 mm and 27.78 mm\n\n# Cross-sectional area at 50 mm\narea = tube.container.area_at_height(Decimal(\"50\"))\nprint(f\"Area at 50 mm: {round(area, 3)} mm²\")  # π × 13.89²\n\n# Inspect which section and local offset a given height falls into\nsection, local_height = tube.container.section_at_height(Decimal(\"5\"))\nprint(f\"Section: {section}\")          # ConicalFrustum(...)\nprint(f\"Local height: {local_height} mm\")\n",[802,2501,2502,2517,2521,2534,2538,2543,2576,2602,2606,2611,2643,2668,2672,2677,2708,2744,2748,2753,2790,2814],{"__ignoreMap":819},[779,2503,2504,2506,2508,2510,2512,2514],{"class":824,"line":825},[779,2505,862],{"class":828},[779,2507,865],{"class":832},[779,2509,837],{"class":836},[779,2511,870],{"class":832},[779,2513,829],{"class":828},[779,2515,2516],{"class":832}," Decimal\n",[779,2518,2519],{"class":824,"line":844},[779,2520,856],{"emptyLinePlaceholder":855},[779,2522,2523,2526,2528,2531],{"class":824,"line":852},[779,2524,2525],{"class":832},"tube ",[779,2527,1055],{"class":836},[779,2529,2530],{"class":957}," Standard50mLTube",[779,2532,2533],{"class":836},"()\n",[779,2535,2536],{"class":824,"line":859},[779,2537,856],{"emptyLinePlaceholder":855},[779,2539,2540],{"class":824,"line":878},[779,2541,2542],{"class":998},"# Width at the middle of the cylindrical section (e.g. 50 mm from bottom)\n",[779,2544,2545,2548,2550,2553,2555,2557,2559,2561,2563,2565,2567,2570,2572,2574],{"class":824,"line":887},[779,2546,2547],{"class":832},"width_mid ",[779,2549,1055],{"class":836},[779,2551,2552],{"class":832}," tube",[779,2554,837],{"class":836},[779,2556,1956],{"class":840},[779,2558,837],{"class":836},[779,2560,2472],{"class":957},[779,2562,977],{"class":836},[779,2564,1074],{"class":957},[779,2566,977],{"class":836},[779,2568,2569],{"class":836},"\"",[779,2571,1986],{"class":1754},[779,2573,2569],{"class":836},[779,2575,1086],{"class":836},[779,2577,2578,2580,2582,2584,2587,2589,2592,2594,2597,2599],{"class":824,"line":895},[779,2579,1746],{"class":957},[779,2581,977],{"class":836},[779,2583,1751],{"class":969},[779,2585,2586],{"class":1754},"\"Width at 50 mm: ",[779,2588,1758],{"class":1025},[779,2590,2591],{"class":957},"width_mid",[779,2593,1769],{"class":1025},[779,2595,2596],{"class":1754}," mm\"",[779,2598,2071],{"class":836},[779,2600,2601],{"class":998},"  # 27.78 mm (2 × 13.89)\n",[779,2603,2604],{"class":824,"line":903},[779,2605,856],{"emptyLinePlaceholder":855},[779,2607,2608],{"class":824,"line":911},[779,2609,2610],{"class":998},"# Width near the tip of the conical frustum (e.g. 5 mm from bottom)\n",[779,2612,2613,2616,2618,2620,2622,2624,2626,2628,2630,2632,2634,2636,2639,2641],{"class":824,"line":919},[779,2614,2615],{"class":832},"width_tip ",[779,2617,1055],{"class":836},[779,2619,2552],{"class":832},[779,2621,837],{"class":836},[779,2623,1956],{"class":840},[779,2625,837],{"class":836},[779,2627,2472],{"class":957},[779,2629,977],{"class":836},[779,2631,1074],{"class":957},[779,2633,977],{"class":836},[779,2635,2569],{"class":836},[779,2637,2638],{"class":1754},"5",[779,2640,2569],{"class":836},[779,2642,1086],{"class":836},[779,2644,2645,2647,2649,2651,2654,2656,2659,2661,2663,2665],{"class":824,"line":927},[779,2646,1746],{"class":957},[779,2648,977],{"class":836},[779,2650,1751],{"class":969},[779,2652,2653],{"class":1754},"\"Width at 5 mm: ",[779,2655,1758],{"class":1025},[779,2657,2658],{"class":957},"width_tip",[779,2660,1769],{"class":1025},[779,2662,2596],{"class":1754},[779,2664,2071],{"class":836},[779,2666,2667],{"class":998},"  # interpolated between 7.2 mm and 27.78 mm\n",[779,2669,2670],{"class":824,"line":935},[779,2671,856],{"emptyLinePlaceholder":855},[779,2673,2674],{"class":824,"line":941},[779,2675,2676],{"class":998},"# Cross-sectional area at 50 mm\n",[779,2678,2679,2682,2684,2686,2688,2690,2692,2694,2696,2698,2700,2702,2704,2706],{"class":824,"line":946},[779,2680,2681],{"class":832},"area ",[779,2683,1055],{"class":836},[779,2685,2552],{"class":832},[779,2687,837],{"class":836},[779,2689,1956],{"class":840},[779,2691,837],{"class":836},[779,2693,2479],{"class":957},[779,2695,977],{"class":836},[779,2697,1074],{"class":957},[779,2699,977],{"class":836},[779,2701,2569],{"class":836},[779,2703,1986],{"class":1754},[779,2705,2569],{"class":836},[779,2707,1086],{"class":836},[779,2709,2710,2712,2714,2716,2719,2721,2723,2725,2728,2730,2732,2734,2736,2739,2741],{"class":824,"line":951},[779,2711,1746],{"class":957},[779,2713,977],{"class":836},[779,2715,1751],{"class":969},[779,2717,2718],{"class":1754},"\"Area at 50 mm: ",[779,2720,1758],{"class":1025},[779,2722,2046],{"class":957},[779,2724,977],{"class":836},[779,2726,2727],{"class":957},"area",[779,2729,983],{"class":836},[779,2731,2068],{"class":1025},[779,2733,2071],{"class":836},[779,2735,1769],{"class":1025},[779,2737,2738],{"class":1754}," mm²\"",[779,2740,2071],{"class":836},[779,2742,2743],{"class":998},"  # π × 13.89²\n",[779,2745,2746],{"class":824,"line":966},[779,2747,856],{"emptyLinePlaceholder":855},[779,2749,2750],{"class":824,"line":992},[779,2751,2752],{"class":998},"# Inspect which section and local offset a given height falls into\n",[779,2754,2755,2758,2760,2763,2765,2767,2769,2771,2773,2776,2778,2780,2782,2784,2786,2788],{"class":824,"line":1005},[779,2756,2757],{"class":832},"section",[779,2759,983],{"class":836},[779,2761,2762],{"class":832}," local_height ",[779,2764,1055],{"class":836},[779,2766,2552],{"class":832},[779,2768,837],{"class":836},[779,2770,1956],{"class":840},[779,2772,837],{"class":836},[779,2774,2775],{"class":957},"section_at_height",[779,2777,977],{"class":836},[779,2779,1074],{"class":957},[779,2781,977],{"class":836},[779,2783,2569],{"class":836},[779,2785,2638],{"class":1754},[779,2787,2569],{"class":836},[779,2789,1086],{"class":836},[779,2791,2792,2794,2796,2798,2801,2803,2805,2807,2809,2811],{"class":824,"line":1010},[779,2793,1746],{"class":957},[779,2795,977],{"class":836},[779,2797,1751],{"class":969},[779,2799,2800],{"class":1754},"\"Section: ",[779,2802,1758],{"class":1025},[779,2804,2757],{"class":957},[779,2806,1769],{"class":1025},[779,2808,2569],{"class":1754},[779,2810,2071],{"class":836},[779,2812,2813],{"class":998},"          # ConicalFrustum(...)\n",[779,2815,2816,2818,2820,2822,2825,2827,2830,2832,2834],{"class":824,"line":1029},[779,2817,1746],{"class":957},[779,2819,977],{"class":836},[779,2821,1751],{"class":969},[779,2823,2824],{"class":1754},"\"Local height: ",[779,2826,1758],{"class":1025},[779,2828,2829],{"class":957},"local_height",[779,2831,1769],{"class":1025},[779,2833,2596],{"class":1754},[779,2835,938],{"class":836},[2482,2837,2839],{"id":2838},"shape-reference","Shape Reference",[756,2841,2842,2843,2846,2847,2850],{},"The table below shows how each concrete shape implements the three methods, where ",[802,2844,2845],{},"h"," is the queried height and ",[802,2848,2849],{},"H"," is the total height of the shape:",[2852,2853,2854,2879],"table",{},[2855,2856,2857],"thead",{},[2858,2859,2860,2864,2869,2874],"tr",{},[2861,2862,2863],"th",{},"Shape",[2861,2865,2866],{},[802,2867,2868],{},"width_at_height(h)",[2861,2870,2871],{},[802,2872,2873],{},"depth_at_height(h)",[2861,2875,2876],{},[802,2877,2878],{},"area_at_height(h)",[2880,2881,2882,2906,2927,2957,2977,2996,3022,3041,3061],"tbody",{},[2858,2883,2884,2890,2896,2901],{},[2885,2886,2887],"td",{},[2888,2889,2418],"strong",{},[2885,2891,2892,2895],{},[802,2893,2894],{},"width"," (constant)",[2885,2897,2898,2895],{},[802,2899,2900],{},"depth",[2885,2902,2903],{},[802,2904,2905],{},"width × depth",[2858,2907,2908,2912,2917,2922],{},[2885,2909,2910],{},[2888,2911,2424],{},[2885,2913,2914],{},[802,2915,2916],{},"(h\u002FH) × width",[2885,2918,2919],{},[802,2920,2921],{},"(h\u002FH) × depth",[2885,2923,2924],{},[802,2925,2926],{},"(h\u002FH)² × width × depth",[2858,2928,2929,2934,2944,2952],{},[2885,2930,2931],{},[2888,2932,2933],{},"PyramidalFrustum",[2885,2935,2936,2937,2940,2941],{},"linear interpolation between ",[802,2938,2939],{},"width_lower"," and ",[802,2942,2943],{},"width_upper",[2885,2945,2936,2946,2940,2949],{},[802,2947,2948],{},"depth_lower",[802,2950,2951],{},"depth_upper",[2885,2953,2954],{},[802,2955,2956],{},"w(h) × d(h)",[2858,2958,2959,2963,2968,2972],{},[2885,2960,2961],{},[2888,2962,1191],{},[2885,2964,2965,2895],{},[802,2966,2967],{},"2 × radius",[2885,2969,2970,2895],{},[802,2971,2967],{},[2885,2973,2974],{},[802,2975,2976],{},"π × r²",[2858,2978,2979,2983,2988,2991],{},[2885,2980,2981],{},[2888,2982,2421],{},[2885,2984,2985],{},[802,2986,2987],{},"2 × (h\u002FH) × radius",[2885,2989,2990],{},"same as width",[2885,2992,2993],{},[802,2994,2995],{},"π × ((h\u002FH) × r)²",[2858,2997,2998,3003,3015,3017],{},[2885,2999,3000],{},[2888,3001,3002],{},"ConicalFrustum",[2885,3004,3005,3008,3009,2940,3012],{},[802,3006,3007],{},"2 × r(h)",", linear interpolation between ",[802,3010,3011],{},"radius_lower",[802,3013,3014],{},"radius_upper",[2885,3016,2990],{},[2885,3018,3019],{},[802,3020,3021],{},"π × r(h)²",[2858,3023,3024,3029,3034,3036],{},[2885,3025,3026],{},[2888,3027,3028],{},"SphericalCap",[2885,3030,3031],{},[802,3032,3033],{},"2 × √(2Rh − h²)",[2885,3035,2990],{},[2885,3037,3038],{},[802,3039,3040],{},"π × (2Rh − h²)",[2858,3042,3043,3048,3053,3057],{},[2885,3044,3045],{},[2888,3046,3047],{},"HalfSphere",[2885,3049,3050,3051],{},"inherits from ",[802,3052,3028],{},[2885,3054,3050,3055],{},[802,3056,3028],{},[2885,3058,3050,3059],{},[802,3060,3028],{},[2858,3062,3063,3068,3078,3080],{},[2885,3064,3065],{},[2888,3066,3067],{},"SphericalSegment",[2885,3069,3070,3073,3074,3077],{},[802,3071,3072],{},"2 × √(2R·h' − h'²)"," where ",[802,3075,3076],{},"h'"," is height from sphere bottom",[2885,3079,2990],{},[2885,3081,3082],{},[802,3083,3084],{},"π × (2R·h' − h'²)",[3086,3087,3089],"callout",{"icon":3088},"i-heroicons-light-bulb",[756,3090,3091,3094,3095,3097,3098,2415,3100,2476,3102,3104,3105,3107],{},[2888,3092,3093],{},"Stacked containers",": When a ",[802,3096,1170],{}," has multiple sections, ",[802,3099,2472],{},[802,3101,2475],{},[802,3103,2479],{}," automatically resolve the correct section via ",[802,3106,2775],{},". The height passed is always measured from the bottom of the container, not from the bottom of the individual section.",[1293,3109,3111],{"id":3110},"standard-dimensions","Standard Dimensions",[756,3113,3114,3115,3118],{},"As mentioned in the plate section, most microplates follow the ",[760,3116,765],{"href":762,"rel":3117},[764],". To facilitate the creation and usage of labware, the library stores standard dimensions in two classes:",[814,3120,3122],{"className":816,"code":3121,"language":818,"meta":819,"style":819},"from unitelabs.labware.dimensions import StandardMicroplateDimensions\n",[802,3123,3124],{"__ignoreMap":819},[779,3125,3126,3128,3130,3132,3135,3137,3140,3142],{"class":824,"line":825},[779,3127,862],{"class":828},[779,3129,865],{"class":832},[779,3131,837],{"class":836},[779,3133,3134],{"class":832},"labware",[779,3136,837],{"class":836},[779,3138,3139],{"class":832},"dimensions ",[779,3141,829],{"class":828},[779,3143,3144],{"class":832}," StandardMicroplateDimensions\n",[2482,3146,3148],{"id":3147},"standardmicroplatedimensions","StandardMicroplateDimensions",[756,3150,3151,3153,3154,2940,3156,3159],{},[802,3152,3148],{}," holds the standard footprint (",[802,3155,1417],{},[802,3157,3158],{},"y"," dimensions) of microplates. This is used for a large variety of labware on liquid handling stations.",[756,3161,3162,3163,3165,3166,3169,3170,3172],{},"Any subclass can define a ",[802,3164,1570],{}," property (see the ",[802,3167,3168],{},"Lid"," example below) to update the z-dimension (defaults to a standard microplate height of 14.35mm). One should only set the z-dimension (height) for any subclasses of ",[802,3171,3148],{},", since the x and y dimensions are fixed to the ANSI\u002FSLAS standard (127.76 mm x 85.48 mm). This is useful for checking if specific labware can fit on carriers or adapters.",[814,3174,3176],{"className":816,"code":3175,"language":818,"meta":819,"style":819},"@dataclasses.dataclass\nclass StandardLid(StandardMicroplateDimensions, Labware):\n    \"\"\"\n    Standard lid for plates.\n\n    Attributes:\n      fitting_depth: The overlap between the lid and the plate, in mm.\n      grab_height: The distance in mm from the top of the labware where to grab it.\n    \"\"\"\n\n    dimensions: Vector = dataclasses.field(default_factory=lambda: Vector(z=10))\n    fitting_depth: Decimal = dataclasses.field(default=Decimal(default=8))\n    grab_height: Decimal = dataclasses.field(default=Decimal(default=5.7))\n",[802,3177,3178,3188,3206,3211,3216,3220,3225,3230,3235,3239,3243,3285,3320],{"__ignoreMap":819},[779,3179,3180,3182,3184,3186],{"class":824,"line":825},[779,3181,954],{"class":836},[779,3183,958],{"class":957},[779,3185,837],{"class":836},[779,3187,963],{"class":957},[779,3189,3190,3192,3195,3197,3199,3201,3204],{"class":824,"line":844},[779,3191,970],{"class":969},[779,3193,3194],{"class":973}," StandardLid",[779,3196,977],{"class":836},[779,3198,3148],{"class":973},[779,3200,983],{"class":836},[779,3202,3203],{"class":973}," Labware",[779,3205,989],{"class":836},[779,3207,3208],{"class":824,"line":852},[779,3209,3210],{"class":828},"    \"\"\"\n",[779,3212,3213],{"class":824,"line":859},[779,3214,3215],{"class":998},"    Standard lid for plates.\n",[779,3217,3218],{"class":824,"line":878},[779,3219,856],{"emptyLinePlaceholder":855},[779,3221,3222],{"class":824,"line":887},[779,3223,3224],{"class":998},"    Attributes:\n",[779,3226,3227],{"class":824,"line":895},[779,3228,3229],{"class":998},"      fitting_depth: The overlap between the lid and the plate, in mm.\n",[779,3231,3232],{"class":824,"line":903},[779,3233,3234],{"class":998},"      grab_height: The distance in mm from the top of the labware where to grab it.\n",[779,3236,3237],{"class":824,"line":911},[779,3238,3210],{"class":828},[779,3240,3241],{"class":824,"line":919},[779,3242,856],{"emptyLinePlaceholder":855},[779,3244,3245,3247,3249,3252,3254,3256,3258,3260,3262,3265,3267,3269,3271,3274,3276,3279,3281,3283],{"class":824,"line":927},[779,3246,1407],{"class":832},[779,3248,1016],{"class":836},[779,3250,3251],{"class":832}," Vector ",[779,3253,1055],{"class":836},[779,3255,1058],{"class":832},[779,3257,837],{"class":836},[779,3259,1063],{"class":957},[779,3261,977],{"class":836},[779,3263,3264],{"class":1068},"default_factory",[779,3266,1055],{"class":836},[779,3268,1146],{"class":969},[779,3270,1016],{"class":836},[779,3272,3273],{"class":957}," Vector",[779,3275,977],{"class":836},[779,3277,3278],{"class":1068},"z",[779,3280,1055],{"class":836},[779,3282,2219],{"class":1025},[779,3284,1086],{"class":836},[779,3286,3287,3290,3292,3294,3296,3298,3300,3302,3304,3306,3308,3310,3312,3314,3316,3318],{"class":824,"line":935},[779,3288,3289],{"class":832},"    fitting_depth",[779,3291,1016],{"class":836},[779,3293,1052],{"class":832},[779,3295,1055],{"class":836},[779,3297,1058],{"class":832},[779,3299,837],{"class":836},[779,3301,1063],{"class":957},[779,3303,977],{"class":836},[779,3305,1069],{"class":1068},[779,3307,1055],{"class":836},[779,3309,1074],{"class":957},[779,3311,977],{"class":836},[779,3313,1069],{"class":1068},[779,3315,1055],{"class":836},[779,3317,1618],{"class":1025},[779,3319,1086],{"class":836},[779,3321,3322,3324,3326,3328,3330,3332,3334,3336,3338,3340,3342,3344,3346,3348,3350,3353],{"class":824,"line":941},[779,3323,1047],{"class":832},[779,3325,1016],{"class":836},[779,3327,1052],{"class":832},[779,3329,1055],{"class":836},[779,3331,1058],{"class":832},[779,3333,837],{"class":836},[779,3335,1063],{"class":957},[779,3337,977],{"class":836},[779,3339,1069],{"class":1068},[779,3341,1055],{"class":836},[779,3343,1074],{"class":957},[779,3345,977],{"class":836},[779,3347,1069],{"class":1068},[779,3349,1055],{"class":836},[779,3351,3352],{"class":1025},"5.7",[779,3354,1086],{"class":836},[3356,3357,3358],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":819,"searchDepth":825,"depth":844,"links":3360},[3361,3362,3366],{"id":1295,"depth":844,"text":1296},{"id":2408,"depth":844,"text":2409,"children":3363},[3364,3365],{"id":2484,"depth":852,"text":2485},{"id":2838,"depth":852,"text":2839},{"id":3110,"depth":844,"text":3111,"children":3367},[3368],{"id":3147,"depth":852,"text":3148},"Define custom microplates using the Plate base class and ANSI\u002FSLAS standard dimensions.","md",null,{},{"title":201,"description":3369},"xBo4p0pdC687b_3PXBbxaTgLRXuyggDRuNv71mkwwGg",[3376,3378],{"title":197,"path":198,"stem":199,"description":3377},"Learn how to use the labware library by importing standard labware.",{"title":205,"path":206,"stem":207,"description":3379},"Define custom tip types and tip racks for Hamilton liquid handlers.",1783607765637]