Spaccasassi Carlo, Lakin Matthew R, Phillips Andrew
Microsoft Research , Cambridge , CB1 2FB , U.K.
Department of Computer Science , University of New Mexico , Albuquerque , New Mexico 87131 , United States.
ACS Synth Biol. 2019 Jul 19;8(7):1530-1547. doi: 10.1021/acssynbio.8b00229. Epub 2018 Dec 7.
Computational nucleic acid devices show great potential for enabling a broad range of biotechnology applications, including smart probes for molecular biology research, assembly of complex compounds, high-precision disease diagnosis and, ultimately, computational theranostics inside living cells. This diversity of applications is supported by a range of implementation strategies, including nucleic acid strand displacement, localization to substrates, and the use of enzymes with polymerase, nickase, and exonuclease functionality. However, existing computational design tools are unable to account for these strategies in a unified manner. This paper presents a logic programming language that allows a broad range of computational nucleic acid systems to be designed and analyzed. The language extends standard logic programming with a novel equational theory to express nucleic acid molecular motifs. It automatically identifies matching motifs present in the full system, in order to apply a specified transformation expressed as a logical rule. The language supports the definition of logic predicates, which provide constraints that need to be satisfied in order for a given rule to be applied. The language is sufficiently expressive to encode the semantics of nucleic strand displacement systems with complex topologies, together with computation performed by a broad range of enzymes, and is readily extensible to new implementation strategies. Our approach lays the foundation for a unifying framework for the design of computational nucleic acid devices.
计算核酸装置在实现广泛的生物技术应用方面显示出巨大潜力,包括用于分子生物学研究的智能探针、复杂化合物的组装、高精度疾病诊断,以及最终在活细胞内进行计算治疗诊断。一系列实施策略支持了这种应用的多样性,包括核酸链置换、定位于底物,以及使用具有聚合酶、切口酶和核酸外切酶功能的酶。然而,现有的计算设计工具无法以统一的方式考虑这些策略。本文提出了一种逻辑编程语言,可用于设计和分析广泛的计算核酸系统。该语言通过一种新颖的等式理论扩展了标准逻辑编程,以表达核酸分子基序。它会自动识别完整系统中存在的匹配基序,以便应用表示为逻辑规则的指定转换。该语言支持逻辑谓词的定义,这些谓词提供了在应用给定规则时需要满足的约束条件。该语言具有足够的表达能力来编码具有复杂拓扑结构的核酸链置换系统的语义,以及由多种酶执行的计算,并且很容易扩展到新的实施策略。我们的方法为计算核酸装置设计的统一框架奠定了基础。