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.
- Boyan Yordanov, Neil Dalchau, Paul Grant, Michael Pedersen, Stephen Emmott, Jim Haseloff, and Andrew Phillips, A Computational Method for Automated Characterization of Genetic Components, in ACS Synthetic Biology, vol. 3, no. 8, pp. 578-588, American Chemical Society, February 2014.
- Boyan Yordanov, Neil Dalchau, Paul Grant, Jim Haseloff, Stephen Emmott, and Andrew Phillips, Automated Ratiometric Characterization using GEC, in International Workshop on Biodesign Automation, July 2013.
- 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.
- 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.
- GEC was developed by Michael Pedersen, Matthew Lakin, Filippo Polo, Rasmus Petersen, Colin Gravill, Neil Dalchau 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.
- 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.