k8凯发

    OT-2 Media dispensing and culture inoculation protocol

    Ana Mariya Anhel, Lorea Alejaldre, Ángel Goñi-Moreno

    Published: 2022-10-27 DOI: 10.17504/protocols.io.q26g7yb3kgwz/v1
    AI 解读
    浏览 1634

    Abstract

    This protocol is meant to distribute reactive(s) into well plates with a single channel pipette, and then transfer culture samples from a source plate to these plates with a multi channel pipette.

    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 to prepare cultures plates to perform a subsequent counter-selection

    Before start

    Note that the source and final 96-well plates will follow the same order (If a row of the source plates has empty wells the tips for the multichannel will aspirate in that well)

    Steps

    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:

    1. Template to use in protocol
    2. Explanation of each variable
    3. Several examples

    Template_Variables_PlateGeneration.xlsx

    1.1.

    Fill the template with the corresponding values

    1.2.

    Store it as a comma-separated values file (csv) with the name Variables-AntibioticPlatesCreation-OT.csv

    Safety information
    The file should be spelled exactly Variables-SamplesMerging-OT.csv or the python script won't work.Make sure that the final csv is separated by commas, not by semicolons and that the variables have 2 quotation marks and not 6, in case they need quotation marks (these are added when going from excel to csv)

    Note
    In Windows 10 to change excel separator from ";" to "," you should go to Region Setings > Change date, time, or number formats > Additional settings > change List separator from ; to , Other option is opening the exported .csv file in an editor and replace all ; to , and remove the extra quotation marks

    2.

    Transfering csv to Robot

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

    Safety information
    Previous to transfering any file to the OT, we need to know the IP of the robot.This can be obtained in the Networking section of the Device that we are going to use (In the OT-App > Devices > (three dots) Networking)

    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-PCRs-OT.csv to the OT system.

    We need to perform the following line:

    #Passing Files to OT (Ubuntu)
    scp -i [ot_key] [file] root@[IP_OT]:/data/user_storage
    

    Safety information
    The ot key should have been previously generated, for more info visit The ot key should have been previously generated, for more info visit http://support.opentrons.com/s/article/Setting-up-SSH-access-to-your-OT-2

    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 (http://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

    Example of setting the FileZilla to transfer files from windows (our computer) to linux (OT)
    Example of setting the FileZilla to transfer files from windows (our computer) to linux (OT)

    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.

    Note
    Take in account that the IP of the robot could change, so it is possible that from time to time it will be needed to change the host in these connections.

    Note
    The method described for the Windows system can be done as well in Ubuntu and Mac

    3.

    Adding the custom labware

    Note
    There is only a need to do this step when a labware that you ar eusing is not OT official or your labware is not in the OT directory /data/labware/v2/custom_definitions/custom_labware

    Safety information
    This process/step is needed in the version 6.0.1 or below (when this protocol was developed).According to their guide, this protocol should be possible only loading the labware in the OT-App (According to their guide, this protocol should be possible only loading the labware in the OT-App (http://support.opentrons.com/s/article/Using-labware-in-your-protocols).).This bug has been reported and, hopefully, will be resolved as soon as possible. It is possible that you do not need to do this step if this error does not occur to you.

    3.1.

    Creation of .json file

    The description file can be obtained by describing the labware dimensions in http://labware.opentrons.com/create/

    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

    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

    #Transfering directory to OT (Linux)
    scp -i [ot_key] -r [directory_custom_labware] root@[IP_OT]:/data/labware/v2/custom_definitions/custom_beta
    

    Note
    We do not need to execute this part every time the protocol is used, only when that labware is not included in the OT official labware and these directories are not in the robot that we are using

    4.

    Simulating and getting the output (user instructions)

    For more information in how to setup the ssh visit the official OT support blog (http://support.opentrons.com/s/article/Setting-up-SSH-access-to-your-OT-2)

    4.1.

    Passing 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 http://github.com/Biocomputation-CBGP/OT2/tree/main/AntibioticPlatesGeneration (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)

    Note
    You can do this step only once and use always the same python scriptThe only time that you need to change it is when there is an update in github, then you should download the new script version and do this step

    4.2.

    Simulating

    We should connect to the robot via ssh

    #Connect to Linux based OT via ssh (Linux)
    ssh -i [ot_key] root@[Robot_IP]
    

    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

    #Simulate OT protocol (Linux)
    opentrons_simulate -o nothing -e [name_script].py > [name_instruction_file].txt 2>&1
    

    Note
    Do not wory if it takes a little bit of time

    4.3.

    In case that you want to see the instruction file before the next step, you can see the instruction file with cat

    #Show content file cmd (Linux)
    cat [name_instruction_file].txt
    
    4.4.

    Retriving output file (user instructions)

    To retrive 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:

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

    Note
    It is recommended to have at least 10uL more of each reactive in each tube to make sure that the pipette does not take a bubble when aspirating

    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 .

    Run Protocol

    5.

    Setting Labware

    5.1.

    Wipe the surface of the deck with 70% ethanol to clean and desinfect the surfaces

    Note
    For more information in how to clean the robot go to the following link For more information in how to clean the robot go to the following link http://support.opentrons.com/s/article/Cleaning-the-robot-s-surfaces

    5.2.

    Set the respective labwares in the slots as the OT App and the instruction file set

    Safety information
    Make sure that the source and final A1 wells are at the left top (common mistake), and each labware fits appropierly.

    5.3.

    Set the different reactives in their respective falcon tuberack positions, as stated in the instruction file

    Safety information
    The protocol is going to aspirate from the falcon at a scpecific height which is set with the volume of the faqlcon, so make sure that you dont have a falcon with more than 1mL more than the instruction file specific volume.This way, the pipette will not end wet in the running of the 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.

    Safety information
    This whole step has been developed with version 6 of the OT-App Indications may vary from version to version

    6.1.

    Load the script

    Protocols > Import > Drag the python script

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

    Safety information
    The App with version 6 analyzes your protocol before setting a robot to run, so the labware will not be shown before assigning the protocol to a specific robot.

    6.2.

    Select Robot to Perform Script

    Click in the protocol > Run Protocol > Choose the OT where the file Variables-AntibioticPlatesCreation-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

    Example of Labware Setup for this protocol
    Example of Labware Setup for this protocol

    Note
    It is recommended that you perform a labware position check.You can do it with test plates before cleaning the surface, that way you reduce the probability of contamination (using the test plates and labware) and pipetting errors (position check).

    7.

    Run Protocol in OT

    7.1.

    Make sure the needed calibrations are done

    7.2.

    Labware position check is performed (if needed)

    7.3.

    Start Run

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

    1. Distributing of antibiotic or reactives in respective plates
    2. Transfering samples to corresponding plates

    Safety information
    Make sure that the wells of the source plates are at least filled with 25µl so the pipettes can aspirate a sample

    Citation
    As many final plates as antibiotics per source plates introduced in the variables .csv fileWe are going to obtain 1 plate per antibiotic and source plate, there will be no combining of source plates samples

    Note
    The script is going to be the same so we can load it only once to the OT-App.To re-run the protocol make sure that the filled template is in the OT system and

    After-Running

    8.

    Retrieve labware from the OT

    Example

    9.

    We want to transfer samples from 3 source plates to different antibiotic plates, one per antibiotic and source plate (Example 2 in Template_Variables_PlateGeneration.xlsx )

    We will use a computer with an Ubuntu system connected via USB to the robot

    9.1.

    Excel temple filled and exported to csv with the name Variables-AntibioticPlatesCreation-OT.csv

    Variables-AntibioticPlatesCreation-OT.csv

    9.10.

    Retrieve labwares from the OT

    9.2.

    Export the csv to /data/user_storage

    cmd window with scp commands to transfer the .csv from our computer to the OT
    cmd window with scp commands to transfer the .csv from our computer to the OT
    9.3.

    We have never used a 96-well tissue plate labware with the API name vwrblueprintdepth105_96_wellplate_390ul, so we must pass the directory regarding this labware to the robot

    cmd window with scp commands to transfer the custom labware directory from our computer to the OT
    cmd window with scp commands to transfer the custom labware directory from our computer to the OT
    9.4.

    Pass the scipt that I have downloaded from http://github.com/Biocomputation-CBGP/OT2/tree/main/AntibioticPlatesGeneration (I named it AntibioticPlateGeneration-example.py), connect to OT computer, simulate, exit OT system, store the output in instructions_AntibioticPlateGeneration_Example2.txt and import it to the computer

    cmd window with scp commands to transfer the python script from our computer to the OT
    cmd window with scp commands to transfer the python script from our computer to the OT

    instructions_AntibioticPlateGeneration_Example2.txt

    9.5.

    Prepare all reactives and labwares

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

    Deck sketch with labware and reactives leyend
    Deck sketch with labware and reactives leyend
    Falcon Tuberack with reactives (positions and volumes)
    Falcon Tuberack with reactives (positions and volumes)
    9.6.

    Load to OT-App the AntibioticPlateGeneration-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

    Calibration Tab OT with Example2 variables
    Calibration Tab OT with Example2 variables
    Labware Setup Tab OT with Example2 variables
    Labware Setup Tab OT with Example2 variables
    9.7.

    Turn HEPA module on and desinfect OT-2

    9.8.

    Load protocol labware as instructed in Step 9.6

    9.9.

    Run protocol

    The final results should look like the following pictures

    Deck reactives positions and volumes at the end of the run
    Deck reactives positions and volumes at the end of the run
    Falcon tuberack reactive volumes at the end of the protocol
    Falcon tuberack reactive volumes at the end of the protocol

    推荐阅读

    Nature Protocols
    Protocols IO
    Current Protocols
    扫码咨询