The Biological Computation group is conducting research to uncover fundamental principles of biological computation: what cells compute, how and why. We focus primarily on developing computational techniques that enable multiscale modelling, from molecules to cells to systems. Our work 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 single cells that cooperate 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 in the human body, 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.
Press
- Coming Soon to a Lab Near You: Drag-and-Drop Virtual Worlds. Science (2011).
- Tech Meets Bio. Nature Medicine (2010).
- Modelling of Circadian Oscillator NetworksCircadian oscillators provide rhythmic temporal cues for a range of biological processes in animals and plants, enabling anticipation of the day/night cycle and enhancing fitness. Near 24 h oscillations are maintained at the gene transcription level, which integrate environmental cues such as light and temperature and internal cues such as metabolism and signalling. Characterising these interactions is vital for understanding how physiology is optimised with respect to the time of day.
- A programming language for composable DNA circuitsRecently, a range of information-processing circuits have been implemented in DNA by using strand displacement as their main computational mechanism. Examples include digital logic circuits and catalytic signal amplification circuits that function as efficient molecular detectors. As new paradigms for DNA computation emerge, the development of corresponding languages and tools for these paradigms will help to facilitate the design of DNA circuits and their compilation to nucleotide sequences.
- A Programming Language for Genetic Engineering of Living CellsSynthetic 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 have the design translated to DNA sequences that can be synthesised and put to work in living cells.
- Computational Modelling of Immune System ProcessesImmunodominance 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 cancer. In the first phase of this project, we focus on computational modelling of MHC class I peptide editing.
- Synthesizing Biological TheoriesThis tool enables biologists and modelers to construct high-level theories and models of biological systems, capturing biological hypotheses, inferred mechanisms, and experimental results within the same framework. Among the key features of the tool are convenient ways to represent several competing theories and the interactive nature of building and running the models using an intuitive, rigorous scenario-based visual language.
- Stochastic Pi MachineThe 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 of physical chemistry. The language features a simple graphical notation for modelling a range of biological systems, and can be used to model large systems incrementally, by directly composing simpler models of subsystems.
- Biological Computation Home
- Publications
Computational Science Lab
- Computational Science
- Biological Computation
- Computational Ecology and Environmental Science



