CRN++: Molecular Programming Language
Marko Vasic, David Soloveichik, Sarfraz Khurshid

TL;DR
CRN++ is a novel programming language designed for deterministic chemical kinetics, enabling the embedding of computational algorithms into molecular systems with minimized error, thus advancing molecular programming capabilities.
Contribution
It introduces a new language, CRN++, with syntax, semantics, and a compiler, facilitating the implementation of molecular algorithms with error analysis tools.
Findings
Successfully implemented classical algorithms in CRN++
Demonstrated minimized error in molecular computations
Provided a flexible framework for future molecular programming
Abstract
Synthetic biology is a rapidly emerging research area, with expected wide-ranging impact in biology, nanofabrication, and medicine. A key technical challenge lies in embedding computation in molecular contexts where electronic micro-controllers cannot be inserted. This necessitates effective representation of computation using molecular components. While previous work established the Turing-completeness of chemical reactions, defining representations that are faithful, efficient, and practical remains challenging. This paper introduces CRN++, a new language for programming deterministic (mass-action) chemical kinetics to perform computation. We present its syntax and semantics, and build a compiler translating CRN++ programs into chemical reactions, thereby laying the foundation of a comprehensive framework for molecular programming. Our language addresses the key challenge of embedding…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
