HackerPapers

arXiv:1809.07430cs.ET

CRN++: Molecular Programming Language

Marko Vasic, David Soloveichik, Sarfraz Khurshid

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 familiar imperative constructs into a set of chemical reactions happening simultaneously and manipulating real-valued concentrations. Although some deviation from ideal output value cannot be avoided, we develop methods to minimize the error, and implement error analysis tools. We demonstrate the feasibility of using CRN++ on a suite of well-known algorithms for discrete and real-valued computation. CRN++ can be easily extended to support new commands or chemical reaction implementations, and thus provides a foundation for developing more robust and practical molecular programs.

arXiv comments
Journal reference
DNA Computing and Molecular Programming (2018) 1-18
DOI
doi:10.1007/978-3-030-00030-1
Subjects
cs.ETEmerging Technologies

On Hacker News

Linked by 4 identifiable commenters in 5 comments across 5 threads, from Oct 2018 to May 2021. Found in 1 HN submission from Sep 2018 to Sep 2018. Open submission discussions.

Comments linking this paper, per year.

Discussed in comments5 threads

  1. What can mRNA treat next? 1 comment
    • Not quite what you're asking for, but check out CRN++ [0], a programming language built on chemical reaction networks (CRN). [0]: https://arxiv.org/abs/1809.07430

      bqmjjx0kacView on HNParent context

  2. Deep Molecular Programming 1 comment
    • This paper mentions CRN++, a compiler that translates an imperative language into Chemical Reaction Networks. I had no idea this field existed. This stuff is mind bogglingly cool! https://arxiv.org/abs/1809.07430

      zingermcView on HNParent context

    • Slightly OT but related interesting trivia. Look up a language called CRN++ developed by UT Austin for "programming deterministic (mass-action) chemical kinetics in performing computations". Press release type article here…

      najarvgView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.