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

From OpenWetWare
Revision as of 22:35, 19 November 2009 by Vaishnavi Ananth (talk | contribs)
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
#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, "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();
}