DNA extraction - Salting Out - source code

From OpenWetWare
Revision as of 22:57, 19 November 2009 by Vaishnavi Ananth (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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("DNA Extraction - salting out");

	Fluid dig_buffer = new_fluid("Digestion Buffer","10mM NaCl, 10mM TRIS (pH 8.0), 10mM EDTA (pH 8.0), 0.5% SDS");
	Fluid proteinasek = new_fluid("Proteinase K", "20mg/ml");
	Fluid naac = new_fluid("Sodium Acetate pH 5.2", "3M");
	Fluid eth98 = new_fluid("98% ethanol", ICE_COLD);
	Fluid eth70 = new_fluid("70% ethanol", ICE_COLD);
	Fluid te = new_fluid("1X TE");
	Fluid water = new_fluid("water");

	Tissue req_tissue = new_solid("tissue");

	Container sterile_microfuge_tube1 = new_container(STERILE_MICROFUGE_TUBE, req_tissue);
	Container sterile_microfuge_tube2 = new_container(STERILE_MICROFUGE_TUBE);
	Container sterile_microfuge_tube3 = new_container(STERILE_MICROFUGE_TUBE);
	Container sterile_microfuge_tube4 = new_container(STERILE_MICROFUGE_TUBE);

	// * Tissue Digestion 
	first_step("Tissue Digestion");
	first_sub_step();
	//1. Add 5μL Proteinase K to each mL of Digestion Buffer (final 0.5mg/mL)
	measure_fluid(dig_buffer, sterile_microfuge_tube2);
	measure_prop(sterile_microfuge_tube2, proteinasek, 0.005);
	comment("That is, for each ml of Digestion Buffer, add 5 µl of ProteinaseK.");
	name_sample(sterile_microfuge_tube2, "solution");
	//2. Homogenise (or simply place) tissue in solution
	next_sub_step();
	homogenize_tissue(sterile_microfuge_tube1, sterile_microfuge_tube2.contents);
	//3. Incubate at 55°C for 1 hour to overnight
	next_sub_step();
	incubate(sterile_microfuge_tube2, 55, time_range(1, 12, HRS));
	//4. Mix by vortexing then centrifuge at maximum speed in a benchtop centrifuge for 2 minutes
	next_sub_step();
	vortex(sterile_microfuge_tube2);
	centrifuge_phases_top(sterile_microfuge_tube2, speed(SPEED_MAX, RPM), 4, time(2, MINS), sterile_microfuge_tube3);
	//5. Transfer supernatant into a new tube 

	// * Precipitation of Protein and Cell Debris 
	next_step("Precipitation of Protein and Cell Debris");
	//1. Add 1/10 volume of Sodium Acetate 3M pH 5.2 (final 0.3M)
	first_sub_step();
	measure_prop(sterile_microfuge_tube3, naac, 0.1);
	//2. Invert to mix and incubate at -20°C for ~15 minutes
	next_sub_step();
	invert(sterile_microfuge_tube3);
	incubate(sterile_microfuge_tube3, -20, time(15, MINS));
	//3. Centrifuge (preferably at 4°C) at maximum speed in a benchtop centrifuge for 20 minutes
	centrifuge_phases_top(sterile_microfuge_tube3, speed(SPEED_MAX, RPM), 4, time(20, MINS), sterile_microfuge_tube4);
	comment("Be careful not to transfer any of the white solid (cell debris and SDS) into the fresh tube.");
	//4. Transfer supernatant to a new tube 

	// * Precipitation of Nucleic Acids 
	next_step("Precipitation of Nucleic Acids");
	//1. Add ~2 volumes of 98% ethanol (final 60-80%)
	first_sub_step();
	measure_prop(sterile_microfuge_tube4, eth98, 2);
	//2. Invert to mix and incubate at -20°C for ~15 minutes
	next_sub_step();
	invert(sterile_microfuge_tube4);
	incubate(sterile_microfuge_tube4, -20, time(15, MINS));
	//3. Centrifuge (preferably at 4°C) at maximum speed in a benchtop centrifuge for 20 minutes
	next_sub_step();
	centrifuge_pellet(sterile_microfuge_tube4, speed(SPEED_MAX, RPM), 4, time(20, MINS));
	//4. Wash pellet with 98% ethanol, and once or twice with 70%. Allow to air dry then resuspend in water or 1xTE 
	next_sub_step();
	measure_fluid(eth98, vol(1, ML), sterile_microfuge_tube4);
	vortex(sterile_microfuge_tube4);
	centrifuge_pellet(sterile_microfuge_tube4, speed(SPEED_MAX, RPM), 4, time(5, MINS));
	measure_fluid(eth70, vol(1, ML), sterile_microfuge_tube4);
	vortex(sterile_microfuge_tube4);
	centrifuge_pellet(sterile_microfuge_tube4, speed(SPEED_MAX, RPM), 4, time(5, MINS));
	optional_step();
	measure_fluid(eth70, vol(1, ML), sterile_microfuge_tube4);
	vortex(sterile_microfuge_tube4);
	centrifuge_pellet(sterile_microfuge_tube4, speed(SPEED_MAX, RPM), 4, time(5, MINS));

	next_step();
	dry_pellet(sterile_microfuge_tube4, "in air");
	first_option();
	measure_fluid(te, vol(10, UL), sterile_microfuge_tube4);
	next_option();
	measure_fluid(water, vol(10, UL), sterile_microfuge_tube4);
	end_option();
	resuspend(sterile_microfuge_tube4);
	comment("Ensure to dry the pelletted DNA completely before attempting to resuspend.");

	end_protocol();
}