Portrait of Andrew Phillips

Andrew Phillips

Head of Biological Computation Group


I am currently developing methods and software for understanding and programming information processing in biological systems. One of my aims is to develop a language in which large models of biological systems can be programmed from simple components in a modular fashion. An ultimate goal is to be able to program and simulate a biological system on a computer, before implementing the final design inside a living organism.



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 cancer. We have been attempting to understand the computation performed by the immune system that gives rise to immunodominance, using techniques from computer science, applied mathematics and Bayesian statistics.    

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 structures that are stable inside cells, and their interactions can be precisely controlled by modifying their nucleotide sequences. However, designing correct and robust nucleic acid devices is a major challenge, due to high system complexity…

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 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…

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 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

















Dr Andrew Phillips Link description

Programming DNA


September 19, 2016


Georg Seelig, Neil Dalchau, Andrew Phillips


Andrew Phillips leads the Biological Computation Group at Microsoft Research Cambridge, where he is developing methods and software for analysing and programming biological systems. Andrew received a postgraduate degree in Computer Science from the University of Cambridge, under a scholarship from the Barbados government. He pursued a PhD in the Department of Computing at Imperial College London, where he developed methods for specifying and implementing secure mobile applications. He joined Microsoft Research Cambridge in 2005, to conduct research at the intersection of programming language theory and biological modelling. In 2011 he received a Technology Review TR35 award for work on computer-assisted genetic engineering. The award recognises the world’s leading innovators under the age of 35. His hobbies include snowboarding and kite-surfing, he is a black belt in Chinese kick-boxing and is a qualified ballroom dancing instructor.


Microsoft Research (2005 – Present) Researcher at Microsoft Research Cambridge, working on Programming Languages for Biology.

Microsoft Research (2004) Intern at Microsoft Research Cambridge, working on Simulating Biological Systems in the Stochastic Pi-calculus. Supervised by Luca Cardelli (May 4 – July 23 2004).

Imperial College (2000-2004) Research Assistant in the Department of Computing (October 2000 – April 2002).
Coordinator for the MSc. in Computing for Industry (2004).

CNES French Space Agency (1999) Computer programming placement at the CNES (French Space Agency). Deployed a quality management application on the Web, used to monitor satellites in orbit (3 months). Oracle Developer 2000/Server – Forms 4.5 – Windows NT Server- PL/SQL – Oracle 7 DBMS

Banks Barbados Breweries (1998) Assistant Electrical Control Engineer at Banks (Barbados) Breweries. Maintained and calibrated plant equipment, upgraded Programmable Logic Controllers (6 weeks). PLC ladder logic – VISIO4 CAD

LAAS Systems Laboratory (1997) Computer programming placement at the Laboratoire d’Analyse et d’Architecture des Systemes (LAAS), a French research laboratory specialized in Systems Engineering. Developed a program to test the dispersion characteristics of High-Frequency transistors, used in satellite telecommunications. Composants Circuits Microondes (CCM) research group (6 weeks). HT Basic – IEEE Network Bus – HP Programmable HF Impedance meter


PhD (2000-2004) Computer Science student in the Department of Computing, Imperial College. Thesis title: Specifying and Implementing Secure Mobile Applications in the Channel Ambient System. Supervised by Susan Eisenbach, Nobuko Yoshida and Bashar Nuseibeh. Thesis examined by Andy Gordon and Julian Rathke. Supported by an Overseas Research Scholarship. Awarded a department studentship. Attended the 13th International Summer School for Computer Science Researchers: Foundations of Wide Area Network Programming. Lipari Island, July 1-14, 2001.

Masters (1999-2000) Computer Science student at the University of Cambridge, Churchill College. Postgraduate degree in Computer Science obtained with distinction. Awarded a college scholarship for outstanding results. Awarded a department prize for outstanding dissertation: Implementation of a Mobile Agent Language based on Pi-Calculus. Supervised by Peter Sewell, Theory and Semantics Group, Computer Laboratory.

Master of Engineering (1997-2000) Computer and Electronic Engineering student at the Institut National des Sciences Appliquées (INSA) in Toulouse, France. Diplôme d’Ingénieur (MEng) obtained with first class honours. Final year spent at the University of Cambridge, as part of a joint degree programme.

Undergraduate (1995-1997) Electrical Engineering student at the Université Paul Sabatier in Toulouse, France. Undergraduate degree obtained with first class honours. Award for best examination results.

Secondary Education (1988-1995) Student of Harrison College, Barbados, West Indies. Awarded a government scholarship for outstanding A-level results (1995). Received a national award for best O-level results (1993).


Entrepreneurship Prize winner in the Imperial College Ideas Challenge 2001, run by the Entrepreneurship Centre. Received an award of £1000 for the idea: An input device for pocket computers, PDAs, mobile phones, which makes keyboards obsolete.

Extreme Sports Snowboarding, Kite-Surfing, Surfing. Wu Shu Kwan Chinese Kickboxing, black belt. Qualified kickboxing instructor. Thai Boxing (2 years).

Ballroom Dancing Awarded the Imperial Society of Teachers of Dancing gold* medal with honours. Qualified ballroom instructor.
Member of the Imperial College Dance Team. Competed on the university circuit, 2001-2003.

Chess Regional junior champion, Haute Garonne, France 1996.  National champion by age group, Barbados, 1988-1995.  World junior championships, Puerto Rico, 1986, 1987.