Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
"bradford_plate": {
"id": null,
"type": "96-flat",
"storage": "cold_20",
"discard": false
},
"measurement_start": "bradford_plate/A4",
"standard_replicates": 3,
"sample_replicates":3,
"sample_number": 3,
"num_blanks": 3
}
}
'''
params = make_dottable_dict(params)
refs = make_dottable_dict(params.refs)
standard_wells = refs.standard_plate.wells_from(0,8,columnwise=True)
wells_to_measure = refs.bradford_plate.wells_from(0, (len(standard_wells) *
params.standard_replicates) +
(params.sample_number * params.sample_replicates)
+ params.num_blanks, columnwise = True)
wells_with_standard = wells_to_measure.wells[0:3*len(standard_wells)]
sample_wells = wells_to_measure.wells[len(wells_with_standard):len(wells_to_measure)-3]
blanks = wells_to_measure.wells[-1:-params.num_blanks]
coomassie = WellGroup([])
for name,ref in refs.items():
if name.rsplit("_")[0] == "coomassie":
coomassie.append(ref.well(0).set_volume('1500:microliter'))
"ethanol_wash_vol": "60:microliter",
"supernatant_removal_vol": "42:microliter",
"wash_removal_vol": "90:microliter",
"ethanol_air_dry_time": "15:minute",
"ethanol_air_dry_temp": "ambient",
"resuspension_time": "5:minute",
"final_mag_adapter_time": "5:minute",
"resuspension_vol": "50:microliter",
"ethanol": "resource_plate/A1",
"te": "resource_plate/A2"
}
}
'''
params = make_dottable_dict(params)
refs = make_dottable_dict(params.refs)
samples = refs.sample_plate.wells_from(
params.sample_start,
params.sample_number
).set_volume(params.sample_volume)
destinations = refs.sample_plate.wells_from(
params.destination_start, params.sample_number)
bead_volume = Unit.fromstring(
params.sample_volume) * Unit(1.8, "microliter")
# Allow beads to come to room temperature
# Resuspend the beads
protocol.mix(refs.beads.well(0), volume="500:microliter")
],
"pcr_cycles": 30,
"activation_time": "2:minute",
"activation_temp": "95:celsius",
"denaturation_time": "10:second",
"denaturation_temp": "94:celsius",
"annealing_time": "15:second",
"annealing_temp": "55:celsius",
"extension_time": "20:second",
"extension_temp": "72:celsius"
}
}
'''
params = make_dottable_dict(params)
refs = make_dottable_dict(params.refs)
mix_to_samples = {}
for k in refs.keys():
if k.rsplit("_")[-1] == "MM":
mix_to_samples[k] = params["%s_samples" % k.rsplit("_")[0]]
for mix, group in mix_to_samples.items():
if params.pcr_match_sample_layout:
destination_wells = WellGroup([refs.pcr.well(i) for i in group.indices()])
protocol.distribute(refs[mix].well(0), destination_wells,
params.mastermix_vol_per_rxn, allow_carryover=True)
protocol.transfer(group, destination_wells, params.sample_vol)
else:
pass
"fragment_5": "resources/B5",
"reaction_number": 10,
"backbone_vol": "1:microliter",
"enzyme_vol": "0.3:microliter",
"ligase_vol": "0.6:microliter",
"buffer_vol": "1:microliter",
"fragment_vol": "3:microliter",
"water_vol": "2:microliter",
"ligation_time": "10:minute",
"deactivation_time": "5:minute",
"deactivation_temp": "65:celsius",
}
}
'''
params = make_dottable_dict(params)
refs = make_dottable_dict(params.refs)
MM_vol = Unit.fromstring(params.backbone_vol) + Unit.fromstring(params.enzyme_vol) + Unit.fromstring(params.buffer_vol) + Unit.fromstring(params.ligase_vol) + Unit.fromstring(params.fragment_vol) + Unit.fromstring(params.water_vol)
# make master mix
protocol.transfer(params.backbone, params.MM_loc, Unit.fromstring(params.backbone_vol) * Unit((params.reaction_number + 2),"microliter"))
protocol.transfer(params.T4_ligase, params.MM_loc, Unit.fromstring(params.ligase_vol) * Unit((params.reaction_number + 2),"microliter"))
protocol.transfer(params.enzyme, params.MM_loc, Unit.fromstring(params.enzyme_vol) * Unit((params.reaction_number + 2),"microliter"))
protocol.transfer(params.buffer, params.MM_loc, Unit.fromstring(params.buffer_vol) * Unit((params.reaction_number + 2),"microliter"))
# distribute master mix
protocol.distribute(params.MM_loc,
refs.destination_plate.wells_from(params.reaction_start,
params.reaction_number), MM_vol )
protocol.seal("destination_plate")
"supernatant_removal_vol": "42:microliter",
"wash_removal_vol": "90:microliter",
"ethanol_air_dry_time": "15:minute",
"ethanol_air_dry_temp": "ambient",
"resuspension_time": "5:minute",
"final_mag_adapter_time": "5:minute",
"resuspension_vol": "50:microliter",
"ethanol": "resource_plate/A1",
"te": "resource_plate/A2"
}
}
'''
params = make_dottable_dict(params)
refs = make_dottable_dict(params.refs)
samples = refs.sample_plate.wells_from(
params.sample_start,
params.sample_number
).set_volume(params.sample_volume)
destinations = refs.sample_plate.wells_from(
params.destination_start, params.sample_number)
bead_volume = Unit.fromstring(
params.sample_volume) * Unit(1.8, "microliter")
# Allow beads to come to room temperature
# Resuspend the beads
protocol.mix(refs.beads.well(0), volume="500:microliter")
protocol.transfer(
"kinased_oligo_plate/F2"
],
"combos": [[2,8],[1,2,7],[3,5,12],[2,5,11],[2,6,8],[2,5,8],[4,5,13],[1,4,5,10],[2,11],[4,14]],
"water": [
"H2O_1/0",
"H2O_2/0",
"H2O_3/0"
],
"water_vol": "198:microliter",
"dilution_start": "diluted_oligo_plate/A1",
"oligo_vol": "2:microliter"
}
}
'''
params = make_dottable_dict(params)
refs = make_dottable_dict(params.refs)
dilute_wells = refs.diluted_oligo_plate.wells_from(params.dilution_start,
len(params.combos), columnwise = True)
protocol.distribute(params.water.set_volume("1500:microliter"), dilute_wells, params.water_vol,
allow_carryover = True)
oligos = params.kinased_oligos.wells
for idx,combo in enumerate(params.combos):
for i in combo:
olig = oligos[i-1]
protocol.transfer(olig,dilute_wells.wells[idx],params.oligo_vol,
mix_after = True)
"discard": false
},
"reaction_plate": {
"id": null,
"type": "384-pcr",
"storage": "ambient",
"discard": false
},
"polymerize_MM_vol": "2.2:microliter",
"polymerize_MM_loc": "resource_plate/E1",
"kunkel_number": 10,
"reaction_start": "reaction_plate/A1"
}
}
'''
params = make_dottable_dict(params)
refs = params.refs
reactions = refs["reaction_plate"].wells_from(params.reaction_start, params.kunkel_number, columnwise = True)
for reaction in reactions:
protocol.transfer(params.polymerize_MM_loc, reaction, params.polymerize_MM_vol, mix_after=True)
protocol.seal("reaction_plate")
protocol.incubate("reaction_plate", "ambient", "1.5:hour")
"diluted_oligo_plate/D1",
"diluted_oligo_plate/E1",
"diluted_oligo_plate/F1",
"diluted_oligo_plate/G1",
"diluted_oligo_plate/H1",
"diluted_oligo_plate/A2",
"diluted_oligo_plate/B2"
],
"polymerize_MM_vol": "2.2:microliter",
"polymerize_MM_loc": "resource_plate/E1",
"kunkel_number": 10,
"reaction_start": "reaction_plate/A1"
}
}
'''
params = make_dottable_dict(params)
kunkel_kinase(protocol, params)
protocol.unseal("kinased_oligo_plate")
kunkel_dilute(protocol, params)
kunkel_anneal(protocol, params)
protocol.unseal("reaction_plate")
kunkel_polymerize(protocol, params)
"enzyme_4": "enzymes/D7",
"cut_backbone": "destination_plate/A1",
"cut_insert": "destination_plate/A2",
"enzyme_vol": "3:microliter",
"source_DNA_vol": "5:microliter",
"buffer_vol": "1:microliter",
"water_vol": "2:microliter",
"digestion_time": "10:minute",
"digestion_temp": "37:celsius",
"deactivation_time": "5:minute",
"deactivation_temp": "80:celsius"
}
}
'''
params = make_dottable_dict(params)
refs = make_dottable_dict(params.refs)
protocol.transfer(refs.backbone.well(0), params.cut_backbone, params.source_DNA_vol)
protocol.transfer(refs.insert.well(0), params.cut_insert, params.source_DNA_vol)
protocol.transfer(refs.dig_buffer.well(0), params.cut_insert, params.buffer_vol)
protocol.transfer(refs.dig_buffer.well(0), params.cut_backbone, params.buffer_vol)
protocol.transfer(refs.water.well(0), params.cut_backbone, params.water_vol)
protocol.transfer(refs.water.well(0), params.cut_insert, params.water_vol)
protocol.transfer(params.enzyme_1, params.cut_backbone, params.enzyme_vol)
protocol.transfer(params.enzyme_2, params.cut_backbone, params.enzyme_vol,
mix_after=True, mix_vol="5:microliter")
protocol.transfer(params.enzyme_3, params.cut_insert, params.enzyme_vol,
mix_after=True, mix_vol="5:microliter")
protocol.transfer(params.enzyme_4, params.cut_insert, params.enzyme_vol,
"diluted_oligo_plate/0",
"diluted_oligo_plate/1",
"diluted_oligo_plate/2",
"diluted_oligo_plate/3",
"diluted_oligo_plate/4",
"diluted_oligo_plate/5",
"diluted_oligo_plate/6",
"diluted_oligo_plate/7",
"diluted_oligo_plate/8",
"diluted_oligo_plate/9",
"diluted_oligo_plate/10"
]
}
}
'''
params = make_dottable_dict(params)
refs = make_dottable_dict(params.refs)
reaction_wells = refs["reaction_plate"].wells_from(0,len(params.oligos), columnwise=True)
protocol.distribute(params.ssDNA_mix_loc,reaction_wells, params.ssDNA_mix_vol)
for oligo,reaction in zip(params.oligos,reaction_wells.wells):
protocol.transfer(oligo,reaction,params.oligo_vol,mix_after=True)
protocol.seal("reaction_plate")
protocol.thermocycle_ramp("reaction_plate","95:celsius", "25:celsius", "60:minute", step_duration="4:minute")