Maxiprep of plasmid DNA from E.coli protocol - source code

From OpenWetWare

(Difference between revisions)
Jump to: navigation, search
(New page: <code><pre> #include "BioStream.h" void main() { start_protocol("Maxiprep of Plasmid DNA from E.coli"); Fluid medium = new_fluid("LB broth + selective marker"); Fluid glycerol = new_f...)
Current revision (05:19, 9 January 2010) (view source)
 
(2 intermediate revisions not shown.)
Line 1: Line 1:
<code><pre>
<code><pre>
-
#include "BioStream.h"
+
#include "BioCoder.h"
void main()
void main()
Line 6: Line 6:
start_protocol("Maxiprep of Plasmid DNA from E.coli");
start_protocol("Maxiprep of Plasmid DNA from E.coli");
-
Fluid medium = new_fluid("LB broth + selective marker");
+
Fluid medium = new_fluid("LB broth + selective marker", vol(50, ML));
Fluid glycerol = new_fluid("50% sterile glycerol");
Fluid glycerol = new_fluid("50% sterile glycerol");
Fluid teg = new_fluid("TEG", "25mM Tris-Cl, 10mM EDTA, 50mM dextrose");
Fluid teg = new_fluid("TEG", "25mM Tris-Cl, 10mM EDTA, 50mM dextrose");
Line 26: Line 26:
Solid bac_col = new_solid("a single colony of E. coli");
Solid bac_col = new_solid("a single colony of E. coli");
-
Container flask = new_container(FLASK);
+
Container flask = new_container(FLASK, medium);
Container eppendorf1 = new_container(EPPENDORF);
Container eppendorf1 = new_container(EPPENDORF);
Container eppendorf2 = new_container(EPPENDORF);
Container eppendorf2 = new_container(EPPENDORF);
Line 38: Line 38:
//  1. Grow a single colony of E. coli overnight in 50mL LB broth + selective markers at 37°C.
//  1. Grow a single colony of E. coli overnight in 50mL LB broth + selective markers at 37°C.
first_step();
first_step();
-
set_container(medium, flask);
 
inoculation(flask, bac_col, 37, time(12, HRS), 1);
inoculation(flask, bac_col, 37, time(12, HRS), 1);
// 2. The next morning, put 850μL of the culture in each of two Eppendorf tubes, add 150μL sterile 50% glycerol, and store at -80°C. Pour as much culture as will fit into an Oak Ridge tube and centrifuge at 5800g/6000rpm, 4°C, for 10 minutes in a GSA rotor. Discard the supernatant, add the rest of the culture, and repeat. Resuspend in 1mL TEG.
// 2. The next morning, put 850μL of the culture in each of two Eppendorf tubes, add 150μL sterile 50% glycerol, and store at -80°C. Pour as much culture as will fit into an Oak Ridge tube and centrifuge at 5800g/6000rpm, 4°C, for 10 minutes in a GSA rotor. Discard the supernatant, add the rest of the culture, and repeat. Resuspend in 1mL TEG.
next_step();
next_step();
-
name_container(eppendorf1, "Eppendorf 1");
 
measure_fluid(flask, vol(850, UL), eppendorf1);
measure_fluid(flask, vol(850, UL), eppendorf1);
-
measure_and_add(eppendorf1, glycerol, vol(150, UL));
+
measure_fluid(glycerol, vol(150, UL), eppendorf1);
store(eppendorf1, -80);
store(eppendorf1, -80);
-
name_container(eppendorf2, "Eppendorf 2");
 
measure_fluid(flask, vol(850, UL), eppendorf2);
measure_fluid(flask, vol(850, UL), eppendorf2);
-
measure_and_add(eppendorf2, glycerol, vol(150, UL));
+
measure_fluid(glycerol, vol(150, UL), eppendorf2);
store(eppendorf2, -80);
store(eppendorf2, -80);
Line 57: Line 54:
centrifuge_pellet(oakridge, speed(5800, G), 4, time(10, MINS));
centrifuge_pellet(oakridge, speed(5800, G), 4, time(10, MINS));
name_sample(flask, "rest of the culture");
name_sample(flask, "rest of the culture");
-
measure_and_add(oakridge, flask.contents);
+
measure_fluid(flask.contents, oakridge);
centrifuge_pellet(oakridge, speed(5800, G), 4, time(10, MINS));
centrifuge_pellet(oakridge, speed(5800, G), 4, time(10, MINS));
-
measure_and_add(oakridge, teg, vol(1, ML));
+
measure_fluid(teg, vol(1, ML), oakridge);
resuspend(oakridge);
resuspend(oakridge);
// 3. Add 111μL 20mg/mL lysozyme. Incubate on ice for 30 minutes. Meanwhile, mix: 250μL 10% SDS, 125μL 4M NaOH, 2.125mL autoclaved water per culture.
// 3. Add 111μL 20mg/mL lysozyme. Incubate on ice for 30 minutes. Meanwhile, mix: 250μL 10% SDS, 125μL 4M NaOH, 2.125mL autoclaved water per culture.
next_step();
next_step();
-
measure_and_add(oakridge, lysozyme, vol(111, UL));
+
measure_fluid(lysozyme, vol(111, UL), oakridge);
incubate(oakridge, ON_ICE, time(30, MINS));
incubate(oakridge, ON_ICE, time(30, MINS));
parallel_step();
parallel_step();
measure_fluid(sds, vol(250, UL), eppendorf3);
measure_fluid(sds, vol(250, UL), eppendorf3);
-
measure_and_add(eppendorf3, naoh, vol(125, UL));
+
measure_fluid(naoh, vol(125, UL), eppendorf3);
-
measure_and_add(eppendorf3, water, vol(2.125, UL));
+
measure_fluid(water, vol(2.125, ML), eppendorf3);
vortex(eppendorf3);
vortex(eppendorf3);
name_sample(eppendorf3, "SDS/NaOH mix");
name_sample(eppendorf3, "SDS/NaOH mix");
Line 81: Line 78:
// 5. Add 1.5mL Solution 3 (3M K+, 5M acetate). Incubate on ice for 10 minutes.
// 5. Add 1.5mL Solution 3 (3M K+, 5M acetate). Incubate on ice for 10 minutes.
next_step();
next_step();
-
measure_and_add(oakridge, sol3, vol(1.5, ML));
+
measure_fluid(sol3, vol(1.5, ML), oakridge);
incubate(oakridge, ON_ICE, time(10, MINS));
incubate(oakridge, ON_ICE, time(10, MINS));
Line 87: Line 84:
next_step();
next_step();
vortex(oakridge);
vortex(oakridge);
-
centrifuge_phases(oakridge, speed(17200, G), 4, time(15, MINS), oakridge1);
+
centrifuge_phases_top(oakridge, speed(17200, G), 4, time(15, MINS), oakridge1);
// 7. Pour the supernatant into another Oak Ridge tube and discard the pellet. Add 2.7mL isopropanol. Centrifuge at 17,200g/12,000rpm (room temperature) for 10 minutes. Discard the supernatant.
// 7. Pour the supernatant into another Oak Ridge tube and discard the pellet. Add 2.7mL isopropanol. Centrifuge at 17,200g/12,000rpm (room temperature) for 10 minutes. Discard the supernatant.
next_step();
next_step();
-
measure_and_add(oakridge1, isoprop, vol(2.7, ML));
+
measure_fluid(isoprop, vol(2.7, ML), oakridge1);
centrifuge_pellet(oakridge1, speed(17200, G), RT, time(10, MINS));
centrifuge_pellet(oakridge1, speed(17200, G), RT, time(10, MINS));
// 8. Wash pellet with 1mL 70% ethanol. Air dry for 2-5 minutes on bench. Resuspend in 500μL TE buffer. Add 500μL 5M LiCl. Incubate on ice for 5 minutes.
// 8. Wash pellet with 1mL 70% ethanol. Air dry for 2-5 minutes on bench. Resuspend in 500μL TE buffer. Add 500μL 5M LiCl. Incubate on ice for 5 minutes.
next_step();
next_step();
-
measure_and_add(oakridge1, eth70, vol(1, ML));
+
measure_fluid(eth70, vol(1, ML), oakridge1);
vortex(oakridge1);
vortex(oakridge1);
centrifuge_pellet(oakridge1, speed(17200, G), RT, time(10, MINS));
centrifuge_pellet(oakridge1, speed(17200, G), RT, time(10, MINS));
dry_pellet(oakridge1, "in air", time_range(2, 5, MINS));
dry_pellet(oakridge1, "in air", time_range(2, 5, MINS));
-
measure_and_add(oakridge1, te, vol(500, UL));
+
measure_fluid(te, vol(500, UL), oakridge1);
resuspend(oakridge1);
resuspend(oakridge1);
-
measure_and_add(oakridge, licl, vol(500, UL));
+
measure_fluid(licl, vol(500, UL), oakridge1);
incubate(oakridge1, ON_ICE, time(5, MINS));
incubate(oakridge1, ON_ICE, time(5, MINS));
// 9. Centrifuge at 17,200g/12,000rpm for 10 minutes.
// 9. Centrifuge at 17,200g/12,000rpm for 10 minutes.
-
centrifuge_phases(oakridge1, speed(17200, G), RT, time(10, MINS), eppendorf4);
+
centrifuge_phases_top(oakridge1, speed(17200, G), RT, time(10, MINS), eppendorf4);
//10. Pour supernatant into an Eppendorf. Add 1mL isopropanol. Incubate on the bench for 10 minutes.
//10. Pour supernatant into an Eppendorf. Add 1mL isopropanol. Incubate on the bench for 10 minutes.
next_step();
next_step();
-
measure_and_add(eppendorf4, isoprop, vol(1, ML));
+
measure_fluid(isoprop, vol(1, ML), eppendorf4);
incubate(eppendorf4, RT, time(10, MINS));
incubate(eppendorf4, RT, time(10, MINS));
Line 119: Line 116:
//12. Discard the supernatant. Wash the pellets with 100μL 70% ethanol. Resuspend in 375μL TE buffer. Add 7.5μL 1mg/mL RNaseA. Incubate at 37°C for 30 minutes.
//12. Discard the supernatant. Wash the pellets with 100μL 70% ethanol. Resuspend in 375μL TE buffer. Add 7.5μL 1mg/mL RNaseA. Incubate at 37°C for 30 minutes.
next_step();
next_step();
-
measure_and_add(eppendorf4, eth70, vol(100, UL));
+
measure_fluid(eth70, vol(100, UL), eppendorf4);
vortex(eppendorf4);
vortex(eppendorf4);
centrifuge_pellet(eppendorf4, speed(17200, G), RT, time(10, MINS));
centrifuge_pellet(eppendorf4, speed(17200, G), RT, time(10, MINS));
-
measure_and_add(eppendorf4, te, vol(375, UL));
+
measure_fluid(te, vol(375, UL), eppendorf4);
resuspend(eppendorf4);
resuspend(eppendorf4);
-
measure_and_add(eppendorf4, rnase, vol(7.5, UL));
+
measure_fluid(rnase, vol(7.5, UL), eppendorf4);
incubate(eppendorf4, 37, time(30, MINS));
incubate(eppendorf4, 37, time(30, MINS));
//13. Add 700μL phenol:chloroform:isoamyl alcohol. Vortex until thoroughly mixed. Centrifuge at top speed of microfuge for 2 minutes. Pipette aqueous phase (the top one) into new Eppendorf. Repeat until the interface between the phases is clear after centrifugation. Then repeat the procedure twice with chloroform:isoamyl alcohol to remove any phenol.
//13. Add 700μL phenol:chloroform:isoamyl alcohol. Vortex until thoroughly mixed. Centrifuge at top speed of microfuge for 2 minutes. Pipette aqueous phase (the top one) into new Eppendorf. Repeat until the interface between the phases is clear after centrifugation. Then repeat the procedure twice with chloroform:isoamyl alcohol to remove any phenol.
next_step();
next_step();
-
measure_and_add(eppendorf4, phe_chloro_iaa, vol(700, UL));
+
measure_fluid(phe_chloro_iaa, vol(700, UL), eppendorf4);
vortex(eppendorf4);
vortex(eppendorf4);
comment("The solution should be thoroughly mixed.");
comment("The solution should be thoroughly mixed.");
-
centrifuge_phases(eppendorf4, speed(SPEED_MAX, G), RT, time(2, MINS), eppendorf5);
+
centrifuge_phases_top(eppendorf4, speed(SPEED_MAX, G), RT, time(2, MINS), eppendorf5);
next_step();
next_step();
-
repeat(14, "the interface between the phases is clear after centrifugation");
+
repeat(14);
 +
to_do("Repeat until the interface between the phases is clear after centrifugation");
next_step();
next_step();
-
measure_and_add(eppendorf5, chloro_iaa, vol(700, UL));
+
measure_fluid(chloro_iaa, vol(700, UL), eppendorf5);
vortex(eppendorf5);
vortex(eppendorf5);
comment("The solution should be thoroughly mixed.");
comment("The solution should be thoroughly mixed.");
-
centrifuge_phases(eppendorf5, speed(SPEED_MAX, G), RT, time(2, MINS), eppendorf6);
+
centrifuge_phases_top(eppendorf5, speed(SPEED_MAX, G), RT, time(2, MINS), eppendorf6);
next_step();
next_step();
Line 149: Line 147:
//14. Add 750μL straight ethanol and 125μL 3M sodium acetate. Put at -80°C for 30 minutes or -20°C overnight.
//14. Add 750μL straight ethanol and 125μL 3M sodium acetate. Put at -80°C for 30 minutes or -20°C overnight.
next_step();
next_step();
-
measure_and_add(eppendorf6, eth100, vol(750, UL));
+
measure_fluid(eth100, vol(750, UL), eppendorf6);
-
measure_and_add(eppendorf6, naac, vol(125, UL));
+
measure_fluid(naac, vol(125, UL), eppendorf6);
-
begin_option();
+
first_option();
store_for(eppendorf6, -80, time(30, MINS));
store_for(eppendorf6, -80, time(30, MINS));
next_option();
next_option();
Line 160: Line 158:
next_step();
next_step();
centrifuge_pellet(eppendorf6, speed(13600, G), 4, time(15, MINS));
centrifuge_pellet(eppendorf6, speed(13600, G), 4, time(15, MINS));
-
measure_and_add(eppendorf6, eth70, approx_vol(100, UL));
+
measure_fluid(eth70, approx_vol(100, UL), eppendorf6);
vortex(eppendorf6);
vortex(eppendorf6);
centrifuge_pellet(eppendorf6, speed(13600, G), 4, time(5, MINS));
centrifuge_pellet(eppendorf6, speed(13600, G), 4, time(5, MINS));
-
measure_and_add(eppendorf6, te, vol_range(100, 200, UL));
+
measure_fluid(te, vol_range(100, 200, UL), eppendorf6);
resuspend(eppendorf6);
resuspend(eppendorf6);

Current revision

#include "BioCoder.h"

void main()
{
	start_protocol("Maxiprep of Plasmid DNA from E.coli");

	Fluid medium = new_fluid("LB broth + selective marker", vol(50, ML));
	Fluid glycerol = new_fluid("50% sterile glycerol");
	Fluid teg = new_fluid("TEG", "25mM Tris-Cl, 10mM EDTA, 50mM dextrose");
	Fluid lysozyme = new_fluid("20 mg/ml lysozyme");
	Fluid sds = new_fluid("10% SDS");
	Fluid naoh = new_fluid("4M NaOH");
	Fluid water = new_fluid("autoclaved water");
	Fluid sol3 = new_fluid("Solution 3", "3M potassium-acetate, 2M acetic acid -- glacial is 17M");
	Fluid isoprop = new_fluid("isopropanol");
	Fluid eth70 = new_fluid("70% ethanol");
	Fluid te = new_fluid("TE buffer");
	Fluid licl = new_fluid("5M LiCl");
	Fluid rnase = new_fluid("1 mg/ml RNaseA");
	Fluid phe_chloro_iaa = new_fluid("phenol: chloroform: isoamyl alcohol", "25:24:1");
	Fluid chloro_iaa = new_fluid("chloroform: isoamyl alcohol", "24:1");
	Fluid eth100 = new_fluid("straight ethanol");
	Fluid naac = new_fluid("3M sodium acetate");

	Solid bac_col = new_solid("a single colony of E. coli");

	Container flask = new_container(FLASK, medium);
	Container eppendorf1 = new_container(EPPENDORF);
	Container eppendorf2 = new_container(EPPENDORF);
	Container eppendorf3 = new_container(EPPENDORF);
	Container eppendorf4 = new_container(EPPENDORF);
	Container eppendorf5 = new_container(EPPENDORF);
	Container eppendorf6 = new_container(EPPENDORF);
	Container oakridge = new_container(OAKRIDGE);
	Container oakridge1 = new_container(OAKRIDGE);
	
	//  1. Grow a single colony of E. coli overnight in 50mL LB broth + selective markers at 37°C.
	first_step();
	inoculation(flask, bac_col, 37, time(12, HRS), 1);
	
	// 2. The next morning, put 850μL of the culture in each of two Eppendorf tubes, add 150μL sterile 50% glycerol, and store at -80°C. Pour as much culture as will fit into an Oak Ridge tube and centrifuge at 5800g/6000rpm, 4°C, for 10 minutes in a GSA rotor. Discard the supernatant, add the rest of the culture, and repeat. Resuspend in 1mL TEG.
	next_step();
	measure_fluid(flask, vol(850, UL), eppendorf1);
	measure_fluid(glycerol, vol(150, UL), eppendorf1);
	store(eppendorf1, -80);
	measure_fluid(flask, vol(850, UL), eppendorf2);
	measure_fluid(glycerol, vol(150, UL), eppendorf2);
	store(eppendorf2, -80);

	next_step();
	name_sample(flask, "as much culture as will fit");
	measure_fluid(flask.contents, oakridge);
	centrifuge_pellet(oakridge, speed(5800, G), 4, time(10, MINS));
	name_sample(flask, "rest of the culture");
	measure_fluid(flask.contents, oakridge);
	centrifuge_pellet(oakridge, speed(5800, G), 4, time(10, MINS));
	measure_fluid(teg, vol(1, ML), oakridge);
	resuspend(oakridge);

	// 3. Add 111μL 20mg/mL lysozyme. Incubate on ice for 30 minutes. Meanwhile, mix: 250μL 10% SDS, 125μL 4M NaOH, 2.125mL autoclaved water per culture.
	next_step();
	measure_fluid(lysozyme, vol(111, UL), oakridge);
	incubate(oakridge, ON_ICE, time(30, MINS));

	parallel_step();
	measure_fluid(sds, vol(250, UL), eppendorf3);
	measure_fluid(naoh, vol(125, UL), eppendorf3);
	measure_fluid(water, vol(2.125, ML), eppendorf3);
	vortex(eppendorf3);
	name_sample(eppendorf3, "SDS/NaOH mix");

	// 4. Add 2mL SDS/NaOH mix to each tube. Incubate on ice for 10 minutes.
	next_step();
	measure_fluid(eppendorf3, vol(2, ML), oakridge);
	incubate(oakridge, ON_ICE, time(10, MINS));

	// 5. Add 1.5mL Solution 3 (3M K+, 5M acetate). Incubate on ice for 10 minutes.
	next_step();
	measure_fluid(sol3, vol(1.5, ML), oakridge);
	incubate(oakridge, ON_ICE, time(10, MINS));

	// 6. Shake vigorously. Centrifuge in SS34 rotor at 17,200g/12,000rpm, 4°C, for 15 minutes.
	next_step();
	vortex(oakridge);
	centrifuge_phases_top(oakridge, speed(17200, G), 4, time(15, MINS), oakridge1);
	
	// 7. Pour the supernatant into another Oak Ridge tube and discard the pellet. Add 2.7mL isopropanol. Centrifuge at 17,200g/12,000rpm (room temperature) for 10 minutes. Discard the supernatant.
	next_step();
	measure_fluid(isoprop, vol(2.7, ML), oakridge1);
	centrifuge_pellet(oakridge1, speed(17200, G), RT, time(10, MINS));

	// 8. Wash pellet with 1mL 70% ethanol. Air dry for 2-5 minutes on bench. Resuspend in 500μL TE buffer. Add 500μL 5M LiCl. Incubate on ice for 5 minutes.
	next_step();
	measure_fluid(eth70, vol(1, ML), oakridge1);
	vortex(oakridge1);
	centrifuge_pellet(oakridge1, speed(17200, G), RT, time(10, MINS));
	dry_pellet(oakridge1, "in air", time_range(2, 5, MINS));
	measure_fluid(te, vol(500, UL), oakridge1);
	resuspend(oakridge1);
	measure_fluid(licl, vol(500, UL), oakridge1);
	incubate(oakridge1, ON_ICE, time(5, MINS));

	// 9. Centrifuge at 17,200g/12,000rpm for 10 minutes.
	centrifuge_phases_top(oakridge1, speed(17200, G), RT, time(10, MINS), eppendorf4);

	//10. Pour supernatant into an Eppendorf. Add 1mL isopropanol. Incubate on the bench for 10 minutes.
	next_step();
	measure_fluid(isoprop, vol(1, ML), eppendorf4);
	incubate(eppendorf4, RT, time(10, MINS));

	//11. Centrifuge at 17,200g/12,000rpm for 10 minutes.
	next_step();
	centrifuge_pellet(eppendorf4, speed(17200, G), RT, time(10, MINS));

	//12. Discard the supernatant. Wash the pellets with 100μL 70% ethanol. Resuspend in 375μL TE buffer. Add 7.5μL 1mg/mL RNaseA. Incubate at 37°C for 30 minutes.
	next_step();
	measure_fluid(eth70, vol(100, UL), eppendorf4);
	vortex(eppendorf4);
	centrifuge_pellet(eppendorf4, speed(17200, G), RT, time(10, MINS));
	measure_fluid(te, vol(375, UL), eppendorf4);
	resuspend(eppendorf4);
	measure_fluid(rnase, vol(7.5, UL), eppendorf4);
	incubate(eppendorf4, 37, time(30, MINS));

	//13. Add 700μL phenol:chloroform:isoamyl alcohol. Vortex until thoroughly mixed. Centrifuge at top speed of microfuge for 2 minutes. Pipette aqueous phase (the top one) into new Eppendorf. Repeat until the interface between the phases is clear after centrifugation. Then repeat the procedure twice with chloroform:isoamyl alcohol to remove any phenol.
	next_step();
	measure_fluid(phe_chloro_iaa, vol(700, UL), eppendorf4);
	vortex(eppendorf4);
	comment("The solution should be thoroughly mixed.");
	centrifuge_phases_top(eppendorf4, speed(SPEED_MAX, G), RT, time(2, MINS), eppendorf5);

	next_step();
	repeat(14);
	to_do("Repeat until the interface between the phases is clear after centrifugation");

	next_step();
	measure_fluid(chloro_iaa, vol(700, UL), eppendorf5);
	vortex(eppendorf5);
	comment("The solution should be thoroughly mixed.");
	centrifuge_phases_top(eppendorf5, speed(SPEED_MAX, G), RT, time(2, MINS), eppendorf6);

	next_step();
	repeat(16);
	comment("This removes phenol.");

	//14. Add 750μL straight ethanol and 125μL 3M sodium acetate. Put at -80°C for 30 minutes or -20°C overnight.
	next_step();
	measure_fluid(eth100, vol(750, UL), eppendorf6);
	measure_fluid(naac, vol(125, UL), eppendorf6);
	first_option();
	store_for(eppendorf6, -80, time(30, MINS));
	next_option();
	store_for(eppendorf6, -20, time(12, HRS));
	end_option();

	//15. Centrifuge at 13,600g/12,000rpm, 4°C, for 15 minutes. Discard the supernatant. Wash pellet with ~100μL 70% ethanol. Resuspend in 100-200μL TE buffer. 
	next_step();
	centrifuge_pellet(eppendorf6, speed(13600, G), 4, time(15, MINS));
	measure_fluid(eth70, approx_vol(100, UL), eppendorf6);
	vortex(eppendorf6);
	centrifuge_pellet(eppendorf6, speed(13600, G), 4, time(5, MINS));
	measure_fluid(te, vol_range(100, 200, UL), eppendorf6);
	resuspend(eppendorf6);

	end_protocol();
}
Personal tools