Writing and compiling code into biochemistry

Adam Shea, Brian Fett, Marc D. Riedel, Keshab Parhi

Research output: Chapter in Book/Report/Conference proceedingConference contribution

10 Scopus citations

Abstract

This paper presents a methodology for translating iterative arithmetic computation, specified as high-level programming constructs, into biochemical reactions. From an input/output specification, we generate biochemical reactions that produce output quantities of proteins as a function of input quantities performing operations such as addition, subtraction, and scalar multiplication. Iterative constructs such as "while" loops and "for" loops 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 high-level program compilation. Then the results are mapped onto specific biochemical reactions selected from libraries - a task analogous to machine language compilation. We demonstrate our approach through the compilation of a variety of standard iterative functions: multiplication, exponentiation, discrete logarithms, raising to a power, and linear transforms on time series. The designs are validated through transient stochastic simulation of the chemical kinetics. We are exploring DNA-based computation via strand displacement as a possible experimental chassis.

Original languageEnglish (US)
Title of host publicationPacific Symposium on Biocomputing 2010, PSB 2010
Pages456-464
Number of pages9
StatePublished - Dec 1 2010
Event15th Pacific Symposium on Biocomputing, PSB 2010 - Kamuela, HI, United States
Duration: Jan 4 2010Jan 8 2010

Publication series

NamePacific Symposium on Biocomputing 2010, PSB 2010

Other

Other15th Pacific Symposium on Biocomputing, PSB 2010
Country/TerritoryUnited States
CityKamuela, HI
Period1/4/101/8/10

Fingerprint

Dive into the research topics of 'Writing and compiling code into biochemistry'. Together they form a unique fingerprint.

Cite this