DNA extraction - Salting Out - source code: Difference between revisions

From OpenWetWare
Jump to navigationJump to search
No edit summary
No edit summary
 
Line 16: Line 16:
Tissue req_tissue = new_solid("tissue");
Tissue req_tissue = new_solid("tissue");


Container sterile_microfuge_tube1 = new_container(STERILE_MICROFUGE_TUBE);
Container sterile_microfuge_tube1 = new_container(STERILE_MICROFUGE_TUBE, req_tissue);
Container sterile_microfuge_tube2 = new_container(STERILE_MICROFUGE_TUBE);
Container sterile_microfuge_tube2 = new_container(STERILE_MICROFUGE_TUBE);
Container sterile_microfuge_tube3 = new_container(STERILE_MICROFUGE_TUBE);
Container sterile_microfuge_tube3 = new_container(STERILE_MICROFUGE_TUBE);
Line 24: Line 24:
first_step("Tissue Digestion");
first_step("Tissue Digestion");
first_sub_step();
first_sub_step();
set_container(req_tissue, sterile_microfuge_tube1);
//1. Add 5μL Proteinase K to each mL of Digestion Buffer (final 0.5mg/mL)
//1. Add 5μL Proteinase K to each mL of Digestion Buffer (final 0.5mg/mL)
measure_fluid(dig_buffer, sterile_microfuge_tube2);
measure_fluid(dig_buffer, sterile_microfuge_tube2);
measure_prop_and_add(sterile_microfuge_tube2, proteinasek, 0.005);
measure_prop(sterile_microfuge_tube2, proteinasek, 0.005);
comment("That is, for each ml of Digestion Buffer, add 5 µl of ProteinaseK.");
comment("That is, for each ml of Digestion Buffer, add 5 µl of ProteinaseK.");
name_sample(sterile_microfuge_tube2, "solution");
name_sample(sterile_microfuge_tube2, "solution");
Line 39: Line 38:
next_sub_step();
next_sub_step();
vortex(sterile_microfuge_tube2);
vortex(sterile_microfuge_tube2);
centrifuge_phases(sterile_microfuge_tube2, speed(SPEED_MAX, RPM), 4, time(2, MINS), sterile_microfuge_tube3);
centrifuge_phases_top(sterile_microfuge_tube2, speed(SPEED_MAX, RPM), 4, time(2, MINS), sterile_microfuge_tube3);
//5. Transfer supernatant into a new tube  
//5. Transfer supernatant into a new tube  


Line 46: Line 45:
//1. Add 1/10 volume of Sodium Acetate 3M pH 5.2 (final 0.3M)
//1. Add 1/10 volume of Sodium Acetate 3M pH 5.2 (final 0.3M)
first_sub_step();
first_sub_step();
measure_prop_and_add(sterile_microfuge_tube3, naac, 0.1);
measure_prop(sterile_microfuge_tube3, naac, 0.1);
//2. Invert to mix and incubate at -20°C for ~15 minutes
//2. Invert to mix and incubate at -20°C for ~15 minutes
next_sub_step();
next_sub_step();
Line 52: Line 51:
incubate(sterile_microfuge_tube3, -20, time(15, MINS));
incubate(sterile_microfuge_tube3, -20, time(15, MINS));
//3. Centrifuge (preferably at 4°C) at maximum speed in a benchtop centrifuge for 20 minutes
//3. Centrifuge (preferably at 4°C) at maximum speed in a benchtop centrifuge for 20 minutes
centrifuge_phases(sterile_microfuge_tube3, speed(SPEED_MAX, RPM), 4, time(20, MINS), sterile_microfuge_tube4);
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.");
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  
//4. Transfer supernatant to a new tube  
Line 60: Line 59:
//1. Add ~2 volumes of 98% ethanol (final 60-80%)
//1. Add ~2 volumes of 98% ethanol (final 60-80%)
first_sub_step();
first_sub_step();
measure_prop_and_add(sterile_microfuge_tube4, eth98, 2);
measure_prop(sterile_microfuge_tube4, eth98, 2);
//2. Invert to mix and incubate at -20°C for ~15 minutes
//2. Invert to mix and incubate at -20°C for ~15 minutes
next_sub_step();
next_sub_step();
Line 70: Line 69:
//4. Wash pellet with 98% ethanol, and once or twice with 70%. Allow to air dry then resuspend in water or 1xTE  
//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();
next_sub_step();
measure_and_add(sterile_microfuge_tube4, eth98, vol(1, ML));
measure_fluid(eth98, vol(1, ML), sterile_microfuge_tube4);
vortex(sterile_microfuge_tube4);
vortex(sterile_microfuge_tube4);
centrifuge_pellet(sterile_microfuge_tube4, speed(SPEED_MAX, RPM), 4, time(5, MINS));
centrifuge_pellet(sterile_microfuge_tube4, speed(SPEED_MAX, RPM), 4, time(5, MINS));
measure_and_add(sterile_microfuge_tube4, eth70, vol(1, ML));
measure_fluid(eth70, vol(1, ML), sterile_microfuge_tube4);
vortex(sterile_microfuge_tube4);
vortex(sterile_microfuge_tube4);
centrifuge_pellet(sterile_microfuge_tube4, speed(SPEED_MAX, RPM), 4, time(5, MINS));
centrifuge_pellet(sterile_microfuge_tube4, speed(SPEED_MAX, RPM), 4, time(5, MINS));
optional_step();
optional_step();
measure_and_add(sterile_microfuge_tube4, eth70, vol(1, ML));
measure_fluid(eth70, vol(1, ML), sterile_microfuge_tube4);
vortex(sterile_microfuge_tube4);
vortex(sterile_microfuge_tube4);
centrifuge_pellet(sterile_microfuge_tube4, speed(SPEED_MAX, RPM), 4, time(5, MINS));
centrifuge_pellet(sterile_microfuge_tube4, speed(SPEED_MAX, RPM), 4, time(5, MINS));
Line 83: Line 82:
next_step();
next_step();
dry_pellet(sterile_microfuge_tube4, "in air");
dry_pellet(sterile_microfuge_tube4, "in air");
begin_option();
first_option();
measure_and_add(sterile_microfuge_tube4, te, vol(10, UL));
measure_fluid(te, vol(10, UL), sterile_microfuge_tube4);
next_option();
next_option();
measure_and_add(sterile_microfuge_tube4, water, vol(10, UL));
measure_fluid(water, vol(10, UL), sterile_microfuge_tube4);
end_option();
end_option();
resuspend(sterile_microfuge_tube4);
resuspend(sterile_microfuge_tube4);

Latest revision as of 22:57, 19 November 2009

#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();
}