Existing “autonomous” system Sakamoto & Hagiya State transitions by molecules A transition...
Transcript of Existing “autonomous” system Sakamoto & Hagiya State transitions by molecules A transition...
Existing “autonomous” systemExisting “autonomous” system
Sakamoto & HagiyaSakamoto & Hagiya
State transitions by moleculesState transitions by molecules
A transition table:A transition table: {S {S S’} S’}
Starting from the initial state, calculate as many as possibleStarting from the initial state, calculate as many as possiblefollowing states according to the transition tablefollowing states according to the transition table
Molecular implementationMolecular implementation
• Each state is a ss-DNA segmentEach state is a ss-DNA segment• Each transition S -> S’ is a sequence of S-complementaryEach transition S -> S’ is a sequence of S-complementaryand S’-complementary DNAand S’-complementary DNA• The transitions are performed in a PCR-like fashionThe transitions are performed in a PCR-like fashion
S0S0S1S1S2S2
The rules:The rules:S0 -> S1S0 -> S1S1 -> S2S1 -> S2
An “Input”An “Input”
Molecular implementationMolecular implementation
• Each state is a ss-DNA segmentEach state is a ss-DNA segment• Each transition S -> S’ is a sequence of S-complementaryEach transition S -> S’ is a sequence of S-complementaryand S’-complementary DNAand S’-complementary DNA• The transitions are performed in a PCR-like fashionThe transitions are performed in a PCR-like fashion
S0S0S1S1S2S2
The rules:The rules:S0 -> S1S0 -> S1S1 -> S2S1 -> S2
Molecular implementationMolecular implementation
• Each state is a ss-DNA segmentEach state is a ss-DNA segment• Each transition S -> S’ is a sequence of S-complementaryEach transition S -> S’ is a sequence of S-complementaryand S’-complementary DNAand S’-complementary DNA• The transitions are performed in a PCR-like fashionThe transitions are performed in a PCR-like fashion
S0S0S1S1S2S2
The rules:The rules:S0 -> S1S0 -> S1S1 -> S2S1 -> S2
Molecular implementationMolecular implementation
• Each state is a ss-DNA segmentEach state is a ss-DNA segment• Each transition S -> S’ is a sequence of S-complementaryEach transition S -> S’ is a sequence of S-complementaryand S’-complementary DNAand S’-complementary DNA• The transitions are performed in a PCR-like fashionThe transitions are performed in a PCR-like fashion
S0S0S1S1S2S2
The rules:The rules:S0 -> S1S0 -> S1S1 -> S2S1 -> S2
Molecular implementationMolecular implementation
• Each state is a ss-DNA segmentEach state is a ss-DNA segment• Each transition S -> S’ is a sequence of S-complementaryEach transition S -> S’ is a sequence of S-complementaryand S’-complementary DNAand S’-complementary DNA• The transitions are performed in a PCR-like fashionThe transitions are performed in a PCR-like fashion
S0S0S1S1S2S2
The rules:The rules:S0 -> S1S0 -> S1S1 -> S2S1 -> S2
Molecular implementationMolecular implementation
• Each state is a ss-DNA segmentEach state is a ss-DNA segment• Each transition S -> S’ is a sequence of S-complementaryEach transition S -> S’ is a sequence of S-complementaryand S’-complementary DNAand S’-complementary DNA• The transitions are performed in a PCR-like fashionThe transitions are performed in a PCR-like fashion
S0S0S1S1S2S2
The rules:The rules:S0 -> S1S0 -> S1S1 -> S2S1 -> S2
Molecular implementationMolecular implementation
• Each state is a ss-DNA segmentEach state is a ss-DNA segment• Each transition S -> S’ is a sequence of S-complementaryEach transition S -> S’ is a sequence of S-complementaryand S’-complementary DNAand S’-complementary DNA• The transitions are performed in a PCR-like fashionThe transitions are performed in a PCR-like fashion
S0S0S1S1S2S2
The rules:The rules:S0 -> S1S0 -> S1S1 -> S2S1 -> S2
The resultThe result
Acknowledgements• Kobi Benenson
• Ehud Keinan
• Zvi Livneh
• Tami Paz-Elizur
• Irit Sagi, Ada Yonath
From Turing Machines to Finite Automata
• A finite automaton is a Turing machine that can only– Move to the right
– Read but not write
• An elementary, well-characterized class of computing devices.
Computable (Turing Machines)Computable (Turing Machines)
Context-free (Stack automata)Context-free (Stack automata)
Regular (Finite Automata)Regular (Finite Automata)
0 1 0 0 1 1 0 0 1 0 0 1 1 0 ............
S0,0 S0
S1,0 S1
S0,1 S1
S1,1 S0
State transition rules
Turing Machine and Finite AutomatonTuring Machine and Finite Automaton
S0 S1
1
1
00
State transition diagram
Example ComputationExample Computation
S0,0 S0
S1,0 S1
S0,1 S1
S1,1 S0
State transition rules
0 1 0 0 1 0 0
S0
initial state: S0
<S0, 0100100>
S1
0 1 0 0 1 0 0 <S1, 00100>
S0,1 S1
S1
0 1 0 0 1 0 0 <S1, 0100>
S1,0 S1
S1
0 1 0 0 1 0 0 <S1, 100>
S1,0 S1
0 1 0 0 1 0 0
S0
<S0, 00>
S1,1 S0
0 1 0 0 1 0 0
S0
final state: S0 <S0, 0>
S0,0 S0
0 1 0 0 1 0 0
S0
<S0, 100100>
S0,0 S0
S0 S1
1
1
00
State transition diagram
Molecular realization of Finite Automata
• Input: DNAS, a rest a’
• Program: DNA
S, aFokI
• Execution engine: Class-II restriction enzyme FokI, DNA Ligase, ATP
Fok I Ligase
S, a rest a’
Basic cycle of automatonBasic cycle of automaton
Iterative processing of input until the end is reachedIterative processing of input until the end is reached
S, a S’ <S, nil>
Detect the result
State-symbol tag
S’, a’ rest
Molecular realization of FA
FAFA
AlphabetAlphabet::{0 = 5’- {0 = 5’- CTGGCTCTGGCT,, 1 = 5’- 1 = 5’- CGCAGCCGCAGC}}
StatesStates::{S0,S1}{S0,S1}
S0, 0 S0, 0 S0 S0S0, 1 S0, 1 S1 S1S1, 0 S1, 0 S1 S1 S1, 1 S1, 1 S0 S0
S0S0 S1S1
0000
11
11
Transition TableTransition Table::
Representation of states
States are not physically separated from the symbols.States are not physically separated from the symbols.Subsequences of the alphabet codes represent different statesSubsequences of the alphabet codes represent different states
{0 = 5’- {0 = 5’- CTGGCTCTGGCT, 1 = 5’- , 1 = 5’- CGCAGCCGCAGC}}
Representation of states
{0 = 5’- {0 = 5’- CTGGCTCTGGCT, 1 = 5’- , 1 = 5’- CGCAGCCGCAGC}}
CTGGCTGG = = a combination of S1 and 0a combination of S1 and 0
States are not physically separated from the symbols.States are not physically separated from the symbols.Subsequences of the alphabet codes represent different statesSubsequences of the alphabet codes represent different states
Representation of states
{0 = 5’- {0 = 5’- CTGGCTCTGGCT, 1 = 5’- , 1 = 5’- CGCAGCCGCAGC}}
GGCTGGCT = = a combination of S0 and 0a combination of S0 and 0
CTGGCTGG = = a combination of S1 and 0a combination of S1 and 0
States are not physically separated from the symbols.States are not physically separated from the symbols.Subsequences of the alphabet codes represent different statesSubsequences of the alphabet codes represent different states
Representation of states
{0 = 5’- {0 = 5’- CTGGCTCTGGCT, 1 = 5’- , 1 = 5’- CGCAGCCGCAGC}}
GGCTGGCT = = <S0,0><S0,0>
CTGGCTGG = = <S1, 0><S1, 0> CGCA CGCA = = <S1, 1><S1, 1>
CAGC CAGC = = <S0,1><S0,1>
States are not physically separated from the symbols.States are not physically separated from the symbols.Subsequences of the alphabet codes represent different statesSubsequences of the alphabet codes represent different states
How Does it Work?
Adapters = transition moleculesAdapters = transition molecules
GGATGGGATGCCTACCCTAC NNNNNNNN
Fok I (9/13) recognition siteFok I (9/13) recognition site
S0, 0 S0, 0 S0 S0
S0, 1 S0, 1 S1 S1
S1, 0 S1, 0 S1 S1
S1, 1 S1, 1 S0 S0
3 3 bpbp
5 5 bpbp
3 3 bpbp
1 1 bpbp
CCGACCGA
GTCGGTCG
GACCGACC
GCGTGCGT
Fok I
450 bpGGATGATATCGCCGCAGCCTGGCTCGCAGCTGTCGCCCTACTATAGCGGCGTCGGACCGAGCGTCGACAGCG
5'-p
8 bp
5'-p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
v
TT11 1100
450 bpGGATGATATCGCCGCAGCCTGGCTCGCAGCTGTCGCCCTACTATAGCGGCGTCGGACCGAGCGTCGACAGCG
5'-p
8 bp
5'-p
5'-p
5'-p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
v
TT11 1100
GGATGATATCGCCGCCTACTATAGCGGCGTCG
5'-p
8 bp
5' - p
450 bp CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG
5'-p
5'-p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
TT11 1100
v
GGATGATATCGCCGCCTACTATAGCGGCGTCG
5'-p
8 bp
5' - p
450 bp CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG
5'-p
5'-p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
v
TT11 1100
450 bp CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG
5'-p
5'-p
GGATGACGACCCTACTGCTGGTCG
5'-p
5'-p
15 bp
Ligase
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
v
GGATGTACCCTACATGCCGA
5'-p
22 bp
5' - p<S0-0> <S1-0>
GGATGACGCCTACTGCGACC
5' - p
5' - p
15 bp
<S1-1>
GGATGGCCTACCGCGT
5' - p
21 bp
5' - p<S0-1>
GGATGACGACCCTACTGCTGGTCG
5' - p
5' - p
15 bp
TT11 1100
Fok I
450 bp
5'-p
GGATGACGACCAGCCTGGCTCGCAGCTGTCGCCCTACTGCTGGTCGGACCGAGCGTCGACAGCG
5'-p
15 bp
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
v
TT11 1100
GGATGTACCCTACATGCCGA
5'-p
22 bp
5' - p<S0-0> <S1-0>
GGATGACGCCTACTGCGACC
5' - p
5' - p
15 bp
<S1-1>
GGATGGCCTACCGCGT
5' - p
21 bp
5' - p<S0-1>
GGATGACGACCCTACTGCTGGTCG
5' - p
5' - p
15 bp
450 bp
5'-p
CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG
GGATGACGACCAGCCCTACTGCTGGTCGGACC
5'-p
15 bp
5'-p
5'-p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
v
TT11 1100
GGATGTACCCTACATGCCGA
5'-p
22 bp
5' - p<S0-0> <S1-0>
GGATGACGCCTACTGCGACC
5' - p
5' - p
15 bp
<S1-1>
GGATGGCCTACCGCGT
5' - p
21 bp
5' - p<S0-1>
GGATGACGACCCTACTGCTGGTCG
5' - p
5' - p
15 bp
GGATGACGACCAGCCCTACTGCTGGTCGGACC
5'-p
15 bp
5' - p
450 bp
5'-p
CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG
5'-p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
v
TT11 1100
GGATGTACCCTACATGCCGA
5'-p
22 bp
5' - p<S0-0> <S1-0>
GGATGACGCCTACTGCGACC
5' - p
5' - p
15 bp
<S1-1>
GGATGGCCTACCGCGT
5' - p
21 bp
5' - p<S0-1>
GGATGACGACCCTACTGCTGGTCG
5' - p
5' - p
15 bp
GGATGACGACCAGCCCTACTGCTGGTCGGACC
5'-p
15 bp
5' - p
450 bp
5'-p
CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG
5'-p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
v
TT1100
GGATGTACCCTACATGCCGA
5'-p
22 bp
5' - p<S0-0> <S1-0>
GGATGACGCCTACTGCGACC
5' - p
5' - p
15 bp
<S1-1>
GGATGGCCTACCGCGT
5' - p
21 bp
5' - p<S0-1>
GGATGACGACCCTACTGCTGGTCG
5' - p
5' - p
15 bp
11
450 bp
5'-p
CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG
5'-pLigase
GGATGACGCCTACTGCGACC
5'-p
5'-p
15 bp
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
v
GGATGTACCCTACATGCCGA
5'-p
22 bp
5' - p<S0-0> <S1-0>
GGATGACGCCTACTGCGACC
5' - p
5' - p
15 bp
<S1-1>
GGATGGCCTACCGCGT
5' - p
21 bp
5' - p<S0-1>
GGATGACGACCCTACTGCTGGTCG
5' - p
5' - p
15 bp
TT110011
GGATGACGCTGGCTCGCAGCTGTCGCCCTACTGCGACCGAGCGTCGACAGCG
5'-p
15 bp 450 bp
5' - p
Fok I
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
v
TT1100
GGATGTACCCTACATGCCGA
5'-p
22 bp
5' - p<S0-0> <S1-0>
GGATGACGCCTACTGCGACC
5' - p
5' - p
15 bp
<S1-1>
GGATGGCCTACCGCGT
5' - p
21 bp
5' - p<S0-1>
GGATGACGACCCTACTGCTGGTCG
5' - p
5' - p
15 bp
11
5'-p
GGATGACGCTGGCTCCTACTGCGACCGAGCGT
5'-p
15 bp
5'-p
CGCAGCTGTCGC CGACAGCG 450 bp
5' - p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
v
TT1100
GGATGTACCCTACATGCCGA
5'-p
22 bp
5' - p<S0-0> <S1-0>
GGATGACGCCTACTGCGACC
5' - p
5' - p
15 bp
<S1-1>
GGATGGCCTACCGCGT
5' - p
21 bp
5' - p<S0-1>
GGATGACGACCCTACTGCTGGTCG
5' - p
5' - p
15 bp
11
5'-p
GGATGACGCTGGCTCCTACTGCGACCGAGCGT
5'-p
15 bp
5'-p
CGCAGCTGTCGC CGACAGCG 450 bp
5' - p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
v
TT1100
GGATGTACCCTACATGCCGA
5'-p
22 bp
5' - p<S0-0> <S1-0>
GGATGACGCCTACTGCGACC
5' - p
5' - p
15 bp
<S1-1>
GGATGGCCTACCGCGT
5' - p
21 bp
5' - p<S0-1>
GGATGACGACCCTACTGCTGGTCG
5' - p
5' - p
15 bp
11
5'-p
GGATGACGCTGGCTCCTACTGCGACCGAGCGT
5'-p
15 bp
5'-p
CGCAGCTGTCGC CGACAGCG 450 bp
5' - p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
v
TT1100
GGATGTACCCTACATGCCGA
5'-p
22 bp
5' - p<S0-0> <S1-0>
GGATGACGCCTACTGCGACC
5' - p
5' - p
15 bp
<S1-1>
GGATGGCCTACCGCGT
5' - p
21 bp
5' - p<S0-1>
GGATGACGACCCTACTGCTGGTCG
5' - p
5' - p
15 bp
11
5'-p
CGCAGCTGTCGC CGACAGCG 450 bp
5' - p
Ligase
GGATGGCCTACCGCGT
5'-p
21 bp
5' - p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
v
GGATGTACCCTACATGCCGA
5'-p
22 bp
5' - p<S0-0> <S1-0>
GGATGACGCCTACTGCGACC
5' - p
5' - p
15 bp
<S1-1>
GGATGGCCTACCGCGT
5' - p
21 bp
5' - p<S0-1>
GGATGACGACCCTACTGCTGGTCG
5' - p
5' - p
15 bp
TT110011
450 bp
5'-p
GGATGGCGCAGCTGTCGCCCTACCGCGTCGACAGCG
5'-p
21 bp
Fok I
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
TT11 1100
5'-p
GGATGGCGCAGCTGCCTACCGCGTCGACAGCG
5'-p
21 bp 450 bp
5'-p
TCGC
5'-p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
TT11 1100
5'-p
GGATGGCGCAGCTGCCTACCGCGTCGACAGCG
5'-p
21 bp 450 bp
5'-p
TCGC
5'-p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
TT110011
5'-p
GGATGGCGCAGCTGCCTACCGCGTCGACAGCG
5'-p
21 bp 450 bp
5'-p
TCGC
5'-p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
TT11 1100
450 bp
5'-p
TCGC
5'-p
Ligase
5'-p
170 bp AGCG
5' - p
5'-p
250 bp ACAG
5' - p
5'-p
170 bp AGCG
5' - p
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
450 bp
5'-p
TCGCAGCG
5'-p
170 bp
<S0> = "cut inside"
<S1> = "cut outside"
S0,0 S0S1,0 S1S0,1 S1S1,1 S0
State transition rules
Why autonomous?
• Fok I and Ligase act in the same environment (NED4 buffer + 1 mM ATP, 18 oC)
• No interference between input molecules that are at different stages of computation
• Each molecule is an independent automaton. There are ~1013 computations running in parallel
Computation 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
1,10: 50 1,10: 50 bp ladder; 2: 101 input; 3: 010010 input; 4: S0-detector; 5: S1-detectorbp ladder; 2: 101 input; 3: 010010 input; 4: S0-detector; 5: S1-detector6: Computation result of 101 input; 7: Computation result of 010010 input6: Computation result of 101 input; 7: Computation result of 010010 input8: Computation result of 010100 input; 9: Computation result of 001000 input8: Computation result of 010100 input; 9: Computation result of 001000 input
150 150 bpbp
200 200 bpbp
S0-resultS0-result
S1-resultS1-result
InputInputdegradationdegradationproductsproducts
Reaction conditions: Reaction conditions: Environment: 120 Environment: 120 l of NEB4 buffer + 1 mM ATP, 18 l of NEB4 buffer + 1 mM ATP, 18 ooC, 80 minC, 80 minInput: 2.5 pmol; Detectors: 1.5 pmol each; Transition molecules: 20 pmol eachInput: 2.5 pmol; Detectors: 1.5 pmol each; Transition molecules: 20 pmol eachFok I: 12 units; T4 Ligase: 120 unitsFok I: 12 units; T4 Ligase: 120 units
S0-dS0-d
S1-dS1-d
Proof of Mechanism
A complete mixture:A complete mixture:Input (010100) ; S0-detector; S1-detector; T1,T2,T3,T4; Fok I; T4 DNA LigaseInput (010100) ; S0-detector; S1-detector; T1,T2,T3,T4; Fok I; T4 DNA Ligase
The gel shows a “component removal” experiment, where each component was The gel shows a “component removal” experiment, where each component was omitted from the complete mixture and the result was compared to the predicted omitted from the complete mixture and the result was compared to the predicted outcomeoutcome
1 2 3 4 5 6 7 8 9 10 11 121 2 3 4 5 6 7 8 9 10 11 12
1,12: 50 1,12: 50 bp ladderbp ladder2: complete mixture2: complete mixture3: No Input3: No Input4: No S0-detector4: No S0-detector5: No S1-detector5: No S1-detector6: No T16: No T17: No T27: No T28: No T38: No T39: No T49: No T410: No Fok I10: No Fok I11: No T4 DNA Ligase11: No T4 DNA Ligase
PredictedPredicted ActualActual++----++------------
++----++--??--------
Result bandResult band
Estimation of system correctness
1 2 3 4 5 6 71 2 3 4 5 6 7Detectors are labeled with Detectors are labeled with 3232PP
S0-resultS0-result
S1-resultS1-result
S1-detectorS1-detector
S0-detectorS0-detector
There are possible “wrong” bands. Their origin is currently There are possible “wrong” bands. Their origin is currently being determined. At any rate, the correctness is >95%being determined. At any rate, the correctness is >95%
Exact error rate still needs to be determinedExact error rate still needs to be determined
Lanes:Lanes:1,7: 50 bp ladder1,7: 50 bp ladder2: 2: 3232P-S0-detectorP-S0-detector3: 3: 3232P-S1-detectorP-S1-detector4: Computation over 0100104: Computation over 0100105: Computation over 0101005: Computation over 0101006: Computation over 0010006: Computation over 001000