Skip to Main Content
This paper presents a compilation strategy and a toolkit for biochemical reactions that perform sequential arithmetic computation on protein quantities, analogous to register-based computation in digital systems. From a Verilog-like input specification file, we generate biochemical reactions that produce output quantities as a function of input quantities, performing operations such as addition, subtraction, and multiplication. Sequential operations are implemented by transferring quantities between protein types, based on a clocking mechanism. Synthesis first is performed at a conceptual level, in terms of abstract biochemical reactions - a task analogous to technology-independent logic synthesis in circuit design. Then the results are mapped onto specific biochemical reactions, selected from libraries - a task analogous to technology mapping in circuit design. Our method targets the universal DNA substrate developed by Erik Win-free's group at Caltech as the experimental chassis. We demonstrate the algorithm on the synthesis of a variety of standard sequential functions: signal processing functions (FIR filters and IIR filters), vector multiplication, integration and differentiation. The designs are validated through transient stochastic simulation of the chemical kinetics.