A nanoscale programmable computing machine with input, output, software and hardware made of biomolecules Nature 414, 430-434 (2001) Kobi Benenson supervisor: Ehud Shapiro, Dept of Computer Science & Applied Math Acknowledgements: Ehud Keinan (Technion), Zvi Livneh (WIS), Tami Paz-Elizur (WIS), Rivka Adar (WIS), Aviv Regev (WIS), Irith Sagi (WIS), Ada Yonath (WIS)
Programmable Computer “Medicine in 2050: Doctor in a Cell” Molecular Output Molecular Input Programmable Computer
Research goal: Design a simplest non-trivial molecular computing machine (two-state two-symbol finite automaton) that works on engineered inputs
Finite automaton: an example An even number of b’s b S0, a S0 S0, b S1 S1, a S1 S1, b S0 a a S0 S1 b Two-states, two-symbols automaton
Automaton 1 S0, a S0 S0, b S1 S1, a S1 S1, b S0 b a b An even number of b’s S0, a S0 S0, b S1 S1, a S1 S1, b S0 S0 b a b
Automaton 1 S0, b S1 S0, a S0 S0, b S1 S1, a S1 S1, b S0 b a An even number of b’s S0, b S1 S0, a S0 S0, b S1 S1, a S1 S1, b S0 S0 b a b
Automaton 1 S0, a S0 S0, b S1 S1, a S1 S1, b S0 a b An even number of b’s S0, a S0 S0, b S1 S1, a S1 S1, b S0 S1 a b
Automaton 1 S1, a S1 S0, a S0 S0, b S1 S1, a S1 S1, b S0 a b An even number of b’s S1, a S1 S0, a S0 S0, b S1 S1, a S1 S1, b S0 S1 a b
Automaton 1 S0, a S0 S0, b S1 S1, a S1 S1, b S0 b An even number of b’s S0, a S0 S0, b S1 S1, a S1 S1, b S0 S1 b
Automaton 1 S1, b S0 S0, a S0 S0, b S1 S1, a S1 S1, b S0 b An even number of b’s S1, b S0 S0, a S0 S0, b S1 S1, a S1 S1, b S0 S1 b
Automaton 1 S0, a S0 S0, b S1 S1, a S1 S1, b S0 The output An even number of b’s S0, a S0 S0, b S1 S1, a S1 S1, b S0 S0 The output
Rationale for the molecular design
Rationale for the molecular design CTGGCT GACCGA CGCAGC GCGTCG a b
Rationale for the molecular design CTGGCT GACCGA CGCAGC GCGTCG a b S0, a S0, b GGCT CAGC
Rationale for the molecular design CTGGCT GACCGA CGCAGC GCGTCG a b S0, a S0, b GGCT CAGC S1, a S1, b CTGGCT GA CGCAGC CG
Rationale for the molecular design Transitions S0, b CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG a b t
Rationale for the molecular design Transitions S0, b CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG a b t S0, b S1
Rationale for the molecular design Transitions S1, a CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG b t S0, b S1
Rationale for the molecular design Transitions S1, a CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG b t S1, a S1
Rationale for the molecular design Transitions S1, b CGCAGCTGTCGC CGACAGCG t S1, a S1
Rationale for the molecular design Transitions S1, b CGCAGCTGTCGC CGACAGCG t S1, b S0
Rationale for the molecular design Transitions S0, t TCGC S1, b S0
Rationale for the molecular design Transitions S0, t TCGC Output: S0
Rationale for the molecular design Transition procedure: a concept S0, b CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG a b t
Rationale for the molecular design Transition procedure: a concept S0, b CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG a b t GTCG 4 nt 8 nt S0, b -> S1
Rationale for the molecular design Transition procedure: a concept GTCG 4 nt 8 nt CAGCCTGGCTCGCAGCTGTCGC GACCGAGCGTCGACAGCG b t S0, b -> S1
Rationale for the molecular design Transition procedure: a concept S1, a CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG b t S0, b -> S1
Rationale for the molecular design Transition procedure: a concept S1, a CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG b t S1, a -> S1
Rationale for the molecular design Transition procedure: a concept S1, a CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG b t GACC 6 nt 10 nt S1, a -> S1
Rationale for the molecular design Transition procedure: a concept GACC 6 nt 10 nt CTGGCTCGCAGCTGTCGC GAGCGTCGACAGCG t S1, a -> S1
Rationale for the molecular design Transition procedure: a concept S1, b CGCAGCTGTCGC CGACAGCG t S1, a -> S1
Rationale for the molecular design Transition procedure: a concept S1, b CGCAGCTGTCGC CGACAGCG t GCGT 8 nt 12 nt S1, b -> S0
Rationale for the molecular design Transition procedure: a concept GCGT 8 nt 12 nt CGCAGCTGTCGC CGACAGCG S1, b -> S0
Rationale for the molecular design Transition procedure: a concept S0, t TCGC Output: S0
Rationale for the molecular design In situ detection S0, t Detection molecule for S0 output TCGC AGCG Output: S0
Rationale for the molecular design In situ detection Reporter molecule for S0 output TCGC AGCG Output: S0
Inside the transition molecule GTCG 4 nt 8 nt S0,b -> S1
GGATGACGAC CCTACTGCTG GTCG Inside the transition molecule FokI 4 nt GGATGACGAC CCTACTGCTG GTCG 8 nt S0,b -> S1
GGATGACGAC CCTACTGCTG GTCG Inside the transition molecule FokI 9 nt 4 nt GGATGACGAC CCTACTGCTG GTCG 8 nt 13 nt S0,b -> S1
GGATGACGAC CCTACTGCTG GTCG Inside the transition molecule FokI 9 nt 13 nt S0,b -> S1
Inside the transition molecule GACC 6 nt 10 nt S1,a -> S1
GGATGACG CCTACTGC GACC Inside the transition molecule FokI 9 nt 6 nt GGATGACG CCTACTGC GACC 10 nt 13 nt S1,a -> S1
GGATGACG CCTACTGC GACC Inside the transition molecule FokI 9 nt 13 nt S1,a -> S1
Inside the transition molecule 8 nt GCGT 12 nt S1,b -> S0
GGATGG CCTACC GCGT Inside the transition molecule FokI S1,b -> S0 9 nt 8 nt GGATGG CCTACC GCGT 12 nt 13 nt S1,b -> S0
GGATGG CCTACC GCGT Inside the transition molecule FokI S1,b -> S0 9 nt 13 nt S1,b -> S0
GGATGACGAC CCTACTGCTG GTCG GGATGACG CCTACTGC GACC GGATGG CCTACC GCGT Inside the transition molecule GGATGACGAC CCTACTGCTG S0 -> S1 GTCG S0 -> S0 GGATGACG CCTACTGC GACC S1 -> S1 GGATGG CCTACC S1 -> S0 GCGT
Transition rules: complete list
Automata programs used to test the molecular implementation
Transition molecules: complete list
Input and detection molecules
Experimental testing of automaton programs A1 – A6
Computations over 6-symbol long input molecules
Parallel computation
Identification of the essential components
Close inspection of the reaction intermediates
An estimation of system fidelity
Summary 1012 automata run independently and in parallel on potentially distinct inputs in 120 ml at room temperature at combined rate of 109 transitions per second with accuracy greater than 99.8% per transition, consuming less than 10-10 Watt.