Phillips MPP 2011
Semantic abstractions for DNA circuit design
- Andrew Phillips
- Microsoft Research
DNA strand displacement techniques have been used to design a broad range of information processing devices, from elementary 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 such as restriction enzymes, allowing computation to be programmed solely in terms of nucleotide sequences. As strand displacement devices continue to grow in size and complexity, computer software is beginning to play an increasingly important role in their design and construction. In this paper we present a programming language for designing DNA strand displacement devices, which supports progressively increasing levels of molecular detail. The language features a hierarchy of semantic models, allowing devices to be specified using a common syntax and explored under varying assumptions about their behaviour. The hierarchy 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 use the buffered architecture to design an oscillating DNA strand displacement device."