Cellular algorithms

François Jacob and Jacques Monod were among the first biologists to understand gene expression as an algorithm [1]. They discovered that the lac operon is a genetic system that allows E. coli cells to switch between lactose and glucose as a food source by executing a subroutine using “if-then” conditional statements. Such observations could be formalized more systematically by exploiting concepts from computer science, helping to answer fundamental questions about how living systems sense, process and react to information.

Computer science provides elaborate tools and methods to study and formulate algorithms. The automata model deserves particular attention as living cells can be considered as a material implementation of state machines or as housing machines that transcribe, translate and replicate the genome.

But only few cellular processes have so far been described as state machines. For example, Stahl and Goheen use a Turing Machine to model the “algorithmic enzymes” involved in the synthesis of mRNA and proteins [2]. Robert Landick and his colleagues mapped the whole transcription process onto a Turing Machine [3].

During I2CELL seminar, the participants discussed other biological systems  – including, for instance, centrioles that play a crucial role in cell division – that could be analysed in regard of their cellular states and of the rules governing state transitions. Therefore, cell biology can be analysed from a state machine framework and, more generally, living systems could be understood as  information-processing devices.


1. Jacob F, Monod J (1961) Genetic regulatory mechanisms in the synthesis of proteins. J Mol Biol 3: 318-356

2. Stahl WR, Goheen HE (1963) Molecular algorithms. J Theor Biol 5: 266-287

3. Mooney RA, Artsimovitch I, Landick R (1998) Information processing by RNA polymerase: recognition of regulatory signals during RNA chain elongation. J Bacteriol 180: 3265-3275

Further reading:

For a deeper analysis of various state machines, see Figure 3 in:

Benenson Y (2012) Biomolecular computing systems: principles, progress and potential. Nat Rev Genetics 13:455-468

For a deeper understanding of biological computations and algorithms and examples thereof:

Navlakha S, Bar-Joseph Z (2011) Algorithms in nature: the convergence of systems biology and computational thinking. Mol Syst Biol 7: 546

Cardelli L, Hernansaiz-Ballesteros RD, Dalchau N, Csikasz-Nagy A (2017) Efficient Switches in Biology and Computer Science. Plos Comput Biol 13: e1005100

Zeng L, Skinner SO, Zong C, Sippy J, Feiss M, Golding I (2010) Decision making at a subcellular level determines the outcome of bacteriophage infection. Cell 141: 682-691