WEBVTT 99:59:59.999 --> 99:59:59.999 The second half of the last century 99:59:59.999 --> 99:59:59.999 was completely defined by a technological revolution: 99:59:59.999 --> 99:59:59.999 the software revolution. 99:59:59.999 --> 99:59:59.999 The ability to program electrons on a material called silicon 99:59:59.999 --> 99:59:59.999 made possible technologies, companies and industries 99:59:59.999 --> 99:59:59.999 that were at one point unimaginable to many of us, 99:59:59.999 --> 99:59:59.999 but which have now fundamentally changed the way the world works. 99:59:59.999 --> 99:59:59.999 The first half of this century, though, 99:59:59.999 --> 99:59:59.999 is going to be transformed by a new software revolution: 99:59:59.999 --> 99:59:59.999 the living software revolution. 99:59:59.999 --> 99:59:59.999 And this will be powered by the ability to program biochemistry 99:59:59.999 --> 99:59:59.999 on a material called biology, 99:59:59.999 --> 99:59:59.999 and doing so will enable us to harness the properties of biology 99:59:59.999 --> 99:59:59.999 to generate new kinds of therapies, 99:59:59.999 --> 99:59:59.999 to repair damaged tissue, 99:59:59.999 --> 99:59:59.999 to reprogram faulty cells 99:59:59.999 --> 99:59:59.999 or even build programmable operating systems out of biochemistry. 99:59:59.999 --> 99:59:59.999 If we can realize this, and we do need to realize it, 99:59:59.999 --> 99:59:59.999 its impact will be so enormous 99:59:59.999 --> 99:59:59.999 that it will make the first software revolution pale in comparison, 99:59:59.999 --> 99:59:59.999 and that's because living software would transform the entirety of medicine, 99:59:59.999 --> 99:59:59.999 agriculture, and energy, 99:59:59.999 --> 99:59:59.999 and these are sectors that dwarf those dominated by IT. 99:59:59.999 --> 99:59:59.999 Imagine programmable plants that fix nitrogen more effectively 99:59:59.999 --> 99:59:59.999 or resist emerging fungal pathogens, 99:59:59.999 --> 99:59:59.999 or even programming crops to be perennial rather than annual 99:59:59.999 --> 99:59:59.999 so you could double your crop yields each year. 99:59:59.999 --> 99:59:59.999 That would transform agriculture 99:59:59.999 --> 99:59:59.999 and how we'll keep our growing and global population fed. 99:59:59.999 --> 99:59:59.999 Or imagine programmable immunity, 99:59:59.999 --> 99:59:59.999 designing and harnessing molecular devices that guide your immune system 99:59:59.999 --> 99:59:59.999 to detect, eradicate, or even prevent disease. 99:59:59.999 --> 99:59:59.999 This would transform medicine 99:59:59.999 --> 99:59:59.999 and how we'll keep our growing and aging population healthy. 99:59:59.999 --> 99:59:59.999 We already have many of the tools that will make living software a reality. 99:59:59.999 --> 99:59:59.999 We can precisely edit genes with CRISPR. 99:59:59.999 --> 99:59:59.999 We can rewrite the genetic code one base at a time. 99:59:59.999 --> 99:59:59.999 We can even build functioning synthetic circuits out of DNA. 99:59:59.999 --> 99:59:59.999 But figuring out how and when to wield these tools 99:59:59.999 --> 99:59:59.999 is still a process of trial and error. 99:59:59.999 --> 99:59:59.999 It needs deep expertise, 99:59:59.999 --> 99:59:59.999 years of specialization, 99:59:59.999 --> 99:59:59.999 and experimental protocols are difficult to discover 99:59:59.999 --> 99:59:59.999 and all too often difficult to reproduce. 99:59:59.999 --> 99:59:59.999 And, you know, we have a tendency in biology to focus a lot on the parts 99:59:59.999 --> 99:59:59.999 but we all know that something like flying 99:59:59.999 --> 99:59:59.999 wouldn't be understood by only studying feathers. 99:59:59.999 --> 99:59:59.999 So programming biology is not yet as simple as programming your computer, 99:59:59.999 --> 99:59:59.999 and then to make matters worse 99:59:59.999 --> 99:59:59.999 living systems largely bear no resemblance to the engineered systems 99:59:59.999 --> 99:59:59.999 that you and I program every day. 99:59:59.999 --> 99:59:59.999 In contrast to engineered systems, living systems self-generate, 99:59:59.999 --> 99:59:59.999 they self-organize, 99:59:59.999 --> 99:59:59.999 they operate at molecular scales, 99:59:59.999 --> 99:59:59.999 and these molecular-level interactions 99:59:59.999 --> 99:59:59.999 lead generally to robust macro-scale output. 99:59:59.999 --> 99:59:59.999 They can even self-repair. 99:59:59.999 --> 99:59:59.999 Consider, for example, the humble household plant, 99:59:59.999 --> 99:59:59.999 like that one that sat on your mantlepiece at home 99:59:59.999 --> 99:59:59.999 that you keep forgetting to water. 99:59:59.999 --> 99:59:59.999 Every day, despite your neglect, that plant has to wake up 99:59:59.999 --> 99:59:59.999 and figure out how to allocate its resources. 99:59:59.999 --> 99:59:59.999 Will it grow, photosynthesize, produce seeds, or flower? 99:59:59.999 --> 99:59:59.999 And that's a decision that has to be made at the level of the whole organism. 99:59:59.999 --> 99:59:59.999 But a plant doesn't have a brain to figure all of that out. 99:59:59.999 --> 99:59:59.999 It has to make do with the cells on its leaves. 99:59:59.999 --> 99:59:59.999 They have to respond to the environment 99:59:59.999 --> 99:59:59.999 and make the decisions that affect the whole plant. 99:59:59.999 --> 99:59:59.999 So somehow there must be a program running inside these cells, 99:59:59.999 --> 99:59:59.999 a program that responds to input signals and cues 99:59:59.999 --> 99:59:59.999 and shapes what that cell will do. 99:59:59.999 --> 99:59:59.999 And then those programs must operate 99:59:59.999 --> 99:59:59.999 in a distributed way across individual cells 99:59:59.999 --> 99:59:59.999 so that they can coordinate and that plant can grow and flourish. 99:59:59.999 --> 99:59:59.999 If we could understand these biological programs, 99:59:59.999 --> 99:59:59.999 if we could understand biological computation, 99:59:59.999 --> 99:59:59.999 it would transform our ability to understand how and why 99:59:59.999 --> 99:59:59.999 cells do what they do. 99:59:59.999 --> 99:59:59.999 Because, if we understood these programs, 99:59:59.999 --> 99:59:59.999 we could debug them when things go wrong, 99:59:59.999 --> 99:59:59.999 or we could learn from them how to design the kind of synthetic circuits 99:59:59.999 --> 99:59:59.999 that truly exploit 99:59:59.999 --> 99:59:59.999 the computational power of biochemistry. NOTE Paragraph 99:59:59.999 --> 99:59:59.999 My passion about this idea led me to a career in research 99:59:59.999 --> 99:59:59.999 at the interface of maths, computer science, and biology, 99:59:59.999 --> 99:59:59.999 and in my work I focus on the concept of biology as computation. 99:59:59.999 --> 99:59:59.999 And that means asking what the cells compute, 99:59:59.999 --> 99:59:59.999 and how can we uncover these biological programs? 99:59:59.999 --> 99:59:59.999 And I started to ask these questions together with some brilliant collaborators 99:59:59.999 --> 99:59:59.999 at Microsoft Research and the University of Cambridge, 99:59:59.999 --> 99:59:59.999 where together we wanted to understand 99:59:59.999 --> 99:59:59.999 the biological program running inside a unique type of cell: 99:59:59.999 --> 99:59:59.999 an embryonic stem cell. 99:59:59.999 --> 99:59:59.999 These cells are unique because they're totally naïve. 99:59:59.999 --> 99:59:59.999 They can become anything they want: 99:59:59.999 --> 99:59:59.999 a brain cell, a heart cell, a bone cell, a lung cell, 99:59:59.999 --> 99:59:59.999 any adult cell type. 99:59:59.999 --> 99:59:59.999 This naïvety, it sets them apart, 99:59:59.999 --> 99:59:59.999 but it also ignited the imagination of the scientific community, 99:59:59.999 --> 99:59:59.999 who realized, if we could tap into that potential, 99:59:59.999 --> 99:59:59.999 we would have a powerful tool for medicine. 99:59:59.999 --> 99:59:59.999 If we could figure out how these cells make the decision 99:59:59.999 --> 99:59:59.999 to become one cell type or another, 99:59:59.999 --> 99:59:59.999 we might be able to harness them 99:59:59.999 --> 99:59:59.999 to generate cells that we need to repair diseased or damaged tissue. 99:59:59.999 --> 99:59:59.999 But realizing that vision is not without its challenges, 99:59:59.999 --> 99:59:59.999 not least because these particular cells, 99:59:59.999 --> 99:59:59.999 they emerge just six days after conception, 99:59:59.999 --> 99:59:59.999 and then within a day or so, they're gone. 99:59:59.999 --> 99:59:59.999 They have set off down the different paths 99:59:59.999 --> 99:59:59.999 that form all the structures and organs of your adult body. 99:59:59.999 --> 99:59:59.999 But it turns out that cell fates are a lot more plastic 99:59:59.999 --> 99:59:59.999 than we might have imagined. 99:59:59.999 --> 99:59:59.999 About 13 years ago, some scientists showed something truly revolutionary. 99:59:59.999 --> 99:59:59.999 By inserting just a handful of genes into an adult cell, 99:59:59.999 --> 99:59:59.999 like one of your skin cells, 99:59:59.999 --> 99:59:59.999 you can transform that cell back to the naïve state. 99:59:59.999 --> 99:59:59.999 And it's a process that's actually known as reprogramming, 99:59:59.999 --> 99:59:59.999 and it allows us to imagine a kind of stem cell utopia, 99:59:59.999 --> 99:59:59.999 the ability to take a sample of a patient's own cells, 99:59:59.999 --> 99:59:59.999 transform them back to the naïve state, 99:59:59.999 --> 99:59:59.999 and use those cells to make whatever that patient might need, 99:59:59.999 --> 99:59:59.999 whether it's brain cells or heart cells. 99:59:59.999 --> 99:59:59.999 But over the last decade or so, 99:59:59.999 --> 99:59:59.999 figuring out how to change cell fate, 99:59:59.999 --> 99:59:59.999 it's still a process of trial and error. 99:59:59.999 --> 99:59:59.999 Even in cases where we've uncovered successful experimental protocols, 99:59:59.999 --> 99:59:59.999 they're still inefficient, 99:59:59.999 --> 99:59:59.999 and we lack a fundamental understanding of how and why they work. 99:59:59.999 --> 99:59:59.999 If you've figured out how to change a stem cell into a heart cell, 99:59:59.999 --> 99:59:59.999 that hasn't got any way of telling you how to change a stem cell 99:59:59.999 --> 99:59:59.999 into a brain cell. 99:59:59.999 --> 99:59:59.999 So we wanted to understand the biological program 99:59:59.999 --> 99:59:59.999 running inside an embryonic stem cell, 99:59:59.999 --> 99:59:59.999 and understanding the computation performed by a living system 99:59:59.999 --> 99:59:59.999 starts with asking a devastatingly simple question: 99:59:59.999 --> 99:59:59.999 what is it that system actually has to do? 99:59:59.999 --> 99:59:59.999 Now, computer science actually has a set of strategies for dealing 99:59:59.999 --> 99:59:59.999 with what it is that software and hardware are meant to do. 99:59:59.999 --> 99:59:59.999 When you write a program, you code a piece of software, 99:59:59.999 --> 99:59:59.999 you want that software to run correctly. 99:59:59.999 --> 99:59:59.999 You want performance, functionality. 99:59:59.999 --> 99:59:59.999 You want to prevent bugs. 99:59:59.999 --> 99:59:59.999 They can cost you a lot. 99:59:59.999 --> 99:59:59.999 So when a developer writes a program, 99:59:59.999 --> 99:59:59.999 they could write down a set of specifications. 99:59:59.999 --> 99:59:59.999 These are what your program should do. 99:59:59.999 --> 99:59:59.999 Maybe it should compare the size of two numbers, 99:59:59.999 --> 99:59:59.999 or order numbers by increasing size. 99:59:59.999 --> 99:59:59.999 Technology exists 99:59:59.999 --> 99:59:59.999 that allows us automatically to check 99:59:59.999 --> 99:59:59.999 whether our specifications are satisfied, 99:59:59.999 --> 99:59:59.999 whether that program does what it should do. 99:59:59.999 --> 99:59:59.999 And so our idea was that in the same way, 99:59:59.999 --> 99:59:59.999 experimental observations, things we measure in the lab, 99:59:59.999 --> 99:59:59.999 they correspond to specifications 99:59:59.999 --> 99:59:59.999 of what the biological program should do. 99:59:59.999 --> 99:59:59.999 So we just needed to figure out a way 99:59:59.999 --> 99:59:59.999 to encode this new type of specification. 99:59:59.999 --> 99:59:59.999 So let's say you've been busy in the lab and you've been measuring your genes 99:59:59.999 --> 99:59:59.999 and you've found that if Gene A is active, 99:59:59.999 --> 99:59:59.999 then Gene B or Gene C seems to be active. 99:59:59.999 --> 99:59:59.999 We can write that observation down as a mathematical expression 99:59:59.999 --> 99:59:59.999 if we can use the language of logic. 99:59:59.999 --> 99:59:59.999 If A, then B or C. 99:59:59.999 --> 99:59:59.999 Now, this is a very simple example, OK. 99:59:59.999 --> 99:59:59.999 It's just to illustrate the point. 99:59:59.999 --> 99:59:59.999 We can encode truly rich expressions 99:59:59.999 --> 99:59:59.999 that actually capture the behavior of multiple genes or proteins over time 99:59:59.999 --> 99:59:59.999 across multiple different experiments. 99:59:59.999 --> 99:59:59.999 And so by translating our observations 99:59:59.999 --> 99:59:59.999 into mathematical expression in this way, 99:59:59.999 --> 99:59:59.999 it becomes possible to test whether or not those observations 99:59:59.999 --> 99:59:59.999 can emerge from a program of genetic interactions. NOTE Paragraph 99:59:59.999 --> 99:59:59.999 And we developed a tool to do just this. 99:59:59.999 --> 99:59:59.999 We were able to use this tool to encode observations 99:59:59.999 --> 99:59:59.999 as mathematical expressions, 99:59:59.999 --> 99:59:59.999 and then that tool would allow us to uncover the genetic program 99:59:59.999 --> 99:59:59.999 that could explain them all. 99:59:59.999 --> 99:59:59.999 And we then apply this approach 99:59:59.999 --> 99:59:59.999 to uncover the genetic program running inside embryonic stem cells 99:59:59.999 --> 99:59:59.999 to see if we could understand how to induce that naïve state. 99:59:59.999 --> 99:59:59.999 And this tool was actually built 99:59:59.999 --> 99:59:59.999 on a ?? that's deployed routinely around the world 99:59:59.999 --> 99:59:59.999 for conventional software verification. 99:59:59.999 --> 99:59:59.999 So we started with a set of nearly 50 different specifications 99:59:59.999 --> 99:59:59.999 that we generated from experimental observations of embryonic stem cells, 99:59:59.999 --> 99:59:59.999 and by encoding these observations in this tool, 99:59:59.999 --> 99:59:59.999 we were able to uncover the first molecular program 99:59:59.999 --> 99:59:59.999 that could explain all of them. 99:59:59.999 --> 99:59:59.999 Now, that's kind of a feat in and of itself, right? 99:59:59.999 --> 99:59:59.999 Being able to reconcile all of these different observations 99:59:59.999 --> 99:59:59.999 is not the kind of thing you can do on the back of an envelope, 99:59:59.999 --> 99:59:59.999 even if you have a really big envelope. 99:59:59.999 --> 99:59:59.999 Because we'd got this kind of understanding, 99:59:59.999 --> 99:59:59.999 we could go one step further. 99:59:59.999 --> 99:59:59.999 We could use this program to predict what this cell might do 99:59:59.999 --> 99:59:59.999 in conditions we hadn't yet tested. 99:59:59.999 --> 99:59:59.999 We could probe the program in ??. 99:59:59.999 --> 99:59:59.999 And so we did just that: 99:59:59.999 --> 99:59:59.999 we generated predictions that we tested in the lab, 99:59:59.999 --> 99:59:59.999 and we found that this program was highly predictive. 99:59:59.999 --> 99:59:59.999 It told us how we could accelerate progress 99:59:59.999 --> 99:59:59.999 back to the naïve state quickly and efficiently. 99:59:59.999 --> 99:59:59.999 It told us which genes to target to do that, 99:59:59.999 --> 99:59:59.999 which genes might even hinder that process. 99:59:59.999 --> 99:59:59.999 We even found the program predicted the order in which genes would switch on. 99:59:59.999 --> 99:59:59.999 So this approach really allowed us to uncover the dynamics 99:59:59.999 --> 99:59:59.999 of what the cells are doing. 99:59:59.999 --> 99:59:59.999 Now, what we've developed, it's not a method 99:59:59.999 --> 99:59:59.999 that's specific to stem cell biology. 99:59:59.999 --> 99:59:59.999 Rather, it allows us to make sense 99:59:59.999 --> 99:59:59.999 of the computation being carried out by the cell 99:59:59.999 --> 99:59:59.999 in the context of genetic interactions. 99:59:59.999 --> 99:59:59.999 So really, it's just one building block. 99:59:59.999 --> 99:59:59.999 The field urgently needs to develop new approaches 99:59:59.999 --> 99:59:59.999 to understand biological computation more broadly 99:59:59.999 --> 99:59:59.999 and at different levels, 99:59:59.999 --> 99:59:59.999 from DNA right through to the flow of information between cells. 99:59:59.999 --> 99:59:59.999 Only this kind of transformative understanding 99:59:59.999 --> 99:59:59.999 will enable us to harness biology in ways that are predictable and reliable. 99:59:59.999 --> 99:59:59.999 But to program biology, we will also need to develop 99:59:59.999 --> 99:59:59.999 the kinds of tools and languages 99:59:59.999 --> 99:59:59.999 that allow both experimentalists and computational scientists 99:59:59.999 --> 99:59:59.999 to design biological function 99:59:59.999 --> 99:59:59.999 and have those designs compile down to the machine code of the cell, 99:59:59.999 --> 99:59:59.999 its biochemistry, 99:59:59.999 --> 99:59:59.999 so that we could then build those structures. 99:59:59.999 --> 99:59:59.999 Now, that's something akin to a living software compiler, 99:59:59.999 --> 99:59:59.999 and I'm proud to be part of a team at Microsoft 99:59:59.999 --> 99:59:59.999 that's working to develop one. 99:59:59.999 --> 99:59:59.999 Though to say it's a grand challenge is kind of an understatement, 99:59:59.999 --> 99:59:59.999 but if it's realized, 99:59:59.999 --> 99:59:59.999 it would be the final bridge between software and wetware. 99:59:59.999 --> 99:59:59.999 More broadly, though, programming biology is only going to be possible 99:59:59.999 --> 99:59:59.999 if we can transform the field into being truly interdisciplinary. 99:59:59.999 --> 99:59:59.999 It needs us to bridge the physical and the life sciences, 99:59:59.999 --> 99:59:59.999 and scientists from each of these disciplines 99:59:59.999 --> 99:59:59.999 need to be able to work together with common languages 99:59:59.999 --> 99:59:59.999 and to have shared scientific questions. NOTE Paragraph 99:59:59.999 --> 99:59:59.999 In the long term, it's worth remembering that many of the giant software companies 99:59:59.999 --> 99:59:59.999 and the technology that you and I work with every day 99:59:59.999 --> 99:59:59.999 could hardly have been imagined 99:59:59.999 --> 99:59:59.999 at the time we first started programming on silicon microchips, 99:59:59.999 --> 99:59:59.999 and if we start now to think about the potential for technology 99:59:59.999 --> 99:59:59.999 enabled by computational biology, 99:59:59.999 --> 99:59:59.999 we'll see some of the steps that we need to take along the way 99:59:59.999 --> 99:59:59.999 to make that a reality. 99:59:59.999 --> 99:59:59.999 Now, there is the sobering thought that this kind of technology 99:59:59.999 --> 99:59:59.999 could be open to misuse. 99:59:59.999 --> 99:59:59.999 If we're willing to talk about the potential 99:59:59.999 --> 99:59:59.999 for programming immune cells, 99:59:59.999 --> 99:59:59.999 we should also be thinking about the potential of bacteria 99:59:59.999 --> 99:59:59.999 engineered to evade them. 99:59:59.999 --> 99:59:59.999 There might be people willing to do that. 99:59:59.999 --> 99:59:59.999 Now, one reassuring thought in this 99:59:59.999 --> 99:59:59.999 is that, well, less so for the scientists, 99:59:59.999 --> 99:59:59.999 is that biology is a fragile thing to work with. 99:59:59.999 --> 99:59:59.999 So programming biology is not going to be something 99:59:59.999 --> 99:59:59.999 you'll be doing in your garden shed. 99:59:59.999 --> 99:59:59.999 But because we're at the outset of this, 99:59:59.999 --> 99:59:59.999 we can move forward with our eyes wide open. 99:59:59.999 --> 99:59:59.999 We can ask the difficult questions up front, 99:59:59.999 --> 99:59:59.999 we can put in place the necessary safeguards, 99:59:59.999 --> 99:59:59.999 and as part of that, we'll have to think about our ethics. 99:59:59.999 --> 99:59:59.999 We'll have to think about putting bounds 99:59:59.999 --> 99:59:59.999 on the implementation of biological function. 99:59:59.999 --> 99:59:59.999 So as part of this research in bioethics will have to be a priority. 99:59:59.999 --> 99:59:59.999 It can't be relegated to second place 99:59:59.999 --> 99:59:59.999 in the excitement of scientific innovation. 99:59:59.999 --> 99:59:59.999 But the ultimate prize, 99:59:59.999 --> 99:59:59.999 the ultimate destination on this journey, 99:59:59.999 --> 99:59:59.999 would be breakthrough applications and breakthrough industries 99:59:59.999 --> 99:59:59.999 in areas from agriculture and medicine to energy and materials 99:59:59.999 --> 99:59:59.999 and even computing itself. 99:59:59.999 --> 99:59:59.999 Imagine, one day we could be powering the planet sustainably 99:59:59.999 --> 99:59:59.999 on the ultimate green energy if we could mimic something 99:59:59.999 --> 99:59:59.999 that plants figured out millennia ago: 99:59:59.999 --> 99:59:59.999 how to harness the Sun's energy with an efficiency that is unparalleled 99:59:59.999 --> 99:59:59.999 by our current solar cells. 99:59:59.999 --> 99:59:59.999 If we understood that program of quantum interactions 99:59:59.999 --> 99:59:59.999 that allow plants to absorb sunlight so efficiently, 99:59:59.999 --> 99:59:59.999 we might be able to translate that into building synthetic DNA circuits 99:59:59.999 --> 99:59:59.999 that offer the material for better solar cells. 99:59:59.999 --> 99:59:59.999 There are teams and scientists working on the fundamentals of this right now, 99:59:59.999 --> 99:59:59.999 so perhaps if it got the right attention and the right investment, 99:59:59.999 --> 99:59:59.999 it could be realized in 10 or 15 years. 99:59:59.999 --> 99:59:59.999 So we are at the beginning of a technological revolution. 99:59:59.999 --> 99:59:59.999 Understanding this ancient type of biological computation 99:59:59.999 --> 99:59:59.999 is the critical first step, and if we can realize this, 99:59:59.999 --> 99:59:59.999 we would enter in the era of an operating system 99:59:59.999 --> 99:59:59.999 that runs living software. 99:59:59.999 --> 99:59:59.999 Thank you very much. 99:59:59.999 --> 99:59:59.999 (Applause)