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

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

Embed Size (px)

Citation preview

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

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

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

Branching in DNA ComputationBranching in DNA Computation

We chose several models of DNA We chose several models of DNA computation and examined the computation and examined the implementation of if…else statements and implementation of if…else statements and loopinglooping

Allow easier mapping of conventional Allow easier mapping of conventional algorithmsalgorithms

Page 3: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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

Page 4: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

The Sticker ModelThe Sticker Model

Presented in “Presented in “A Sticker Based Model for DNA Computation” (1996) (1996)

Two types of single stranded DNA Two types of single stranded DNA moleculesmolecules– memory strandmemory strand– complimentary stickerscomplimentary stickers

Four operations allow universal Four operations allow universal computation computation – set, clear, separate and combineset, clear, separate and combine

Page 5: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

Bit RepresentationBit Representation

Page 6: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

Set and ClearSet and Clear

Page 7: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

Combine and SeparateCombine and Separate

Page 8: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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

Page 9: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

Branching with existing operationsBranching with existing operations

Perform a separate based on branch Perform a separate based on branch conditioncondition

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

Page 10: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

Branching and Looping proceduresBranching and Looping procedures

Page 11: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

Looping with existing operationsLooping with existing operations

Test 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– SlowSlow– Reliance on intervention outside the modelReliance on intervention outside the model

Page 12: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

Implementation of Branching in Implementation of Branching in DNA Transcriptional LogicDNA Transcriptional Logic

Idea: use an OR gate for branching Idea: use an OR gate for branching

Page 13: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

DNA Transcriptional LogicDNA Transcriptional Logic

How it worksHow it works– Transcription factor binds to the promoter regionTranscription factor binds to the promoter region– Activates the enzyme RNA Polymerase [RNAP]Activates the enzyme RNA Polymerase [RNAP]– Unzips DNA and produces programmable outputUnzips DNA and produces programmable output

Page 14: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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

Page 15: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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 …

Page 16: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

Properties of the BranchingProperties of the Branching

ProsPros– Easy to track progressEasy to track progress– Does not require outside interventionDoes not require outside intervention

ConsCons– Does not allow parallelismDoes not allow parallelism– Inefficient and fairly slowInefficient and fairly slow– Requires large number of promoter -transcription Requires large number of promoter -transcription

factor pairsfactor pairs

Page 17: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

““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)

Page 18: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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

Page 19: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

““Smart” DrugSmart” DrugAutomata with:Automata with:– Hardware (restriction nuclease, ligase)Hardware (restriction nuclease, ligase)– Software (dsDNA with a hairpin structure at Software (dsDNA with a hairpin structure at

end)end)– In vitroIn vitro

Page 20: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

““Smart” DrugSmart” Drug

Basic Idea: transport diagnosis and drug Basic Idea: transport diagnosis and drug delivery (suppression) stages into the celldelivery (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!

Page 21: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

““Smart” DrugSmart” Drug

Page 22: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

““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:– Code with a sticker as hairpin (software)Code with a sticker as hairpin (software)– 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

Page 23: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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 Eliminates one of the positive sides of sticker model (no enzymes), but our sticker model (no enzymes), but our enzymes are reusable (hardware)enzymes are reusable (hardware)Have SISD, can do MIMD?Have SISD, can do MIMD?How to ensure that each code is related to How to ensure that each code is related to its specific data molecule?its specific data molecule?

Page 24: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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.

Page 25: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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

Page 26: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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

Page 27: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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

Page 28: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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

Page 29: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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;

}}

Page 30: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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

Page 31: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

The StrandsThe Strands

Page 32: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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

Page 33: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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

Page 34: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

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

Page 35: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech
Page 36: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

The StrandsThe Strands

Page 37: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

Execution Cycle RevisitedExecution Cycle Revisited

Initial SetupInitial Setup– Random input bits setRandom input bits set– Add instruction strands, start strandsAdd instruction strands, start strands

Execution CycleExecution Cycle– Flow strands by operation selector chambersFlow strands by operation selector chambers– Seal chambers, perform operationSeal chambers, perform operation– Collect, add PC strandsCollect, add PC strands– Wash PC strands, add step strandsWash PC strands, add step strands

Page 38: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

Adding BranchingAdding Branching

Add IF instruction code where operand is Add IF instruction code where operand is the condition bitthe condition bit

Use End-If IF operationUse End-If IF operation

Operation selectors with solid-bound Operation selectors with solid-bound stickersstickers

Proper length to require both connections Proper length to require both connections to stickto stick

Page 39: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

Adding BranchingAdding Branching

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

Simple to get OR and NOT conditionsSimple to get OR and NOT conditions– ie. OR = clear c; set n; if a; set c; end-if if n; if ie. OR = clear c; set n; if a; set c; end-if if n; if

b; set c; end-if if n;b; set c; end-if if n;

Page 40: Branching in Biological Models of Computation Blair Andres-Beck, Vera Bereg, Stephanie Lee, Mike Lindmark, Wojciech Makowiecki Mike Lindmark, Wojciech

Fluorescent markersFluorescent markers

FQ

Q

F

QF

Heat, pH, Denature reagents

Target

Hybrid