1 / 38

Computing Beyond Silicon Valley Summer School at Caltech

Computing Beyond Silicon Valley Summer School at Caltech. Science undergraduate students were brought together to interact and understand the connections between computer science and other disciplines Gestalt principle

blanchette
Télécharger la présentation

Computing Beyond Silicon Valley Summer School at Caltech

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. Computing Beyond Silicon Valley Summer School at Caltech • Science undergraduate students were brought together to interact and understand the connections between computer science and other disciplines • Gestalt principle • Physics of Computation, Molecular Computing, Biomolecular Computing, and Quantum Computing • A month in Pasadena

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

  3. Branching in DNA Computation • Chose several models of DNA computation (in particular the sticker model and DNA solution to small SAT problems) • Examined the implementation of if…else statements and looping • Branching allows easier mapping of conventional algorithms

  4. 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

  5. The Sticker Model • Presented in “A Sticker Based Model for DNA Computation” (1996) • Two types of ssDNA molecules • memory strand • complimentary stickers • Four operations allow universal computation: • set, clear, separate and combine • Parallel processing/computation • Robotic assistance needed

  6. Bit Representation

  7. Set and Clear

  8. Combine and Separate

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

  10. Branching with existing operations • Perform a separate operation based on evaluation of branch condition • Act on each vial independently • “If” statement carried out on true, “else” on false • Recombine vials after “if” statement Note: a vial is a small beaker

  11. Branching and Looping procedures Example of usage: Minimal Set Cover problem

  12. 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 (as the separate operation is difficult and slow) • Reliance on intervention outside the beaker (can’t mix, shake and get the answer) • Experimental error (eg.: some florescence already present)

  13. Branching through DNA Transcriptional Logic Idea: use an OR gate for branching 

  14. DNA Transcriptional Logic • How it works • Transcription factor binds to the promoter region • Activated by enzyme RNA Polymerase [RNAP] • Unwinds DNA, makes RNA until terminator is reached • input and output are programmable!

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

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

  17. Pros Programmable input Easy to track progress (by taking a sample and approximating the concentrations of outputs) Does not require outside intervention Cons Does not allow parallelism Inefficient and fairly slow (although speed can be controlled) Requires large number of promoter -transcription factor pairs Properties of the Branching

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

  19. 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

  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!  • Automata with: • Hardware (restriction nuclease, ligase, FolkI) • Software and input (dsDNA molecules and dsDNA with a hairpin structure at end) • In vitro

  21. “Smart” Drug

  22. “Smart” drug and Sticker Model • Sticker model: • Memory strand with on/off regions for bits • Drug model: • Coded instructions plus coded input with a sticker as hairpin (software and input) • 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? – Do we need to ensure this at all? Randomize? • Do the environments fit?

  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. Exploring Branching in SAT problems Idea: use ssDNA as clauses for the SAT problem (Adelman et al)

  35. Exploring Branching in SAT problems • Works in parallel checking all the solutions at once • If the solution is not valid (the variables in it contradict each other and thus the clause can not be resolved) then folds on itself • An if statement acts on each clause at the same time! • Disadvantages: – high error rates (esp. with increase of variables) – can not be done past 20 variables

  36. Conclusion and future goals/work • Have tried to list and describe different ways that branching in DNA computing can be thought of and realized as. • There are limitations and barriers that each one of the described here models has, however, they all have their advantages, benefits and purposes. • Moving beyond convertional computers and applying Gestalte principle whenever possible • Have fun.

  37. References • .Adleman, Leonard. "Molecular computation of solutions to combinatorial problems." Science. 226 (1994): 1021--1024. • .Adelman, Leonard, et al. “Solutions of 20-Variable 3-SAT Problem on a DNA Computer.” Science.296(2002): 499--502. • .Benenson, Yaakov, et al. “An autonomous molecular computer for logical control of gene expression.” Nature. 429(2004): 423—428. • .Benenson, Yaakov, et al. “Programmable and autonomous computing machine made of biomolecules.” Nature. 414(2001): 430—434. • .Campbell, Neil A., Jane B. Reece, and Lawrence G. Mitchell. Biology, 5th edition. Menlo Park: Benjamin Cummings, 1999. • .Condon, Anne. “Automata make antisense.” Nature. News and Views 2004, 429.6990(2004): 351—352. • .Karp, R, et al. “Error-resilient DNA computation”. Random Structure Algorithms. 15(1999): 450-466. • .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. • .Lipton, C. et al. “DNA Based Computers II” DIMACS. 44(1999): 163—170. • .Lipton, R. “Using DNA to Solve NP-Complete Problems.” Science. 268(1995): 542--545. • .Liu, Q, et al. “DNA computing on surfaces.” Nature. 403(2000): 175. • .Lloyd et al. “DNA computing on a chip.” Nature. 403(2000): 143--144. • .Roweis, Sam, et al. “A Sticker Model for DNA Computation.” Journal of Computational Biology 5.4 (1998): 615--629 • .Tan, W, et al. “Molecular beacons for DNA biosensors with micrometer to submicrometer dimensions.” Analitical Biochem. 283.1(2000):56--63.

More Related