Collaborative Research: Molecular Programming Architectures, Abstractions, Algorithms, and Applications
National Science Foundation
10/01/2013 - 09/30/2018
Inspired by the intricate and powerful molecular machinery of life, the long-term vision of this NSF Expedition in Computing is to develop a new discipline—molecular programming—that will encompass the fundamental theory and experimental practice required to design and construct synthetic biomolecular systems of a complexity rivaling those of living organisms. The Molecular Programming Project – Archi- tectures, Abstractions, Algorithms, Applications (MPP-AAAA, or MPP for short) builds on results achieved over the last four years that demonstrate the potential for a new generation of synthetic biomolecular de- vices: it will scale-up and extend techniques for the the self-assembly of DNA strands to create arbitrary 2D and 3D structures, and develop methods using interactions between DNA, RNA, and proteins to create complex biomolecular control circuitry. The MPP will combine these two strains of research—spatial pat- terning and temporal, functional control—to create new integrated nanoscale robotic system architectures. Such systems will be able to sense molecular input, compute decisions about those inputs, and act on their environment. Developed first for simple in vitro settings and non-biological applications in chemistry and nanotechnology, these programs will be adapted to work in increasingly challenging in vivo environments, from bacterial cells to multicellular organisms. To allow the expression of complex molecular algorithms, to manage their complexity, and to provide modularity, the MPP will develop abstraction hierarchies with associated high-level languages for programming structure and behavior, compilers that turn high-level code into lists of synthesizable DNA sequences, and analysis software that can predict the performance of the se- quences. Hence molecular programmers will be able to specify, design, and verify the correctness of their systems in silico before they are ever synthesized. In addition to these software tools, we will study the theory of molecular algorithms to understand what is possible and what is not, what makes them efficient at the tasks they can do, and how they can be effectively designed and analyzed. Because molecular algorithms are intrinsically parallel, distributed, asynchronous, stochastic, error-prone, and make use of complex spatial and molecular geometry, new conceptual techniques will be needed for their study. Medium to long range applications of MPP research include molecular instruments for probing biological systems, molecular therapeutics for manipulation of cell state, and programmable fabrication of nanoscale devices.