37
29

Programming Discrete Distributions with Chemical Reaction Networks

Abstract

Biochemical interactions are inherently stochastic: the time for the reactions to fire and which reaction fires next are both random variables. It has been argued that natural systems use stochasticity to perform functions that would be impossible in a deterministic setting. However, the mechanisms used by cells to compute in a noisy environment are not well understood. We explore the range of probabilistic behaviours that can be engineered with Chemical Reaction Networks (CRNs). We show that at steady state CRNs are able to "program" any distribution with support in Nm\mathbb{N}^m, with m1m \geq 1. We present an algorithm to systematically program a CRN so that its stochastic semantics at steady state approximates a particular distribution with arbitrarily small error. We also give optimized schemes for special distributions, including the uniform distribution. Finally, we formulate a calculus that is complete for finite support distributions, and that can be compiled to a restricted class of CRNs that at steady state realize those distributions. We illustrate the approach on an example of drug resistance in bacteria.

View on arXiv
Comments on this paper