OT-2 Protocol to transfer volume from several plates to a single plate
Ana Mariya Anhel, Lorea Alejaldre, Ángel Goñi-Moreno
Abstract
This protocol is meant to transfer samples from different plates to a single or fewer final plates than the source number, in other words, merge samples of different source plates in a final plate.
The output of running this script will be the final plate(s) with samples and a reactive (optional), and the corresponding map(s) with the original identities of the samples which will be given by the user in the input file.
This protocol uses a python script for an Opentrons 2 robot and an excel file containing the required variables to set the number of samples, volumes of transfer, type of plates, etc...
In our laboratory, this protocol has been used as part of the "High-throughput workflow for the genotypic characterization of transposon library variants" also available in protocols.io
This protocol is a set of instructions or description of the LAP repository entry LAP-NplateMerging-OT2-2.0.0
You can find the script and complementary information for this specific version of the protocol in this LAP entry link and GitHub Link to LAP entry documents
The major changes from previous version are:
- Change of name variable API Name Rack 15mL Falcon Reactives Name Rack 15mL Falcon Reactives which is called now API Name Rack Falcon Reactives
- The program now accepts falcon tubes and tube racks of 15ml or 50ml. It does not accept mix tube racks.
- Description of robot and protocol setup in a separate protocols.io entry (Setting and Customizing OT-2 for LAP Entries)
- The page(s) that corresponds to the map(s) set in the variable 'Name Sheet Map Identifiers' of the page PerPlateVariables need to have the column and row names corresponding to the ones of the labware set in the variable 'API Name Source Plate' of the sheet GeneralVariables
Before start
It is important to note the location of the source plate in the OT-2 slots, the identity of the samples is provided by excel sheets in the input variable. It should be noted that If 2 samples within a plate have the same name, they will be indistinguishable in the final plate(s)
Steps
Files Preparation
Preparing Customized Template
Preparing the template (a .xlsx) with the specific variables for each experiment.
Attached there is a template of the variable file with several sheets and a PDF file explaining each variable:
- GeneralVariables: variables related to the labware to be used
- PipetteVariables: variables related to the pipettes to be used
- PerPlateVariables: variables related to the specifications of each source plate
- Maps (Optional): sheet(s) with the names of the samples in the source plates. These will be reflected in the final plate map --> not included in the template but needs to be included and have the same names as established in the variable Name Sheet Map Identifiers from the PerPlateVariablesSheet Name Sheet Map Identifiers from the PerPlateVariablesSheet
MergeSamplesInstructionsv200.pdf
Fill the template with the corresponding values
Save it with the name VariablesMergeSamples.xlsx
Setting the robot
Prepare the system of the robot to run the protocol
For this protocol to work we need to transfer the VariablesMergeSamples.xlsx to the directory /data/user_storage of the OT system that we will use to perform the protocol
As well, if we are using custom labware we need to upload it to the OT App and send it to the directory /data/labware/v2/custom_definitions/custom_beta if the labware is not there yet.
Finally, we need to make sure the package openpyxl is installed in the robot system
We can do this entire step by following the protocol Setting and Customizing OT-2 for LAP Entries with the specifications given in the text above
Running Protocol
Load script in OT-App
Now that we have transferred the variable files to the robot, we can import the script and run it in the selected robot
Software
Value | Label |
---|---|
Opentrons App | NAME |
Windows >=10, Mac >=10 | OS_NAME |
, Ubuntu >=12.04 | OS_VERSION |
https://opentrons.com/ot-app/ | REPOSITORY |
Opentrons | DEVELOPER |
Load the script in the App
Protocols -> Import -> Drag Python script
This version of the protocol was developed when the last version available of LAP-NplateMerging-OT2 was the 2.0.0 which script you can find attached
The name of the python file is user's choice, it will work with any name in the app.
Software
Value | Label |
---|---|
LAP Repository | NAME |
www.laprepo.com | REPOSITORY |
https://biocomputationlab.com/ | DEVELOPER |
Select Robot to Perform Script
Click in the protocol -> Start setup -> Choose the OT where the file VariablesMergeSamples.xlsx is -> Proceed To Setup
After clicking on Proceed to Setup, you should obtain, the positions of the labware in the Labware and in the Liquids tabs, the reagents and their corresponding volume.
In case the protocol with the set variables cannot run, an error will occur during the run of that simulation. Many errors are contemplated already and have a specific message that hints the user what could have gone wrong.
Run Protocol in OT
Make sure the needed calibrations are done
Pipettes, tip racks and tip length calibrations need to be done for the items used in this run
Labware position check is performed (if required)
Clean the surface of the robot with 70% ethanol to clean and disinfect the surfaces
Set the labware and reagents as shown in the OT-App
Start Run
The procedure that the robot is going to do is mainly divided into 3 parts:
- Select which samples, taking into account the variable Type of Sample Selection
- (Optional) Distribute reactive(s)
- Distribute selected samples
After-Running
Retrieve labware from the OT
Import map from robot
There will be a map with the name set in the variable Name File Final Map in the sheet GeneralVariables followed by the extension .xlsx: [ Name File Final Map ] .xlsx
This file will be located in the directory /data/user_storage in the robot where the script has been run.
To retrieve the file, we can and reproduce it by transferring the files from the robot to the computer.
Take in account that files overwrite, so if you have given the same name to the final map in 2 consecutive runs, you will get only the results of the last run.
Example
We want to merge 16 samples from 5 source plates in a different way, 1 of them selecting samples from back to front, 2 in a random way and 2 from front to back.
Our final plate will have half the plate already occupied by other samples , and we want to add to all the samples water , so we need to take into account those details
We will use a computer with a Windows 10 system
Prepare variable file
Excel template that we can find filled and saved with the name
VariablesMergeSamples.xlsx
Retrieve labwares from the OT
Retrieve the final maps , in this case, the map file will be called example-mapMerge.xlsx (name that is stated in the variable file in the variable Name File Final Map )

For more information about how to retrieve files from the robot
Upload custom labware to app
We are using a custom labware called vwrblueprintdepth105_96_wellplate_390ul that has been created with the labware creator that opentrons offers (https://labware.opentrons.com/create/)
vwrblueprintdepth105_96_wellplate_390ul.json
We upload it to the opentrons app (make sure that is in the robot app) and the robot system as stated in the protocol in step
vwrblueprintdepth105_96_wellplate_390ul.zip
(this is a zip file because needed to be compressed to upload to protocols.io but what needs to be transferred to the robot is the folder inside of the zip file)
Run the protocol in the robot that we have transferred the Excel file
Example-ScriptMergePlates.py Example-ScriptMergePlates.py -> Start setup -> Select the robot in which we are going to run the protocol
If we do not have any errors, the output should look similar to the following pictures


Turn the HEPA filter module
Clean platform of the robot that we are going to perform the protocol
Prepare all reagents and labware in the places the App is showing and take into account the notes in step
Start run

