computing beyond silicon valley summer school at caltech science undergraduate students were brought...
TRANSCRIPT
Computing Beyond Silicon Computing Beyond Silicon Valley Summer School at Valley Summer School at
CaltechCaltechScience 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
Branching in Biological Branching in Biological Models of ComputationModels of Computation
Blair Andres-Beck, Vera Bereg, Stephanie Lee,Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech MakowieckiMike Lindmark, Wojciech Makowiecki
Branching in DNA ComputationBranching in DNA Computation
Chose several models of DNA Chose several models of DNA computation (in particular the sticker computation (in particular the sticker model and DNA solution to small SAT model and DNA solution to small SAT problems)problems)
Examined the implementation of if…else Examined the implementation of if…else statements and loopingstatements and looping
Branching allows easier mapping of Branching allows easier mapping of conventional algorithmsconventional algorithms
Design CriteriaDesign Criteria
Any change must preserve the existing Any change must preserve the existing functionality of the modelfunctionality of the modelBranchingBranching– Operation selection based on current data Operation selection based on current data
and instructionand instruction
LoopingLooping– Further instructions based on test conditionFurther instructions based on test condition– Nested loops; that is, looping that doesn’t rely Nested loops; that is, looping that doesn’t rely
on a single markeron a single marker
The Sticker ModelThe Sticker Model
Presented in “Presented in “A Sticker Based Model for DNA Computation” (1996) (1996)
Two types of ssDNA moleculesTwo types of ssDNA molecules– memory strandmemory strand– complimentary stickerscomplimentary stickers
Four operations allow universal computation: Four operations allow universal computation: – set, clear, separate and combineset, clear, separate and combine
Parallel processing/computationParallel processing/computation
Robotic assistance neededRobotic assistance needed
Simple branching and looping in Simple branching and looping in the Sticker Modelthe Sticker Model
Idea: use current mechanical Idea: use current mechanical operations to do branching operations to do branching (if else) and looping(if else) and looping
Branching with existing operationsBranching with existing operations
Perform a Perform a separate separate operation based on operation based on evaluation of branch conditionevaluation of branch condition
Act on each vial independentlyAct on each vial independently– ““If” statement carried out on true, “else” on If” statement carried out on true, “else” on
falsefalse
Recombine vials after “if” statementRecombine vials after “if” statement
Note: a vial is a small beakerNote: a vial is a small beaker
Branching and Looping proceduresBranching and Looping procedures
Example of usage: Minimal Set Cover problem
Looping with existing operationsLooping with existing operationsTest for loop conditionTest for loop condition– Fluorescent markersFluorescent markers
Can be detected by the robotic assistantCan be detected by the robotic assistant
Can have more than one type, allowing nested loopingCan have more than one type, allowing nested looping
Choose next instruction based on presence or Choose next instruction based on presence or absence of fluorescenceabsence of fluorescence
ProblemsProblems– Slow (as the Slow (as the separate separate operation is difficult and slow)operation is difficult and slow)– Reliance on intervention outside the beaker (can’t mix, shake Reliance on intervention outside the beaker (can’t mix, shake
and get the answer)and get the answer)– Experimental error (eg.: some florescence already present)Experimental error (eg.: some florescence already present)
Branching through DNA Branching through DNA Transcriptional LogicTranscriptional Logic
Idea: use an OR gate for branching Idea: use an OR gate for branching
DNA Transcriptional LogicDNA Transcriptional LogicHow it worksHow it works– Transcription factor binds to the promoter regionTranscription factor binds to the promoter region– Activated by enzyme RNA Polymerase [RNAP]Activated by enzyme RNA Polymerase [RNAP]– Unwinds DNA, makes RNA until terminator is reachedUnwinds DNA, makes RNA until terminator is reached– input and output are programmable! input and output are programmable!
Implementation of BranchingImplementation of Branching
The OR gate allows the if-else statement to end and the program to continueThe OR gate allows the if-else statement to end and the program to continue
Definition of BranchingDefinition of Branching
Branching allows for conditional if-else Branching allows for conditional if-else statementsstatements{{if (condition)if (condition)
{output 1};{output 1};elseelse
{output 2};{output 2};}}continuation …continuation …
Properties of the BranchingProperties of the BranchingProsPros– Programmable inputProgrammable input– Easy to track progress (by taking a sample and Easy to track progress (by taking a sample and
approximating the concentrations of outputs)approximating the concentrations of outputs)– Does not require outside interventionDoes not require outside intervention
ConsCons– Does not allow parallelismDoes not allow parallelism– Inefficient and fairly slow (although speed can be Inefficient and fairly slow (although speed can be
controlled)controlled)– Requires large number of promoter -transcription Requires large number of promoter -transcription
factor pairsfactor pairs
““Smart” drug or DNA automata Smart” drug or DNA automata combined with Sticker Modelcombined with Sticker Model
Idea: use “if else” statements from “Smart” drug model (with stickers instead of drugs)
AutomataAutomata
AutomataAutomata– Machine that accepts strings over specific alphabet Machine that accepts strings over specific alphabet
that are in its languagethat are in its language– Computation terminates on processing last string Computation terminates on processing last string
symbolsymbol– Accepts input if terminates in accepting stateAccepts input if terminates in accepting state
““Smart” DrugSmart” Drug
Basic Idea: transport diagnosis and drug delivery Basic Idea: transport diagnosis and drug delivery (suppression) stages into the cell (suppression) stages into the cell
– – No robotic intervention what-so-everNo robotic intervention what-so-ever
Basic “if else” statements, thus can do Basic “if else” statements, thus can do branching! branching! Automata with:Automata with:– Hardware (restriction nuclease, ligase, FolkI)Hardware (restriction nuclease, ligase, FolkI)– Software and input (dsDNA molecules and dsDNA Software and input (dsDNA molecules and dsDNA
with a hairpin structure at end)with a hairpin structure at end)– In vitroIn vitro
““Smart” drug and Sticker ModelSmart” drug and Sticker Model
Sticker model:Sticker model:– Memory strand with on/off regions for bitsMemory strand with on/off regions for bits
Drug model:Drug model:– Coded instructions plus coded input with a sticker as Coded instructions plus coded input with a sticker as
hairpin (software and input)hairpin (software and input)– Reusable “rules” (hardware)Reusable “rules” (hardware)– If (rule=true) If (rule=true) release sticker release sticker – Can do anti-stickers to clear off bits as well Can do anti-stickers to clear off bits as well
Thus SISD modelThus SISD modelBy varying code and subset of “rules” can By varying code and subset of “rules” can change the outcome of the computationchange the outcome of the computation
Pros and Cons Pros and Cons Less mechanical operations usedLess mechanical operations used– Separation procedure might not be neededSeparation procedure might not be needed– Could possibly get rid of them all together? Could possibly get rid of them all together?
Eliminates one of the positive sides of sticker Eliminates one of the positive sides of sticker model (no enzymes), but our enzymes are model (no enzymes), but our enzymes are reusable (hardware)reusable (hardware)Have SISD, can do MIMD?Have SISD, can do MIMD?How to ensure that each code is related to its How to ensure that each code is related to its specific data molecule?specific data molecule?
– – Do we need to ensure this at all? Randomize?Do we need to ensure this at all? Randomize?Do the environments fit?Do the environments fit?
Branching in the Sticker Model Branching in the Sticker Model using DNA Instructionsusing DNA Instructions
The Idea: Store the program with the The Idea: Store the program with the data, run all the programs data, run all the programs
independently.independently.
Basic IdeasBasic Ideas
Encode instructions into DNAEncode instructions into DNA
Create a DNA program counterCreate a DNA program counter
Each DNA computes cycle:Each DNA computes cycle:– Separate strands based on next instructionSeparate strands based on next instruction– Perform operationPerform operation– Increment PCIncrement PC
Changes to the Sticker ModelChanges to the Sticker Model
Instruction strand = head + instruction + … Instruction strand = head + instruction + … + data connector+ data connector
Instruction = instr code + operand codeInstruction = instr code + operand code
Changes to the Sticker ModelChanges to the Sticker Model
Add connector to data strandAdd connector to data strand
Addition of PC strandsAddition of PC strands
Changes to the Sticker ModelChanges to the Sticker Model
Introduction of haltIntroduction of halt
No explicit combine or separate operationsNo explicit combine or separate operations
Use of operation selectorsUse of operation selectors
Adding LoopingAdding Looping
Looping by restarting the PCLooping by restarting the PC
Loop operationLoop operation– Clears off PC using complement PC strandsClears off PC using complement PC strands
if (stage1) {if (stage1) {
……
if (NOT done) {if (NOT done) {
loop;loop;
}}
……
stage1 = false;stage1 = false;
}}
Adding BranchingAdding Branching
Add IF instruction code Add IF instruction code
Use End-If IF operationUse End-If IF operation
Operation selectors with solid-bound Operation selectors with solid-bound stickersstickers
Trapped strands enter branching cycleTrapped strands enter branching cycle– Addition of excess PC and Step strands Addition of excess PC and Step strands
(excluding PC End-If IF strands)(excluding PC End-If IF strands)– Flow by End-If IF selectorsFlow by End-If IF selectors– Return trapped strandsReturn trapped strands
AdvantagesAdvantages
Reusability of data, pc, start, step, and Reusability of data, pc, start, step, and selector strandsselector strands
Simple programmabilitySimple programmability– Imagine building strand from instruction Imagine building strand from instruction
piecespieces
Ability to run more than one program Ability to run more than one program concurrentlyconcurrently– Thousands of problems at the same timeThousands of problems at the same time
DisadvantagesDisadvantages
Large error rate vs. long cycle timeLarge error rate vs. long cycle time– Must perform several separations per cycleMust perform several separations per cycle
No ability to do error correctionNo ability to do error correction
Large number of unique sequences Large number of unique sequences neededneeded
Exploring Branching in SAT Exploring Branching in SAT problemsproblems
Idea: use ssDNA as clauses for the Idea: use ssDNA as clauses for the SAT problem (Adelman et al)SAT problem (Adelman et al)
Exploring Branching in SAT Exploring Branching in SAT problemsproblems
Works in parallel checking all the solutions at onceWorks in parallel checking all the solutions at once
If the solution is not valid (the variables in it contradict each If the solution is not valid (the variables in it contradict each other and thus the clause can not be resolved) then folds on other and thus the clause can not be resolved) then folds on itselfitself
An if statement acts on each clause at the same time!An if statement acts on each clause at the same time!
Disadvantages: Disadvantages:
– – high error rates (esp. with increase of variables) high error rates (esp. with increase of variables)
– – can not be done past 20 variables can not be done past 20 variables
Conclusion and future Conclusion and future goals/workgoals/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.
ReferencesReferences..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.