DNA extraction from tissue protocol - source code

From OpenWetWare

(Difference between revisions)
Jump to: navigation, search
(New page: <code><pre> #include "BioStream.h" void main() { start_protocol("DNA Extraction from Tissue"); Fluid reagentb = new_fluid("ReagentB"); Fluid proteinasek = new_fluid("ProteinaseK"); Fl...)
Current revision (00:43, 20 November 2009) (view source)
 
(One intermediate revision not shown.)
Line 1: Line 1:
<code><pre>
<code><pre>
-
#include "BioStream.h"
+
#include "BioCoder.h"
void main()
void main()
{
{
start_protocol("DNA Extraction from Tissue");
start_protocol("DNA Extraction from Tissue");
-
Fluid reagentb = new_fluid("ReagentB");
 
-
Fluid proteinasek = new_fluid("ProteinaseK");
 
Fluid extraction_buffer = new_fluid("DNA extraction buffer", "98µl ReagentB + 2µl ProteinaseK, mix fresh");
Fluid extraction_buffer = new_fluid("DNA extraction buffer", "98µl ReagentB + 2µl ProteinaseK, mix fresh");
Fluid chloro_iaa = new_fluid("24:1 Chloroform:Isoamyl alcohol");
Fluid chloro_iaa = new_fluid("24:1 Chloroform:Isoamyl alcohol");
Line 29: Line 27:
//  2. Place small piece of tissue or embryo into a microfuge tube containing 100 μl of extraction buffer
//  2. Place small piece of tissue or embryo into a microfuge tube containing 100 μl of extraction buffer
first_sub_step();
first_sub_step();
-
measure_fluid(extraction_buffer, microfuge_tube1);
+
measure_fluid(extraction_buffer, vol(100, UL), microfuge_tube1);
comment("100 µl is enough for a small pea size chunk of tissue or one embryo.");
comment("100 µl is enough for a small pea size chunk of tissue or one embryo.");
next_sub_step();
next_sub_step();
-
measure_and_add(microfuge_tube1, tissue);
+
measure_solid(tissue, microfuge_tube1);
//  3. Incubate at 50°C overnight  
//  3. Incubate at 50°C overnight  
Line 46: Line 44:
//  2. Add one volume of PCI to extracted sample
//  2. Add one volume of PCI to extracted sample
first_sub_step();
first_sub_step();
-
measure_prop_and_add(microfuge_tube1, pci_mix, 1);
+
measure_prop(microfuge_tube1, pci_mix, 1);
//  3. Shake tubes for 10 seconds
//  3. Shake tubes for 10 seconds
Line 56: Line 54:
//  6. Repeat as needed
//  6. Repeat as needed
next_sub_step();
next_sub_step();
-
centrifuge_phases(microfuge_tube1, speed(SPEED_MAX, RPM), RT, time(5, MINS), microfuge_tube2);
+
centrifuge_phases_top(microfuge_tube1, speed(SPEED_MAX, RPM), RT, time(5, MINS), microfuge_tube2);
to_do("Repeat this step as needed.");
to_do("Repeat this step as needed.");
//  7. Add one volume 24:1 chloroform:isoamyl alcohol
//  7. Add one volume 24:1 chloroform:isoamyl alcohol
next_sub_step();
next_sub_step();
-
measure_prop_and_add(microfuge_tube2, chloro_iaa, 1);
+
measure_prop(microfuge_tube2, chloro_iaa, 1);
//  8. Shake tubes for 10 seconds
//  8. Shake tubes for 10 seconds
Line 71: Line 69:
//  11. Continue to precipitation  
//  11. Continue to precipitation  
next_sub_step();
next_sub_step();
-
centrifuge_phases(microfuge_tube2, speed(SPEED_MAX, RPM), RT, time(5, MINS), microfuge_tube3);
+
centrifuge_phases_top(microfuge_tube2, speed(SPEED_MAX, RPM), RT, time(5, MINS), microfuge_tube3);
// Ethanol precipitation
// Ethanol precipitation
Line 77: Line 75:
//  1. Add 2 volumes 100% EtOH
//  1. Add 2 volumes 100% EtOH
first_sub_step();
first_sub_step();
-
measure_prop_and_add(microfuge_tube3, etoh100, 2);
+
measure_prop(microfuge_tube3, etoh100, 2);
//  2. Add 1/10 volume 3M Sodium Acetate pH 5.0
//  2. Add 1/10 volume 3M Sodium Acetate pH 5.0
next_sub_step();
next_sub_step();
-
measure_prop_and_add(microfuge_tube3, naac, 0.1);
+
measure_prop(microfuge_tube3, naac, 0.1);
//  3. Centrifuge at max speed for 10 minutes
//  3. Centrifuge at max speed for 10 minutes
Line 90: Line 88:
//  5. Add 150 μl 70% EtOH
//  5. Add 150 μl 70% EtOH
next_sub_step();
next_sub_step();
-
measure_and_add(microfuge_tube3, etoh70, vol(150, UL));
+
measure_fluid(etoh70, vol(150, UL), microfuge_tube3);
//  6. Centrifuge at max speed for 2 minutes
//  6. Centrifuge at max speed for 2 minutes
Line 103: Line 101:
//  9. Resuspend pellet in MilliQ water  
//  9. Resuspend pellet in MilliQ water  
next_sub_step();
next_sub_step();
-
measure_and_add(microfuge_tube3, water);
+
measure_fluid(water, microfuge_tube3);
resuspend(microfuge_tube3);
resuspend(microfuge_tube3);

Current revision

#include "BioCoder.h"

void main()
{
	start_protocol("DNA Extraction from Tissue");
	Fluid extraction_buffer = new_fluid("DNA extraction buffer", "98µl ReagentB + 2µl ProteinaseK, mix fresh");
	Fluid chloro_iaa = new_fluid("24:1 Chloroform:Isoamyl alcohol");
	Fluid pci_mix = new_fluid("PCI mix", "One part tris-saturated phenol to one part 24:1 Chloroform:Isoamyl alcohol, shake thoroughly to make emulsion");
	Fluid etoh100 = new_fluid("100% EtOH");
	Fluid naac = new_fluid("3M sodium acetate pH 5.0");
	Fluid etoh70 = new_fluid("70% EtOH");
	Fluid water = new_fluid("MilliQ water");

	Solid tissue = new_solid("small piece of tissue or embryo");

	Container microfuge_tube1 = new_container(STERILE_MICROFUGE_TUBE);
	Container microfuge_tube2 = new_container(STERILE_MICROFUGE_TUBE);
	Container microfuge_tube3 = new_container(STERILE_MICROFUGE_TUBE);

	//Proteinase K digestion
	first_step("Proteinase K digestion");
	//   1. Mix DNA extraction buffer
	//          * 98 μl ReagentB
	//          * 2 μl ProteinaseK
	//          * Mix fresh. 100 μl is enough for a small pea size chunk of tissue or one embryo 
	//   2. Place small piece of tissue or embryo into a microfuge tube containing 100 μl of extraction buffer
	first_sub_step();
	measure_fluid(extraction_buffer, vol(100, UL), microfuge_tube1);
	comment("100 µl is enough for a small pea size chunk of tissue or one embryo.");

	next_sub_step();
	measure_solid(tissue, microfuge_tube1);

	//   3. Incubate at 50°C overnight 
	next_sub_step();
	incubate(microfuge_tube1, 50, time(12, HRS));

	// Phenol/chloroform/isoamyl (PCI)
	next_step("Phenol/chloroform/isoamyl (PCI)");
	//   1. Prepare PCI mix
	//         1. One part tris-saturated phenol to one part 24:1 Chloroform:Isoamyl alcohol
	//         2. Shake thoroughly to make emulsion 
	//   2. Add one volume of PCI to extracted sample
	first_sub_step();
	measure_prop(microfuge_tube1, pci_mix, 1);

	//   3. Shake tubes for 10 seconds
	next_sub_step();
	vortex(microfuge_tube1, time(10, SECS));

	//   4. Centrifuge at max speed for 5 minutes
	//   5. Remove aqueous phase to a new tube
	//   6. Repeat as needed
	next_sub_step();
	centrifuge_phases_top(microfuge_tube1, speed(SPEED_MAX, RPM), RT, time(5, MINS), microfuge_tube2);
	to_do("Repeat this step as needed.");

	//   7. Add one volume 24:1 chloroform:isoamyl alcohol
	next_sub_step();
	measure_prop(microfuge_tube2, chloro_iaa, 1);

	//   8. Shake tubes for 10 seconds
	next_sub_step();
	vortex(microfuge_tube2, time(10, SECS));

	//   9. Centrifuge at max speed for 5 minutes
	//  10. Remove aqueous phase to a new tube
	//  11. Continue to precipitation 
	next_sub_step();
	centrifuge_phases_top(microfuge_tube2, speed(SPEED_MAX, RPM), RT, time(5, MINS), microfuge_tube3);

	// Ethanol precipitation
	next_step("Ethanol precipitation");
	//   1. Add 2 volumes 100% EtOH
	first_sub_step();
	measure_prop(microfuge_tube3, etoh100, 2);

	//   2. Add 1/10 volume 3M Sodium Acetate pH 5.0
	next_sub_step();
	measure_prop(microfuge_tube3, naac, 0.1);

	//   3. Centrifuge at max speed for 10 minutes
	//   4. Decant ethanol
	next_sub_step();
	centrifuge_pellet(microfuge_tube3, speed(SPEED_MAX, RPM), RT, time(10, MINS));

	//   5. Add 150 μl 70% EtOH
	next_sub_step();
	measure_fluid(etoh70, vol(150, UL), microfuge_tube3);

	//   6. Centrifuge at max speed for 2 minutes
	//   7. Pipette out ethanol
	next_sub_step();
	centrifuge_pellet(microfuge_tube3, speed(SPEED_MAX, RPM), RT, time(2, MINS));

	//   8. Airdry pellet
	next_sub_step();
	dry_pellet(microfuge_tube3, "in air");

	//   9. Resuspend pellet in MilliQ water 
	next_sub_step();
	measure_fluid(water, microfuge_tube3);
	resuspend(microfuge_tube3);

	end_protocol();
}
Personal tools