def measure_growth_wells():
    #
    # Growth: absorbance and fluorescence over 24 hours
    # Absorbance at 600nm: cell growth
    # Fluorescence at 485nm/510nm: sfGFP
    #
    hr = 12
    for t in range(0, hr * 2 + 1, hr):
        if t > 0:
            p.cover(growth_plate)
            p.incubate(growth_plate,
                       "warm_37",
                       "{}:hour".format(hr),
                       shaking=True)
            p.uncover(growth_plate)

        p.fluorescence(growth_plate,
                       growth_plate.wells(abs_wells).indices(),
                       excitation="485:nanometer",
                       emission="535:nanometer",
                       dataref=expid("fl2_{}".format(t)),
                       flashes=25)
        p.absorbance(growth_plate,
                     growth_plate.wells(abs_wells).indices(),
                     wavelength="600:nanometer",
                     dataref=expid("abs_{}".format(t)),
                     flashes=25)
Esempio n. 2
0
def measure_flourescence_and_absorption(plate,wells):
    # Absorbance at 600nm: cell growth
    # Fluorescence at 485nm/510nm: sfGFP

    p.fluorescence(plate, wells,
                   excitation="485:nanometer", emission="535:nanometer",
                   dataref=expid("fl2"), flashes=25)
    p.absorbance(plate, wells,
                 wavelength="600:nanometer",
                 dataref=expid("abs"), flashes=25)
def measure_growth(p, amp_6_flat, noAB_6_flat):
    #
    # Incubate and photograph 6-flat plates over 18 hours
    # to see blue or white colonies
    #
    for flat_name, flat in [(expid("amp_6_flat"), amp_6_flat), (expid("noAB_6_flat"), noAB_6_flat)]:
        for timepoint in [9,18]:
            p.cover(flat)
            p.incubate(flat, "warm_37", "9:hour")
            p.uncover(flat)
            p.image_plate(flat, mode="top", dataref=expid("{}_t{}".format(flat_name, timepoint)))
def measure_growth(p, amp_6_flat, noAB_6_flat):
    #
    # Incubate and photograph 6-flat plates over 18 hours
    # to see blue or white colonies
    #
    for flat_name, flat in [(expid("amp_6_flat"), amp_6_flat),
                            (expid("noAB_6_flat"), noAB_6_flat)]:
        for timepoint in [9, 18]:
            p.cover(flat)
            p.incubate(flat, "warm_37", "9:hour")
            p.uncover(flat)
            p.image_plate(flat,
                          mode="top",
                          dataref=expid("{}_t{}".format(flat_name, timepoint)))
Esempio n. 5
0
def amplify_and_store_bacteria(source_bacteria_well):
    # Tubes and plates
    growth_plate = p.ref(expid("growth"),
                         cont_type="96-deep",
                         storage="cold_80",
                         discard=False)
    growth_wells = growth_plate.wells(['A1', 'A2'])

    prepare_growth_wells(growth_wells)

    p.distribute(source_bacteria_well,
                 growth_wells,
                 ul(25),
                 mix_before=True,
                 mix_vol=ul(150),
                 allow_carryover=True)

    for growth_well in growth_wells:
        p.mix(growth_well, volume=ul(450), repetitions=10)

    p.cover(growth_plate)
    #grow bacteria until they are in their log phase of growth
    #https://www.qiagen.com/us/resources/technologies/plasmid-resource-center/growth%20of%20bacterial%20cultures/
    p.incubate(growth_plate, "warm_37", "{}:hour".format(15), shaking=True)

    p.uncover(growth_plate)

    #add glycerol
    p.provision(p.inv['glycerol'], growth_wells, ul(500))

    for growth_well in growth_wells:
        p.mix(growth_well, volume=ul(900), repetitions=10)
def amplify_and_store_bacteria(source_bacteria_well):
    # Tubes and plates
    growth_plate = p.ref(expid("growth"), cont_type="96-deep",   storage="cold_80",  discard=False)
    growth_wells = growth_plate.wells(['A1','A2'])    
    
    prepare_growth_wells(growth_wells)
    
    p.distribute(source_bacteria_well,growth_wells,ul(25),mix_before=True,mix_vol=ul(150),
                 allow_carryover=True)
    
    for growth_well in growth_wells:
        p.mix(growth_well, volume=ul(450), repetitions=10)    
        
    p.cover(growth_plate)
    #grow bacteria until they are in their log phase of growth
    #https://www.qiagen.com/us/resources/technologies/plasmid-resource-center/growth%20of%20bacterial%20cultures/
    p.incubate(growth_plate, "warm_37", "{}:hour".format(15), shaking=True)
    
    p.uncover(growth_plate)
    
    #add glycerol
    p.provision(p.inv['glycerol'],growth_wells,ul(500))
    
    for growth_well in growth_wells:
        p.mix(growth_well, volume=ul(900), repetitions=10)
def measure_growth_wells():
    #
    # Growth: absorbance and fluorescence over 24 hours
    # Absorbance at 600nm: cell growth
    # Fluorescence at 485nm/510nm: sfGFP
    #
    hr = 12
    for t in range(0,hr*2+1,hr):
        if t > 0:
            p.cover(growth_plate)
            p.incubate(growth_plate, "warm_37", "{}:hour".format(hr), shaking=True)
            p.uncover(growth_plate)

        p.fluorescence(growth_plate, growth_plate.wells(abs_wells).indices(),
                       excitation="485:nanometer", emission="535:nanometer",
                       dataref=expid("fl2_{}".format(t)), flashes=25)
        p.absorbance(growth_plate, growth_plate.wells(abs_wells).indices(),
                     wavelength="600:nanometer",
                     dataref=expid("abs_{}".format(t)), flashes=25)
ecori_hindiii_well = reagent_plate.wells(["A1"])[0]
cutsmart_well = reagent_plate.wells(["B1"])[0]
pUC19_well = reagent_plate.wells(["H12"])[0]

# Initialize all existing inventory
all_inventory_wells = [ecori_hindiii_well, cutsmart_well, pUC19_well]
for well in all_inventory_wells:
    init_inventory_well(well)

# Tubes and plates we use and then discard
water_tube = p.ref("water_tube", cont_type="micro-1.5", discard=True).well(0)
pcr_plate = p.ref("pcr_plate", cont_type="96-pcr", discard=True)

# The result of the experiment, a pUC19 cut by EcoRI and HindIII, goes in this tube for storage
puc19_cut_tube = p.ref(expid("puc19_cut", experiment_name),
                       cont_type="micro-1.5",
                       storage="cold_20").well(0)

# -------------------------------------------------------------
# Provisioning and diluting.
# Diluted EcoRI can be used more than once
#
p.provision(inv["water"], water_tube, ul(500))

# -------------------------------------------------------------
# Restriction enzyme cutting pUC19
# 3 experiments (1 without re)
# 50ul total reaction volume for cutting 1ug of DNA:
# 42uL water
# 5ul CutSmart 10x
Esempio n. 9
0
template_tube = p.ref("sfgfp_2nM", id=inv['sfgfp_2nM'], cont_type="micro-1.5", storage="cold_20").well(0)
primer_wells = [p.ref('sfgfp_puc19_primer_forward_10uM', id=inv['sfgfp_puc19_primer_forward_10uM'], 
                      cont_type="micro-1.5", storage="cold_20").well(0),
                p.ref('sfgfp_puc19_primer_reverse_10uM', id=inv['sfgfp_puc19_primer_reverse_10uM'], 
                      cont_type="micro-1.5", storage="cold_20").well(0)]

pcr_reagent_plate = p.ref("pcr_reagent_plate", id=inv['pcr_reagent_plate'], 
                          cont_type="96-pcr", storage="cold_20")

q5_poly_well = pcr_reagent_plate.wells(["A1"])[0]
q5_buffer_well = pcr_reagent_plate.wells(["A2"])[0]
dNTP_well = pcr_reagent_plate.wells(["B1"])[0]


# New inventory resulting from this experiment
sfgfp_pcroe_out_tube = p.ref(expid("amplified",experiment_name), cont_type="micro-1.5", storage="cold_20").well(0)

# Temporary tubes for use, then discarded (you can't set storage if you are going to discard)
mastermix_well = p.ref("mastermix", cont_type="micro-1.5", discard=True).well(0)
water_well =     p.ref("water",     cont_type="micro-1.5", discard=True).well(0)
pcr_plate =      p.ref("pcr_plate", cont_type="96-pcr", discard=True)

# Initialize all existing inventory
all_inventory_wells = [template_tube] + primer_wells
for well in all_inventory_wells:
    init_inventory_well(well)

# -----------------------------------------------------
# Provision water once, for general use
#
p.provision(inv["water"], water_well, ul(500))
        "ct18y4w8dz47pa",  # inventory; Ampicillin plates with transformed bacteria
    }
    inv.update(test_inv)

# Tubes and plates
lb_amp_tubes = [
    p.ref("lb_amp_{}".format(i + 1),
          cont_type="micro-2.0",
          storage="ambient",
          discard=True).well(0) for i in range(4)
]
lb_xab_tube = p.ref("lb_xab",
                    cont_type="micro-2.0",
                    storage="ambient",
                    discard=True).well(0)
growth_plate = p.ref(expid("growth"),
                     cont_type="96-flat",
                     storage="cold_4",
                     discard=False)

# ampicillin plate
amp_6_flat = Container(None, p.container_type('6-flat'))
p.refs[plate_expid("amp_6_flat")] = Ref(plate_expid("amp_6_flat"), {
    "id": inv[plate_expid("amp_6_flat")],
    "store": {
        "where": 'cold_4'
    }
}, amp_6_flat)

# Use a total of 50 wells
abs_wells = [
Esempio n. 11
0
          id=inv['sfgfp_puc19_primer_reverse_10uM'],
          cont_type="micro-1.5",
          storage="cold_20").well(0)
]

pcr_reagent_plate = p.ref("pcr_reagent_plate",
                          id=inv['pcr_reagent_plate'],
                          cont_type="96-pcr",
                          storage="cold_20")

q5_poly_well = pcr_reagent_plate.wells(["A1"])[0]
q5_buffer_well = pcr_reagent_plate.wells(["A2"])[0]
dNTP_well = pcr_reagent_plate.wells(["B1"])[0]

# New inventory resulting from this experiment
sfgfp_pcroe_out_tube = p.ref(expid("amplified", experiment_name),
                             cont_type="micro-1.5",
                             storage="cold_20").well(0)

# Temporary tubes for use, then discarded (you can't set storage if you are going to discard)
mastermix_well = p.ref("mastermix", cont_type="micro-1.5",
                       discard=True).well(0)
water_well = p.ref("water", cont_type="micro-1.5", discard=True).well(0)
pcr_plate = p.ref("pcr_plate", cont_type="96-pcr", discard=True)

# Initialize all existing inventory
all_inventory_wells = [template_tube] + primer_wells
for well in all_inventory_wells:
    init_inventory_well(well)

# -----------------------------------------------------
Esempio n. 12
0
                                                              # A2: Buffer, A3: Enhancer, B1: dNTP 10mM
                                                              # C1: exosap
     'dna_to_clean':         'ct18x9rfdw99w5', # inventory: sfgfp_pcr_v1_amplified
    }
    inv.update(test_inv)


# Existing inventory
dna_to_clean_well = p.ref("dna_to_clean", id=inv['dna_to_clean'], cont_type="micro-1.5", storage="cold_20").well(0)
pcr_reagent_plate = p.ref("pcr_reagent_plate", id=inv['pcr_reagent_plate'], 
                          cont_type="96-pcr", storage="cold_20")

exosap_it_well = pcr_reagent_plate.wells(["C1"])[0]

# New inventory resulting from this experiment
exosap_reaction_plate = p.ref(expid("cleaned",experiment_name), cont_type="96-pcr", storage="cold_20")


if 'run_absorbance' in options:
    abs_plate = p.ref("abs_plate_%s_clean"%experiment_name, 
                      cont_type="96-flat", storage="cold_20", discard=False)

# Initialize all existing inventory
all_inventory_wells = [dna_to_clean_well]
for well in all_inventory_wells:
    init_inventory_well(well)

# -----------------------------------------------------
# ExoSAP-IT PCR product cleanyup
# http://media.affymetrix.com/support/technical/usb/brief_proto/78200B.pdf
# requires 2uL of exosap for every 5 ul of dna product
Esempio n. 13
0
#diluted_product_well1 =     p.ref("diluted_1_10th_pcr_product_well", cont_type="micro-1.5", storage="cold_20").well(0)
diluted_product_well2 = p.ref("diluted_1_20th_pcr_product_well",
                              cont_type="micro-1.5",
                              storage="cold_20").well(0)
#create a water tube with 36ul water and 4ul pcr product --> 40uL --> 1/10 dilution

#p.provision(inv["water"], diluted_product_well1, ul(36))
#p.transfer(pcr_product_well, diluted_product_well1, ul(4),mix_before=True,mix_after=True,mix_vol=ul(20))

p.provision(inv["water"], diluted_product_well2, ul(38))
p.transfer(pcr_product_well,
           diluted_product_well2,
           ul(2),
           mix_before=True,
           mix_after=True,
           mix_vol=ul(20))

# Initialize all existing inventory
all_inventory_wells = [pcr_product_well]
for well in all_inventory_wells:
    init_inventory_well(well)

# --------------------------------------------------------
# Run a gel
#

#p.gel_separate([diluted_product_well1,diluted_product_well2],
p.gel_separate([diluted_product_well2], ul(20), "agarose(10,1.2%)", "ladder1",
               "10:minute", expid("gel", experiment_name))
print(json.dumps(p.as_dict(), indent=2))
                    cont_type="96-pcr", storage="cold_4")
#
# Catalog (all to be discarded afterward)
#
transform_plate  = p.ref("trn_plate", cont_type="96-pcr",    storage="ambient", discard=True)
transform_tube   = transform_plate.well(39) # experiment
transform_tube_L = p.ref("trn_tubeL", cont_type="micro-1.5", storage="ambient", discard=True).well(0)
transctrl_tube   = transform_plate.well(56) # control
transctrl_tube_L = p.ref("trc_tubeL", cont_type="micro-1.5", storage="ambient", discard=True).well(0)

#
# Plating according to Tali's protocol
# http://learn.transcriptic.com/blog/2015/9/9/provisioning-commercial-reagents
#
amp_6_flat = Container(None, p.container_type('6-flat'))
p.refs[expid("amp_6_flat")] = Ref(expid("amp_6_flat"),
                                  {"reserve": p.inv['lb-broth-100ug-ml-amp_6-flat'], "store": {"where": 'cold_4'}}, amp_6_flat)
noAB_6_flat = Container(None, p.container_type('6-flat'))
p.refs[expid("noAB_6_flat")] = Ref(expid("noAB_6_flat"),
                                   {"reserve": p.inv['noAB-amp_6-flat'], "store": {"where": 'cold_4'}}, noAB_6_flat)

#
# Initialize inventory
#

all_inventory_wells = [clone_plate.well(0)]

for well in all_inventory_wells:
    init_inventory_well(well)

# ---------------------------------------------------------------
experiment_name = "sfgfp_puc19_gibson_v1"
utils.experiment_name = experiment_name

p = Protocol()

inv = get_inventory()

puc19_cut_tube = p.ref("puc19_ecori_hindiii_puc19_cut",
                       id=inv["puc19_ecori_hindiii_puc19_cut"],
                       cont_type="micro-1.5",
                       storage="cold_20").well(0)
sfgfp_pcroe_amp_tube = p.ref("sfgfp_pcr_ecori_hindiii_amplified",
                             id=inv["sfgfp_pcr_ecori_hindiii_amplified"],
                             cont_type="micro-1.5",
                             storage="cold_20").well(0)
clone_plate = p.ref(expid("clone"), cont_type="96-pcr", storage="cold_20")

#
# Catalog (all to be discarded afterward)
#

water_tube = p.ref("water", cont_type="micro-1.5", discard=True).well(0)

#
# Initialize inventory
#

all_inventory_wells = [puc19_cut_tube, sfgfp_pcroe_amp_tube]

for well in all_inventory_wells:
    init_inventory_well(well)
inv = {
    # plates from previous experiment, must be changed every new experiment
    plate_expid("amp_6_flat")  : "ct18yn63tz9wv9", # inventory; Ampicillin plates with transformed bacteria
}

if "--test" in sys.argv:
    test_inv =  {
        plate_expid("amp_6_flat")  : "ct18y4w8dz47pa", # inventory; Ampicillin plates with transformed bacteria
    }
    inv.update(test_inv)

# Tubes and plates
lb_amp_tubes = [p.ref("lb_amp_{}".format(i+1), cont_type="micro-2.0", storage="ambient", discard=True).well(0)
                for i in range(4)]
lb_xab_tube  = p.ref("lb_xab", cont_type="micro-2.0", storage="ambient", discard=True).well(0)
growth_plate = p.ref(expid("growth"), cont_type="96-flat",   storage="cold_4",  discard=False)

# ampicillin plate
amp_6_flat = Container(None, p.container_type('6-flat'))
p.refs[plate_expid("amp_6_flat")] = Ref(plate_expid("amp_6_flat"),
                                        {"id":inv[plate_expid("amp_6_flat")], 
                                         "store": {"where": 'cold_4'}},
                                        amp_6_flat)

# Use a total of 50 wells
abs_wells = ["{}{}".format(row,col) for row in "BCDEF" for col in range(1,11)]
abs_wells_T = ["{}{}".format(row,col) for col in range(1,11) for row in "BCDEF"]
assert abs_wells[:3] == ["B1","B2","B3"] and abs_wells_T[:3] == ["B1","C1","D1"]

def prepare_growth_wells():
    #