Title: Computing Beyond Silicon Valley Summer School at Caltech
1Computing 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
2Branching in Biological Models of Computation
- Blair Andres-Beck, Vera Bereg, Stephanie Lee,
- Mike Lindmark, Wojciech Makowiecki
3Branching 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 ifelse statements
and looping - Branching allows easier mapping of conventional
algorithms
4Design 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 doesnt rely
on a single marker
5The 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
6Bit Representation
7Set and Clear
8Combine and Separate
9Simple branching and looping in the Sticker Model
- Idea use current mechanical operations to do
branching (if else) and looping
10Branching 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
11Branching and Looping procedures
Example of usage Minimal Set Cover problem
12Looping 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
(cant mix, shake and get the answer) - Experimental error (eg. some florescence already
present)
13Branching through DNA Transcriptional Logic
- Idea use an OR gate for branching ?
14DNA 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!
15Implementation of Branching
- The OR gate allows the if-else statement to end
and the program to continue
16Definition of Branching
- Branching allows for conditional if-else
statements - if (condition)
- output 1
- else
- output 2
-
- continuation
17Properties of the Branching
- 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
18Smart drug or DNA automata combined with
Sticker Model
Idea use if else statements from Smart drug
model (with stickers instead of drugs)
19Automata
- 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
20Smart 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
21Smart Drug
22Smart 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 (ruletrue) ? 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
23Pros 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?
24Branching in the Sticker Model using DNA
Instructions
- The Idea Store the program with the data, run
all the programs independently.
25Basic Ideas
- Encode instructions into DNA
- Create a DNA program counter
- Each DNA computes cycle
- Separate strands based on next instruction
- Perform operation
- Increment PC
26Changes to the Sticker Model
- Instruction strand head instruction
data connector - Instruction instr code operand code
27Changes to the Sticker Model
- Add connector to data strand
- Addition of PC strands
28Changes to the Sticker Model
- Introduction of halt
- No explicit combine or separate operations
- Use of operation selectors
29Adding Looping
- Looping by restarting the PC
- Loop operation
- Clears off PC using complement PC strands
- if (stage1)
-
- if (NOT done)
- loop
-
-
- stage1 false
-
30Adding 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
31The Strands
32Advantages
- 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
33Disadvantages
- 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
34Exploring Branching in SAT problems
- Idea use ssDNA as clauses for the SAT problem
(Adelman et al)
35Exploring 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
36Conclusion 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.
37References
- .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) 423428. - .Benenson, Yaakov, et al. Programmable and
autonomous computing machine made of
biomolecules. Nature. 414(2001) 430434. - .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) 351352. - .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) 163170. - .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.
38(No Transcript)