Molecular Programming: Verification and Language Tools
Molecular programming is an exciting field that combines techniques from biology, chemistry, and computer science to achieve remarkable results at the molecular scale. In this talk, I discuss several results from two recent avenues of my research. First, it is critical that we develop techniques to verify the safety of molecular systems, especially for promising applications in medicine. We commonly verify molecular systems using tools like model checking and differential equation simulation. Here, I present a molecular system that addresses the question of whether theorem proving, by hand or computer aided, is an important part of this toolkit. Second, the formalism that we use to describe molecular systems is powerful, but often unintuitive to work with. In the Chemical Reaction Network-Controlled Tile Assembly Model (CRN-TAM), for example, designers must specify chemical reactions to coordinate molecular ''tiles'' and help them to form constructs. In the interest of simplifying this task, I present ALCH, an imperative language for the CRN-TAM. ALCH allows users to specify molecular systems in an intuitive way using familiar constructs like conditionals and while loops, avoiding the complexity of individual chemical reactions.
Committee: James Lathrop (major professor), Jack Lutz (major professor), Samik Basu, Robyn Lutz, and Stephen Gilbert