Microsoft Research, 7 JJ Thomson Avenue, Cambridge CB3 0FB, UK.
J R Soc Interface. 2012 Mar 7;9(68):470-86. doi: 10.1098/rsif.2011.0343. Epub 2011 Jul 20.
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.
DNA 链置换技术已被用于实现广泛的信息处理设备,从逻辑门到化学反应网络,再到通用计算架构。链置换技术使计算设备能够在不添加其他组件的情况下在 DNA 中实现,从而仅根据核苷酸序列对计算进行编程。在设计链置换设备时,面临的一个主要挑战是能够快速分析高级设计,同时还支持包括已知干扰形式在内的详细模拟。另一个挑战是设计能够在长时间内维持精确反应动力学的设备,而无需依赖复杂的实验设备来随着时间的推移不断补充消耗的物质。在本文中,我们提出了一种用于设计 DNA 链置换设备的编程语言,它支持不断增加的分子细节水平。该语言允许使用通用语法对设备设计进行编程,然后在有或没有干扰的情况下以不同的详细程度进行分析,而无需修改程序。这允许在分子细节水平和分析计算成本之间进行权衡。我们使用该语言设计了一种用于 DNA 设备的缓冲架构,能够在潜在无限的时间内保持精确的反应动力学。我们通过设计能够持续振荡的 DNA 链置换系统来测试缓冲门支持长时间计算的有效性。