Endy:Colony PCR protocol - source code
From OpenWetWare
Jump to navigationJump to search
#include "BioCoder.h"
#define X 60
void main()
{
start_protocol("Endy - Colony PCR");
Fluid buffer = new_fluid("Thermo polymerase buffer");
Fluid dntps = new_fluid("dNTPS");
Fluid f_primer = new_fluid("Forward primer");
Fluid r_primer = new_fluid("Reverse primer");
Fluid taq = new_fluid("Taq or Vent Polymerase");
Fluid temp_sus = new_fluid("Template suspension");
Fluid h2o = new_fluid("H<sub>2</sub>O");
Container rxn_tube = new_container(RXN_TUBE);
first_step();
comment("Use a sterile toothpick or pipet tip to resuspend a plated colony in 50 μl sterile water.");
next_step();
comment("Store the colony resuspension at 4°C so you can start cultures if necessary (should be OK for a couple days, if you need it to last longer you should use an Index plate.");
// Reaction Mix
//
//Use the following reaction mix for each PCR:
//
// * 1 μl 10x Thermo polymerase buffer
// * 1 μl 10x dNTPs (10x = 2.5 mM each dNTP)
// * 0.15 μl 40 μM FWD primer
// * 0.15 μl 40 μM REV primer
// * 0.1 μl Polymerase (taq or vent)
// * 6.6 μl H2O
// * 1.0 μl template suspension
next_step("Reaction mix");
{
Fluid fluid_array[7] = {buffer, dntps, f_primer, r_primer, taq, temp_sus, h2o};
char* (initial_conc)[7] = {"10X", "10X", "40 µM", "40 µM", "--", "--", "--"};
char* (final_conc)[7] = {"1X", "1X", "0.6 µM", "0.6 µM", "--", "--", "--"};
Volume* volume[7] = {vol(1, UL), vol(1, UL), vol(0.15, UL), vol(0.15, UL), vol(0.1, UL), vol(6.6, UL), vol(1, UL)};
mixing_table_pcr(8, vol(10, UL), fluid_array, initial_conc, final_conc, volume, rxn_tube);
}
//
//PCR protocol
//
// * 95 C for 6 minutes (disrupt cells, separate DNA)
// * Cycle 35 times:
// o 95 C for 30 s (melting)
// o 53 C (or whatever temperature is appropriate) for 30 s (annealing)
// o 72 C for X s (elongation)
// * 72 C for 10 minutes (final elongation)
// * 4 C forever
// * For long amplicons, X = 1 minute + 2.5 s per 100bp
// * For shorter amplicons, under ~1kb, this can be shortened judiciously.
next_step("PCR protocol");
pcr_init_denat(rxn_tube, 95, time(6, MINS));
thermocycler(rxn_tube, 35, 95, time(30, SECS), 53, time(30, SECS), 72, time(X, SECS), NORMAL);
pcr_final_ext(rxn_tube, 72, time(10, MINS), 4);
comment("For long amplicons, elongation time = 1 minute + 2.5 s per 100bp.");
comment("For shorter amplicons, under ~1kb, this can be shortened judiciously.");
end_protocol();
}