Biological Computation

Biological Computation

Established: October 1, 2007

Our group is developing theory, methods and software for understanding and programming information processing in biological systems. Our research currently focuses on three main areas: Molecular Programming, Synthetic Biology and Stem Cell 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 development, and how the adaptive immune system detects viruses and cancers. 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 biological computation platform.








Ten simple rules for effective computational research
James Osborne, Miguel Bernabeu, Maria Bruna, Ben Calderhead, Jonathan Cooper, Neil Dalchau, Sara-Jane Dunn, Alexander Fletcher, Derek Groen, Bernhard Knapp, Gary Mirams, Joe Pitt-Francis, Biswa Sengupta, David Wright, Christian Yates, David Gavaghan, Stephen Emmott, Charlotte Deane, in PLoS Computational Biology, PLoS Computational Biology (Public Library of Science Computational Biology),, March 1, 2014, View abstract, Download PDF












Dr Andrew Phillips Link description

Programming DNA


September 19, 2016


Professor Georg Seelig, Neil Dalchau, Andrew Phillips,


Modelling Immune System Processes

Established: June 1, 2009

Immunodominance lies at the heart of the immune system's ability to distinguish self from non-self. Understanding and possibly controlling the mechanisms that govern immunodominance will have profound consequences for the fight against several classes of diseases, including viral infections and…

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…

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

Here’s why Microsoft cares about basic research — and you should, too

Posted by Jeannette M. Wing The Internet, global positioning systems, the laser, multi-touch displays and search engines. What do these have in common? These technologies, which we take for granted today, came out of basic scientific research. Basic research…

October 2015

Microsoft Research Blog

U.K. Researcher Garners TR35 Accolade

By Douglas Gantenbein, Senior Writer, Microsoft News Center Pioneering research into programming biology has earned a Microsoft Research scientist a prestigious TR35 award, presented by Technology Review. Andrew Phillips, a 34-year-old scientist who leads the Biological Computation group at Microsoft…

August 2011

Microsoft Research Blog

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