• 英国上市公司365

    OT-2 PCR sample preparation protocol  

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

    Published: 2023-12-23 DOI: 10.17504/protocols.io.n92ldpyznl5b/v2
    AI 解读
    浏览 1649

    Disclaimer

    Abstract

    This protocol is meant to perform samples preparation of PCR plates for 1 or more primer sets (defined number of primers per set established by the user) to the same samples, i.e, we will have for all the selected samples (we can set the initial well and number of samples) of all source plates the master mix with different primer sets (combination of primers, water and polymerase mix) in the final plates.

    To run this protocol is needed a python script for an Opentrons 2 robot and an excel (.xlsx) file with several variables making the protocol modular to reactives, volumes of transfer, type of plates, number of primers per set, 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 PCR samples for sending to sequencing and for checking the correct introduction of the transposon in the bacterial genome.

    This protocol is a set of instructions or description of the LAP repository entry LAP-PCR-OT2-1.0.0

    Before start

    Steps

    Files Preparation

    1.

    Preparing Customized Template

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

    Here we attach one Excel with several sheets and a PDF file explaining each variable:

    1. GeneralVariables: variables related mainly to the labware that is going to be used
    2. SamplesPlateVariables: variables related to the specifications of each source plate
    3. PipetteVariables: variables related to the pipette(s) that are going to be used
    4. ReagentsPerReaction: variables that will determine the final mix of the wells
    5. ModuleVariables: variables related to the modules used in the protocol, the thermocycler and the heater-shaker
    6. TemperatureProfile (Optional): PCR program that will be performed in the thermocycler if set as True in the ModuleVariables sheet
    7. Maps (Optional): sheet(s) with the names of the samples in the source plates and will be reflected in the final plate map(s) --> not included in the template but needed to be included if the variable Map IDs has a value .

    Template-VariablesPCR.xlsx

    PCRInstructions.pdf

    1.1.

    Fill the template with the corresponding values

    1.2.

    Store it with the name VariablesPCR.xlsx

    Note
    The file should be spelt exactly VariablesPCR.xlsx or the Python script won't work correctly

    2.

    Transferring file to Robot

    Transfer the VariablesPCR.xlsx to the directory /data/user_storage of the OT robot that we will use to perform the protocol.

    Note
    Before transferring 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 will use.To obtain this info go to OT-App -> Devices -> Chosen Robot (three dots) --> Robot Settings -> Networking In this tab, you can see 2 types of IP; one is shown if both the robot and you are connected to the same Wifi, and the other is shown if the computer and the robot are connected via USB. Both connections can be used for this step.

    Note
    To connect to the robot, an OT-key should have been previously generated, and it is done with the ssh-keygen command and transferring the public key to the OT. For more information about how to generate and set the connection between your computer and the Opentrons robot, visit For more information about how to generate and set the connection between your computer and the Opentrons robot, visit http://support.opentrons.com/s/article/Setting-up-SSH-access-to-your-OT-2

    Here, we present a summary of how to transfer the files in 3 Operative Systems: Windows, MacOS and Linux .

    MacOS/Linux

    We will use the command line with scp to transfer the file VariablesPCR.xlsx to the OT system.

    We need to perform the following command

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

    Note
    You could face difficulties transferring files in the MacOS Ventura (13) and Sonoma (14). These problems were solved by adding the argument -O (uppercase o) to the command #Transferring files to OT (MacOS 13 and 14)scp -Oi [ot_keypath] [file path] root@[OP_robot]:/data/user_storage

    Windows

    There are several ways to pass files from a Windows to a Linux (for example, with a virtual machine or Windows Powershell in the latest versions of Windows).

    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 Windowskey file, change the user name to root and give the directory where the OT key is. It 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 connection between our computer and the robot.

    After this connection, we should be able to move out VariablesPCR.xlsx (in our computer) to the directory /data/user_storage in the robot.

    This method of transferring files can also be done in Linux and MacOS.

    Note
    Take into account that the IP of the robot could change, so it may be necessary to change the host in these connections from time to time.

    3.

    Adding the custom labware

    There is only a need to do this step when the labware you are using is not OT official or included in the OT app.

    3.1.

    Creation of .json file

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

    3.2.

    Uploading files to the OT App

    In the OT app, we need to perform the following route: Labware -> Import -> Choose File -> Select file we have created in step 3.1

    Citation
    After uploading the labware you should be able to see the new labware in the Labware tab of the OT App, all custom labware can be found more easily in the category Custom Labware

    3.3.

    Transfer labware files to the robot

    If you are using the entry LAP-PCR-OT2-1.0.0 and custom labware ,. an additional step is needed, which is transferring a folder with the custom labware

    We need to create for our custom labware a folder with the API name containing the description file (.json) called 1.json and then transfer that folder to the robot's folder /data/labware/v2/custom_definitions/custom_beta in a similar way as in the Step 2 but with the difference that is a directory that needs to be transferred and not a file.

    #Transferring the custom labware 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

    Prepare Robot OS

    4.

    Install needed packages

    This script needs the package openpyxl , which is not installed by default in the OT-2 robots

    Note
    This step is only needed if the package is not installed in the robot, not every run of the protocolIf the package is not installed, an error when running the script in the robot will appear, while simulating the script in the app, this error will appear but you can ignore it

    4.1.

    Connect to the robot

    to find the IP of the robot in which you want to run the script

    To connect to the robot, you can do it via ssh with the following command

    #Connect to Linux based OT via ssh 
    ssh -i [path ot_key] root@[Robot_IP]
    ```In Wsuccessfulindows, you can do this command in Windows Powershell
    
    
    
    <Note title="Citation" type="success" ><span>If the connection has been successful you should obtain a screen similar to the following image</span><span></span><img src="http://static.kairuicm.com/literature_test/protocol_io_true/protocols.io.n92ldpyznl5b/pd8zbxsu714" alt="Drawing obtained when entering an OT-2 system" loading="lazy" title="Drawing obtained when entering an OT-2 system"/></Note>
    
    
    4.2.

    Install the package

    Once inside the robot's system,, you need to run the following command

    #Install openpyxl package (Linux 4.14.74-v7)
    pip install openpyxl
    

    Note
    For more information about installing packages in the opentrons robots, check the following Opentrons page: For more information about installing packages in the opentrons robots, check the following Opentrons page: http://support.opentrons.com/s/article/Using-Python-packages-in-Python-API-protocols

    Run protocol

    5.

    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

    Note
    This whole step has been developed with version 6.3.1 of the OT-App and has been tested in versions up to 7.0.2Indications may vary from version to version of the opentrons App and the version of the script.

    Software

    ValueLabel
    Opentrons AppNAME
    Windows >=10, Mac >=10OS_NAME
    , Ubuntu >=12.04OS_VERSION
    http://opentrons.com/ot-app/REPOSITORY
    OpentronsDEVELOPER
    5.1.

    Load the script in the OT app

    Protocols -> Import -> Drag Python script

    Note
    The last script version can be found at The last script version can be found at http://github.com/BiocomputationLab/LAPrepository/tree/main/LAPEntries (the name of this file is the user's choice) in the directories with the name LAP-PCR-OT2 followed by the version. (the name of this file is the user's choice) in the directories with the name LAP-PCR-OT2 followed by the version.As well we can find the latest version of the script at As well we can find the latest version of the script at http://www.laprepo.cbgp.upm.es/repository/ with the same name as in GitHub with the same name as in GitHub

    Software

    ValueLabel
    LAP RepositoryNAME
    www.laprepo.comREPOSITORY
    http://biocomputationlab.com/DEVELOPER

    Note
    The App with version 6.3.1 analyzes your protocol before setting a robot to run, so the labware will not be shown before assigning the protocol to a specific robot when you import it into the App.

    5.2.

    Select Robot to Perform Script

    Click in the protocol -> Start setup -> Choose the OT where the file VariablesPCR.xlsx is -> Proceed To Setup

    After clicking on Proceed to Setup, you should obtain the labware positions in the Labware tab and the reagents, with their corresponding volume, in the Liquids tab.

    Citation
    A labware setup should look like the following image, where you can find the initial and final plates, the Eppendorf labware to store the reagents, the corresponding tips and, if included, the of the heater-shaker (s) and thermocycler. The latter will always have the exact in the OT-2
    Labware set-up of an example of a PCR run with both variables 'Presence Thermocycler' and 'Presence Heater-Shaker' set as True
    Labware set-up of an example of a PCR run with both variables 'Presence Thermocycler' and 'Presence Heater-Shaker' set as True
    Labware set-up of an example of a PCR run with both variables 'Presence Thermocycler' and 'Presence Heater-Shaker' set as False
    Labware set-up of an example of a PCR run with both variables 'Presence Thermocycler' and 'Presence Heater-Shaker' set as False

    Citation
    A liquid setup should look like the following images, where you can find the samples in the initial plates and the different reagents in the Eppendorf labware with their respective volume
    Liquid set up of a reagents tube rack
    Liquid set up of a reagents tube rack

    Note
    The volume of the initial samples is established to be 90% of the max volume of the well, but it is only a recommendation,just make sure that there is enough volume to transfer to all the final plates. On the other hand, the volume of the reagents is exactly what is needed, so it is suggested to pour always more to take intoaccount the error of pipetting

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

    6.

    Run Protocol in OT

    6.1.

    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

    6.2.

    Labware position check is performed (if needed)

    6.3.

    Clean the surface of the robot with 70% ethanol to clean and disinfect the surfaces

    Note
    Check the Opentrons page Check the Opentrons page http://support.opentrons.com/s/article/Cleaning-your-OT-2? for more information about cleaning the OT-2 robot with the proper materials. for more information about cleaning the OT-2 robot with the proper materials.

    6.4.

    Set the labware and reagents as shown in the OT-App

    6.5.

    Start Run

    The procedure that the robot is going to do is mainly divided into 6 parts:

    1. Creation of mix(es) transferring primers, water and polymerase to new tube(s)
    2. Mixing with either a pipette or heater-shaker
    3. Distribute mix to all plates
    4. Distribute samples to the corresponding wells (as many transferring of 1 sample as the number of primer sets)
    5. Generate identity maps to be exported
    6. (Optional) PCR program for thermocycler module

    Citation
    One or more plates where there is a mix between the sample (DNA-template) and the set of primers , each combination of DNA template set of primer in one wellThe distribution of each primer will be sequential. In other words, all the DNA templates with the first set of primers will be in the first N-wells, then all the DNA templates with the second set of primers will be in the following N-wells and so on.A sheet for every final plate will be created as well in an Excel file with the given name in the shee GeneralVariables in the variable "Final Map Name" followed by the extension .xlsx in the folder /data/user_storage of the robot where we run the script.

    After-running

    7.

    Retrieve labware from the OT

    8.

    Importing map from robot

    To retrieve the file we can and reproduce it by transferring the files to the computer.

    They will be in the directory /data/user_storage . It will be a file with an extension .xlsx and have the name provided in the input variable file

    #Transferring files from OT to computer (Linux, macOS)
    scp -i [path_ot_key] root@[IP_robot]:/data/user_storage/[name_map].xlsx [ultimate_path_computer]
    

    Citation
    The map(s) contains a table for each final plate in the runEach table will have the identity or name of the sample and the set of primers that are mixed in that well. If a map has been provided for the source plate, it will have that name as an identity. If not, the identity will be the well in the slot that the source plate was in the run of the script.

    Example

    9.

    We want to perform a PCR mix preparation of 94 colonies and 2 controls that are in 2 source plates(40 first colonies + 2 control samples in 1 plate and 54 colonies from the A4 well in the other plate) with 2 primer sets.

    We are going to have a heater-shaker module available but not a thermocycler.

    1 of the source plates will have a map of identities, but the other will not have it.

    We will use a computer with a Windows 10 system

    9.1.

    Prepare variable file

    Excel temple filled and saved with the name VariablesPCR.xlsx

    VariablesPCR.xlsx

    9.10.

    Start run

    Citation
    Final layout of source and final plates in the run
    Final layout of source and final plates in the run
    Example of the content of C5 in the labware Final Plate 1 Slot 4
    Example of the content of C5 in the labware Final Plate 1 Slot 4
    Here, we will obtain the mix between the PCR mixes and the samples selected by the values in the variable file. These positions are seen in the image by the grey wells, and we can see the info of the plate and the media in the plate on slot 4 in this case

    9.11.

    Retrieve labwares from the OT

    9.12.

    Retrieve the final maps that are going to be in the file. In this case, they will be called example-mapPCR-example.xlsx (name that is stated in the variable file in the variable Final Map Name )

    command line windows with the transfer command of the final file with the map(s) from the OT to our computer
    command line windows with the transfer command of the final file with the map(s) from the OT to our computer

    mapPCR-example.xlsx

    9.2.

    Upload custom labware to app

    We are using a custom labware called vwrblueprintdepth105_96_wellplate_390ul and 3dprinted_opentrons_shaker_1.5mleppendorf that has been created with the labware creator that opentrons offer (http://labware.opentrons.com/create/)

    vwrblueprintdepth105_96_wellplate_390ul.json

    3dprinted_opentrons_shaker_1.5mleppendorf.json

    Upload it to the labware and make sure it is loaded in the app

    List of custom labware recorded in the Opentrons App
    List of custom labware recorded in the Opentrons App
    9.3.

    Export the variable file to the /data/user_storage folder in the robot

    command line window with scp commands to transfer the variables .xlsx from our computer to the OT-2
    command line window with scp commands to transfer the variables .xlsx from our computer to the OT-2
    9.4.

    Because we are using version 1.0.0 of the script in this example, we will transfer the directory of the labwares as well (here we have attached a zip, but it is the folder the one that must be transferred, not the zip)

    vwrblueprintdepth105_96_wellplate_390ul.zip

    3dprinted_opentrons_shaker_1.5mleppendorf.zip

    #Transferring the used custom labware to OT (Linux)
    scp -i [ot_key] -r vwrblueprintdepth105_96_wellplate_390ul root@[IP_OT]:/data/labware/v2/custom_definitions/custom_beta
    
    #Transferring the used custom labware to OT (Linux)
    scp -i [ot_key] -r 3dprinted_opentrons_shaker_1.5mleppendorf root@[IP_OT]:/data/labware/v2/custom_definitions/custom_beta
    
    9.5.

    Import the script that we have downloaded from the step (I named it Example-ScriptPCR . py ) to the OT-App

    Example-ScriptPCR.py

    The result of importing the Python script into the OT-App
    The result of importing the Python script into the OT-App

    As we can see, we have an error, but that is programmed because the script is meant to work in the robot but not in your computer

    9.6.

    Run the protocol in the robot that we have transferred the Excel file

    Example-ScriptPCR.py Example-ScriptPCR.py -> Start setup -> Select 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

    Labware and liquid set-up layout
    Labware and liquid set-up layout
    Volumes of the different reagents needed to perform the protocol
    Volumes of the different reagents needed to perform the protocol
    9.7.

    Turn the HEPA filter module

    9.8.

    Clean the platform of the robot that we are going to perform the protocol

    9.9.

    Prepare all reagents and labware in the places the App is showing and take into account the notes in step

    推荐阅读

    Nature Protocols
    Protocols IO
    Current Protocols
    扫码咨询