This repository contains the code to execute the optimization of the aspiration and dispense rates of robotic air displacement pipettes for the accurate and fast transfer of challenging liquids. This GitHub repository is part of the Electronic Supporting Information (ESI) for the publication Optimization of Liquid Handling Parameters for Viscous Liquid Transfers with Pipetting Robots, a “Sticky Situation” (10.26434/chemrxiv-2023-cbkqh) where we described a method to use MOBO to obtain aspiration and dispense rates that minimize transfer error and time to transfer 1000 µL of viscous liquids.
The experimental protocol to perform the optimization of liquid handling parameters of viscous liquids is summarized in the figure below. The protocol comprises 3 steps: initialization, exploration, and optimization. The in the initialization step the flow rate of the liquid within the pipette tip (a1) is estimated by recording the time required to aspirate 1000 µL at a default rate. The second step is the exploration phase where the boundaries of the parametric space of aspiration and dispense rates are tested. In this step five gravimetric transfers are recorded using the following combinations aspiration and dispense rate respectively: (a1,a1), (1.25xa1,1.25xa1), (1.25xa1,0.1xa1), (0.1xa1,1.25xa1) and (0.1xa1,0.1xa1). Finally, a MOBO algorithm is used to suggest new combination of aspiration and dispense rates that minimize transfer error and time to transfer 1000 µL.
The code required to perform the MOBO of the liquid handling parameters of viscous liquids is define the BO_LiqTransfer class in bo_liquid_transfer.py. The class can be used to either perform the optimization of liquid handling parameters (aspiration and dispense rates) of a electronic pipette through a semi-automated method where a human experimenter assist with the optimization or in full automated fashion using a liquid handling platform able to be controlled from a kernel with torch packages installed and that can contains an automated mass balance. The former method is preferred when the optimization of a commercial liquid handling platform such as the Opentrons OT2 platform that does not allow the user to install the required python packages to perform BO or that it does not contain an automated mass balance. The latter method was used in a in-house assembled liquid handling platform controlled through controllalby a lab equipment automation package (https://pypi.org/project/control-lab-ly/).
The notebook MOBO_liquid_handling_paramters.ipynb has three examples of different ways that BO_LiqTransfer can be implemented, this notebooks are representative of the code used to generate the data presented in 10.26434/chemrxiv-2023-cbkqh. The examples in the notebook are:
-
BO_LiqTransfer implemented to optimize the transfer parameters of an Opentrons OT2 liquid handling platform through a semi-automated method. The method requires an experimenter to run the code and to measure the weight changes after each transfer. The MOBO_liquid_handling_parameters.ipynb notebook needs to be run in parallel with Opentrons_optimization_commands.ipynb that controls the actions of the Opentrons OT2 platform. Finally the calibration experiment of the best performing liquid handling parameters can be executed with the notebook Opentrons_calibration_commands.ipynb.
-
BO_LiqTransfer implemented to optimize the transfer parameters of an Sartorius rLine1000 pipette in an in-house assembled automated liquid handling platform through a semi-automated method. The method requires an experimenter to run the code required for the initialization step. The method requires a liquid handling platform with an automated mass balance and with a computer with botorch and controllably packages installed.The code to control the platform can be reused by integrating the code control the automated platform with the controllably framework.
-
BO_LiqTransfer implemented to optimize the transfer parameters of an Sartorius rLine1000 pipette through a fully automated protocol using an in-house assembled liquid handling platform. The method requires a liquid handling platform with an automated mass balance and with a computer with botorch and controllably packages installed. The code to control the platform can be reused by integrating the code control the automated platform with the controllably framework.
Supporting information from (10.26434/chemrxiv-2023-cbkqh)
The data collected during the experiments and the code to prepare the graphs presented in (10.26434/chemrxiv-2023-cbkqh) can be found in the folder Data.