It’s frustrating chatting with Andrew Phillips – for all the right reasons. Once you get your head around the work he is doing, you just want to know more. To me at least, it’s some of the most interesting work that is happening at Microsoft.
I met Andrew a few years back when I was still working at Microsoft in the UK and had the chance to visit our Microsoft Research lab in Cambridge, England, for the day. Andrew was one of a number of people who presented on that day and his work was breathtaking – I remember chatting with a group of European MP’s who were also there and the resounding feeling was that more people should know that Microsoft does this kind of work. Well, it’s taken 2 years but I’ve finally gotten around to it – and thanks to the team in Cambridge I’m helped by a video with Andrew doing a far better job of explaining his work than I can. I’ll give it a shot though.
Andrew is the head of biological computation at the lab and received his Masters degree at nearby Cambridge University. His background is in theoretical computer science, with a focus on programming language development and his relationship with Microsoft began while studying for his PhD at London’s Imperial College. There he met Luca Cardelli, a Microsoft researcher, who was working on ambient calculus and using it to describe and theorize about concurrent computer systems, such as the Internet, and also biological systems, such as cells and viruses. As a visiting professor at Imperial, he and Andrew discussed the possibility of an internship at the Cambridge lab. Andrew’s internship application was successful and he began working with Luca on simulation algorithms for stochastic Pi calculus, a programming language for concurrent systems. His internship went so well that he stayed on as a post-doctoral researcher with a focus on developing stochastic Pi for biological modeling. At this point you’re probably thinking the same as me – why is biological modeling of interest to Microsoft?
It turns out that there are lots of similarities between modeling concurrent systems and biological systems. Just like a computer, biological systems perform information processing, which determines how they grow, reproduce and survive in a hostile environment. Understanding this biological information processing is key to our understanding of life itself. It’s probably easier to understand some of the output of this work – specifically the Stochastic Pi Machine, or SPiM as it’s often referred to. SPiM is a programming language for designing and simulating models of biological processes. The language features a simple, graphical notation for modeling a range of biological systems – meaning a biologist does not have to write code to create a model, they just draw pictures. You can think of SPiM as a visual programming language for biology. In addition, SPiM can be used to model large systems incrementally, by directly composing simpler models of subsystems. Historically, the field of biology has struggled with systems so complex they become unwieldy to analyze. The modular approach that is often used in computer programming is directly applicable to this challenge.
So where is all this taking us, I asked Andrew, and why is Microsoft involved in this field?
“Understanding biological systems is too complex a challenge to leave to trial and error,” Andrew said.
In doing so he acknowledged that much biological research to date has relied on laboratory-based testing. Biological programming languages provide scientists with the means to model biological systems, such as parts of our immune system, and then understand how they react to new types of viruses or new forms of treatment – entirely on a computer. Andrew is in fact developing a whole suite of biological modeling languages, not only for modeling complex systems such as the Immune system, but also for programming molecular computers made of DNA, and programming groups of cells to communicate with each other to perform complex functions. “The potential is tremendous,” Andrew said, “and software holds the key.” And that last statement is the key to much of the work of Microsoft Research. Software has the potential to help us understand and address some of the biggest challenges in society and understanding biological systems holds the key to some real breakthroughs. The real impact of this work hits home in the video when Jim Haseloff from Cambridge University says:
“all of the technologies we need to feed ourselves, to clothe ourselves, to provide materials for the modern world derive from nonrenewable sources and we need to move towards renewable sources and use sustainable technologies…largely they’re biologically based, so the ability to program biological systems is hugely valuable in that endeavor.”
As Andrew said, the potential is enormous Andrew explains that this work has wide-ranging potential not only in helping to understand disease, but in developing our ability to engineer more efficient ways of harnessing the sun’s energy for food production and in our our ability to transform carbon dioxide and other carbon sources into biofuels or electricity. He quoted the American physicist Richard Feynman in saying:
“what I cannot create, I do not understand.”
A Pharma 2020 Executive Summary published a couple of years ago by PWC states: “we anticipate that, by 2020, virtual cells, organs and animals will be widely employed in pharmaceutical research.” Andrew explains that the ability to understand how cells work lies at the heart of our ability to understand disease. If we can understand and then reprogram how the cell works, we could in principle reprogram the cells of our immune system to fight disease better.
I find this stuff hard to get my head around at times but in talking with Andrew a few things became clearer; Microsoft Research really is home to some of the smartest people on the planet and they’re tackling some of the biggest challenges faced by society. And software, allied to these amazing minds, really does hold the key to enormous breakthroughs. I feel good to be a part of that world. As I finished up chatting with Andrew, he left me with one final question that opened my eyes to an entirely new world…
“Could the software industry of programming cells one day rival that of programming silicon?”
I’ll come back to that one when my brain stops hurting!
sidenote: Project Tuva from Microsoft Research is a fascinating look at the world of science through the lens of Richard Feynman and his lectures.