LBS. In one direction, within Systems Biology, the Language for Biochemical Systems (LBS) allows for the modelling of large sets of reactions (or more generally rules) in a structured and compact fashion. LBS provides constructs for modularity and for handling the combinatorial explosion often found in signalling pathways. LBS was initially developed during my PhD at the School of Informatics, University of Edinburgh under supervision of Gordon Plotkin.
GEC. In another direction, within Synthetic Biology, the language for Genetic Engineering of Cells (GEC) allows for the programming of genetic circuits at a high level of abstraction. GEC is based on the notion of standard biological/genetic parts. GEC programs specify circuits through constraints on otherwise unspecified parts, and allows for further abstraction to the level of devices through modules. GEC was initially developed during an internship at Microsoft Research Cambridge under the supervision of Andrew Phillips, and continues to be developed in collaboration with the Bio Computation group there.
Tools. A web-based tool for editing, compiling and simulating LBS and GEC models is available here from the Bio Computation group at Microsoft Research Cambridge. The tool is Silverlight-based and will prompt to install Silverlight if not already installed. Once Silverlight is installed, the tool should work on major browsers on Windows and Mac OS.
Current Directions. More recently, I am pushing these proof-of-concepts languages towards practical applications. For LBS, I am working on methods for automatic modular abstraction of "flat" reaction-based models; the aim is to enable modelling practitioners to reap the benefits of modularity without the need to learn and use modular languages. Automated methods may furthermore provide fundamental insights into the general level of modularity in biology. For GEC, I am adapting the methods to work with "real" data coming out of experimental labs, with an aim to connect GEC with relevant parts databases (e.g. JBEI's GD-ICE) and other relevant tools.
Publications. My PhD thesis is here. Before starting my PhD in Edinburgh I studied Computer Science at Aalborg University. My master's thesis on logics for the Applied Pi calculus, supervised by Hans Huttel, can be found here. Below is a list of peer-reviewed publications.
- A syntactic abstraction for rule-based languages with binding, ENTCS Vol. 277, Proc. Cs2Bio 2011 (pdf).
- A language for biochemical systems: design and formal specification (with Gordon Plotkin), Trans. Comp. Sys. Bio. Vol. 5945, 2010 (pdf).
- Towards programming languages for genetic engineering of living cells (with Andrew Phillips), J. R. S. Interface, 2009 (open access).
- A language for biochemical systems (with Gordon Plotkin), ENTCS Vol. 5307, Proc. CMSB 2008 (pdf).
- Compositional definitions of minimal flows in Petri nets, ENTCS Vol. 5307, Proc. CMSB 2008 (pdf).
- A logical characterisation of static equivalence (with Hans Huttel), ENTCS Vol. 173, Proc. MFPS 2007 (pdf).
History. Below is a brief history of my recent educational and professional activities.
| July 2011 - | Part time consultant/contractor at Microsoft Research Cambridge |
| Sep. 2010 - | EPSRC Interdisciplinary Postdoc Fellow, University of Cambridge |
| Jan. 2010 - | Self-employed mobile app developer (more) |
| Sep. 2006 - Feb. 2010 | PhD in Informatics, University of Edinburgh |
| Sep. 2005 - Aug. 2006 | MSc in Computer Science, Aalborg University, Denmark |
| Sep. 2004 - Aug. 2005 | Year abroad as part of MSc, Mathematics, University of Leeds |
| Sep. 2004 - Aug. 2005 | Software engineer, Geographical Information Systems, Geosoft, Leeds |
| Sep. 2001 - Aug. 2004 | BSc in Computer Science, Aalborg University, Denmark |