Abstract
This chapter is dedicated to molecular computing. Molecular computing uses DNA and molecular biology and chemistry as hardware. Historically, its beginnings are rooted in the attempt to solve NP-complete problems efficiently. Those attempts and the overall potential and the major challenges of DNA computing are reviewed. One particular abstract model of molecular computing, Chemical Reaction Networks, are introduced in more detail and compared to other notions of computations. The programming techniques for Chemical Reaction Networks are very different from traditional approaches presented earlier, as the programmer has no control over the order of reactions executed. A concrete “synthetic chemistry” implementation of this abstract model that uses DNA strand displacement is briefly explained.
What is molecular computing and can it help finding feasible solutions to NP-complete problems? What other benefits does it have?
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
The complete human genome needs about 3.08 GB of storage space on a conventional hard drive [22].
- 3.
Latest research seems to suggest that there is rather a “mosaic” of DNA in the cells [21].
- 4.
“Mutation rates vary substantially ...even among different parts of the genome in a single organism. Scientists have reported mutation rates as low as 1 mistake per 100 million ...to 1 billion ...nucleotides, mostly in bacteria, and as high as 1 mistake per 100 ...to 1,000 ...nucleotides, the latter in a group of error-prone polymerase genes in humans” [23].
- 5.
Yes, the one from the RSA algorithm!.
- 6.
More precisely the Directed Hamiltonian Path Problem version: “does a tour exist that visits each city exactly once?”.
- 7.
Using and combining several techniques: polymerase chain reaction, gel electrophoresis, and affinity purification.
- 8.
This included all 154 of Shakespeares sonnets (ASCII text) and a 26-s excerpt from Martin Luther King’s 1963 I have a dream speech (MP3 format), and with some other data used a total of 757,051 bytes.
- 9.
According to the National Human Genome Research Institute.
- 10.
In chemistry the term “kinetics” refers to the study of reaction rates.
- 11.
However, there will be reaction rates associated to reactions that depend on the concentrations of the molecules in use and thus vary during computation. They can be used to implicitly prioritise reactions by increasing or decreasing the probability to fire.
- 12.
The minus symbol here denotes (pointwise) vector subtraction. Similarly, we use \(+\) for vector addition.
- 13.
This is a very particular CRN, and we will have to discuss below how to read off results or outputs from a CRN in a more general setting.
- 14.
This is a special case for CRNs.
- 15.
We allow more than one input here as the encoding of tuples in CRNs is not as easily programmable as for our other notions of computations.
- 16.
We allow more than one input and output here for the same reasons as for chemical reaction deciders.
- 17.
Here all reactions are assumed to have the same rate constant.
- 18.
This is an enzyme that produces transcript RNA.
- 19.
Here “alien” alludes to any technology one does not understand.
- 20.
Carl Adam Petri (12 July 1926—2 July 2010) was an award-winning German mathematician and computer scientist who invented Petri nets exactly for the purpose of describing chemical reactions.
- 21.
DNA occurs most of the time as double stranded (double helix) “ladder”.
- 22.
James Dewey Watson (born April 6, 1928) is an American molecular biologist who co-discovered the structure of DNA and was awarded the 1962 Nobel Prize for Physiology or Medicine with Crick and Wilkins (see footnotes 23–25) among numerous other prizes. He is the first Nobel laureate to have sold his Nobel Prize medal at auction to raise funds in 2014.
- 23.
Maurice Hugh Frederick Wilkins (15 December 1916—5 October 2004) was a New Zealand-born English molecular biologist, who was co-awarded the 1962 Nobel Prize for Physiology or Medicine among numerous other prizes (See footnote 25).
- 24.
Francis Harry Compton Crick (8 June 1916—28 July 2004) was a British molecular biologists who co-discovered the structure of DNA and was co-awarded the 1962 Nobel Prize for Physiology or Medicine (see footnote 25).
- 25.
The discovery of the double helix involved many more researchers who were not mentioned by the Nobel Committee. The most famous ones, Rosalind Franklin and Oswald Avery , were already deceased in 1962 and apparently, according to the Nobel Prize rules, could not be mentioned.
- 26.
Watson–Crick base pairing refers to the complementary C–G (Cytosine-Guanine) and A–T (Adenine–Thymine) base pairs, see also Fig. 22.1.
- 27.
Pronounced “five-prime to three-prime”.
- 28.
Gel electrophoresis is a laboratory technique for visualising DNA or proteins. DNA fragments are separated according to their molecular size as they migrate through a gel.
- 29.
In two domain strand displacement the nicks are always on the top strand.
References
Amos, M.: DNA computing. In: Encyclopædia Britannica, Inc., Available via DIALOG. http://www.britannica.com/EBchecked/topic/941575/DNA-computing (2015). Accessed 22 June 2015
Angluin, D., Aspnes, J., Eisenstat, D.: Stably computable predicates are semilinear. In: Proceedings of the Twenty-Fifth Annual ACM Symposium on Principles of Distributed Computing, pp. 292–299. ACM, New York (2006)
Bennett, C.H.: On constructing a molecular computer. IBM J. Res. Dev. 17, 525–532 (1973)
Bennett, C.H., Landauer, R.: The fundamental physical limits of computation. Sci. Am. 253(1), 48–56 (1985)
Bonnet, J., Yin, P., Ortiz, M.E., Subsoontorn, P., Endy, D.: Amplifying genetic logic gates. Science 340(6132), 599–603 (2013)
Cardelli, L.: Two-domain DNA strand displacement. In: Cooper, S.B., Kashefi, E., Panangaden, P. (eds.) Developments in Computational Models (DCM 2010). EPTCS 26, pp. 47–61 (2010)
Cardelli, L.: Molecular programming. Invited talk at ECOOP 2014. Available via DIALOG. http://lucacardelli.name/Talks/2014-07-30%20Molecular%20Programming%20(ECOOP).pdf (2015). Accessed 22 June 2015
Chen, H.-L., Doty, D., Soloveichik, D.: Deterministic function computation with chemical reaction networks. Nat. Comput. 13(4), 517–534 (2013)
Chen, Y.-J., Dalchau, N., Srinivas, N., Phillips, A., Cardelli, L., Soloveichik, D., Seelig, G.: Programmable chemical controllers made from DNA. Nat. Nanotechnol. 8(10), 755762 (2013)
Church, G.M., Gao, Y., Kosuri, S.: Next-generation digital information storage in DNA. Science 337(6102), 1628 (2012)
Cook, M., Soloveichik, D., Winfree, E., Bruck, S.: Programmability of chemical reaction networks. In: Condon, A., Harel, D., Kok, J.N., Salomaa, A., Winfree, E. (eds.) Algorithmic Bioprocesses, pp. 543–584. Springer, Heidelberg (2009)
Cox, J.C., Cohen, D.S., Ellington, A.D.: The complexities of DNA computation. Trends Biotechnol. 171, 151–154 (1999)
Diameter of erythrocytes: B10Numbers, the database of useful biological numbers. Available via DIALOG. http://bionumbers.hms.harvard.edu/bionumber.aspx?&id=100509 (2015). Accessed 23 June 2015
Doty, D.: Timing in chemical reaction networks. In: Proceedings of the Twenty-Fifth Annual ACM-SIAM Symposium on Discrete Algorithms. SIAM, pp. 772–784 (2014)
Goldman, N., Bertone, P., Chen, S., Dessimoz, C., LeProust, E.M., Sipos, B., Birney, E.: Towards practical, high-capacity, low-maintenance information storage in synthesized DNA. Nature 494, 77–80 (2013)
Hartmann, L., Jones, N.D., Simonsen, J.G., Vrist, S.B.: Programming in biomolecular computation: programs, self-interpretation and visualisation. Sci. Ann. Comput. Sci. 21(1), 73–106 (2011)
Klinge, T.H., Lathrop, J.I., Lutz J.H.: Robust biomolecular finite automata. Preprint. Available via DIALOG. http://arxiv.org/abs/1505.03931 (2015). Accessed 6 Aug 2015
Lakin, M.R., Parker, D., Cardelli, L., Kwiatkowska, M., Phillips, A.: Design and analysis of DNA strand displacement devices using probabilistic model checking. J. R. Soc. Interface 9(72), 1470–1485 (2012)
Length of DNA in nucleus: B10Numbers, the database of useful biological numbers. Available via DIALOG. http://bionumbers.hms.harvard.edu/bionumber.aspx?&id=104208&ver=9&trm=length%20DNA (2015). Accessed 23 June 2015
Linial, M., Linial, N.: On the potential of molecular computing. Science-AAAS-Wkly. Pap. Ed. 268(5210), 481 (1995)
Lupski, J.R.: Genome mosaicism—one human, multiple genomes. Science 341(6144), 358–359 (2013)
Overall genome size: B10Numbers, the database of useful biological numbers. Available via DIALOG. http://bionumbers.hms.harvard.edu/bionumber.aspx?&id=101484&ver=19&trm=Human%20Homo%20sapiens%20dna (2015). Accessed 23 June 2015
Pray, L.A.: DNA replication and causes of mutation. Nat. Educ. 1(1), 214 (2008)
Peterson, J.L.: Petri Net Theory and the Modeling of Systems. Prentice-Hall Inc., Englewood Cliffs (1981)
Seelig, G., Soloveichik, D., Zhang, D.Y., Winfree, E.: Enzyme-free nucleic acid logic circuits. Science 314(5805), 1585–1588 (2006)
Soloveichik, D.: The programming language of chemical kinetics, and how to discipline your DNA molecules with strand displacement cascades. Talk at DNA 17. Available via DIALOG. http://dna17.caltech.edu/Soloveichik_DNA_17_Tutorial_(2011-09-20).pdf (2011). Accessed 20 Jan 2016
Soloveichik, D., Cook, M., Winfree, E., Bruck, S.: Computation with finite stochastic chemical reaction networks. Nat. Comput. 7(4), 615–633 (2008)
The Economist: Computing with soup. Technology Quarterly: Q1 2012, 03/03/2012. Available via DIALOG. http://www.economist.com/node/21548488 (2014). Accessed 22 June 2015
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Reus, B. (2016). Molecular Computing. In: Limits of Computation. Undergraduate Topics in Computer Science. Springer, Cham. https://doi.org/10.1007/978-3-319-27889-6_22
Download citation
DOI: https://doi.org/10.1007/978-3-319-27889-6_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-27887-2
Online ISBN: 978-3-319-27889-6
eBook Packages: Computer ScienceComputer Science (R0)