Upload
coleen-watson
View
213
Download
0
Tags:
Embed Size (px)
Citation preview
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
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
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 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
Bit RepresentationBit Representation
Set and ClearSet and Clear
Combine and SeparateCombine and Separate
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 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
Branching and Looping proceduresBranching and Looping procedures
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
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
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
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 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
““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” 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
““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!
““Smart” DrugSmart” Drug
““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
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?
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
The StrandsThe 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
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.
The StrandsThe Strands
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
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
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;
Fluorescent markersFluorescent markers
FQ
Q
F
QF
Heat, pH, Denature reagents
Target
Hybrid