1 / 40

Branching in Biological Models of Computation

Branching in Biological Models of Computation. Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki. Branching in DNA Computation. We chose several models of DNA computation and examined the implementation of if…else statements and looping

tangia
Download Presentation

Branching in Biological Models of Computation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki

  2. Branching in DNA Computation • We chose several models of DNA computation and examined the implementation of if…else statements and looping • Allow easier mapping of conventional algorithms

  3. Design Criteria • Any change must preserve the existing functionality of the model • Branching • Operation selection based on current data and instruction • Looping • Further instructions based on test condition • Nested loops; that is, looping that doesn’t rely on a single marker

  4. The Sticker Model • Presented in “A Sticker Based Model for DNA Computation” (1996) • Two types of single stranded DNA molecules • memory strand • complimentary stickers • Four operations allow universal computation • set, clear, separate and combine

  5. Bit Representation

  6. Set and Clear

  7. Combine and Separate

  8. Simple branching and looping in the Sticker Model Idea: use current mechanical operations to do branching (if else) and looping

  9. Branching with existing operations • Perform a separate based on branch condition • Act on each vial independently • “If” statement carried out on true, “else” on false • Recombine vials after “if” statement

  10. Branching and Looping procedures

  11. Looping with existing operations • Test for loop condition • Fluorescent markers • Can be detected by the robotic assistant • Can have more than one type, allowing nested looping • Choose next instruction based on presence or absence of fluorescence • Problems • Slow • Reliance on intervention outside the model

  12. Implementation of Branching in DNA Transcriptional Logic Idea: use an OR gate for branching 

  13. DNA Transcriptional Logic • How it works • Transcription factor binds to the promoter region • Activates the enzyme RNA Polymerase [RNAP] • Unzips DNA and produces programmable output

  14. Implementation of Branching The OR gate allows the if-else statement to end and the program to continue

  15. Definition of Branching • Branching allows for conditional if-else statements • {if (condition) {output 1}; else {output 2}; } continuation …

  16. Pros Easy to track progress Does not require outside intervention Cons Does not allow parallelism Inefficient and fairly slow Requires large number of promoter -transcription factor pairs Properties of the Branching

  17. “Smart” drug or DNA automata combined with Sticker Model Idea: use “if else” statements from “Smart” drug model (with stickers instead of drugs)

  18. Automata • Automata • Machine that accepts strings over specific alphabet that are in its language • Computation terminates on processing last string symbol • Accepts input if terminates in accepting state

  19. “Smart” Drug • Automata with: • Hardware (restriction nuclease, ligase) • Software (dsDNA with a hairpin structure at end) • In vitro

  20. “Smart” Drug • Basic Idea: transport diagnosis and drug delivery (suppression) stages into the cell • No robotic intervention what-so-ever • Basic “if else” statements, thus can do branching! 

  21. “Smart” Drug

  22. “Smart” drug and Sticker Model • Sticker model: • Memory strand with on/off regions for bits • Drug model: • Code with a sticker as hairpin (software) • Reusable “rules” (hardware) • If (rule=true)  release sticker • Can do anti-stickers to clear off bits as well  • Thus SISD model • By varying code and subset of “rules” can change the outcome of the computation

  23. Pros and Cons • Less mechanical operations used • Separation procedure might not be needed • Could possibly get rid of them all together? • Eliminates one of the positive sides of sticker model (no enzymes), but our enzymes are reusable (hardware) • Have SISD, can do MIMD? • How to ensure that each code is related to its specific data molecule?

  24. Branching in the Sticker Model using DNA Instructions The Idea: Store the program with the data, run all the programs independently.

  25. Basic Ideas • Encode instructions into DNA • Create a DNA program counter • Each DNA computes cycle: • Separate strands based on next instruction • Perform operation • Increment PC

  26. Changes to the Sticker Model • Instruction strand = head + instruction + … + data connector • Instruction = instr code + operand code

  27. Changes to the Sticker Model • Add connector to data strand • Addition of PC strands

  28. Changes to the Sticker Model • Introduction of halt • No explicit combine or separate operations • Use of operation selectors

  29. Adding Looping • Looping by restarting the PC • Loop operation • Clears off PC using complement PC strands if (stage1) { … if (NOT done) { loop; } … stage1 = false; }

  30. Adding Branching • Add IF instruction code • Use End-If IF operation • Operation selectors with solid-bound stickers • Trapped strands enter branching cycle • Addition of excess PC and Step strands (excluding PC End-If IF strands) • Flow by End-If IF selectors • Return trapped strands

  31. The Strands

  32. Advantages • Reusability of data, pc, start, step, and selector strands • Simple programmability • Imagine building strand from instruction pieces • Ability to run more than one program concurrently • Thousands of problems at the same time

  33. Disadvantages • Large error rate vs. long cycle time • Must perform several separations per cycle • No ability to do error correction • Large number of unique sequences needed

  34. References • A Sticker Based Architecture for DNA Computation. Roweis, Sam, et. al. 7/96. • Lauria, Mario, Kaustubh Bhalerao, Muthu M. Pugalanthiran, and Bo Yuan. “Building blocks of a biochemical CPU based on DNA transcription logic.” 3rd Workshop on Non-Silicon Computation (NSC-3), Munich, June 2004. • Molecular Beacons: A Novel DNA Probe for Nucleic Acid and Protein Studies. W. Tan et al. • Molecular beacons attached to glass beads fluoresce upon hybridization to target DNA. L.Brown et al. • Automata Make Antisense. Condon, Anne. Nature, vol 429, p351. • Programmable and Autonomous Computing Machine Made of Biomolecules. Y. Benenson, T. Paz-Elizur, R. Adar, E. Keinan, Z. Livneh, E. Shapiro. Nature, vol. 414, p430. • An Autonomous Molecular Computer for Logical Control of Gene Expression. Y. Benenson, B. Gil, U. Ben-Dor, R. Adar, E. Shapiro. Nature, vol.429, p432.

  35. The Strands

  36. Execution Cycle Revisited • Initial Setup • Random input bits set • Add instruction strands, start strands • Execution Cycle • Flow strands by operation selector chambers • Seal chambers, perform operation • Collect, add PC strands • Wash PC strands, add step strands

  37. Adding Branching • Add IF instruction code where operand is the condition bit • Use End-If IF operation • Operation selectors with solid-bound stickers • Proper length to require both connections to stick

  38. Adding Branching • Trapped strands enter branching cycle • Addition of excess PC and Step strands (excluding PC End-If IF strands) • Flow by End-If IF selectors • Return trapped strands • Simple to get OR and NOT conditions • ie. OR = clear c; set n; if a; set c; end-if if n; if b; set c; end-if if n;

  39. Fluorescent markers

More Related