Biological Computation

Established: October 1, 2007

dna_smallOur group is conducting research to uncover fundamental principles of biological computation: what biological systems compute, and how this computation is performed. We are also developing methods for programming computation in biological systems. Our research currently focuses on fundamentals of Biological Computation, with applications in Immunology and Development, together with principles of Programming Life, with applications in DNA Computing and Synthetic Biology.

Current projects include designing molecular circuits made of DNA, and programming synthetic biological devices to perform complex functions over time and space. We also aim to understand the computation performed by cells during organ development, and how the adaptive immune system detects viruses and cancers, focusing on mechanism and function. We are tackling these questions through the development of computational models and domain-specific computational tools, in close collaboration with leading scientific research groups. The tools we develop are being integrated into a common software environment, which supports simulation and analysis across multiple scales and domains. This environment will serve as the foundation for a common language runtime for biological computation.


Related Links

PhD Scholars and Post-Docs

  • Kathryn Atwell, University of Oxford
  • Mattia Cinelli, University College London
  • Frits Dannenberg, University of Oxford
  • Anton Kan, University of Cambridge
  • Om Patange, University of Cambridge
  • Laura Parshotam, University College London
Former PhD scholars
  • Alistair Bailey, University of Southampton
  • Wei Pan, Imperial College London
  • Tim Rudge, University of Cambridge
Former postdocs





Reasoning Engine for Interaction Networks (RE:IN)

Established: January 1, 2012

This webpage is dedicated to the tool RE:IN, providing information on the latest version available, together with a tutorial, FAQ, and example files. About RE:IN The Reasoning Engine for Interaction Networks (RE:IN) is a tool that runs online in your…

Project Premonition

Established: March 2, 2015

"Project Premonition aims to detect pathogens before they cause outbreaks" Emerging infectious diseases such as Zika, Ebola, Chikungunya and MERS are dangerous and unpredictable. Public health organizations need data as early as possible to predict disease spread and plan responses. But, early data is very difficult to…

Open Solving Library for ODEs

Established: July 15, 2014

OSLO is a .NET and Silverlight class library for the numerical solution of ordinary differential equations (ODEs). The library enables numerical integration to be performed in C#, F# and Silverlight applications. OSLO implements Runge-Kutta and back differentiation formulae (BDF) for…

Decision-Making in Stem Cells

Established: January 18, 2016

Development proceeds via a sequence of decisions that cells have to make about whether to divide, to differentiate, or to migrate. Differentiation is the process by which a cell changes from one type to another, which enables the expansion of the different…


Established: January 1, 2007

An SMT-based Framework for Analyzing Biological Computation The basic principles governing the development and function of living organisms remain only partially understood, despite significant progress in molecular and cellular biology and tremendous breakthroughs in experimental methods. The development…

Programming DNA Circuits

Established: February 7, 2009

Molecular devices made of nucleic acids show great potential for applications ranging from bio-sensing to intelligent nanomedicine. They allow computation to be performed at the molecular scale, while also interfacing directly with the molecular components of living systems. They form…

Genetic Engineering of Living Cells

Established: February 7, 2009

Synthetic biology aims at producing novel biological systems to carry out some desired and well-defined functions. An ultimate dream is to design these systems at a high level of abstraction using engineering-based tools and programming languages, press a button, and…

Stochastic Pi Machine

Established: November 21, 2008

The Stochastic Pi Machine (SPiM) is a programming language for designing and simulating computer models of biological processes. The language is based on a mathematical formalism known as the pi-calculus, and the simulation algorithm is based on standard kinetic theory…


PhD Summer School brings top students to Cambridge

By Scarlet Schwiderski-Grosche, Senior Research Program Manager Pivoting from the Old World charm of High Tea to contemplating a dystopian AI-dominated future was among the many experiences facing more than 80 doctoral students at the PhD Summer School, held July 4–8…

August 2016

Microsoft Research Blog