Upload
elmer-wood
View
220
Download
2
Embed Size (px)
Citation preview
DNA Computing
Elements of complementary nature abound in nature.
Complementary parts (in nature) can “self-assemble”.
A universal principle?
This “complementary-attraction-principle” seems to pervade many aspects of life (both molecular and higher
levels).
Elements of complementary nature spontaneously “stick” together.
Cells: “atoms” that make up living things
DNA: “strings” that encode the traits of living organisms
Complementary-attraction in DNA
DNA bases and their “complements”:
Adenine (A) ----- Thymine (T)
Guanine (G) ----- Cytosine (C)
If DNA molecules (in a single strand) meet their complements (in another single strand), then the two strands will anneal (stick/coil together to form a double-helix).
DNA computing: Basic operations
Synthesize
Prepare large numbers of copies of any short single DNA strand.
Anneal
Create a double strand from complementary single strands.
Extract
“Pull out” those DNA sequences containing a given pattern of length l (from a test tube).
Detect
Determine whether or not there are any DNA strands at all in a test tube.
Amplify
Replicate all (or selectively, some) of the DNA strands in a test tube.
Hamiltonian Path Problem (HPP)
Welling_ton
Auck_land
Ton_
Dun
e
Dune_din
Land
_Chr
ist
Chu
rch_
Auc
k
Christ_Church
Church_DuneChurch_Welling
land
_D
une
Adleman’s experiment
Auckland
Wellington Christ Church
Dunedin
CITY DNA name Complement
Auckland ACTTGCAG TGAACGTC
Christ Church TCGGACTG AGCCTGAC
Wellington GGCTATGT CCGATACA
Dunedin CCGAGCAA GGCTCGTT
FLIGHT DNA flight number
Auckland-Christ Church
CGTCAGCC
Auckland-Dunedin CGTCGGCT
Christ Church-Wellington
TGACCCGA
Christ Church-Dunedin
TGACGGCT
Christ Church-Auckland
TGACTGAA
Wellington-Dunedin CCGAGGCT
Welling_ton
Auck_land
Ton_
Dun
e
Dune_din
Land
_Chr
ist
Chu
rch_
Auc
kChrist_Church
Church_DuneChurch_Welling
land
_D
une
Adleman’s experiment
Welling_ton
Auck_land
Ton_
Dun
eDune_din
Land
_Chr
ist
Chu
rch_
Auc
k
Christ_Church
Church_Dune
Church_Welling
lan
d _
Du
ne
Adleman’s experiment city flight
Auckland ChristChurch Wellington Dunedin landChrist ChurchWelling tonDune
8 x 3 = 24
Adleman’s experiment: Filtering process I
Getting rid of DNA strands Getting rid of DNA strands
that don’t start with that don’t start with AucklandAuckland, end with , end with Dunedin Dunedin (using (using PCR amplificationPCR amplification))
landland DuneDune
{ { landland,, Dune}Dune}landland DuneDune
landland
DuneDune
(Auck)land Dune(din) Both the “types” can duplicate simultaneously.
primers
amplified
landland yy
{ { landland,, Dune}Dune}landland yy
landland
not amplified
xx DuneDune { { landland,, Dune}Dune}
xx DuneDuneDuneDune
not amplified
Adleman’s experiment: Filtering process IIGetting rid of DNA strands Getting rid of DNA strands
that don’t have length = 24 (using that don’t have length = 24 (using gel electrophoresisgel electrophoresis))
Shorter DNA strands move faster.
DNA
Adleman’s experiment: Filtering process IIIGetting rid of DNA strandsGetting rid of DNA strands
that don’t havethat don’t have Christ_Church & Welling_ton (using probe molecules)
DNA
Traditionally, when computists solve problems, they try to achieve the desired end by painstakingly developing a suitable means---an “algorithm”.
On the other hand, when natural computists solve problems, they try to discover a natural (computing) system, one that is bound to produce the desired end (or something “close” to such an end) and whose capacity to produce such an end is innate. (That is, the system’s ability to reach the desired end is not something the computist deliberately assigns to it, but something which the system has been endowed with.)
The means by which natural systems realize an end is something that comes “for free”; the computist need not bother to know the exact means by which the system would achieve the desired end, but simply be aware of the fact that such an end will somehow be achieved.
Natural Algorithm: a “free” means to an end
What is a natural algorithm? (prose version)
"What, my dear Sir, is a Natural Algorithm?"So asked Boswell."Bah, that is but a simple idea", said Dr. Johnson.An algorithm is nothing but a means,Not as hard as it seems;One which humans so meticulously design---And all that, my friend,Is for the computer---to achieve an 'end'.
A natural algorithm is also a means,But one that you get “for free”:All you need, my dear Boswell, is to seekFor when you seek, you shall findThat piece of nature's machinery which does what you wantBe it sorting, be it searching or solving SAT!It's right there, neat and clean---The end you seek;Just take a peek.
"But, Sir, by what means does nature reach its end?"Why bother, my dear Boswell,When nature does it well.The means is but free, andFor us (and for nature), it's the end that matters.What matters for starters,Though, is by one means or the other Will it reach its end!
What is a natural algorithm? (poem version)
Lipton’s SAT
(x V y) ^ (~x V ~y)
Paths satisfying Clause-1:1 1
0
11
0
Paths satisfying Clause-2:
0
11
00 0
0 0
1 1
0
1 1
0Possible Paths:
a1 a2 a3
x=1 y=1
x=0 y=0
Lipton’s SAT: Filtering process I
Paths satisfying Clause-1:
1 1
0
11
0
0
1
0 0
1 11
0
Possible Paths:
0 0
Paths of the form
get filtered off.
Getting rid of DNA strands (paths) that do not satisfy Clause-1Getting rid of DNA strands (paths) that do not satisfy Clause-1
Lipton’s SAT: Filtering process II
Paths satisfying Clause-1:
1 1
0
11
0
Paths of the form
get filtered off.
1 1
Paths satisfying BOTH Clause-1 and Clause-2 : 0
11
0
Getting rid of DNA strands (paths) that do not satisfy Clause-2Getting rid of DNA strands (paths) that do not satisfy Clause-2
Lipton’s SAT: Filtering process I
0 0
1 1
0
1 1
0
T0 :
Extract “x=1”
1 11
0
T1 : T1’ :0 0
0
1
Extract “y=1”
T2 :0
1
++
1 1 1
0 0
1
T3 :Paths satisfying Clause 1:
(x = 1) OR (y = 1)
Lipton’s SAT: Filtering process II
1 1 1
0 0
1
T3 :
Paths satisfying Clause-1:
(x = 1) OR (y = 1)
Extract “x=0”
0
1
T4:1 1 1
0
T4‘ :
Extract “y=0”
T5:1
0
0
1 1
0
T6 :
++
Paths satisfying BOTH clauses 1 & 2:
(x = 1) OR (y = 1) AND
(x = 0) OR (y = 0)
Is anything left (in T6)?
The working set for filtering process II
Universality of DNA computing
What does a shuffle mean?
Take any two strings x and y; we can form strings by just “cutting and pasting” pieces (substrings) from them in such a way that the resulting strings will preserve the order of letters in x and y. Call such a resulting string a shuffle of x and y.
e.g. Take x = 0011 and y = 0011; 00001111 is a shuffle of x and y. But, 01100011 is not a shuffle of x and y.
Twin-Shuffle language
Pick x, an arbitrary string over the alphabet {0,1} and y, its underscored-version. Form the shuffles of ALL such x and y. The resulting (infinite) set of strings is the Twin-Shuffle language.
Universality of DNA computing
(DNA) Universality Theorem
For every computably enumerable language L, we can design a finite state machine (with outputs) that can generate exactly those strings in L when inputted with strings from TS.
DNA-strings = Twin-Shuffle language
Every DNA double strand can be represented by a unique, valid shuffle, i.e. a string in TS. Also, for every string in TS, one can construct a (unique) double stranded DNA that mirrors such a string. In other words, the double-stranded DNA strings and the strings in TS can be put in one-to-one correspondence.
Universality of DNA computing
DNA-strings Twin-Shuffle language
Every DNA double strand can be represented by a unique, valid shuffle, i.e. a string in TS.
Also, for every string in TS, one can construct a (unique) double stranded DNA that mirrors such a string.
x1 x1 x2 x2 x3 x3 x4 x4x1 x2 x3 x4
x1 x2 x3 x4
DNA strand shuffle
x1 x1 x2 x3 x2 x3 x4 x4
shuffle
x1 x2 x3 x4
x1 x2 x3 x4
DNA strand
Thank you!
References:
1. E. Schrödinger, What is Life: The Physical Aspect of the Living Cell (1944), Cambridge University press.
2. The Living Cell, Readings from Scientific American, W. H. Freeman and Company, 1965.