Skip to main content

Compiling DNA Strand Displacement Reactions Using a Functional Programming Language

  • Conference paper
Practical Aspects of Declarative Languages (PADL 2014)

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

Included in the following conference series:

Abstract

DNA nanotechnology is a rapidly-growing field, with many potential applications in nanoscale manufacturing and autonomous in vivo diagnostic and therapeutic devices. As experimental techniques improve it will become increasingly important to develop software tools and programming abstractions, to enable rapid and correct design of increasingly sophisticated computational circuits. This is analogous to the need for hardware description languages for VLSI. In this paper we discuss our experience implementing a domain-specific language for DNA nanotechnology using a functional programming language. The ability to use abstract data types to describe molecular structures and to recurse over these types to derive the various interactions between structures was a major reason for the use of a functional language in this project.

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. Qian, L., Winfree, E.: Scaling up digital circuit computation with DNA strand displacement cascades. Science 332, 1196–1201 (2011)

    Article  Google Scholar 

  2. Qian, L., Winfree, E., Bruck, J.: Neural network computation with DNA strand displacement cascades. Nature 475, 368–372 (2011)

    Article  Google Scholar 

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

    Article  Google Scholar 

  4. Benenson, Y., Gil, B., Ben-Dor, U., Adar, R., Shapiro, E.: An autonomous molecular computer for logical control of gene expression. Nature 429, 423–429 (2004)

    Article  Google Scholar 

  5. Lakin, M.R., Parker, D., Cardelli, L., Kwiatkowska, M., Phillips, A.: Design and analysis of DNA strand displacement devices using probabilistic model checking. JRS Interface 9(72), 1470–1485 (2012)

    Article  Google Scholar 

  6. Lakin, M.R., Youssef, S., Cardelli, L., Phillips, A.: Abstractions for DNA circuit design. JRS Interface 9(68), 470–486 (2012)

    Article  Google Scholar 

  7. Zhang, D.Y., Seelig, G.: Dynamic DNA nanotechnology using strand-displacement reactions. Nat. Chem. 3(2), 103–113 (2011)

    Article  Google Scholar 

  8. Syme, D., Granicz, A., Cisternino, A.: Expert F#. Springer (2008)

    Google Scholar 

  9. Zhang, D.Y., Turberfield, A.J., Yurke, B., Winfree, E.: Engineering entropy-driven reactions and networks catalyzed by DNA. Science 318, 1121–1125 (2007)

    Article  Google Scholar 

  10. Qian, L., Soloveichik, D., Winfree, E.: Efficient Turing-universal computation with DNA polymers. In: Sakakibara, Y., Mi, Y. (eds.) DNA 16. LNCS, vol. 6518, pp. 123–140. Springer, Heidelberg (2011)

    Google Scholar 

  11. Lakin, M.R., Phillips, A.: Modelling, simulating and verifying Turing-powerful strand displacement systems. In: Cardelli, L., Shih, W. (eds.) DNA 17. LNCS, vol. 6937, pp. 130–144. Springer, Heidelberg (2011)

    Google Scholar 

  12. Priami, C., Regev, A., Shapiro, E., Silverman, W.: Application of a stochastic name-passing calculus to representation and simulation of molecular processes. Information Processing Letters 80, 25–31 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  13. Pedersen, M., Phillips, A.: Towards programming languages for genetic engineering of living cells. JRS Interface 6(suppl. 4), S437–S450 (2009)

    Google Scholar 

  14. Jang, S.S., Oishi, K.T., Egbert, R.G., Klavins, E.: Specification and simulation of synthetic multicelled behaviors. ACS Synthetic Biology 1, 365–374 (2012)

    Article  Google Scholar 

  15. Hogeweg, P., Hesper, B.: Energy directed folding of RNA sequences. Nucleic Acids Res. 12(1), 67–74 (1984)

    Article  Google Scholar 

  16. Fanning, M.L., Macdonald, J., Stefanovic, D.: ISO: numeric representation of nucleic acid form. In: Proceedings of ACM-BCB 2011. ACM (2011)

    Google Scholar 

  17. Chen, Y.-J., Dalchau, N., Srinivas, N., Phillips, A., Cardelli, L., Soloveichik, D., Seelig, G.: Programmable chemical controllers made from DNA. Nat. Nanotechnol. 41(1), e33 (2013)

    Google Scholar 

  18. Lakin, M.R., Youssef, S., Polo, F., Emmott, S., Phillips, A.: Visual DSD: a design and analysis tool for DNA strand displacement systems. Bioinformatics 27(22), 3211–3213 (2011)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Lakin, M.R., Phillips, A. (2014). Compiling DNA Strand Displacement Reactions Using a Functional Programming Language. In: Flatt, M., Guo, HF. (eds) Practical Aspects of Declarative Languages. PADL 2014. Lecture Notes in Computer Science, vol 8324. Springer, Cham. https://doi.org/10.1007/978-3-319-04132-2_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-04132-2_6

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-04131-5

  • Online ISBN: 978-3-319-04132-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics