Abstract

DNA strand displacement techniques have been used to implement a broad range of information processing devices, from logic gates, to chemical reaction networks, to architectures for universal computation. Strand displacement techniques enable computational devices to be implemented in DNA without the need for additional components, allowing computation to be programmed solely in terms of nucleotide sequences. A major challenge in the design of strand displacement devices has been to enable rapid analysis of high-level designs while also supporting detailed simulations that include known forms of interference. Another challenge has been to design devices capable of sustaining precise reaction kinetics over long periods, without relying on complex experimental equipment to continually replenish depleted species over time. In this paper, we present a programming language for designing DNA strand displacement devices, which supports progressively increasing levels of molecular detail. The language allows device designs to be programmed using a common syntax and then analysed at varying levels of detail, with or without interference, without needing to modify the program. This allows a trade-off to be made between the level of molecular detail and the computational cost of analysis. We use the language to design a buffered architecture for DNA devices, capable of maintaining precise reaction kinetics for a potentially unbounded period. We test the effectiveness of buffered gates to support long-running computation by designing a DNA strand displacement system capable of sustained oscillations.

Highlights

  • Biomolecular computers have great potential for use in intelligent nanomedicine

  • We show how different levels of detail can be achieved using different semantic abstractions, and how analysis of DNA Strand Displacement language (DSD) programs can be used as a starting point for formal verification of DNA circuit designs

  • The exact numbers vary because the JIT compiler only builds the chemical reaction network (CRN) for the reactions which occur in a given stochastic simulation run, but averaging 10 JIT simulations only produced about 75 species and 125 reactions

Read more

Summary

INTRODUCTION

Biomolecular computers have great potential for use in intelligent nanomedicine. They allow computation to be performed at the molecular scale, while interfacing directly with the molecular components of living systems. Once the branch migration reaches the far right, the bound strand is only attached by the short toehold domain u and can unbind (D) This basic computational mechanism allows us to construct computational devices, which translate input signals into output signals. We expand on previous work [16] and present a language for designing modular DNA circuits using strand displacement. Buffered implementations of reaction gates support long-running, potentially unbounded computations at fixed rates, which allows for robust encodings of chemical kinetics into DNA. As such, they offer an alternative to using a complex laboratory equipment such as continuous-flow reactors to deliver additional reactants [17]. The DSD tool was used to design and analyse the buffered gates and oscillator systems presented in this paper.

LANGUAGE DEFINITION
Syntax
Semantics
A S1 S2 Z
A hierarchy of semantics
Semantic abstractions
Language compilation
BUFFERED REACTION GATES
Buffered gate implementation
A three-phase oscillator
Enabling leaks in the buffered join gate
Findings
DISCUSSION
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call