Download Branching in DNA Computation

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Comparative genomic hybridization wikipedia , lookup

Mutagen wikipedia , lookup

Point mutation wikipedia , lookup

DNA repair wikipedia , lookup

Genomic library wikipedia , lookup

DNA wikipedia , lookup

Microevolution wikipedia , lookup

No-SCAR (Scarless Cas9 Assisted Recombineering) Genome Editing wikipedia , lookup

Cancer epigenetics wikipedia , lookup

DNA profiling wikipedia , lookup

SNP genotyping wikipedia , lookup

Holliday junction wikipedia , lookup

DNA polymerase wikipedia , lookup

Vectors in gene therapy wikipedia , lookup

Bisulfite sequencing wikipedia , lookup

Nucleosome wikipedia , lookup

Genomics wikipedia , lookup

DNA damage theory of aging wikipedia , lookup

Primary transcript wikipedia , lookup

DNA vaccination wikipedia , lookup

Artificial gene synthesis wikipedia , lookup

Genealogical DNA test wikipedia , lookup

Non-coding DNA wikipedia , lookup

Nucleic acid analogue wikipedia , lookup

Epigenomics wikipedia , lookup

Molecular cloning wikipedia , lookup

Gel electrophoresis of nucleic acids wikipedia , lookup

Cell-free fetal DNA wikipedia , lookup

United Kingdom National DNA Database wikipedia , lookup

History of genetic engineering wikipedia , lookup

Therapeutic gene modulation wikipedia , lookup

DNA nanotechnology wikipedia , lookup

Extrachromosomal DNA wikipedia , lookup

Replisome wikipedia , lookup

Cre-Lox recombination wikipedia , lookup

DNA supercoil wikipedia , lookup

Nucleic acid double helix wikipedia , lookup

Helitron (biology) wikipedia , lookup

Deoxyribozyme wikipedia , lookup

Transcript
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
Branching in Biological
Models of Computation
Blair Andres-Beck, Vera Bereg, Stephanie Lee,
Mike Lindmark, Wojciech Makowiecki
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
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
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
Bit Representation
Set and Clear
Combine and Separate
Simple branching and looping in
the Sticker Model
Idea: use current mechanical
operations to do branching
(if else) and looping
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
Branching and Looping procedures
Example of usage: Minimal Set Cover problem
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)
Branching through DNA
Transcriptional Logic
Idea: use an OR gate for branching 
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!
Implementation of Branching
The OR gate allows the if-else statement to end and the program to continue
Definition of Branching
Branching allows for conditional if-else
statements
{
if (condition)
{output 1};
else
{output 2};
}
continuation …
Properties 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
“Smart” drug or DNA automata
combined with Sticker Model
Idea: use “if else” statements from
“Smart” drug model (with stickers
instead of drugs)
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
“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
“Smart” Drug
“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
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?
Branching in the Sticker Model
using DNA Instructions
The Idea: Store the program with the
data, run all the programs
independently.
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
Changes to the Sticker Model
Instruction strand = head + instruction + …
+ data connector
Instruction = instr code + operand code
Changes to the Sticker Model
Add connector to data strand
Addition of PC strands
Changes to the Sticker Model
Introduction of halt
No explicit combine or separate operations
Use of operation selectors
Adding Looping
Looping by restarting the PC
Loop operation
– Clears off PC using complement PC strands
if (stage1) {
…
if (NOT done) {
loop;
}
…
stage1 = false;
}
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
The Strands
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
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
Exploring Branching in SAT
problems
Idea: use ssDNA as clauses for the
SAT problem (Adelman et al)
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
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.
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 (NSC3), 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.