TITLE: OT-2 Protocol to transfer volume from several  plates to a single plate 
AUTHORS: Ana Mariya Anhel, Lorea Alejaldre, Ángel Goñi-Moreno

[DESCRIPTION]
This protocol is meant to transfer samples from different plates to a single plate. The output of running this script will be the final plate(s) and the corresponding map(s) with the original identities of the samples.

This protocol uses a python script for an Opentrons 2 robot and a .csv 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



[BEFORE_START]
It is important to annotate the location of the source plate in the OT-2 slots, the identity of the samples in each well is going to be a combination of the position of the source well and the identity given in the map of that position.

[GUIDELINES]
This protocol was developed with python 3.9.7, OT App Software Version 6.1.0 and API level version 2.13. It has been tested with cultures from Pseudomonas putida KT2440 as part of the High-throughput workflow for the genotypic characterization of transposon library variants.

The maximum number of 96-well plates per run is 6 source plates to 2 final plates (if no media is dispensed and only 30 samples are transferred per source plate)

[STEPS]
SECTION: Files Preparation
1. Preparing Customized Template

Preparing the template (.csv file) with the specific variables for each experiment.

Here we attach one excel with the following sheets:
Template to use in protocol
Explanation of each variable
An Example

  

SECTION: Running Protocol
5. Setting Labware
SECTION: After-running
8. Retrieve labware from the OT
SECTION: Example
10. We are going to transfer 30, 45 and 15 samples from 3 different source plates to a single plate with the variables set in the Example of the Template_MergingSamplesPlates.xlsx attached in Step 1.

We will use a computer with an Ubuntu system connected via USB to the robot
SECTION: Files Preparation
2. Transferring csv to Robot


Transfer the Variables-SamplesMerging-OT.csv  to the directory /data/user_storage of the OT system that we are going to use to perform the protocol.

 


Here we present a summary of how to transfer the files in 3 OS: Windows, Mac and Ubuntu (applicable to most Linux)


Mac/Linux
We will use the command line with scp to transfer the file Variables-SamplesMerging-OT.csv  to the OT system.

We need to perform the following line:
 

 


Windows
There are several ways to pass files from a windows to a linux (for example with a virtual machine).

Here we will use FileZilla (https://filezilla-project.org/download.php?type=client).

Go to File > Site Manager > New Site > Change Protocol to SFTP. Then introduce in Host the OT IP, change the Logon Type to key file, change the user name to root and give the directory were the ot key is. Should look something like this

  
 
Then press connect and we will have a conection between our computer and the robot.

After this connection, we should be able to move out Variables-SamplesMerging-OT.csv (in our computer) to the directory /data/user_storage in the robot.

 

 

SECTION: Files Preparation
3. Adding the custom labware
 

 


SECTION: Files Preparation
4. Simulating and getting the output (user instructions)


For more information in how to setup the ssh visit the official OT support blog (https://support.opentrons.com/s/article/Setting-up-SSH-access-to-your-OT-2)
SECTION: Running Protocol
6. Load script in OT-App

Now that we have made sure that the protocol is going to work we import the python script in the OT-App.
 

SECTION: Running Protocol
7. Run Protocol in OT
SECTION: After-running
9. Importing maps from robot

This can be done if in Step 1 the variable Optional Map was set to True

There will be as many maps as source plates with the following structure of names: VariableNameMap_PositionSlot.csv

To retrieve we can   and reproduce it with transfering the files to the computer. 

They will be in the directory /data/user_storage

 

SECTION: Example
10.1. Excel template filled and exported to csv with the name Variables-SamplesMerging-OT.csv

  

SECTION: Example
10.2. Export the variables and source plates maps (for the creation of the final map) csv to /data/user_storage

  
  
SECTION: Example
10.3. We have never used a 96 tisue plate labware with the API name vwrblueprintdepth105_96_wellplate_390ul, so we must pass the directory regarding this labware to the robot

  
SECTION: Example
10.4. Pass the scipt that I have downloaded from https://github.com/Biocomputation-CBGP/OT2/tree/main/MergingSamplesSourcePlates (I named it PlateMerging-Example.py), connect to OT computer, simulate, exit OT system, store the output in instructions_examplePlateMerging.txt and import it to the computer

  
  
  

SECTION: Example
10.5. Prepare all reactives and labwares

Initial Labware Setup and falcon tuberack(s) setup should look like the following picture
  

  

SECTION: Example
10.6. Load to OT-App the PlateMerging-Example.py > Run > Select robot in which we are going to run the protocol

The window and tabs of the OT-App should look like the following pictures

  
  

SECTION: Example
10.7. Desinfect OT
SECTION: Example
10.8. Load protocol labware as instructed in Step 10.6
SECTION: Example
10.9. Run protocol

The final results should look like the following pictures
  


  

SECTION: Example
10.11. Retrieve final maps.

There is going to as many maps as final plates were needed.

   
  
SECTION: Files Preparation
1.1. Fill the template with the corresponding values
SECTION: Files Preparation
1.2. Store it as .csv file with the name Variables-SamplesMerging-OT.csv

 

 


SECTION: Files Preparation
3.1. Creation of .json file

The description file can be obtained by describing the labware dimensions in https://labware.opentrons.com/create/
SECTION: Files Preparation
3.2. Creating description folder

We need to create for our custom labware a folder with the API name containing the description file (.json) called 1.json
SECTION: Files Preparation
3.3. Transfer the description folder to the OT robot

We need to transfer the directory or directories created in Step 3.2

For that we need to introduce the following command (in Linux), for Windows process   
 

 

SECTION: Files Preparation
4.1. Transferring python script

To make sure that the protocol will work with the variables we have introduced we need to run the python script in the robot with the OT simulator.

The last script version can be found at https://github.com/Biocomputation-CBGP/OT2/tree/main/MergingSamplesSourcePlates (name of this file is user's choice)

For that we can   but instead of passing the variables file, we pass the python script. In this case we can transfer it to the directory /data/user_storage or we can directly pass it to the directory /root (recommended)


 

SECTION: Files Preparation
4.2. Simulating

We should connect to the robot via ssh
 

Then we would move to the directory where the python script is with the cd command

Finally we are going to perform the simulation of the opentrons

 

 

SECTION: Files Preparation
4.3. In case that you want to see the instruction file before the next step, you can see the instruction file with cat
 

SECTION: Files Preparation
4.4. Retrieving output file (user instructions)
To retrieve the output from the OT system you can   , replicate it but transfering the file from the OT to your computer

In this file we have 2 or more sections:

(Optional) Warnings
General Information: pieces of information that are extracted from variables in the variables file and are only remainders
Deck Labware Position: this information will be provided by the OT as well
(Optional) Falcon Reactive Positions: for each falcon tuberack that is needed (with 15 positions) we have a table with the reactives and their respective volumes

 

In the case that something went wrong, the variables are not consistent or there is not enough deck place to perform the experiments the instruction file will be sorter and will have a single section, Errors.

SECTION: Running Protocol
5.1. Wipe the surface of the deck with 70% ethanol to clean and desinfect the surfaces
 

SECTION: Running Protocol
5.2. Set the respective labwares in the slots as the OT App and the instruction file set

 

SECTION: Running Protocol
5.3. Set the different reactives in their respective coldblock positions, as stated in the instructions file
 

SECTION: Running Protocol
6.1. Load the script

Protocols > Import > Drag the python script
 

 

SECTION: Running Protocol
6.2. Select Robot to Perform Script

Click in the protocol > Run Protocol > Choose the OT where the file Variables-SamplesMerging-OT.csv  is > Proceed To Setup

After clicking in Proceed to Setup you should obtain the setup of the labware as instructed in the Deck Labware Positions section of the instructions file.

The Labware Setup tab should look similar to the following image

  
 
 

SECTION: Running Protocol
7.1. Make sure the needed calibrations are done
SECTION: Running Protocol
7.2. Labware position check is performed (if needed)
SECTION: Running Protocol
7.3. Start Run

The procedure that the robot is going to do is mainly divided in 3 parts:

Distributing media to all wells that will have a sample (in case that volume of media to transfer is greater than 0)
Transfering samples to the corresponding wells
Creating maps with their identifiers, one per final plate

 


 

SECTION: Example
10.10. Retrieve labwares from the OT