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 have the design translated to DNA sequences that can be synthesised and put to work in living cells.
We introduce such a programming language, which allows logical interactions between potentially undetermined proteins and genes to be expressed in a modular manner. Programs can be translated by a compiler into sequences of biological parts, a process which relies on logic programming and prototype databases containing known biological parts and protein interactions. Programs can also be translated to reactions, allowing simulations to be carried out. The language is a first step towards the automatic translation of high-level behavioural designs to low-level DNA code.
Genetic Engineering of Cells Simulator (2012-1227)
- Web Simulator (requires Silverlight 4.0 for Windows or Mac).
- User Manual and introductory Tutorial.
- Michael Pedersen's PhD thesis, which includes a chapter on GEC.
- Contact Andrew Phillips (firstname.lastname@microsoft.com) for any queries.
- Previous versions: 2011-0722
People
- Matthew Lakin, Filippo Polo, Rasmus Petersen, Neil Dalchau, Matthew Smith and Andrew Phillips. Microsoft Research.
- Michael Pedersen. Microsoft Research & University of Edinburgh.
- James Brown, Jim Ajioka, Jim Haseloff. University of Cambridge.
Acknowledgements
- GEC was developed by Michael Pedersen, Matthew Lakin, Filippo Polo, Rasmus Petersen and Andrew Phillips at Microsoft Research.
- GEC uses a Language for Biological Systems (LBS) as a target for compilation. LBS was developed by Michael Pedersen under a Microsoft PhD scholarship supervised by Gordon Plotkin, Centre for Systems Biology at Edinburgh, University of Edinburgh.
- A prototype Windows Simulator for GEC was developed by Michael Pedersen during a Microsoft Internship.
- Neil Dalchau assisted with the development of an ODE solver for GEC.
- The core GEC language was developed in F#.
- GEC uses Dynamic Data Display for visualising simulation plots.
- GEC uses Microsoft Automatic Graph Layout for visualising networks.
- Timothy J. Rudge, Paul J. Steiner, Andrew Phillips, and Jim Haseloff, Computational Modeling of Synthetic Microbial Biofilms, in ACS Synthetic Biology, vol. 1, no. 8, pp. 345-352, American Chemical Society, July 2012
- Neil Dalchau, Matthew Smith, Samuel Martin, James R Brown, Stephen Emmott, and Andrew Phillips, Towards the rational design of synthetic cells with prescribed population dynamics, in Journal of the Royal Society Interface, vol. 9, pp. 2883-2898, The Royal Society, May 2012
- Jacob Beal, Andrew Phillips, Douglas Densmore, and Yizhi Cai, High-Level Programming Languages for Biomolecular Systems, in Design and Analysis of Biomolecular Circuits: Engineering Approaches to Systems and Synthetic Biology, Springer, 2011
- Michael Pedersen and Andrew Phillips, Towards programming languages for genetic engineering of living cells, in Journal of the Royal Society Interface, 15 April 2009
Related Publications
- Coming Soon to a Lab Near You: Drag-and-Drop Virtual Worlds. Science 331:669-671. Februaruy 2011.
- Priscilla E. M. Purnick and Ron Weiss. The second wave of synthetic biology: from modules to systems. Nature Reviews Molecular Cell Biology 10:410-422. June 2009.
