Abstract
DNA computing is an area of natural computing based on the idea that molecular biology processes can be used to perform arithmetic and logic operations on information encoded as DNA strands. The first part of this review outlines basic molecular biology notions necessary for understanding DNA computing, recounts the first experimental demonstration of DNA computing (Adleman’s 7-vertex Hamiltonian Path Problem), and recounts the milestone wet laboratory experiment that first demonstrated the potential of DNA computing to outperform the computational ability of an unaided human (20 variable instance of 3-SAT).
The second part of the review describes how the properties of DNA-based information, and in particular the Watson–Crick complementarity of DNA single strands, have influenced areas of theoretical computer science such as formal language theory, coding theory, automata theory and combinatorics on words. More precisely, we describe the problem of DNA encodings design, present an analysis of intramolecular bonds, define and characterize languages that avoid certain undesirable intermolecular bonds, and investigate languages whose words avoid even imperfect bindings between their constituent strands. We also present another, vectorial, representation of DNA strands, and two computational models based on this representation: sticker systems and Watson–Crick automata. Lastly, we describe the influence that properties of DNA-based information have had on research in combinatorics on words, by enumerating several natural generalizations of classical concepts of combinatorics of words: pseudopalindromes, pseudoperiodicity, Watson–Crick conjugate and commutative words, involutively bordered words, pseudoknot bordered words. In addition, we outline natural extensions in this context of two of the most fundamental results in combinatorics of words, namely Fine and Wilf's theorem and the Lyndon–Schutzenberger result.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
* This work was supported by The Natural Sciences and Engineering Council of Canada Discovery Grant and Canada Research Chair Award to L.K.
References
Adleman L (1994) Molecular computation of solutions to combinatorial problems. Science 266(5187): 1021–1024
Adleman L (1998) Computing with DNA. Sci Am 279:54–61
Alhazov A, Cavaliere M (2005) Computing by observing bio-systems: the case of sticker systems. In: Feretti C, Mauri G, Zandron C (eds) Proceedings of DNA computing 10, Milan, Italy, June 2004. Lecture notes in computer science, vol 3384. Springer-Verlag, Berlin, pp 1–13
Amos M (2005) Theoretical and experimental DNA computation. Springer-Verlag, Berlin
Andronescu M, Dees D, Slaybaugh L, Zhao Y, Condon A, Cohen B, Skiena S (2003) Algorithms for testing that sets of DNA words concatenate without secondary structure. In: Hagiya M, Ohuchi A (eds) Proceedings of DNA computing 8, Sapporo, Japan, June 2002. Lecture notes in computer science, vol 2568. Springer-Verlag, Berlin, pp 182–195
Arita M (2004) Writing information into DNA. In: Jonoska N, Păun G, Rozenberg G (eds) Aspects of molecular computing. Lecture notes in computer science, vol 2950. Springer-Verlag, Berlin, pp 23–35
Arita M, Kobayashi S (2002) DNA sequence design using templates. New Generation Comput 20:263–277
Bancroft C, Bowler T, Bloom B, Clelland C (2001) Long-term storage of information in DNA. Science 293: 1763–1765
Baum E (1998) DNA sequences useful for computation. In: Landweber L, Baum E (eds) DNA based computers II. DIMACS series in discrete mathematics and theoretical computer science, vol 44. American Mathematical Society, Providence, RI, pp 235–246
Bordihn H, Holzer M, Kutrib M (2007) Hairpin finite automata. In: Harju T, Karhumäki J, Lepistö A (eds) Developments in language theory, Turku, Finland, July 2007. Lecture notes in computer science, vol 4588. Springer-Verlag, Berlin, pp 108–119
Braich R, Chelyapov N, Johnson C, Rothemund P, Adleman L (2002) Solution of a 20-variable 3-SAT problem on a DNA computer. Science 296:499–502
Calladine C, Drew H (1997) Understanding DNA: the molecule and how it works, 2nd edn. Academic Press, London
Cavaliere M (2008) Computing by observing: a brief survey. In: Logic and theory of algorithms. Lecture notes in computer science, vol 5028. Springer, Berlin, pp 110–119
Cavaliere M, Leupold P (2004) Evolution and observation – a new way to look at membrane systems. In: Martin-Vide C, Mauri G, Păun G, Rozenberg G, Salomaa A (eds) Membrane computing. Lecture notes in computer science, vol 2933. Springer, Berlin, pp 70–87
Chen J, Deaton R, Garzon M, Kim J, Wood D, Bi H, Carpenter D, Wang YZ (2006) Characterization of non-crosshybridizing DNA oligonucleotides manufactured in vitro. Nat Comput 5(2):165–181
Choffrut C, Karhumäki J (1997) Combinatorics of words. In: Rozenberg G, Salomaa A (eds) Handbook of formal languages, vol 1. Springer-Verlag, Berlin-Heidelberg-New York, pp 329–438
Cox J (2001) Long-term data storage in DNA. Trends Biotechnol 19:247–250
Czeizler E, Czeizler E (2006a) On the power of parallel communicating Watson-Crick automata systems. Theor Comput Sci 358:142–147
Czeizler E, Czeizler E (2006b) Parallel communicating Watson-Crick automata systems. Acta Cybern 17:685–700
Czeizler E, Czeizler E (2006c) A short survey on Watson-Crick automata. Bull EATCS 89:104–119
Czeizler E, Czeizler E, Kari L, Salomaa K (2008a) Watson-Crick automata: determinism and state complexity. In: DCFS'08: Proceedings of descriptional complexity of formal systems, University of Prince Edward Island, Charlottetown, PE, Canada, July 2008, pp 121–133
Czeizler E, Kari L, Seki S (2008b) On a special class of primitive words. In: MFCS 2008: Proceedings of mathematical foundations of theoretical computer science, Torun, Poland, August 2008. Lecture notes in computer science, vol 5162. Springer, Berlin-Heidelberg, pp 265–277
Czeizler E, Czeizler E, Kari L, Seki S (2009) An extension of the Lyndon Schützenberger result to pseudoperiodic words. In: Diekert V, Nowotka D (eds) DLT'09: Proceedings of developments in language theory, Stuttgart, Germany, June 2009. Lecture notes in computer science, vol 5583. Springer-Verlag, Berlin
Daley M, Kari L (2002) DNA computing: Models and implementations. Comments Theor Biol 7:177–198
Daley M, Ibarra O, Kari L (2003) Closure and decidability properties of some language classes with respect to ciliate bio-operations. Theor Comput Sci 306(1):19–38
Daley M, Kari L, McQuillan I (2004) Families of languages defined by ciliate bio-operations. Theor Comput Sci 320:51–69
de Luca A, Luca AD (2006) Pseudopalindrome closure operators in free monoids. Theor Comput Sci 362:282–300
Deaton R, Chen J, Bi H, Rose J (2003) A software tool for generating non-crosshybridizing libraries of DNA oligonucleotides. In: Hagiya M, Ohuchi A (eds) Proceedings of DNA computing 8, Sapporo, Japan, June 2002. Lecture notes in computer science, vol 2568. Springer-Verlag, Berlin, pp 252–261
Deaton R, Chen J, Kim J, Garzon M, Wood D (2006) Test tube selection of large independent sets of DNA oligonucleotides. In: Chen J, Jonoska N, Rozenberg G (eds) Nanotechnology: science and computation, Springer-Verlag, Berlin, pp 147–161
Diaz S, Esteban J, Ogihara M (2001) A DNA-based random walk method for solving k-SAT. In: Condon A, Rozenberg G (eds) Proceedings of DNA computing 6, Leiden, the Netherlands, June 2000. Lecture notes in computer science, vol 2054. Springer-Verlag, Berlin, pp 209–219
Dirks R, Pierce N (2004) An algorithm for computing nucleic acid base-pairing probabilities including pseudoknots. J Comput Chem 25:1295–1304
Domaratzki M (online 2007) Hairpin structures defined by DNA trajectories. Theory Comput Syst DOI 10.1007/s00224-007-9086-6
Drlica K (1996) Understanding DNA and gene cloning: a guide for the curious. Wiley, New York
Dyachkov A, Macula A, Pogozelski W, Renz T, Rykov V, Torney D (2006) New t-gap insertion-deletion-like metrics for DNA hybridization thermodynamic modeling. J Comput Biol 13(4):866–881
Dyachkov A, Macula A, Rykov V, Ufimtsev V (2008) DNA codes based on stem similarities between DNA sequences. In: Garzon M, Yan H (eds) Proceedings of DNA computing 13, Memphis, TN, June 2007. Lecture notes in computer science, vol 4848. Springer-Verlag, Berlin, pp 146–151
Ehrenfeucht A, Harju T, Petre I, Prescott D, Rozenberg G (2004) Computation in living cells: gene assembly in ciliates. Natural Computing Series. Springer-Verlag, Berlin
Faulhammer D, Cukras A, Lipton R, Landweber L (2000) Molecular computation: RNA solutions to chess problems. Proc Nat Acad Sci U S A 97:1385–1389
Feldkamp U, Saghafi S, Banzhaf W, Rauhe H (2002) DNASequenceGenerator – a program for the construction of DNA sequences. In: Jonoska N, Seeman N (eds) Proceedings of DNA computing 7, Tampa, FL, June 2001. Lecture notes in computer science, vol 2340. Springer-Verlag, Berlin, pp 23–32
Fine N, Wilf H (1965) Uniqueness theorem for periodic functions. Proc Am Math Soc 16(1):109–114
Freund R, Păun G, Rozenberg G, Salomaa A (1998) Bidirectional sticker systems. In: Altman R, Dunker A, Hunter L, Klein T (eds) Pacific symposium on biocomputing, vol 98. World Scientific, Singapore, pp 535–546
Freund R, Păun G, Rozenberg G, Salomaa A (1999) Watson-Crick finite automata. DIMACS Ser Discrete Math Theor Comput Sci 48:297–327
Frutos A, Liu Q, Thiel A, Sanner A, Condon A, Smith L, Corn R (1997) Demonstration of a word design strategy for DNA computing on surfaces. Nucleic Acids Res 25(23):4748–4757
Garzon M, Neathery P, Deaton R, Murphy R, Franceschetti D, Stevens Jr S (1997) A new metric for DNA computing. In: Koza J, Deb K, Dorigo M, Vogel D, Garzon M, Iba H, Riolo R (eds) Proceedings of genetic programming 1997, Stanford University, July 1997. Morgan Kaufmann, San Francisco, CA, pp 479–490
Garzon M, Phan V, Roy S, Neel A (2006) In search of optimal codes for DNA computing. In: Mao C, Yokomori T (eds) Proceedings of DNA computing 12, Seoul, Korea, June 2006. Lecture notes in computer science, vol 4287. Springer-Verlag, Berlin, pp 143–156
Gonick L, Wheelis M (1991) The cartoon guide to genetics, updated edn. Collins, New York
Grumbach S, Tahi F (1993) Compression of DNA sequences. In: Proceedings of IEEE symposium on data compression. IEEE Computer Society Press, San Francisco, CA, June 1993. pp 340–350
Harju T, Nowotka D (2004) The equation x i = y j z k in a free semigroup. Semigroup Forum 68:488–490
Hartmanis J (1995) On the weight of computations. Bull EATCS 55:136–138
Head T (2000) Relativised code concepts and multi-tube DNA dictionaries. In: Calude C, Păun G (eds) Finite versus infinite: contributions to an eternal dilemma. Springer-Verlag, London, pp 175–186
Hoogeboom H, van Vugt N (2000) Fair sticker languages. Acta Inform 37:213–225
Hopcroft J, Ullman J (1979) Introduction to automata theory, languages, and computation. Addison-Wesley, Reading, MA
Hussini S, Kari L, Konstantinidis S (2003) Coding properties of DNA languages. Theor Comput Sci 290(3):1557–1579
Ignatova Z, Martínez-Pérez I, Zimmermann KH (2008) DNA computing models. Springer-Verlag, Berlin
Jonoska N, Mahalingam K (2004) Languages of DNA based code words. In: Chen J, Reif J (eds) Proceedings of DNA computing 9, Madison, WI, June 2003. Lecture notes in computer science, vol 2943. Springer, Berlin, pp 61–73
Jonoska N, Kephart D, Mahalingam K (2002) Generating DNA code words. Congressus Numerantium 156:99–110
Kari L (1997) DNA computing: the arrival of biological mathematics. Math Intell 19(2):9–22
Kari L, Kitto R, Thierrin G (2002) Codes, involutions and DNA encoding. In: Brauer W, Ehrig H, Karhumäki J, Salomaa A (eds) Formal and natural computing. Lecture notes in computer science, vol 2300. Springer-Verlag, Berlin, pp 376–393
Kari L, Konstantinidis S, Losseva E, Wozniak G (2003) Sticky-free and overhang-free DNA languages. Acta Inform 40:119–157
Kari L, Konstantinidis S, Sosík P (2005a) Bond-free languages: formalizations, maximality and construction methods. Int J Foundations Comput Sci 16(5):1039–1070
Kari L, Konstantinidis S, Sosík P (2005b) On properties of bond-free DNA languages. Theor Comput Sci 334(1–3):131–159
Kari L, Konstantinidis S, Losseva E, Sosík P, Thierrin G (2006) A formal language analysis of DNA hairpin structures. Fundam Inform 71(4):453–475
Kari L, Mahalingam K (2007) Involutively bordered words. Int J Foundations Comput Sci 18(5):1089–1106
Kari L, Mahalingam K (2008) Watson-Crick conjugate and commutative words. In: Garzon M, Yan H (eds) Proceedings of DNA computing 13, Memphis, TN, June 2007. Lecture notes in computer science, vol 4848. Springer-Verlag, Berlin, pp 273–283
Kari L, Mahalingam K (2010) Watson-Crick palindromes in DNA computing, Natural Comput 9(2):297–316
Kari L, Mahalingam K, Thierrin G (2007) The syntactic monoid of hairpin-free languages. Acta Inform 44(3–4):153–166
Kari L, Masson B, Seki S (2010) Properties of pseudo-primitive words and their applications. CoRR abs/1002.4084
Kari L, Păun G, Rozenberg G, Salomaa A, Yu S (1998) DNA computing, sticker systems, and universality. Acta Inform 35:401–420
Kari L, Seki S (2009) On pseudoknot-bordered words and their properties. J Comput Syst Sci 75(2):113–121
Kijima A, Kobayashi S (2006) Efficient algorithm for testing structure freeness of finite set of biomolecular sequences. In: Carbone A, Pierce N (eds) Proceedings of DNA 11, London, ON, Canada, June 2005. Lecture notes in computer science, vol 3892. Springer-Verlag, Berlin, pp 171–180
Kobayashi S (2005) Testing structure-freeness of regular sets of biomolecular sequences. In: Feretti C, Mauri G, Zandron C (eds) Proceedings of DNA computing 10, Milan, Italy, June 2004. Lecture notes in computer science, vol 3384. Springer-Verlag, Berlin, pp 192–201
Kuske D, Weigel P (2004) The role of the complementarity relation in Watson-Crick automata and sticker systems. In: Calude C, Claude E, Dinneen M (eds) DLT 2004: Proceedings of development in language theory, Auckland, New Zealand, December 2004. Lecture notes in computer science, vol 3340. Springer-Verlag, Berlin Heidelberg, pp 272–283
Lewin B (2007) Genes IX. Johns and Bartlett Publishers, Sudbury, MA
Lipton R (1995) Using DNA to solve NP-complete problems. Science 268:542–545
Liu W, Gao L, Zhang Q, Xu G, Zhu X, Liu X, Xu J (2005) A random walk DNA algorithm for the 3-SAT problem. Curr Nanosci 1:85–90
Lothaire M (1983) Combinatorics on words. Encyclopedia of mathematics and its applications, vol 17. Addison-Wesley, Reading, MA
Lyndon R, Schützenberger M (1962) The equation a m = b n c p in a free group. Mich Math J 9:289–298
Manea F, Mitrana V, Yokomori T (2009) Two complementary operations inspired by the DNA hairpin formation: completion and reduction. Theor Comput Sci 410(4–5):417–425
Marathe A, Condon A, Corn R (2001) On combinatorial DNA word design. J Comput Biol 8(3):201–220
Martin-Víde C, Păun G, Rozenberg G, Salomaa A (1998) Universality results for finite H systems and for Watson-Crick automata. In: Păun G (ed) Computing with bio-molecules. Theory and experiments. Springer, Berlin, pp 200–220
Mateescu A, Rozenberg G, Salomaa A (1998) Shuffle on trajectories: syntactic constraints. Theor Comput Sci 197:1–56
Mauri G, Ferretti C (2004) Word design for molecular computing: a survey. In: Chen J, Reif J (eds) Proceedings of DNA computing 9, Madison, WI, June 2003. Lecture notes in computer science, vol 2943. Springer, Berlin, pp 37–46
Morimoto N, Arita M, Suyama A (1997) Stepwise generation of Hamiltonian path with molecules. In: Lundh D, Olsson B, Narayanan A (eds) Proceedings of bio-computing and emergent computation, Skovde, Sweden, September 1997. World Scientific, Singapore. pp 184–192
Nagy B (2008) On 5’ → 3’ sensing Watson-Crick finite automata. In: Garzon M, Yan H (eds) Proceedings of DNA computing 13, Memphis, TN, June 2007. Lecture notes in computer science, vol 4848. Springer-Verlag, Berlin, pp 256–262
Petre E (2003) Watson-Crick ω-automata. J Automata, Lang Combinatorics 8:59–70
Phan V, Garzon M (online 2008) On codeword design in metric DNA spaces. Nat Comput DOI 10.1007/s11047-008-9088-6
Păun A, Păun M (1999) State and transition complexity of Watson-Crick finite automata. In: Ciobanu G, Păun G (eds) FCT’99, Iasi, Romania, August–September 1999. Lecture notes in computer science, vol 1684. Springer-Verlag, Berlin Heidelberg, pp 409–420
Păun G, Rozenberg G (1998) Sticker systems. Theor Comput Sci 204:183–203
Păun G, Rozenberg G, Salomaa A (1998) DNA computing: new computing paradigms. Springer, Berlin
Păun G, Rozenberg G, Yokomori T (2001) Hairpin languages. Int J Foundations Comput Sci 12(6):837–847
Reif J, LaBean T, Pirrung M, Rana V, Guo B, Kingsford C, Wickham G (2002) Experimental construction of very large scale DNA databases with associative search capability. In: Jonoska N, Seeman N (eds) Proceedings of DNA computing 7, Tampa, FL, June 2001. Lecture notes in computer science, vol 2340. Springer-Verlag, Berlin, pp 231–247
Rose J, Deaton R, Hagiya M, Suyama A (2002) PNA-mediated whiplash PCR. In: Jonoska N, Seeman N (eds) Proceedings of DNA computing 7, Tampa, FL, June 2001. Lecture notes in computer science, vol 2340. Springer-Verlag, Berlin, pp 104–116
Sager J, Stefanovic D (2006) Designing nucleotide sequences for computation: a survey of constraints. In: Carbone A, Pierce N (eds) Proceedings of DNA computing 11, London, ON, Canada. Lecture notes in computer science, vol 3892. Springer-Verlag, Berlin, pp 275–289
Sakakibara Y, Kobayashi S (2001) Sticker systems with complex structures. Soft Comput 5:114–120
Salomaa A (1973) Formal languages. Academic, New York
SantaLucia J (1998) A unified view of polymer, dumbbell and oligonucleotide DNA nearest-neighbor thermodynamics. Proc Nat Acad Sci U S A 95(4):1460–1465
Sempere J (2007) On local testability in Watson-Crick finite automata. In: Proceedings of the international workshop on automata for cellular and molecular computing, tech report of MTA SZTAKI, Budapest, Hungary, August 2007. pp 120–128
Sempere J (2008) Exploring regular reversibility in Watson-Crick finite automata. In: AROB 2008: Proceedings of 13th international symposium on artificial life and robotics, Beppu, Japan, January–February 2008. pp 505–509
Smith G, Fiddes C, Hawkins J, Cox J (2003) Some possible codes for encrypting data in DNA. Biotechnol Lett 25:1125–1130
Stemmer W, Crameri A, Ha K, Brennan T, Heyneker H (1995) Single-step assembly of a gene and entire plasmid from large numbers of oligodeoxyribonucleotides. GENE 164:49–53
Tulpan D, Hoos H, Condon A (2003) Stochastic local search algorithms for DNA word design. In: Hagiya M, Ohuchi A (eds) Proceedings of DNA computing 8, Sapporo, Japan, June 2002. Lecture notes in computer science, vol 2568. Springer-Verlag, Berlin, pp 229–241
Turner P, McLennan A, Bates A, White M (2000) Instant notes in molecular biology, 2nd edn. Garland, New York
Wang X, Bao Z, Hu J, Wang S, Zhan A (2008) Solving the SAT problem using a DNA computing algorithm based on ligase chain reaction. Biosystems 91:117–125
Wood D (1987) Theory of computation. Harper & Row, New York
Yoshida H, Suyama A (2000) Solution to 3-SAT by breadth-first search. In: Winfree E, Gifford D (eds) DNA based computers V. DIMACS series in discrete mathematics and theoretical computer science, vol 54. American Mathematical Society, Providence, RI, pp 9–22
Yu S (2002) State complexity of finite and infinite regular languages. Bull EATCS 76:142–152
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this entry
Cite this entry
Kari, L., Seki, S., Sosík, P. (2012). DNA Computing — Foundations and Implications. In: Rozenberg, G., Bäck, T., Kok, J.N. (eds) Handbook of Natural Computing. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-92910-9_33
Download citation
DOI: https://doi.org/10.1007/978-3-540-92910-9_33
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-92909-3
Online ISBN: 978-3-540-92910-9
eBook Packages: Computer ScienceReference Module Computer Science and Engineering