Skip to content

Commit

Permalink
Merge pull request #4883 from Opentrons/develop
Browse files Browse the repository at this point in the history
chore(Release): 2023-09-09
  • Loading branch information
ncdiehl11 authored Sep 14, 2023
2 parents 228be47 + 49dac42 commit 7a22574
Show file tree
Hide file tree
Showing 9 changed files with 238 additions and 74 deletions.
5 changes: 5 additions & 0 deletions data/data/fields.csv
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,7 @@ diluent_csv,1
diluent_scheme,1
diluent_vol,1
dilution_factor,2
dilution_plate,1
dilvol,1
disp_bottom_clearance,1
disp_delay,1
Expand Down Expand Up @@ -383,6 +384,7 @@ dna_well_plate_tmod,1
do_cool_samples,1
do_deactivate_tc,1
do_dnase_step,1
do_flash,1
do_mm_resusp_pause,1
do_plate_mm,1
do_premix,1
Expand Down Expand Up @@ -469,6 +471,7 @@ final_air_gap,1
final_asp_speed,1
final_conc,1
final_extension_cycles,1
final_plate,1
final_plate_slot4,1
final_temp,3
final_tubes,1
Expand Down Expand Up @@ -1176,6 +1179,7 @@ reagent,1
reagent1_loadname,1
reagent2_loadname,1
reagent_labware,3
reagent_plate,1
reagent_scan,5
reagent_slot_scan,2
reagent_transfer_vol,2
Expand All @@ -1192,6 +1196,7 @@ res12_type,1
res1_type,1
res_dead_vol,1
res_type,20
reservoir,1
reservoir12_lname,1
reservoir_fill_volume,1
reservoir_height,3
Expand Down

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions protoBuilds/0b97ae-protocol-3B/README.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
]
},
"deck-setup": "\nWater Reservoir (slot 2):\n Column 1: Nuclease Free Water\n Column 2: Binding Buffer\n Column 3 & 4: Ethanol\n Column 10, 11 & 12: Empty for Supernatent Removal\nDiluted RNA Plate (slot 7 Temperature Module):\n RNA Samples Starting Plate\nReagent Plate (Slot 10):\n Column 1: MasterMix\n Column 2: Magentic Beads",
"description": "This is Part 3 to the QIAseq FastSelect 5s, 16s, 23s Protocol. This protocol is used to perform the addition of samples with mastermix into a plate.\nPart 1 to this protocol is the normalization of samples.\nPart 2 to this protocol is the Fragementation.\nLinks:\n Part 1: Sample Normalization\n Part 2: QIAseq FastSelect 5s, 16s, 23s Fragmentation\n* Part 3: QIAseq FastSelect 5s, 16s, 23s Extraction",
"description": "This is Part 3 to the QIAseq FastSelect 5s, 16s, 23s Protocol. This protocol is used to perform the addition of samples with mastermix into a plate.\nPart 1 to this protocol is the normalization of samples.\nPart 2 to this protocol is the Fragementation.\nLinks:\n* Part 1: Sample Normalization\n* Part 2: QIAseq FastSelect 5s, 16s, 23s Fragmentation\n* Part 3: QIAseq FastSelect 5s, 16s, 23s Extraction",
"internal": "0b97ae-protocol-3B",
"labware": "\nPerkin Elmer 12 Reservoir 21000 \u00b5L\nApplied Biosystems Enduraplate 96 Aluminum Block 220 \u00b5L\nBio-Rad 96 Well Plate 200 \u00b5L PCR #hsp9601\nOpentrons 96 Filter Tip Rack 20 \u00b5L\nNEST 96 Deepwell Plate 2mL #503001\nOpentrons 96 Tip Rack 300 \u00b5L\nOpentrons 96 Well Aluminum Block with Bio-Rad Well Plate 200 \u00b5L\n",
"markdown": {
"author": "[Opentrons](https://opentrons.com/)\n\n\n",
"categories": "* NGS LIBRARY PREP\n\t* QIASeq FastSelect\n\n\n",
"deck-setup": "![deck](https://opentrons-protocol-library-website.s3.amazonaws.com/custom-README-images/0b97ae/3F240714-EB34-4978-97F6-5BD0739E874B_1_105_c.jpeg)\nWater Reservoir (slot 2):\n\tColumn 1: Nuclease Free Water\n\tColumn 2: Binding Buffer\n\tColumn 3 & 4: Ethanol\n\tColumn 10, 11 & 12: Empty for Supernatent Removal\nDiluted RNA Plate (slot 7 Temperature Module):\n\tRNA Samples Starting Plate\nReagent Plate (Slot 10):\n\tColumn 1: MasterMix\n\tColumn 2: Magentic Beads\n\n",
"deck-setup": "![deck](https://opentrons-protocol-library-website.s3.amazonaws.com/custom-README-images/0b97ae/deck.jpg)\nWater Reservoir (slot 2):\n\tColumn 1: Nuclease Free Water\n\tColumn 2: Binding Buffer\n\tColumn 3 & 4: Ethanol\n\tColumn 10, 11 & 12: Empty for Supernatent Removal\nDiluted RNA Plate (slot 7 Temperature Module):\n\tRNA Samples Starting Plate\nReagent Plate (Slot 10):\n\tColumn 1: MasterMix\n\tColumn 2: Magentic Beads\n\n",
"description": "This is Part 3 to the QIAseq FastSelect 5s, 16s, 23s Protocol. This protocol is used to perform the addition of samples with mastermix into a plate.\nPart 1 to this protocol is the normalization of samples.\nPart 2 to this protocol is the Fragementation.\n\nLinks:\n* [Part 1: Sample Normalization](http://protocols.opentrons.com/protocol/0b97ae)\n* [Part 2: QIAseq FastSelect 5s, 16s, 23s Fragmentation](http://protocols.opentrons.com/protocol/0b97ae-protocol-2B)\n* [Part 3: QIAseq FastSelect 5s, 16s, 23s Extraction](http://protocols.opentrons.com/protocol/0b97ae-protocol-3B)\n\n\n",
"internal": "0b97ae-protocol-3B\n",
"labware": "* Perkin Elmer 12 Reservoir 21000 \u00b5L\n* Applied Biosystems Enduraplate 96 Aluminum Block 220 \u00b5L\n* [Bio-Rad 96 Well Plate 200 \u00b5L PCR #hsp9601](http://www.bio-rad.com/en-us/sku/hsp9601-hard-shell-96-well-pcr-plates-low-profile-thin-wall-skirted-white-clear?ID=hsp9601)\n* Opentrons 96 Filter Tip Rack 20 \u00b5L\n* [NEST 96 Deepwell Plate 2mL #503001](http://www.cell-nest.com/page94?product_id=101&_l=en)\n* [Opentrons 96 Tip Rack 300 \u00b5L](https://shop.opentrons.com/collections/opentrons-tips/products/opentrons-300ul-tips)\n* [Opentrons 96 Well Aluminum Block with Bio-Rad Well Plate 200 \u00b5L](https://shop.opentrons.com/collections/hardware-modules/products/aluminum-block-set)\n\n\n",
Expand All @@ -21,7 +21,7 @@
"pipettes": "* [Opentrons P20 8 Channel Electronic Pipette (GEN2)](https://shop.opentrons.com/8-channel-electronic-pipette/)\n* [Opentrons P300 8 Channel Electronic Pipette (GEN2)](https://shop.opentrons.com/8-channel-electronic-pipette/)\n\n\n",
"process": "1. Input your protocol parameters above.\n2. Download your protocol and unzip if needed.\n3. Upload your custom labware to the [OT App](https://opentrons.com/ot-app) by navigating to `More` > `Custom Labware` > `Add Labware`, and selecting your labware files (.json extensions) if needed.\n4. Upload your protocol file (.py extension) to the [OT App](https://opentrons.com/ot-app) in the `Protocol` tab.\n5. Set up your deck according to the deck map.\n6. Calibrate your labware, tiprack and pipette using the OT App. For calibration tips, check out our [support articles](https://support.opentrons.com/en/collections/1559720-guide-for-getting-started-with-the-ot-2).\n7. Hit \"Run\".\n\n\n",
"protocol-steps": "1. Before this protocol the RNA plate should have went through the thermocycler according to FastSelect 5s/16s/23s, Table 3 and placed on a back on the temperature deck on slot 7.\n2. The Reagent plate will be placed on the temperature module on slot 10, which will contain MasterMix in column 1 and magentic beads in column 2.\n3. The reservoir will be placed on slot 2, which will contain Nucleas Free Water in well 1, Binding Buffer in well 2, and Ethanol in wells 3 and 4. Wells 10, 11 and 12 will be used for supernatent removal.\n\n\n\n",
"reagent-setup": "![reagents](https://opentrons-protocol-library-website.s3.amazonaws.com/custom-README-images/0b97ae/part+4/reagen.jpg)\n\n\n",
"reagent-setup": "![reagents](https://opentrons-protocol-library-website.s3.amazonaws.com/custom-README-images/0b97ae/reagents.jpg)\n\n\n",
"title": "QIAseq FastSelect Extraction"
},
"modules": [
Expand Down
17 changes: 16 additions & 1 deletion protoBuilds/gsdx/bacgene.ot2.apiv2.py.json

Large diffs are not rendered by default.

31 changes: 25 additions & 6 deletions protocols/0b97ae-protocol-3B/0b97ae-protocol-3B.ot2.apiv2.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,28 @@ def create_thread(ctx, cancel_token):
def run(ctx: protocol_api.ProtocolContext):
"""PROTOCOLS."""
[
num_samples, vol_dna , flash, bead_timer] = get_values( # noqa: F821 (<--- DO NOT REMOVE!)
"num_samples","vol_dna","flash","bead_timer")
num_samples, vol_dna , flash, bead_timer, reservoir, F_Plate, D_Plate, R_Plate] = get_values( # noqa: F821 (<--- DO NOT REMOVE!)
"num_samples","vol_dna","flash","bead_timer","reservoir","final_plate","dilution_plate","reagent_plate")
num_samples = int(num_samples)
if reservoir == 'perkinelmer':
res_labware = 'perkinelmer_12_reservoir_21000ul'
else:
res_labware = 'nest_12_reservoir_15ml'

if F_Plate == 'Biorad':
F_labware = 'opentrons_96_aluminumblock_biorad_wellplate_200ul'
else:
F_labware = 'appliedbiosystemsenduraplate_96_aluminumblock_220ul'

if D_Plate == 'Biorad':
D_labware = 'opentrons_96_aluminumblock_biorad_wellplate_200ul'
else:
D_labware = 'appliedbiosystemsenduraplate_96_aluminumblock_220ul'

if R_Plate == 'Biorad':
R_labware = 'biorad_96_wellplate_200ul_pcr'
else:
R_labware = 'appliedbiosystemsenduraplate_96_aluminumblock_220ul'

'Global variables'
TEST_MODE = False
Expand Down Expand Up @@ -83,13 +102,13 @@ def run(ctx: protocol_api.ProtocolContext):

# load labware
mag_plate = Mag_mod.load_labware('nest_96_wellplate_2ml_deep','Extraction Plate')
final_plate = tempdeck_1.load_labware('opentrons_96_aluminumblock_biorad_wellplate_200ul', #noqa: E501
final_plate = tempdeck_1.load_labware(F_labware, #noqa: E501
'Reagent Plate')
Diluted_plate = tempdeck_2.load_labware('appliedbiosystemsenduraplate_96_aluminumblock_220ul', # noqa: E501
Diluted_plate = tempdeck_2.load_labware(D_labware, # noqa: E501
'Diluted RNA plate')
water_res = ctx.load_labware('perkinelmer_12_reservoir_21000ul', 2,
water_res = ctx.load_labware(res_labware, 2,
'Water reservoir')
Reagent_plate = ctx.load_labware('biorad_96_wellplate_200ul_pcr', '1')
Reagent_plate = ctx.load_labware(R_labware, '1')

# load tipracks
tips3 = [ctx.load_labware('opentrons_96_tiprack_300ul', slot)
Expand Down
4 changes: 2 additions & 2 deletions protocols/0b97ae-protocol-3B/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ Links:


### Deck Setup
![deck](https://opentrons-protocol-library-website.s3.amazonaws.com/custom-README-images/0b97ae/3F240714-EB34-4978-97F6-5BD0739E874B_1_105_c.jpeg)
![deck](https://opentrons-protocol-library-website.s3.amazonaws.com/custom-README-images/0b97ae/deck.jpg)
Water Reservoir (slot 2):
Column 1: Nuclease Free Water
Column 2: Binding Buffer
Expand All @@ -55,7 +55,7 @@ Reagent Plate (Slot 10):
Column 2: Magentic Beads

### Reagent Setup
![reagents](https://opentrons-protocol-library-website.s3.amazonaws.com/custom-README-images/0b97ae/part+4/reagen.jpg)
![reagents](https://opentrons-protocol-library-website.s3.amazonaws.com/custom-README-images/0b97ae/reagents.jpg)


### Protocol Steps
Expand Down
36 changes: 36 additions & 0 deletions protocols/0b97ae-protocol-3B/fields.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,41 @@
"label": "Bead Timer?",
"name": "bead_timer",
"default": 6
},
{
"type": "dropDown",
"label": "Is the Reservoir PerkinElmer or Nest?",
"name": "reservoir",
"options": [
{"label": "perkinelmer", "value": "perkinelmer"},
{"label": "nest", "value": "nest"}
]
},
{
"type": "dropDown",
"label": "Is the Final Plate Biorad or AppliedBio?",
"name": "final_plate",
"options": [
{"label": "Biorad", "value": "Biorad"},
{"label": "AppliedBio", "value": "AppliedBio"}
]
},
{
"type": "dropDown",
"label": "Is the Diluted DNA Plate Biorad or AppliedBio?",
"name": "dilution_plate",
"options": [
{"label": "Biorad", "value": "Biorad"},
{"label": "AppliedBio", "value": "AppliedBio"}
]
},
{
"type": "dropDown",
"label": "Is the Reagent Plate Biorad or AppliedBio?",
"name": "reagent_plate",
"options": [
{"label": "Biorad", "value": "Biorad"},
{"label": "AppliedBio", "value": "AppliedBio"}
]
}
]
48 changes: 31 additions & 17 deletions protocols/gsdx/bacgene.ot2.apiv2.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,22 +19,29 @@
DO_SET_TEMP = True
REUSING_LYSIS_BUFFER = True
OFFSET_Y_LYSIS_BUFFER_LISTERIA = 13.0
OFFSET_Z_LYSIS_BUFFER_LISTERIA = -5.0
OFFSET_Z_LYSIS_BUFFER_LISTERIA = -4.5
OFFSET_Y_LYSIS_BUFFER_SALMONELLA = 11.0 # magnitude (positive number!)
OFFSET_Z_LYSIS_BUFFER_SALMONELLA = -5.0
OFFSET_Z_LYSIS_BUFFER_SALMONELLA = -4.5
OFFSET_X_TUBERACK = 0.5
P20_MOUNT = 'left'
P300_MOUNT = 'right'


def run(ctx):

def flash_lights():
initial_status = ctx.rail_lights_on
for _ in range(19):
ctx.set_rail_lights(not ctx.rail_lights_on)
ctx.delay(seconds=0.25)
ctx.set_rail_lights(initial_status)

[num_samples_listeria, num_samples_salmonella,
num_samples_listeria_remaining, num_samples_salmonella_remaining,
sample_rack_type, salmonella_meat] = get_values( # noqa: F821
sample_rack_type, salmonella_meat, do_flash] = get_values( # noqa: F821
'num_samples_listeria', 'num_samples_salmonella',
'num_samples_listeria_remaining', 'num_samples_salmonella_remaining',
'sample_rack_type', 'salmonella_meat')
'sample_rack_type', 'salmonella_meat', 'do_flash')

# modules
tempdeck = ctx.load_module('temperature module gen2', '10')
Expand Down Expand Up @@ -190,28 +197,34 @@ def run(ctx):
num_cols_offset_samples_listeria*8+num_samples_salmonella]

# load liquids
vol_sample = 5.0

try:
if num_samples_listeria > 0:
positive_control_l.load_liquid(positive_control_l_liq, volume=10)
positive_control_l.load_liquid(
positive_control_l_liq, volume=vol_sample)
if num_samples_salmonella > 0:
positive_control_s.load_liquid(positive_control_s_liq, volume=10)
positive_control_s.load_liquid(
positive_control_s_liq, volume=vol_sample)
[well.load_liquid(samples_listeria_liq_sample,
volume=30/len(samples_single_listeria))
for well in samples_single_listeria]
volume=round(30/len(samples_single_listeria)))
for well in samples_single_listeria[
:max(0, len(samples_single_listeria)-2)]]
[well.load_liquid(samples_salmonella_liq_sample,
volume=10/len(samples_single_salmonella))
for well in samples_single_salmonella]
volume=round(10/len(samples_single_salmonella)))
for well in samples_single_salmonella[
:max(0, len(samples_single_salmonella)-2)]]
[well.load_liquid(samples_listeria_liq_lysis,
volume=30/len(lysis_single_listeria))
volume=round(30/len(lysis_single_listeria)))
for well in lysis_single_listeria]
[well.load_liquid(samples_salmonella_liq_lysis,
volume=10/len(lysis_single_salmonella))
volume=round(10/len(lysis_single_salmonella)))
for well in lysis_single_salmonella]
[well.load_liquid(samples_listeria_liq_pcr,
volume=30/len(pcr_single_listeria))
volume=round(30/len(pcr_single_listeria)))
for well in pcr_single_listeria]
[well.load_liquid(samples_salmonella_liq_pcr,
volume=10/len(pcr_single_salmonella))
volume=round(10/len(pcr_single_salmonella)))
for well in pcr_single_salmonella]
except AttributeError:
pass
Expand Down Expand Up @@ -423,7 +436,7 @@ def wick(pip, well, x_magnitude=0.5, z_offset=3.0):
num_partial_salmonella_buffers+num_additional_salmonella_buffers]

# load partial liq
if num_samples_listeria > 0:
if num_samples_salmonella > 0:
try:
[
well.load_liquid(
Expand Down Expand Up @@ -635,8 +648,6 @@ def wick(pip, well, x_magnitude=0.5, z_offset=3.0):
ctx.delay(minutes=10, msg='Incubating for 10 minutes @ 95C.')
tempdeck.set_temperature(37)

vol_sample = 5.0

if DO_TRANSFER_SAMPLE_TO_PCR:
""" transfer samples to PCR plate """

Expand Down Expand Up @@ -713,3 +724,6 @@ def wick(pip, well, x_magnitude=0.5, z_offset=3.0):
drop(m20)

tempdeck.deactivate()

if do_flash:
flash_lights()
101 changes: 58 additions & 43 deletions protocols/gsdx/fields.json
Original file line number Diff line number Diff line change
@@ -1,44 +1,59 @@
[
{
"type": "int",
"label": "number of listeria wells to run (including +/- controls)",
"name": "num_samples_listeria",
"default": 48
},
{
"type": "int",
"label": "number of salmonella wells to run (including +/- controls)",
"name": "num_samples_salmonella",
"default": 48
},
{
"type": "int",
"label": "number of listeria wells in kit remaining",
"name": "num_samples_listeria_remaining",
"default": 96
},
{
"type": "int",
"label": "number of salmonella wells in kit remaining",
"name": "num_samples_salmonella_remaining",
"default": 96
},
{
"type": "dropDown",
"label": "sample rack format",
"name": "sample_rack_type",
"options": [
{"label": "KingFisher 96 Tube Rack with GoldStandard 1.1 mL", "value": "kingfisher_96_tuberack_1100ul"},
{"label": "BIOPlastics BV 96 Aluminum Block 200 µL", "value": "bioplasticsbv_96_aluminumblock_200ul"}
]
},
{
"type": "dropDown",
"label": "running salmonella meat",
"name": "salmonella_meat",
"options": [
{"label": "no", "value": false},
{"label": "yes", "value": true}
]
}
]
{
"type": "int",
"label": "number of listeria wells to run (including +/- controls)",
"name": "num_samples_listeria",
"default": 48
},
{
"type": "int",
"label": "number of salmonella wells to run (including +/- controls)",
"name": "num_samples_salmonella",
"default": 48
},
{
"type": "int",
"label": "number of listeria wells in kit remaining",
"name": "num_samples_listeria_remaining",
"default": 96
},
{
"type": "int",
"label": "number of salmonella wells in kit remaining",
"name": "num_samples_salmonella_remaining",
"default": 96
},
{
"type": "dropDown",
"label": "sample rack format",
"name": "sample_rack_type",
"options": [
{
"label": "KingFisher 96 Tube Rack with GoldStandard 1.1 mL",
"value": "kingfisher_96_tuberack_1100ul"
},
{
"label": "BIOPlastics BV 96 Aluminum Block 200 µL",
"value": "bioplasticsbv_96_aluminumblock_200ul"
}
]
},
{
"type": "dropDown",
"label": "running salmonella meat",
"name": "salmonella_meat",
"options": [
{ "label": "no", "value": false },
{ "label": "yes", "value": true }
]
},
{
"type": "dropDown",
"label": "flash on completion",
"name": "do_flash",
"options": [
{ "label": "no", "value": false },
{ "label": "yes", "value": true }
]
}
]

0 comments on commit 7a22574

Please sign in to comment.