TITLE: OT-2 Counter-Selection
AUTHORS: Ana Mariya Anhel, Lorea Alejaldre, Ángel Goñi-Moreno

[DESCRIPTION]
This protocol is meant to select the samples from 1 source plate that has been growing in different conditions and has different values for these different conditions, one condition gives higher values and the other lower values. From this selected samples this protocol create final plates with 2 types of reactives

The instructions for running this protocol are a python script for an Opentrons 2 robot and need a csv file with several variables setted making the protocol modular to reactives, volumes of transfer, type of plates, etc.

In our lab we are selecting samples by their after night OD in 2 different antibiotics and create PCR plates (with water) and stock plates (with glycerol), but it can be used with other selection characteristics as expression of GFP and with other types of reactives.


[BEFORE_START]
Note that this protocol can be done for one 96-well source plate at a time. In addition, it can only be performed with two selection variables (2 files with 1 condition per file in which one should be higher than a value and the other lower than this same value ).

[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 counter-selection step in the High-throughput workflow for the genotypic characterization of transposon library variants. 30% glycerol and water have been successfully dispensed using this protocol.

The maximum number of 96-well plates per run is 1 source plates to 7 final plates (using 2 tip racks per pipette and 1 tube rack for falcons tubes).

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

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

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

  
SECTION: Running Protocol
5. Setting Labware
SECTION: After-Running
8. Retrieve labware from the OT
SECTION: Example
10. We want to select the samples that have an OD600nm higher than 0.07 in the Antibiotic Transposition genome file (ODvalues_ant_library1.csv) and have an OD600nm lower than 0.07 in the Antibiotic ampicillin plasmid file (ODvalues_amp_library1.csv). This corresponds to the example in the Template excel file in   

  
  

SECTION: Files Preparation
1.1. Fill the template with the corresponding values
SECTION: Files Preparation
1.2. Store it as a comma-separated values file (csv) with the name Variables-ColonieScreening-OT.csv
 

 

SECTION: Files Preparation
2. Transferring csv to Robot


Transfer the Variables-ColonieScreening-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-ColonieScreening-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-ColonieScreening-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: 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/ColonySelection (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 3 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
15mL Tuberack Reactive Positions: for each 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 consistents 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 instruction file
 

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.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: 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-ColonieScreening-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:

Select colonies that comply with the selected parameters 
Distribute reactives to respective plates
Distribute to all plates the selected culture samples
Generate identity maps (to be exported in following steps)


 

 


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

  

SECTION: Example
10.2. Export the variables csv and the OD csv files to /data/user_storage

  

  
SECTION: Example
10.3. We have never used the labware 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/ColonySelection (I name it ColonyScreening-Example.py)

  
SECTION: Example
10.5. Connect to OT computer, simulate, exit OT system, store the output in instructions_example_coloniescreening.txt and importing it to the computer

  

  

SECTION: Example
10.6. Prepare all reactives and labwares

Initial Labware Setup and Coldblocks setup should look like the following picture

    



SECTION: Example
10.7. Load to OT-App the ColonyScreening-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.8. Turn HEPA module on and wipe OT with 70% ethanol
SECTION: Example
10.9. Load protocol labware as instructed in Step 10.6
SECTION: Example
10.10. Run protocol

The final results should look like the following pictures

  

  

SECTION: Example
10.11. Retrieve labwares from the OT
SECTION: Example
10.12. Retrieve the final map (in this case will be called map_lib1_exampleColonieScreening.csv) of the IDs of the samples that fulfilled the requisites