Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 7000))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Adleman, L.M.: Molecular computation of solutions to combinatorial problems. Science 266(11), 1021–1024 (1994)

    Article  Google Scholar 

  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. Amos, M., Paun, G., Rozenberg, G., Salomaa, A.: Topics in the theory of DNA computing. Theor. Comput. Sci. 287(1), 3–38 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  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. Beaver, D.: Computing with dna. Journal of Computational Biology 2(1), 1–7 (1995)

    Article  Google Scholar 

  6. Beaver, D.: Computing with DNA. Journal of Computational Biology 2(1), 1–7 (1995)

    Article  Google Scholar 

  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), http://dx.doi.org/10.1073/pnas.0535624100 , doi:10.1073/pnas.0535624100

    Article  Google Scholar 

  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. 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), http://www.nature.com/nature/links/011122/011122-2.html

    Article  Google Scholar 

  10. Benenson, Y.: Biocomputers: from test tubes to live cells. Molecular BioSystems 5(7), 675–685 (2009), http://dx.doi.org/10.1039/b902484k , doi:10.1039/b902484k

    Article  Google Scholar 

  11. Benenson, Y.: RNA-based computation in live cells (Protein technologies / Systems and synthetic biology). Current Opinion in Biotechnology 20(4), 471 (2009), http://www.sciencedirect.com/science/article/B6VRV-4X4BR27-2/2/0133dc1fc3a23441b6aa9bab4115fc11 , doi:10.1016/j.copbio.2009.08.002

    Article  MathSciNet  Google Scholar 

  12. Bennett, C.H.: Logical reversibility of computation. IBM Journal of Research and Development 17(6), 525–532 (1973)

    Article  MathSciNet  MATH  Google Scholar 

  13. Bennett, C.H.: The thermodynamics of computation – a review. International Journal of Theoretical Physics 21(12), 905–940 (1982), http://dx.doi.org/10.1007/BF02084158 , doi:10.1007/BF02084158

    Article  Google Scholar 

  14. Berger, R.: The undecidability of the domino problem. Memoirs American Mathematical Society 66 (1966)

    MathSciNet  MATH  Google Scholar 

  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)

    MATH  Google Scholar 

  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. 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. 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)

    Article  Google Scholar 

  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. Cardelli, L.: Brane calculi. In: Danos, V., Schachter, V. (eds.) CMSB 2004. LNCS (LNBI), vol. 3082, pp. 257–278. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  21. Cardelli, L.: Abstract machines of systems biology. Transactions on Computational Systems Biology 3737, 145–168 (2005)

    MATH  Google Scholar 

  22. Cardelli, L.: Strand algebras for DNA computing. In: DNA, pp. 12–24 (2009)

    Google Scholar 

  23. Cardelli, L.: Molecular programming tutorial, microsoft research, cambridge (feb 2010), http://lucacardelli.name/Talks/2010-02-11utorial.pdf

  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. 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)

    Chapter  Google Scholar 

  26. Cardelli, L., Zavattaro, G.: Turing universality of the biochemical ground form. Mathematical Structures in Computer Science 19 (2009)

    Google Scholar 

  27. Chang, W.-L., Ho, M.-H., Guo, M.: Molecular solutions for the subset-sum problem on DNA-based supercomputing. Biosystems 73, 117–130, http://www.ingentaconnect.com/content/els/03032647/2004/00000073/00000002/art00225 , doi:10.1016/j.biosystems.2003.11.001

  28. Chapman, P.: Life universal computer. http://www.igblan.free-online.co.uk/igblan/ca/ (November) (2002)

    Google Scholar 

  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. 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), http://dx.doi.org/10.1016/j.entcs.2007.12.008

    Article  MATH  Google Scholar 

  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)

    MATH  Google Scholar 

  32. Condon, A., Rozenberg, G. (eds.): DNA 2000. LNCS, vol. 2054. Springer, Heidelberg (2001)

    MATH  Google Scholar 

  33. Conrad, M.: On design principles for a molecular computer. Commun. ACM 28(5), 464–480 (1985), doi:10.1145/3532.3533

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  35. Danchin, A.: Bacteria as computers making computers. FEMS Microbiology Reviews 33(1), 3 (2008)

    Article  Google Scholar 

  36. Danos, V., Feret, J., Fontana, W., Krivine, J.: Abstract interpretation of cellular signalling networks. In: vmcai, pp. 83–97 (2008)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  38. Danos, V., Krivine, J.: Formal molecular biology done in CCS-R. Electr. Notes Theor. Comput. Sci 180(3), 31–49 (2007), http://dx.doi.org/10.1016/j.entcs.2004.01.040

    Article  Google Scholar 

  39. Danos, V., Laneve, C.: Formal molecular biology. Theor. Comput. Sci. 325(1), 69–110 (2004), doi:10.1016/j.tcs.2004.03.065

    Article  MathSciNet  MATH  Google Scholar 

  40. Danos, V., Laneve, C.: Formal molecular biology. Theor. Comp. Science 325, 69–110 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  41. Danos, V., Schachter, V. (eds.): CMSB 2004. LNCS (LNBI), vol. 3082. Springer, Heidelberg (2005)

    MATH  Google Scholar 

  42. Deaton, R., Suyama, A. (eds.): DNA 15. LNCS, vol. 5877. Springer, Heidelberg (2009)

    MATH  Google Scholar 

  43. Degano, P., Gorrieri, R. (eds.): CMSB 2009. LNCS, vol. 5688. Springer, Heidelberg (2009)

    MATH  Google Scholar 

  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. 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. Eades, P.: A heuristic for graph drawing. Congressus Numerantium 42, 149–160 (1984)

    MathSciNet  Google Scholar 

  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. Elbaz, J., Lioubashevski, O., Wang, F.: DNA computing circuits using libraries of DNAzyme subunits. Nat Nanotechnol 5(6), 417–422 (2010), http://dx.doi.org/10.1038/nnano.2010.88 , doi:10.1038/nnano.2010.88

    Article  Google Scholar 

  49. Fisher, J., Henzinger, T.A.: Executable cell biology. Nature biotechnology 25(11), 1239–1249 (2007), http://dx.doi.org/10.1038/nbt1356 , doi:10.1038/nbt1356

    Article  Google Scholar 

  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), http://link.springer.de/link/service/series/0558/papers/2025/20250001.pdf

    Chapter  Google Scholar 

  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), http://dblp.uni-trier.de/db/conf/gd/gd94.html#FrickLM94

    Chapter  Google Scholar 

  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), http://ideas.repec.org/p/wop/iasawp/wp96027.html

  53. Fruchterman, T.M.J., Reingold, E.M.: Graph drawing by force-directed placement. Software: Practice and Experience 21(11), 1129–1164 (1991), citeseer.ist.psu.edu/fruchterman91graph.html

    Google Scholar 

  54. Fu, P.: Biomolecular computing: Is it ready to take off? Biotechnology Journal 2(1), 91–101 (2007), http://dx.doi.org/10.1002/biot.200600134 , doi:10.1002/biot.200600134

    Article  MathSciNet  Google Scholar 

  55. Gardner, M.: The fantastic combinations of John Conway’s new solitaire game “life”. Scientific American 223, 120–123 (1970)

    Article  Google Scholar 

  56. Gardner, M.: Mathematical recreations. Scientific American (1970)

    Google Scholar 

  57. Garzon, M.H., Deaton, R.J.: Biomolecular computing and programming. IEEE Trans. Evolutionary Computation 3(3), 236–250 (1999)

    Article  Google Scholar 

  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. : A compound graph layout algorithm for biological pathways. In: Graph Drawing. LNCS, vol. 3383, pp. 442–447. Springer, Heidelberg (2004), http://dblp.uni-trier.de/db/conf/gd/gd2004.html#DogrusozGCCD04

  60. Goel, A., Ibrahimi, M.: Renewable, time-responsive DNA logic gates for scalable digital circuits. In: DNA, pp. 67–77 (2009)

    Google Scholar 

  61. Goel, A., Simmel, F.C., Sosík, P. (eds.): DNA Computing. LNCS, vol. 5347. Springer, Heidelberg (2009)

    MATH  Google Scholar 

  62. Guarnieri, F., Fliss, M., Bancroft, C.: Making DNA add. Science 273(5272), 220–223 (1996)

    Article  Google Scholar 

  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), http://eprints.biblio.unitn.it/archive/00001704/ http://eprints.biblio.unitn.it/archive/00001704/01/TR-13-2006.pdf

  64. Guerriero, M.L., Prandi, D., Priami, C., Quaglia, P.: Process calculi abstractions for biology. Tech. rep., University of Trento, Italy (Jan 01, 2006), http://eprints.biblio.unitn.it/archive/00001704/; http://eprints.biblio.unitn.it/archive/00001704/01/TR-13-2006.pdf

  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), http://link.springer.de/link/service/series/0558/bibs/2054/20540089.htm

    Google Scholar 

  66. Hagiya, M.: Designing chemical and biological systems. New Generation Comput. 26(3), 295 (2008)

    Article  MathSciNet  Google Scholar 

  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), http://dx.doi.org/10.1016/j.entcs.2010.12.008 , doi:10.1016/j.entcs.2010.12.008

    Google Scholar 

  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 (?), http://dk.diku.blob.blobvis.s3.amazonaws.com/blobiasi.pdf

  69. Heer, J.: Prefuse: a software framework for interactive information visualization. Master’s thesis, University of California, Berkeley (2004), http://jheer.org/publications/2004-Heer-prefuse-MastersApp.pdf

  70. Hoare, C.A.R.: Communicating sequential processes. Communications of the ACM 21(8), 666–677 (1978)

    Article  MATH  Google Scholar 

  71. Hug, H., Schuler, R.: Strategies for the development of a peptide computer. Bioinformatics 17(4), 364–368 (2001), http://bioinformatics.oxfordjournals.org/content/17/4/364.abstract

    Article  Google Scholar 

  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), http://dx.doi.org/10.1098/rspa.1924.0082 , doi:10.1098/rspa.1924.0082

    Article  Google Scholar 

  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)

    MATH  Google Scholar 

  74. Jones, N.D.: Computability and complexity: from a programming perspective. MIT Press, Cambridge, MA, USA (1997)

    MATH  Google Scholar 

  75. Kamada, T., Kawai, S.: An algorithm for drawing general undirected graphs. Information Processing Letters 31(1), 7–15 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  76. Kari, J.: Theory of cellular automata: A survey. Theoretical Computer Science 334(1-3), 3 (2005), http://www.sciencedirect.com/science/article/B6V1G-4FDS8HM-2/2/7bdf589f505353432c8447e06f491ceb , doi:10.1016/j.tcs.2004.11.021

    Article  MathSciNet  MATH  Google Scholar 

  77. Kari, L.: Biological computation: How does nature compute? Tech. rep., University of Western Ontario (2009)

    Google Scholar 

  78. Kari, L., Rozenberg, G.: The many facets of natural computing. Commun. ACM 51(10), 72–83 (2008), doi:10.1145/1400181.1400200

    Article  Google Scholar 

  79. Khodor, J.: DNA-based string rewrite computational systems. Ph.D. thesis, Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science (2002), http://hdl.handle.net/1721.1/8339

  80. Khodor, J., Gifford, D.K.: Programmed mutagenesis is universal. Theory Comput. Syst. 35(5), 483–500 (2002), http://dblp.uni-trier.de/db/journals/mst/mst35.html#KhodorG02

    Article  MathSciNet  MATH  Google Scholar 

  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), http://pubs.acs.org/doi/abs/10.1021/jp808320s , doi:10.1021/jp808320s

    Article  Google Scholar 

  82. Lipton, R.J.: Using DNA to solve NP-complete problems. Science 268, 542–545 (1995)

    Article  Google Scholar 

  83. Logozzo, F., Peled, D.A., Zuck, L.D. (eds.): VMCAI 2008. LNCS, vol. 4905. Springer, Heidelberg (2008)

    Google Scholar 

  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), http://dx.doi.org/10.1038/nature09012

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  86. Milner, R.: Communication and concurrency. Prentice-Hall, Inc., Upper Saddle River, NJ, USA (1989)

    MATH  Google Scholar 

  87. Milner, R.: Functions as processes. Research Report 1154, INRIA (1990)

    Google Scholar 

  88. Minsky, M.: Computation: finite and infinite machines. Prentice-Hall, Englewood Cliffs (1967)

    MATH  Google Scholar 

  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), http://www.sciencedirect.com/science/article/B6WMM-45PVMS3-13/2/0f1f0f6cf4f49a7892fb6064751b128c , doi:10.1006/jvlc.1995.1010

    Article  Google Scholar 

  90. Stojanovic, M.N., Stefanovic, D.: A deoxyribozyme-based molecular automaton. Nature Biotechnol 21(9), 1069–1074 (2003)

    Article  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  92. Murata, S., Stojanovic, M.N.: DNA-based nanosystems. New Generation Comput. 26(3), 297–312 (2008)

    Article  Google Scholar 

  93. Neumann, J.v., Burks, A.W.: Theory of Self-Reproducing Automata. Univ. Illinois Press (1966)

    Google Scholar 

  94. Pach, J. (ed.): GD 2004. LNCS, vol. 3383. Springer, Heidelberg (2005)

    MATH  Google Scholar 

  95. Parker, J.: Computing with DNA. EMBO Rep. 4(7), 7–10 (2003)

    Article  Google Scholar 

  96. Phillips, A., Cardelli, L.: A programming language for composable DNA circuits. Journal of the Royal Society Interface 6(S4) (2009)

    Google Scholar 

  97. Qian, L., Winfree, E.: A simple DNA gate motif for synthesizing large-scale circuits. In: DNA, pp. 70–89 (2008)

    Google Scholar 

  98. Ran, T., Kaplan, S., Shapiro, E.: Molecular implementation of simple logic programs. Nat Nano 4(10), 642–648 (2009), http://dx.doi.org/10.1038/nnano.2009.203 , doi:10.1038/nnano.2009.203

    Article  Google Scholar 

  99. Regev, A., Shapiro, E.Y.: Cells as computation. In: Priami, C. (ed.) CMSB 2003. LNCS, vol. 2602, pp. 1–3. Springer, Heidelberg (2003), http://link.springer.de/link/service/series/0558/bibs/2602/26020001.htm

    Chapter  Google Scholar 

  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. 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), http://helix-web.stanford.edu/psb01/regev.pdf

  102. Reif, J.H., LaBean, T.H.: Autonomous programmable biomolecular devices using self-assembled DNA nanostructures. Commun. ACM 50(9), 46–53 (2007), http://dblp.uni-trier.de/db/journals/cacm/cacm50.html#ReifL07

    Article  Google Scholar 

  103. Robinson, R.M.: Undecidability and nonperiodicity for tilings of the plane. Inv. Math 12, 117–209 (1971)

    Article  MathSciNet  MATH  Google Scholar 

  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. 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), http://www.pnas.org/content/97/3/984.abstract

    Article  Google Scholar 

  106. Rothemund, P.W.K.: Folding DNA to create nanoscale shapes and patterns. Nature 440, 297–302 (2006), doi:10.1038/nature04586

    Article  Google Scholar 

  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), ftp://hope.caltech.edu/pub/roweis/DIMACS/stickers.ps

  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)

    Article  MATH  Google Scholar 

  109. Sander, G.: Graph layout for applications in compiler construction. Theor. Comput. Sci. 217(2), 175–214 (1999), http://dblp.uni-trier.de/db/journals/tcs/tcs217.html#Sander99

    Article  MathSciNet  MATH  Google Scholar 

  110. Sangiorgi, D., Walker, D.: The π-calculus: a Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)

    MATH  Google Scholar 

  111. Seelig, G., Soloveichik, D.: Time-Complexity of Multilayered DNA Strand Displacement Circuits. In: pp. 144–153. Springer, Heidelberg (2009)

    Google Scholar 

  112. Seelig, G., Soloveichik, D., Zhang, D.Y., Winfree, E.: Enzyme-Free Nucleic Acid Logic Circuits. Science 314(5805), 1585–1588 (2006), http://www.sciencemag.org/cgi/content/abstract/314/5805/1585 , doi:10.1126/science.1132493

    Article  Google Scholar 

  113. Shapiro, Benenson: Bringing DNA computers to life. SCIAM: Scientific American 294 (2006)

    Google Scholar 

  114. Shapiro, E.: Mechanical Turing machine: Blueprint for a biomolecular computer. Tech. rep., Weizmann Institute of Science (1999)

    Google Scholar 

  115. Shapiro, E.: Mechanical Turing machine: Blueprint for a biomolecular computer. Tech. rep., Weizmann Institute of Science (1999)

    Google Scholar 

  116. Shapiro, E., Benenson, Y.: Bringing DNA computers to life. Scientific American 294, 44–51 (2006)

    Article  Google Scholar 

  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), http://dx.doi.org/10.1021/nn900085x

    Article  Google Scholar 

  118. Simpson, M.L., Sayler, G.S., Fleming, J.T., Applegate, B.: Whole-cell biocomputing. Trends Biotechnol 19(8), 317–23 (2001), http://www.biomedsearch.com/nih/Whole-cell-biocomputing/11451474.html

  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. Soloveichik, D., Seelig, G., Winfree, E.: DNA as a universal substrate for chemical kinetics. In: DNA, pp. 57–69 (2008)

    Google Scholar 

  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), http://www.ceur-ws.org/Vol-161/FORUM_10.pdf

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  124. Wang, H.: Proving theorems by pattern recognition ii. Bell System Technical Journal 40, 1–40 (1961)

    Article  Google Scholar 

  125. Turing, A.M.: On computable numbers with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society 42(2), 230–265 (1936)

    MathSciNet  MATH  Google Scholar 

  126. Wang, S., Yang, A.: DNA solution of integer linear programming. Applied Mathematics and Computation 170(1), 626–632 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  127. Winfree, E.: Toward molecular programming with DNA. SIGOPS Oper. Syst. Rev. 42(2), 1–1 (2008), doi:10.1145/1353535.1346282

    Article  MathSciNet  Google Scholar 

  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. 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. Wolfram, S.: A New Kind of Science, p. 1197. Wolfram Media (2002)

    Google Scholar 

  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. 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), http://dx.doi.org/10.1126/science.1089389 , doi:10.1126/science.1089389

    Article  Google Scholar 

  133. Yin, P., Choi, H.M.T., Calvert, C.R., Pierce, N.A.: Programming biomolecular self-assembly pathways. Nature 451(7176), 318–322 (2008), http://dx.doi.org/10.1038/nature06451 , doi:10.1038/nature06451

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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), http://ylab-gw.cs.uec.ac.jp/./Papers/yokomori/cssfinal.ps.gz

  136. Zhang, D.Y.: Dynamic DNA strand displacement circuits. Ph.D. thesis, California Institute of Technology (2010), http://resolver.caltech.edu/CaltechTHESIS:05262010-173410602

  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.1543940

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Hartmann, L., Jones, N.D., Simonsen, J.G., Vrist, S.B. (2011). Computational Biology: A Programming Perspective. In: Agha, G., Danvy, O., Meseguer, J. (eds) Formal Modeling: Actors, Open Systems, Biological Systems. Lecture Notes in Computer Science, vol 7000. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24933-4_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-24933-4_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-24932-7

  • Online ISBN: 978-3-642-24933-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics