520 likes | 704 Views
9th International Colloquium on Grammatical Inference (ICGI 2008), 2008. Bio-molecular computing of finite-state automata. Yasubumi Sakakibara Biosciences and Informatics Keio University Japan. What is DNA computer?. Computer in vitro or in vivo Computational devise: DNA strands
E N D
9th International Colloquium on Grammatical Inference (ICGI 2008), 2008 Bio-molecular computing of finite-state automata Yasubumi Sakakibara Biosciences and Informatics Keio University Japan
What is DNA computer? • Computer in vitro or in vivo • Computational devise: DNA strands • Adenine, Cytosine, Guanine, Thymine • Watson-Crick complement (bonding) A – T, C – G • Biological operations to do Computation: • Annealing • Amplifying • Ligation • … • DNA sequences are used to encode information while enzymes can be employed to simulate simple computations
Image of DNA Computer Test Tube GGGGGGGG DNA strands ATATCCCC CCCCTTTT CGCGCGCG
Hybridization: Image of DNA Computer Test Tube GGGGGGGG ATATCCCC CCCCTTTT CGCGCGCG
Self-Assembly Hybridization: Image of DNA Computer Test Tube CCCCTTTT GGGG GGGG ATATCCCC CGCGCGCG
Leonard Adleman’s seminal work (Science 266, 1994) Solved an instance of directed Hamiltonian path problem solely by manipulating DNA sequences
Directed Hamiltonian Path Problem (HPP) ハミルトン経路問題(HPP) 4 3 1 0 6 5 2
List of molecular biological operations • Synthesis of a desired DNA strand (sequence) • Separation of DNA strands by length using gel-electrophoresis • Merging : pour two test tubes into one to do union • Extraction : extract DNA strands containing a given pattern as a subsequence • Melting/Annealing : break apart/bond together two single DNA strands with complementary sequences • Amplifying : make copies of DNA strands by using Polymerase Chain Reaction (PCR) • Cutting : cut DNA strands by using restriction enzymes • Ligation : concatenate DNA strands by using ligase
Computational process of DNA computer • Computational process of DNA computer: a sequence of test tubes biological operations output input • Advantage of DNA computer: • microscopic DNA molecule offers massively parallel computation and huge information storage • potential application to molecular biology and medical research
Automaton in silico, in vitro, in vivo in silico computer in vitrocomputer in vivocomputer low(computation power) high Turing machine Linear Bounded Automaton Pushdown Automata Finite Automata Finite Automata Finite Automata
q4 Finite-state Automaton: Example q2 state C input symbol C final state A T G q0 q1 q3 initial state transition function G q4 q3 S = { A, C, G, T } (for DNA sequences)
q0 q1 q2 q3 Finite-state Automaton (FA): Definition Formal Definition of (deterministic) Finite-state Automaton: C C A T G q4
Length-encoding method to implement FA(Yokomori, Sakakibara, & Kobayashi, 2002) • Finite automaton with k states (from #1 to #k) • Encode input string x1x2…xm into ssDNA: • State transition from state i to state j with symbol a: (5’) (3’) ssDNA: complementary ssDNA:
0 0 1 DNA sequence design: input symbol • ssDNA subsequence encoding input symbol: (Ex) ‘0’ 5’-CCC-3’ ‘1’ 5’-GGG-3’ state (2 states) 5’-TTT-3’ • Encode input string by joining into ssDNA sequence (Ex) “010” 5’-TCCCTTTGGGTTTCCCT-3’
0 : AAGGGA y y ⑤ 0 0 x x : AGGGAA y x : AAGGGAA ② ⑥ 1 1 x y : ACCCA y y : AACCCA ③ ⑦ 1 1 x x : ACCCAA y x : AACCCAA ④ ⑧ #1 #2 DNA sequence design: transition function 0 1 1 1 y x Example: 1 8 transition rules for two-states FA 0 0 0 0 x y :AGGGA ①
1 x y : ACCCA 1 y x : AACCCAA 0 x x : AGGGAA 0 y y : AAGGGA Computation process using hybridization:Accepting case 1 0 x y 1 0 Input string : 010 TCCCTTTGGGTTTCCCT Accept AGGGAA ACCCA AAGGGA
1 x y : ACCCA 1 y x :AACCCAA 0 x x : AGGGAA 0 y y : AAGGGA Computation process using hybridization:Rejecting case 1 0 x y 1 0 Input string : 011 TCCCTTTGGGTTTGGGT Reject AGGGAA ACCCA AACCCAA
1 x y : ACCCA 1 y x : AACCCAA 0 x x : AGGGAA 0 y y : AAGGGA Computation process using hybridization:Rejecting case 1 0 x y 1 0 Input string : 011 TCCCTTTGGGTTTGGGT Reject AGGGAA ACCCA ACCCA
XXXXXX- Experimental protocol for executing FA in vitro(Kuramochi & Sakakibara, DNA11, 2005) transition function: input sequence: AAGGGA TTCCCTTTGGGTTTCCCT AAGGGAA ACCCAA ACCCA AACCCA detection, purification sequence: Ligase YYYYYYYYYYYY
Protocol of in vitro automaton accept reject Hybridization input string PCR sequence purification sequence Ligation Purification by beads PCR
DNA sequences designed with TM control concrete ssDNA sequences:
Experimental result: 2-states FA finite-automaton: input strings: (a) 1101 reject (b) 1110 reject (c) 1010accept 1 0 gel-electrophoresis: reject reject accept 190mer (a) (b)(c)
Experimental result: 4-states FA finite-automaton: input strings: (a) 1101 reject (b) 1110 accept (c) 1010accept 0 1 1 1 0 gel-electrophoresis: reject accept accept 190mer (a)(b)(c)
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Experimental result: from 2-states to 6-states FA finite-automata: input string: 111111
Experimental result: from 2-states to 6-states FA Input string: 111111(six ‘1’s) gel-electrophoresis: 240mer 2 (accept) 3 (accept) 4 (reject) 5 (reject) 6 (accept)
Development of in vivo computerbased on E.coliBacteria computer
Protein synthesis (Translation) system • Molecular machine to synthesize proteins • Ribosomes, • tRNAs, • several translation factors Ribosome tRNA mRNA
Trp ACC Leu GAC -- AUG CCG CAA AUC ACU CUA UGG CAG CGU CCA -- transcription DNA mRNA Translation process to synthesize proteins translations amino acid sequence Met Pro Gln Ile Thr -- AUG CCG CAA AUC ACU CUG UGG CAG CGU UAG -- 3-base codons stop codon Initiation codon
Methods for implementing FA in vivo(Nakagawa, Sakamoto, & Sakakibara, DNA11, 2005) • Use protein-synthesis mechanism of E.coli + 4-base codon technique • Input string → encoded to mRNA • State-transition function → encoded to 3, 4-base anticodon • Translation of mRNA = Computation (accepting) process of FA in vitro (low translation efficiency) → in vivo (Sakakibara & Hohsaka, DNA 9, 2003)
Xaa UCCA nonnatural amino acid Ser Four-base codon techniques(Hohsaka et al, 2001) tRNA 4-base anticodon UCG AGC CGU AGGU mRNA 4-base codon 5-base codon, 6-base, …
1 s0 s1 1 Implementing FA: example Parity check State = {s0, s1} Input symbol = {1} State-transition function: δ(s0,1) = s1, δ(s1,1) = s0 Initial & Final state: s0 Number of input symbols ‘1’ Even → Accept Odd → Reject
1 s0 s1 1 Implementing FA: example Encode input string into mRNA: Input symbol‘1’:AGGUState:A ‘11’ = AGGUAAGGUAAAUAA-reporter gene ‘111’ =AGGUAAGGUAAGGUAAAUAA-reporter gene 1 1 stop codon encoding states 1 1 1
1 s0 s1 1 Implementing FA: example Encode state transitions into tRNA with anticodons Encode state-transition function: Ser δ(s0, 1) = s1 4-base anticodon tRNA UCCA Lys Val δ(s1, 1) = s0 3-base anticodon tRNAs + UUC CAU
Ser Ser UCCA Computation process : accepting case(even number of ‘1’) δ(s0, 1) = s0δ(s1, 1) = s0 1 s0 s1 1 Ser Lys Val + UCCA UUC CAU Input string: ’11’ 5’ -AGGUAAGGUAAAUAAC- reporter gene3’ mRNA Stop codon
Lys Ser Lys UUC Computation process : accepting case(even number of ‘1’) δ(s0, 1) = s0δ(s1, 1) = s0 1 s0 s1 1 Ser Lys Val + UCCA UUC CAU Input string: ’11’ 5’ -AGGUAAGGUAAAUAAC- reporter gene3’ mRNA Stop codon
Val Lys Ser Val CAU Computation process : accepting case(even number of ‘1’) δ(s0, 1) = s0δ(s1, 1) = s0 1 s0 s1 1 Ser Lys Val + UCCA UUC CAU Input string: ’11’ 5’ -AGGUAAGGUAAAUAAC- reporter gene3’ mRNA Stop codon
Asn Val Lys Ser Asn UUA Computation process : accepting case(even number of ‘1’) δ(s0, 1) = s0δ(s1, 1) = s0 1 s0 s1 1 Ser Lys Val + UCCA UUC CAU Input string: ’11’ 5’ -AGGUAAGGUAAAUAAC- reporter gene3’ mRNA Stop codon
Asn Lys Val Leu Ser Leu UUG Computation process : accepting case(even number of ‘1’) δ(s0, 1) = s0δ(s1, 1) = s0 1 s0 s1 1 Ser Lys Val + UCCA UUC CAU Input string: ’11’ Translation continue 5’ -AGGUAAGGUAAAUAAC- reporter gene3’ mRNA Stop codon
Ser Ser UCCA Computation process : rejecting case(odd number of ‘1’) δ(s0, 1) = s0δ(s1, 1) = s0 1 s0 s1 1 Ser Lys Val + UCCA UUC CAU Input string: ’111’ 5’ -AGGUAAGGUAAGGUAAAUAAC- reporter gene 3’ mRNA Stop codon
Lys Ser Lys UUC Computation process : rejecting case(odd number of ‘1’) δ(s0, 1) = s0δ(s1, 1) = s0 1 s0 s1 1 Ser Lys Val + UCCA UUC CAU Input string: ’111’ 5’ -AGGUAAGGUAAGGUAAAUAAC- reporter gene 3’ mRNA Stop codon
Val Lys Ser Val CAU Computation process : rejecting case(odd number of ‘1’) δ(s0, 1) = s0δ(s1, 1) = s0 1 s0 s1 1 Ser Lys Val + UCCA UUC CAU Input string: ’111’ 5’ -AGGUAAGGUAAGGUAAAUAAC- reporter gene 3’ mRNA Stop codon
Val Lys Ser Ser Ser UCCA Computation process : rejecting case(odd number of ‘1’) δ(s0, 1) = s0δ(s1, 1) = s0 1 s0 s1 1 Ser Lys Val + UCCA UUC CAU Input string: ’111’ 5’ -AGGUAAGGUAAGGUAAAUAAC- reporter gene 3’ mRNA Stop codon
Lys Val Ser Ser Phe UUU Computation process : rejecting case(odd number of ‘1’) δ(s0, 1) = s0δ(s1, 1) = s0 1 s0 s1 1 Ser Lys Val + UCCA UUC CAU Input string: ’111’ 5’ -AGGUAAGGUAAGGUAAAUAAC- reporter gene 3’ mRNA Stop codon
Lys Val Ser Ser Phe UUU Computation process : rejecting case(odd number of ‘1’) δ(s0, 1) = s0δ(s1, 1) = s0 1 s0 s1 1 Ser Lys Val + UCCA UUC CAU Input string: ’111’ 5’ -AGGUAAGGUAAGGUAAAUAAC- reporter gene 3’ mRNA Stop codon
Designing Plasmid for input string Reporter gene:lacZ
An in vivo computer based on E.coli plasmid encoding Ser tRNA reading AGGU plasmid encoding input string transformation incubation = computation E. coli LacZ expression LacZ no expression colony exhibits no color = reject colony exhibits a blue color = accept
Experimental result n = 1 ”1” n = 2 ”11” n = 3 ”111” with tRNA (-) (+) (-) (UCCU) without tRNA (-) (-) (-) (UCCU) n = 4 ”1111” n = 5 ”11111” n = 6 ”1111111” (+) (-) (+) theoretical sign (-) (-) (-)
Programmable and autonomousin vivo computer Programmable: choosing plasmid encoding tRNAs plasmid encoding input string transformation . . . A B Z E. coli Autonomous: computation is executed by living E.coli