DNA Precipitation protocol - source code
From OpenWetWare
Jump to navigationJump to search
#include "BioCoder.h"
void main()
{
start_protocol("DNA Precipitation");
Fluid naac = new_fluid("3M Sodium Acetate solution");
Fluid glycogen = new_fluid("Glycogen");
Fluid etoh95 = new_fluid("95% EtOH");
Fluid etoh70 = new_fluid("70% EtOH");
Fluid water = new_fluid("water");
Fluid buffer = new_fluid("buffer");
Fluid dna = new_fluid("DNA sample", vol(20, UL));
Container eppendorf1 = new_container(EPPENDORF, dna);
// 1. Add 0.1 volumes of 3M Sodium Acetate solution to 1 volume of DNA sample.
first_step();
measure_prop(eppendorf1, naac, 0.1);
// 2. Add 1ul Glycogen to the DNA sample.
next_step();
measure_fluid(glycogen, vol(1, UL), eppendorf1);
// 3. Add 2 volumes of 95% EtOH to the DNA Sample.
next_step();
measure_prop(eppendorf1, etoh95, 2);
// 4. Store the solution overnight at -20°C or for 30 minutes at -80°C.
next_step();
first_option();
store_for(eppendorf1, -20, time(12, HRS));
next_option();
store_for(eppendorf1, -80, time(30, MINS));
end_option();
// 5. Centrifuge the solution at maximum speed for least 15 minutes.
// 6. Decant and discard the supernatant.
next_step();
centrifuge_pellet(eppendorf1, speed(SPEED_MAX, RPM), RT, min_time(15, MINS));
// 7. (Optional) Add 1 ml of 70% EtOH to the pellet and let sit for 5 minutes.
optional_step();
measure_fluid(etoh70, vol(1, ML), eppendorf1);
store_for(eppendorf1, RT, time(5, MINS));
// 8. (Optional) Centrifuge the sample at maximum spped for 5 minutes.
// 9. (Optional) Decant and Discard the supernatant.
optional_step();
centrifuge_pellet(eppendorf1, speed(SPEED_MAX, RPM), RT, time(5, MINS));
//10. Air-dry the pellet for 10-15 minutes at room temperature until all liquid is gone.
next_step();
dry_pellet(eppendorf1, "in air", time_range(10, 15, MINS));
comment("Dry until all the liquid is gone.");
//11. Resuspend in desired volume of water or buffer
next_step();
first_option();
measure_fluid(water, eppendorf1);
next_option();
measure_fluid(buffer, eppendorf1);
end_option();
resuspend(eppendorf1);
end_protocol();
}