Computational Biology: A Programming Perspective

  • Lars Hartmann
  • Neil D. Jones
  • Jakob Grue Simonsen
  • Søren Bjerregaard Vrist
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7000)


Computation via biological devices has been the subject of close scrutiny since von Neumann’s early work some 60 years ago. In spite of the many relevant works in this field, the notion of programming biological devices seems to be, at best, ill-defined. While many devices are claimed or proved to be computationally universal in some sense, the full step to a bona fide programming language is rarely taken, and one question is noticeable by its absence: If the device is universal, where are the programs?

We begin with an extensive review of the literature on programming-related biocomputing; and briefly identify some strengths and shortcomings from a programming perspective. To show concretely what one could see as programming in biocomputing, we outline (from recent work) a computation model and a small programming language that are biologically more plausible than existing silicon-inspired models. Whether or not the model is biologically plausible in an absolute sense, we believe it sets a standard for a biological device that can be both universal and programmable.


Cellular Automaton Turing Machine Computational Biology Logic Gate Logic Query 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Adleman, L.M.: Molecular computation of solutions to combinatorial problems. Science 266(11), 1021–1024 (1994)CrossRefGoogle Scholar
  2. 2.
    Adleman, L.M.: On constructing a molecular computer. In: DIMACS: series in Discrete Mathematics and Theoretical Computer Science, pp. 1–21. American Mathematical Society (1996)Google Scholar
  3. 3.
    Amos, M., Paun, G., Rozenberg, G., Salomaa, A.: Topics in the theory of DNA computing. Theor. Comput. Sci. 287(1), 3–38 (2002)MathSciNetzbMATHCrossRefGoogle Scholar
  4. 4.
    Backofen, R., Clote, P.: Evolution as a computational engine. In: Proceedings of the Annual Conference of the European Association for Computer Science Logic, pp. 35–55. Springer, Heidelberg (1996)Google Scholar
  5. 5.
    Beaver, D.: Computing with dna. Journal of Computational Biology 2(1), 1–7 (1995)CrossRefGoogle Scholar
  6. 6.
    Beaver, D.: Computing with DNA. Journal of Computational Biology 2(1), 1–7 (1995)CrossRefGoogle Scholar
  7. 7.
    Benenson, Y., Adar, R., Paz-Elizur, T., Livneh, Z., Shapiro, E.: Dna molecule provides a computing machine with both data and fuel. Proc. Natl. Acad. Sci. U S A 100(5), 2191–2196 (2003),, doi:10.1073/pnas.0535624100CrossRefGoogle Scholar
  8. 8.
    Benenson, Y., Adar, R., Paz-Elizur, T., Livneh, Z., Shapiro, E.: DNA molecule provides a computing machine with both data and fuel. In: Noltemeier, H. (ed.) WG 1980. LNCS, vol. 100, pp. 2191–2196. Springer, Heidelberg (1981)Google Scholar
  9. 9.
    Benenson, Y., Paz-Elizur, T., Adar, R., Keinan, E., Livneh, Z., Shapiro, E.: Programmable and autonomous computing machine made of biomolecules. Nature 414(1), 430–434 (2001), CrossRefGoogle Scholar
  10. 10.
    Benenson, Y.: Biocomputers: from test tubes to live cells. Molecular BioSystems 5(7), 675–685 (2009),, doi:10.1039/b902484kCrossRefGoogle Scholar
  11. 11.
    Benenson, Y.: RNA-based computation in live cells (Protein technologies / Systems and synthetic biology). Current Opinion in Biotechnology 20(4), 471 (2009),, doi:10.1016/j.copbio.2009.08.002MathSciNetCrossRefGoogle Scholar
  12. 12.
    Bennett, C.H.: Logical reversibility of computation. IBM Journal of Research and Development 17(6), 525–532 (1973)MathSciNetzbMATHCrossRefGoogle Scholar
  13. 13.
    Bennett, C.H.: The thermodynamics of computation – a review. International Journal of Theoretical Physics 21(12), 905–940 (1982),, doi:10.1007/BF02084158CrossRefGoogle Scholar
  14. 14.
    Berger, R.: The undecidability of the domino problem. Memoirs American Mathematical Society 66 (1966)MathSciNetzbMATHGoogle Scholar
  15. 15.
    Berlekamp, E.R., Conway, J.H., Guy, R.K.: Winning Ways for your Mathematical Plays (chapter 25), vol. 2. Academic Press, ISBN 0-12-091152-3 (1982)zbMATHGoogle Scholar
  16. 16.
    Bohringer, K.-F., Paulisch, Newbery, F.: Using constraints to achieve stability in automatic graph layout algorithms. In: Proceedings of ACM CHI’90 Conference on Human Factors in Computing Systems. pp. 43–51. Constraint Based UI Tools (1990)Google Scholar
  17. 17.
    Boneh, D., Dunworth, C., Lipton, R.J.: Breaking DES using a molecular computer. In: Lipton, E.B.B.R.J. (ed.) DNA based computers. DIMACS: Series in Discrete Mathematics and Theoretical Computer Science, vol. 27, pp. 37–66. American Mathematical Society (1995)Google Scholar
  18. 18.
    Braich, R.S., Chelyapov, N., Johnson, C., Rothemund, P.W.K., Adleman, L.: Solution of a 20-variable 3-sat problem on a dna computer. Science 296, 499–502 (2002)CrossRefGoogle Scholar
  19. 19.
    Cardelli, Paun: An universality result for a (mem)brane calculus based on mate/drip operations. IJFCS: International Journal of Foundations of Computer Science 17 (2006)Google Scholar
  20. 20.
    Cardelli, L.: Brane calculi. In: Danos, V., Schachter, V. (eds.) CMSB 2004. LNCS (LNBI), vol. 3082, pp. 257–278. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  21. 21.
    Cardelli, L.: Abstract machines of systems biology. Transactions on Computational Systems Biology 3737, 145–168 (2005)zbMATHGoogle Scholar
  22. 22.
    Cardelli, L.: Strand algebras for DNA computing. In: DNA, pp. 12–24 (2009)Google Scholar
  23. 23.
    Cardelli, L.: Molecular programming tutorial, microsoft research, cambridge (feb 2010),
  24. 24.
    Cardelli, L.: Biocomputers is not a good idea of solving np complete problems. said during presentation of strand algebra (CS2Bio,Amsterdam, 2010)Google Scholar
  25. 25.
    Cardelli, L., Zavattaro, G.: On the computational power of biochemistry. In: Horimoto, K., Regensburger, G., Rosenkranz, M., Yoshida, H. (eds.) AB 2008. LNCS, vol. 5147, pp. 65–80. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  26. 26.
    Cardelli, L., Zavattaro, G.: Turing universality of the biochemical ground form. Mathematical Structures in Computer Science 19 (2009)Google Scholar
  27. 27.
    Chang, W.-L., Ho, M.-H., Guo, M.: Molecular solutions for the subset-sum problem on DNA-based supercomputing. Biosystems 73, 117–130,, doi:10.1016/j.biosystems.2003.11.001
  28. 28.
    Chapman, P.: Life universal computer. (November) (2002)Google Scholar
  29. 29.
    Chiniforooshan, E., Doty, D., Kari, L., Seki, S.: Scalable, time-responsive, digital, energy-efficient molecular circuits using DNA strand displacement. CoRR abs/1003.3275 (2010)Google Scholar
  30. 30.
    Ciocchetta, F., Hillston, J.: Bio-PEPA: An extension of the process algebra PEPA for biochemical networks. Electr. Notes Theor. Comput. Sci 194(3), 103–117 (2008), zbMATHCrossRefGoogle Scholar
  31. 31.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Bevilacqua, V., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)zbMATHGoogle Scholar
  32. 32.
    Condon, A., Rozenberg, G. (eds.): DNA 2000. LNCS, vol. 2054. Springer, Heidelberg (2001)zbMATHGoogle Scholar
  33. 33.
    Conrad, M.: On design principles for a molecular computer. Commun. ACM 28(5), 464–480 (1985), doi:10.1145/3532.3533CrossRefGoogle Scholar
  34. 34.
    Conrad, M.: Quantum molecular computing: The self-assembly model. International Journal of Quantum Chemistry. Quantum Biology Symposium: Proceedings of the International Symposium on Quantum Biology and Quantum Pharmacology. 19, 125 (1992)CrossRefGoogle Scholar
  35. 35.
    Danchin, A.: Bacteria as computers making computers. FEMS Microbiology Reviews 33(1), 3 (2008)CrossRefGoogle Scholar
  36. 36.
    Danos, V., Feret, J., Fontana, W., Krivine, J.: Abstract interpretation of cellular signalling networks. In: vmcai, pp. 83–97 (2008)Google Scholar
  37. 37.
    Danos, V., Feret, J., Fontana, W., Krivine, J.: Abstract interpretation of cellular signalling networks. In: Logozzo, F., Peled, D.A., Zuck, L.D. (eds.) VMCAI 2008. LNCS, vol. 4905, pp. 83–97. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  38. 38.
    Danos, V., Krivine, J.: Formal molecular biology done in CCS-R. Electr. Notes Theor. Comput. Sci 180(3), 31–49 (2007), CrossRefGoogle Scholar
  39. 39.
    Danos, V., Laneve, C.: Formal molecular biology. Theor. Comput. Sci. 325(1), 69–110 (2004), doi:10.1016/j.tcs.2004.03.065MathSciNetzbMATHCrossRefGoogle Scholar
  40. 40.
    Danos, V., Laneve, C.: Formal molecular biology. Theor. Comp. Science 325, 69–110 (2004)MathSciNetzbMATHCrossRefGoogle Scholar
  41. 41.
    Danos, V., Schachter, V. (eds.): CMSB 2004. LNCS (LNBI), vol. 3082. Springer, Heidelberg (2005)zbMATHGoogle Scholar
  42. 42.
    Deaton, R., Suyama, A. (eds.): DNA 15. LNCS, vol. 5877. Springer, Heidelberg (2009)zbMATHGoogle Scholar
  43. 43.
    Degano, P., Gorrieri, R. (eds.): CMSB 2009. LNCS, vol. 5688. Springer, Heidelberg (2009)zbMATHGoogle Scholar
  44. 44.
    Delzanno, G., Giusto, C.D., Gabbrielli, M., Laneve, C., Zavattaro, G.: The kappa-lattice: Decidability boundaries for qualitative analysis in biological languages. In: cmsb, pp. 158–172 (2009)Google Scholar
  45. 45.
    Doty, D., Patitz, M.J.: A Domain-Specific Language for Programming in the Tile Assembly Model. In: pp. 25–34. Springer, Heidelberg (2009)Google Scholar
  46. 46.
    Eades, P.: A heuristic for graph drawing. Congressus Numerantium 42, 149–160 (1984)MathSciNetGoogle Scholar
  47. 47.
    Eades, P., Lai, W., Misue, K., Sugiyama, K.: Preserving the mental map of a diagram. In: COMPUGRAPHICS ’91, vol. I, pp. 34–43 (1991)Google Scholar
  48. 48.
    Elbaz, J., Lioubashevski, O., Wang, F.: DNA computing circuits using libraries of DNAzyme subunits. Nat Nanotechnol 5(6), 417–422 (2010),, doi:10.1038/nnano.2010.88CrossRefGoogle Scholar
  49. 49.
    Fisher, J., Henzinger, T.A.: Executable cell biology. Nature biotechnology 25(11), 1239–1249 (2007),, doi:10.1038/nbt1356CrossRefGoogle Scholar
  50. 50.
    Fleischer, R., Hirsch, C.: Graph drawing and its applications (chapter 1). In: Kaufmann, M., Wagner, D. (eds.) Drawing Graphs. LNCS, vol. 2025, pp. 1–22. Springer, Heidelberg (2001), CrossRefGoogle Scholar
  51. 51.
    Frick, A., Ludwig, A., Mehldau, H.: A fast adaptive layout algorithm for undirected graphs. In: Tamassia, R., Tollis, I.G. (eds.) GD 1994. LNCS, vol. 894, pp. 388–403. Springer, Heidelberg (1995), CrossRefGoogle Scholar
  52. 52.
    Fontana, W., Buss, L.: The barrier of objects: From dynamical systems to bounded organizations. Working Papers wp96027, International Institute for Applied Systems Analysis (Mar 1996),
  53. 53.
    Fruchterman, T.M.J., Reingold, E.M.: Graph drawing by force-directed placement. Software: Practice and Experience 21(11), 1129–1164 (1991), Google Scholar
  54. 54.
    Fu, P.: Biomolecular computing: Is it ready to take off? Biotechnology Journal 2(1), 91–101 (2007),, doi:10.1002/biot.200600134MathSciNetCrossRefGoogle Scholar
  55. 55.
    Gardner, M.: The fantastic combinations of John Conway’s new solitaire game “life”. Scientific American 223, 120–123 (1970)CrossRefGoogle Scholar
  56. 56.
    Gardner, M.: Mathematical recreations. Scientific American (1970)Google Scholar
  57. 57.
    Garzon, M.H., Deaton, R.J.: Biomolecular computing and programming. IEEE Trans. Evolutionary Computation 3(3), 236–250 (1999)CrossRefGoogle Scholar
  58. 58.
    Gilmore, S., Hillston, J.: The PEPA Workbench: A Tool to Support a Process Algebra-based Approach to Performance Modelling. In: Haring, G., Kotsis, G. (eds.) TOOLS 1994. LNCS, vol. 794, pp. 353–368. Springer, Heidelberg (1994)Google Scholar
  59. 59.
    : A compound graph layout algorithm for biological pathways. In: Graph Drawing. LNCS, vol. 3383, pp. 442–447. Springer, Heidelberg (2004),
  60. 60.
    Goel, A., Ibrahimi, M.: Renewable, time-responsive DNA logic gates for scalable digital circuits. In: DNA, pp. 67–77 (2009)Google Scholar
  61. 61.
    Goel, A., Simmel, F.C., Sosík, P. (eds.): DNA Computing. LNCS, vol. 5347. Springer, Heidelberg (2009)zbMATHGoogle Scholar
  62. 62.
    Guarnieri, F., Fliss, M., Bancroft, C.: Making DNA add. Science 273(5272), 220–223 (1996)CrossRefGoogle Scholar
  63. 63.
    Guerriero, M.L., Prandi, D., Priami, C., Quaglia, P.: Process calculi abstractions for biology. Tech. rep., CoSBi (Center for Computational and Systems Biology) , University of Trento (Jan 01 2006),
  64. 64.
    Guerriero, M.L., Prandi, D., Priami, C., Quaglia, P.: Process calculi abstractions for biology. Tech. rep., University of Trento, Italy (Jan 01, 2006),;
  65. 65.
    Hagiya, M.: From molecular computing to molecular programming. In: Condon, A., Rozenberg, G. (eds.) dna. LNCS, vol. 2054, pp. 89–102. Springer, Heidelberg (2000), Google Scholar
  66. 66.
    Hagiya, M.: Designing chemical and biological systems. New Generation Comput. 26(3), 295 (2008)MathSciNetCrossRefGoogle Scholar
  67. 67.
    Hartmann, L., Jones, N.D., Simonsen, J.G.: Programming in biomolecular computation. In: CS2BIO ’09: Proceedings of the 1st International Workshop on Interactions between Computer Science and Biology. Electronic Notes on Theoretical Computer Science series, Elsevier, Amsterdam (2010),, doi:10.1016/j.entcs.2010.12.008Google Scholar
  68. 68.
    Hartmann, L., Jones, N.D., Simonsen, J.G., Vrist, S.B.: Programming in biomolecular computation: Programs, self-interpretation and visualisation. to appear in Scientific Annals of Computer Science (?),
  69. 69.
    Heer, J.: Prefuse: a software framework for interactive information visualization. Master’s thesis, University of California, Berkeley (2004),
  70. 70.
    Hoare, C.A.R.: Communicating sequential processes. Communications of the ACM 21(8), 666–677 (1978)zbMATHCrossRefGoogle Scholar
  71. 71.
    Hug, H., Schuler, R.: Strategies for the development of a peptide computer. Bioinformatics 17(4), 364–368 (2001), CrossRefGoogle Scholar
  72. 72.
    Jones, J.E.: On the determination of molecular fields. ii. from the equation of state of a gas. Proceedings of the Royal Society of London. Series A 106(738), 463–477 (1924),, doi:10.1098/rspa.1924.0082CrossRefGoogle Scholar
  73. 73.
    Jones, N.D., Gomard, C.K., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice Hall International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1993)zbMATHGoogle Scholar
  74. 74.
    Jones, N.D.: Computability and complexity: from a programming perspective. MIT Press, Cambridge, MA, USA (1997)zbMATHGoogle Scholar
  75. 75.
    Kamada, T., Kawai, S.: An algorithm for drawing general undirected graphs. Information Processing Letters 31(1), 7–15 (1989)MathSciNetzbMATHCrossRefGoogle Scholar
  76. 76.
    Kari, J.: Theory of cellular automata: A survey. Theoretical Computer Science 334(1-3), 3 (2005),, doi:10.1016/j.tcs.2004.11.021MathSciNetzbMATHCrossRefGoogle Scholar
  77. 77.
    Kari, L.: Biological computation: How does nature compute? Tech. rep., University of Western Ontario (2009)Google Scholar
  78. 78.
    Kari, L., Rozenberg, G.: The many facets of natural computing. Commun. ACM 51(10), 72–83 (2008), doi:10.1145/1400181.1400200CrossRefGoogle Scholar
  79. 79.
    Khodor, J.: DNA-based string rewrite computational systems. Ph.D. thesis, Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science (2002),
  80. 80.
    Khodor, J., Gifford, D.K.: Programmed mutagenesis is universal. Theory Comput. Syst. 35(5), 483–500 (2002), MathSciNetzbMATHCrossRefGoogle Scholar
  81. 81.
    mer, M.K., Pita, M., Zhou, J., Ornatska, M., Poghossian, A., ning, M.J.S., Katz, E.: Coupling of biocomputing systems with electronic chips: Electronic interface for transduction of biochemical information. The Journal of Physical Chemistry C 113(6), 2573–2579 (2009),, doi:10.1021/jp808320sCrossRefGoogle Scholar
  82. 82.
    Lipton, R.J.: Using DNA to solve NP-complete problems. Science 268, 542–545 (1995)CrossRefGoogle Scholar
  83. 83.
    Logozzo, F., Peled, D.A., Zuck, L.D. (eds.): VMCAI 2008. LNCS, vol. 4905. Springer, Heidelberg (2008)Google Scholar
  84. 84.
    Lund, K., Manzo, A.J., Dabby, N., Michelotti, N., Johnson-Buck, A., Nangreave, J., Taylor, S., Pei, R., Stojanovic, M.N., Walter, N.G., Winfree, E., Yan, H.: Molecular robots guided by prescriptive landscapes. Nature 465(7295), 206–210 (2010), CrossRefGoogle Scholar
  85. 85.
    Mao, C., Labean, T.H., Reif, J.H., Seeman, N.C.: Logical computation using algorithmic self-assembly of DNA triple-crossover molecules. Nature 407, 493–496 (2000)CrossRefGoogle Scholar
  86. 86.
    Milner, R.: Communication and concurrency. Prentice-Hall, Inc., Upper Saddle River, NJ, USA (1989)zbMATHGoogle Scholar
  87. 87.
    Milner, R.: Functions as processes. Research Report 1154, INRIA (1990)Google Scholar
  88. 88.
    Minsky, M.: Computation: finite and infinite machines. Prentice-Hall, Englewood Cliffs (1967)zbMATHGoogle Scholar
  89. 89.
    Misue, K., Eades, P., Lai, W., Sugiyama, K.: Layout adjustment and the mental map. Journal of Visual Languages and Computing 6(2), 183 (1995),, doi:10.1006/jvlc.1995.1010CrossRefGoogle Scholar
  90. 90.
    Stojanovic, M.N., Stefanovic, D.: A deoxyribozyme-based molecular automaton. Nature Biotechnol 21(9), 1069–1074 (2003)CrossRefGoogle Scholar
  91. 91.
    Nehaniv, C.L.: Asynchronous automata networks can emulate any synchronous automata network. International Journal of Algebra and Computation 14(5-6), 719–739 (2004)MathSciNetzbMATHCrossRefGoogle Scholar
  92. 92.
    Murata, S., Stojanovic, M.N.: DNA-based nanosystems. New Generation Comput. 26(3), 297–312 (2008)CrossRefGoogle Scholar
  93. 93.
    Neumann, J.v., Burks, A.W.: Theory of Self-Reproducing Automata. Univ. Illinois Press (1966)Google Scholar
  94. 94.
    Pach, J. (ed.): GD 2004. LNCS, vol. 3383. Springer, Heidelberg (2005)zbMATHGoogle Scholar
  95. 95.
    Parker, J.: Computing with DNA. EMBO Rep. 4(7), 7–10 (2003)CrossRefGoogle Scholar
  96. 96.
    Phillips, A., Cardelli, L.: A programming language for composable DNA circuits. Journal of the Royal Society Interface 6(S4) (2009)Google Scholar
  97. 97.
    Qian, L., Winfree, E.: A simple DNA gate motif for synthesizing large-scale circuits. In: DNA, pp. 70–89 (2008)Google Scholar
  98. 98.
    Ran, T., Kaplan, S., Shapiro, E.: Molecular implementation of simple logic programs. Nat Nano 4(10), 642–648 (2009),, doi:10.1038/nnano.2009.203CrossRefGoogle Scholar
  99. 99.
    Regev, A., Shapiro, E.Y.: Cells as computation. In: Priami, C. (ed.) CMSB 2003. LNCS, vol. 2602, pp. 1–3. Springer, Heidelberg (2003), CrossRefGoogle Scholar
  100. 100.
    Regev, A., Panina, E.M., Silverman, W., Cardelli, L., Shapiro, E.: Bioambients: An abstraction for biological compartments. TCS: Theoretical Computer Science 325 (2004)Google Scholar
  101. 101.
    Regev, A., Silverman, W., Shapiro, E.Y.: Representation and simulation of biochemical processes using the pi-calculus process algebra. In: Pacific Symposium on Biocomputing, pp. 459–470 (2001),
  102. 102.
    Reif, J.H., LaBean, T.H.: Autonomous programmable biomolecular devices using self-assembled DNA nanostructures. Commun. ACM 50(9), 46–53 (2007), CrossRefGoogle Scholar
  103. 103.
    Robinson, R.M.: Undecidability and nonperiodicity for tilings of the plane. Inv. Math 12, 117–209 (1971)MathSciNetzbMATHCrossRefGoogle Scholar
  104. 104.
    Rothemund, P.W.K.: A DNA and restriction enzyme implementation of Turing machines. In: Lipton, E.B.B.R.J. (ed.) DNA based computers. DIMACS: Series in Discrete Mathematics and Theoretical Computer Science, vol. 27, pp. 75–120. American Mathematical Society (1995)Google Scholar
  105. 105.
    Rothemund, P.W.K.: Using lateral capillary forces to compute by self-assembly. Proceedings of the National Academy of Sciences of the United States of America 97(3), 984–989 (2000), CrossRefGoogle Scholar
  106. 106.
    Rothemund, P.W.K.: Folding DNA to create nanoscale shapes and patterns. Nature 440, 297–302 (2006), doi:10.1038/nature04586CrossRefGoogle Scholar
  107. 107.
    Roweis, S., Winfree, E., Burgoyne, R., Chelyapov, N.V., Goodman, M.F., Rothemund, P.W.K., Adleman, L.M.: A sticker based model for DNA 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 (1996),
  108. 108.
    Roweis, S.T., Winfree, E., Burgoyne, R., Chelyapov, N.V., Goodman, M.F., Rothemund, P.W.K., Adleman, L.M.: A sticker-based model for DNA computation. Journal of Computational Biology 5(4), 615–630 (1998)zbMATHCrossRefGoogle Scholar
  109. 109.
    Sander, G.: Graph layout for applications in compiler construction. Theor. Comput. Sci. 217(2), 175–214 (1999), MathSciNetzbMATHCrossRefGoogle Scholar
  110. 110.
    Sangiorgi, D., Walker, D.: The π-calculus: a Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)zbMATHGoogle Scholar
  111. 111.
    Seelig, G., Soloveichik, D.: Time-Complexity of Multilayered DNA Strand Displacement Circuits. In: pp. 144–153. Springer, Heidelberg (2009)Google Scholar
  112. 112.
    Seelig, G., Soloveichik, D., Zhang, D.Y., Winfree, E.: Enzyme-Free Nucleic Acid Logic Circuits. Science 314(5805), 1585–1588 (2006),, doi:10.1126/science.1132493CrossRefGoogle Scholar
  113. 113.
    Shapiro, Benenson: Bringing DNA computers to life. SCIAM: Scientific American 294 (2006)Google Scholar
  114. 114.
    Shapiro, E.: Mechanical Turing machine: Blueprint for a biomolecular computer. Tech. rep., Weizmann Institute of Science (1999)Google Scholar
  115. 115.
    Shapiro, E.: Mechanical Turing machine: Blueprint for a biomolecular computer. Tech. rep., Weizmann Institute of Science (1999)Google Scholar
  116. 116.
    Shapiro, E., Benenson, Y.: Bringing DNA computers to life. Scientific American 294, 44–51 (2006)CrossRefGoogle Scholar
  117. 117.
    Shlyahovsky, B., Li, Y., Lioubashevski, O., Elbaz, J., Willner, I.: Logic gates and antisense DNA devices operating on a translator nucleic acid scaffold. ACS Nano 3(7), 1831–1843 (2009), CrossRefGoogle Scholar
  118. 118.
    Simpson, M.L., Sayler, G.S., Fleming, J.T., Applegate, B.: Whole-cell biocomputing. Trends Biotechnol 19(8), 317–23 (2001),
  119. 119.
    Smith, W.D.: DNA computers in vitro and vivo. In: Lipton, E.B.B.R.J. (ed.) DNA based computers. DIMACS: Series in Discrete Mathematics and Theoretical Computer Science, vol. 27, pp. 121–186. American Mathematical Society (1995)Google Scholar
  120. 120.
    Soloveichik, D., Seelig, G., Winfree, E.: DNA as a universal substrate for chemical kinetics. In: DNA, pp. 57–69 (2008)Google Scholar
  121. 121.
    Stefansen, C.: SMAWL: A SMAll workflow language based on CCS. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, Springer, Heidelberg (2005), Google Scholar
  122. 122.
    Talcott, C.: Pathway logic (8th International School on Formal Methods for the Design of Computer, Communication, and Software Systems). In: Bernardo, M., Degano, P., Tennenholtz, M. (eds.) SFM 2008. LNCS, vol. 5016, pp. 21–53. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  123. 123.
    Storey, M.A.D., Fracchia, F., Müller, H.: Customizing a Fisheye View Algorithm to Preserve the Mental Map. Journal of Visual Languages and Computing 10(3), 245–267 (1999)CrossRefGoogle Scholar
  124. 124.
    Wang, H.: Proving theorems by pattern recognition ii. Bell System Technical Journal 40, 1–40 (1961)CrossRefGoogle Scholar
  125. 125.
    Turing, A.M.: On computable numbers with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society 42(2), 230–265 (1936)MathSciNetzbMATHGoogle Scholar
  126. 126.
    Wang, S., Yang, A.: DNA solution of integer linear programming. Applied Mathematics and Computation 170(1), 626–632 (2005)MathSciNetzbMATHCrossRefGoogle Scholar
  127. 127.
    Winfree, E.: Toward molecular programming with DNA. SIGOPS Oper. Syst. Rev. 42(2), 1–1 (2008), doi:10.1145/1353535.1346282MathSciNetCrossRefGoogle Scholar
  128. 128.
    Winfree, E., Eng, T., Rozenberg, G.: String tile models for DNA computing by self-assembly. In: DNA ’00: Revised Papers from the 6th International Workshop on DNA-Based Computers, London, UK, pp. 63–88. Springer, Heidelberg (2001)Google Scholar
  129. 129.
    Winfree, E., Yang, X., Seeman, N.C.: Universal computation via self-assembly of DNA: Some theory and experiments. In: DNA Based Computers II, volume 44 of DIMACS, pp. 191–213. American Mathematical Society (1996)Google Scholar
  130. 130.
    Wolfram, S.: A New Kind of Science, p. 1197. Wolfram Media (2002)Google Scholar
  131. 131.
    Winfree, E., Yang, X., Seeman, N.C.: Universal computation via self-assembly of DNA: Some theory and experiments. In: DNA Based Computers II, volume 44 of DIMACS, pp. 191–213. American Mathematical Society (1996)Google Scholar
  132. 132.
    Yan, H., Park, S.H., Finkelstein, G., Reif, J.H., Labean, T.H.: DNA-templated self-assembly of protein arrays and highly conductive nanowires. Science 301(5641), 1882–1884 (2003),, doi:10.1126/science.1089389CrossRefGoogle Scholar
  133. 133.
    Yin, P., Choi, H.M.T., Calvert, C.R., Pierce, N.A.: Programming biomolecular self-assembly pathways. Nature 451(7176), 318–322 (2008),, doi:10.1038/nature06451CrossRefGoogle Scholar
  134. 134.
    Yin, P., Turberfield, A.J., Reif, J.H.: Design of an autonomous DNA nanomechanical device capable of universal computation and universal translational motion. In: Ferretti, C., Mauri, G., Zandron, C. (eds.) DNA 2004. LNCS, vol. 3384, pp. 426–444. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  135. 135.
    Yokomori, T., Kobayashi, S., Ferretti, C.: On the power of circular splicing systems and DNA computability. In: IEEE International Conference on Evolutionary Computation (1997),
  136. 136.
    Zhang, D.Y.: Dynamic DNA strand displacement circuits. Ph.D. thesis, California Institute of Technology (2010),
  137. 137.
    Zhu, Y., Ding, Y., Li, W., Kemp, G.: A proposed modularized dna computer, based on biochips. In: GEC ’09: Proceedings of the first ACM/SIGEVO Summit on Genetic and Evolutionary Computation, Shanghai, China, pp. 773–780. ACM, New York, NY, USA (2009), doi:10.1145/1543834.1543940CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Lars Hartmann
    • 1
  • Neil D. Jones
    • 1
  • Jakob Grue Simonsen
    • 1
  • Søren Bjerregaard Vrist
    • 1
  1. 1.Department of Computer Science (DIKU)University of CopenhagenDenmark

Personalised recommendations