0:00:00.750,0:00:05.259 The second half of the last century[br]was completely defined 0:00:05.283,0:00:07.282 by a technological revolution: 0:00:07.306,0:00:08.741 the software revolution. 0:00:09.313,0:00:14.121 The ability to program electrons[br]on a material called silicon 0:00:14.145,0:00:17.218 made possible technologies,[br]companies and industries 0:00:17.242,0:00:21.219 that were at one point[br]unimaginable to many of us, 0:00:21.243,0:00:25.158 but which have now fundamentally changed[br]the way the world works. 0:00:26.158,0:00:28.079 The first half of this century, though, 0:00:28.103,0:00:32.081 is going to be transformed[br]by a new software revolution: 0:00:32.105,0:00:34.540 the living software revolution. 0:00:34.921,0:00:38.971 And this will be powered by the ability[br]to program biochemistry 0:00:38.995,0:00:41.290 on a material called biology. 0:00:41.314,0:00:45.455 And doing so will enable us to harness[br]the properties of biology 0:00:45.479,0:00:48.135 to generate new kinds of therapies, 0:00:48.159,0:00:50.027 to repair damaged tissue, 0:00:50.051,0:00:52.776 to reprogram faulty cells 0:00:52.800,0:00:57.354 or even build programmable[br]operating systems out of biochemistry. 0:00:58.420,0:01:01.993 If we can realize this --[br]and we do need to realize it -- 0:01:02.017,0:01:04.179 its impact will be so enormous 0:01:04.203,0:01:08.080 that it will make the first[br]software revolution pale in comparison. 0:01:08.104,0:01:12.338 And that's because living software[br]would transform the entirety of medicine, 0:01:12.362,0:01:13.921 agriculture and energy, 0:01:13.945,0:01:17.773 and these are sectors that dwarf[br]those dominated by IT. 0:01:18.812,0:01:22.986 Imagine programmable plants[br]that fix nitrogen more effectively 0:01:23.010,0:01:25.915 or resist emerging fungal pathogens, 0:01:25.939,0:01:29.476 or even programming crops[br]to be perennial rather than annual 0:01:29.500,0:01:31.768 so you could double[br]your crop yields each year. 0:01:31.792,0:01:33.890 That would transform agriculture 0:01:33.914,0:01:38.018 and how we'll keep our growing[br]and global population fed. 0:01:38.794,0:01:41.056 Or imagine programmable immunity, 0:01:41.080,0:01:45.318 designing and harnessing molecular devices[br]that guide your immune system 0:01:45.342,0:01:49.172 to detect, eradicate[br]or even prevent disease. 0:01:49.196,0:01:50.767 This would transform medicine 0:01:50.791,0:01:54.280 and how we'll keep our growing[br]and aging population healthy. 0:01:55.501,0:01:59.704 We already have many of the tools[br]that will make living software a reality. 0:01:59.728,0:02:02.075 We can precisely edit genes with CRISPR. 0:02:02.099,0:02:05.182 We can rewrite the genetic code[br]one base at a time. 0:02:05.206,0:02:09.642 We can even build functioning[br]synthetic circuits out of DNA. 0:02:10.428,0:02:12.897 But figuring out how and when[br]to wield these tools 0:02:12.921,0:02:15.343 is still a process of trial and error. 0:02:15.367,0:02:19.027 It needs deep expertise,[br]years of specialization. 0:02:19.051,0:02:22.088 And experimental protocols[br]are difficult to discover 0:02:22.112,0:02:24.694 and all too often, difficult to reproduce. 0:02:25.256,0:02:29.729 And, you know, we have a tendency[br]in biology to focus a lot on the parts, 0:02:29.753,0:02:32.886 but we all know that something like flying[br]wouldn't be understood 0:02:32.910,0:02:34.249 by only studying feathers. 0:02:34.846,0:02:39.367 So programming biology is not yet[br]as simple as programming your computer. 0:02:39.391,0:02:41.069 And then to make matters worse, 0:02:41.093,0:02:45.103 living systems largely bear no resemblance[br]to the engineered systems 0:02:45.127,0:02:47.223 that you and I program every day. 0:02:47.691,0:02:51.802 In contrast to engineered systems,[br]living systems self-generate, 0:02:51.826,0:02:53.297 they self-organize, 0:02:53.321,0:02:55.008 they operate at molecular scales. 0:02:55.032,0:02:57.168 And these molecular-level interactions 0:02:57.192,0:03:00.210 lead generally to robust[br]macro-scale output. 0:03:00.234,0:03:02.954 They can even self-repair. 0:03:04.256,0:03:07.250 Consider, for example,[br]the humble household plant, 0:03:07.274,0:03:09.461 like that one sat[br]on your mantelpiece at home 0:03:09.485,0:03:11.272 that you keep forgetting to water. 0:03:11.749,0:03:15.364 Every day, despite your neglect,[br]that plant has to wake up 0:03:15.388,0:03:18.135 and figure out how[br]to allocate its resources. 0:03:18.159,0:03:21.730 Will it grow, photosynthesize,[br]produce seeds, or flower? 0:03:21.754,0:03:25.693 And that's a decision that has to be made[br]at the level of the whole organism. 0:03:25.717,0:03:29.198 But a plant doesn't have a brain[br]to figure all of that out. 0:03:29.222,0:03:31.939 It has to make do[br]with the cells on its leaves. 0:03:31.963,0:03:33.866 They have to respond to the environment 0:03:33.890,0:03:36.539 and make the decisions[br]that affect the whole plant. 0:03:36.563,0:03:40.551 So somehow there must be a program[br]running inside these cells, 0:03:40.575,0:03:43.302 a program that responds[br]to input signals and cues 0:03:43.326,0:03:45.266 and shapes what that cell will do. 0:03:45.679,0:03:48.926 And then those programs must operate[br]in a distributed way 0:03:48.950,0:03:50.287 across individual cells, 0:03:50.311,0:03:54.434 so that they can coordinate[br]and that plant can grow and flourish. 0:03:55.675,0:03:58.991 If we could understand[br]these biological programs, 0:03:59.015,0:04:02.137 if we could understand[br]biological computation, 0:04:02.161,0:04:06.098 it would transform our ability[br]to understand how and why 0:04:06.122,0:04:07.668 cells do what they do. 0:04:08.152,0:04:10.139 Because, if we understood these programs, 0:04:10.163,0:04:12.296 we could debug them when things go wrong. 0:04:12.320,0:04:16.513 Or we could learn from them how to design[br]the kind of synthetic circuits 0:04:16.537,0:04:21.011 that truly exploit[br]the computational power of biochemistry. 0:04:22.407,0:04:25.425 My passion about this idea[br]led me to a career in research 0:04:25.449,0:04:29.080 at the interface of maths,[br]computer science and biology. 0:04:29.104,0:04:33.830 And in my work, I focus on the concept[br]of biology as computation. 0:04:34.334,0:04:37.476 And that means asking[br]what do cells compute, 0:04:37.500,0:04:41.017 and how can we uncover[br]these biological programs? 0:04:41.760,0:04:45.517 And I started to ask these questions[br]together with some brilliant collaborators 0:04:45.541,0:04:48.112 at Microsoft Research[br]and the University of Cambridge, 0:04:48.136,0:04:50.419 where together we wanted to understand 0:04:50.443,0:04:54.620 the biological program[br]running inside a unique type of cell: 0:04:54.644,0:04:56.538 an embryonic stem cell. 0:04:57.136,0:05:00.296 These cells are unique[br]because they're totally naïve. 0:05:00.320,0:05:02.488 They can become anything they want: 0:05:02.512,0:05:05.077 a brain cell, a heart cell,[br]a bone cell, a lung cell, 0:05:05.101,0:05:06.998 any adult cell type. 0:05:07.022,0:05:08.699 This naïvety, it sets them apart, 0:05:08.723,0:05:11.724 but it also ignited the imagination[br]of the scientific community, 0:05:11.748,0:05:15.011 who realized, if we could[br]tap into that potential, 0:05:15.035,0:05:17.386 we would have a powerful[br]tool for medicine. 0:05:17.917,0:05:20.538 If we could figure out[br]how these cells make the decision 0:05:20.562,0:05:22.693 to become one cell type or another, 0:05:22.717,0:05:24.407 we might be able to harness them 0:05:24.431,0:05:28.984 to generate cells that we need[br]to repair diseased or damaged tissue. 0:05:29.794,0:05:32.724 But realizing that vision[br]is not without its challenges, 0:05:32.748,0:05:35.512 not least because these particular cells, 0:05:35.536,0:05:38.365 they emerge just six days[br]after conception. 0:05:38.826,0:05:40.881 And then within a day or so, they're gone. 0:05:40.905,0:05:42.962 They have set off down the different paths 0:05:42.986,0:05:46.036 that form all the structures[br]and organs of your adult body. 0:05:47.770,0:05:50.849 But it turns out that cell fates[br]are a lot more plastic 0:05:50.873,0:05:52.286 than we might have imagined. 0:05:52.310,0:05:56.631 About 13 years ago, some scientists[br]showed something truly revolutionary. 0:05:57.393,0:06:01.739 By inserting just a handful of genes[br]into an adult cell, 0:06:01.763,0:06:03.527 like one of your skin cells, 0:06:03.551,0:06:07.510 you can transform that cell[br]back to the naïve state. 0:06:07.534,0:06:10.709 And it's a process that's actually[br]known as "reprogramming," 0:06:10.733,0:06:14.092 and it allows us to imagine[br]a kind of stem cell utopia, 0:06:14.116,0:06:17.757 the ability to take a sample[br]of a patient's own cells, 0:06:17.781,0:06:20.141 transform them back to the naïve state 0:06:20.165,0:06:23.295 and use those cells to make[br]whatever that patient might need, 0:06:23.319,0:06:25.394 whether it's brain cells or heart cells. 0:06:26.541,0:06:28.306 But over the last decade or so, 0:06:28.330,0:06:31.374 figuring out how to change cell fate, 0:06:31.398,0:06:33.550 it's still a process of trial and error. 0:06:33.911,0:06:38.419 Even in cases where we've uncovered[br]successful experimental protocols, 0:06:38.443,0:06:39.910 they're still inefficient, 0:06:39.934,0:06:44.172 and we lack a fundamental understanding[br]of how and why they work. 0:06:44.650,0:06:47.655 If you figured out how to change[br]a stem cell into a heart cell, 0:06:47.679,0:06:50.768 that hasn't got any way of telling you[br]how to change a stem cell 0:06:50.792,0:06:51.993 into a brain cell. 0:06:52.633,0:06:55.564 So we wanted to understand[br]the biological program 0:06:55.588,0:06:58.035 running inside an embryonic stem cell, 0:06:58.059,0:07:01.565 and understanding the computation[br]performed by a living system 0:07:01.589,0:07:05.842 starts with asking[br]a devastatingly simple question: 0:07:05.866,0:07:09.222 What is it that system actually has to do? 0:07:09.838,0:07:12.688 Now, computer science actually[br]has a set of strategies 0:07:12.712,0:07:16.539 for dealing with what it is the software[br]and hardware are meant to do. 0:07:16.563,0:07:19.223 When you write a program,[br]you code a piece of software, 0:07:19.247,0:07:21.247 you want that software to run correctly. 0:07:21.271,0:07:23.061 You want performance, functionality. 0:07:23.085,0:07:24.302 You want to prevent bugs. 0:07:24.326,0:07:25.634 They can cost you a lot. 0:07:26.168,0:07:28.010 So when a developer writes a program, 0:07:28.034,0:07:30.304 they could write down[br]a set of specifications. 0:07:30.328,0:07:32.199 These are what your program should do. 0:07:32.223,0:07:34.491 Maybe it should compare[br]the size of two numbers 0:07:34.515,0:07:36.307 or order numbers by increasing size. 0:07:37.037,0:07:41.732 Technology exists that allows us[br]automatically to check 0:07:41.756,0:07:44.134 whether our specifications are satisfied, 0:07:44.158,0:07:46.791 whether that program[br]does what it should do. 0:07:47.266,0:07:50.122 And so our idea was that in the same way, 0:07:50.146,0:07:53.214 experimental observations,[br]things we measure in the lab, 0:07:53.238,0:07:58.271 they correspond to specifications[br]of what the biological program should do. 0:07:58.769,0:08:00.645 So we just needed to figure out a way 0:08:00.669,0:08:03.852 to encode this new type of specification. 0:08:04.594,0:08:08.248 So let's say you've been busy in the lab[br]and you've been measuring your genes 0:08:08.272,0:08:10.708 and you've found that if Gene A is active, 0:08:10.732,0:08:14.120 then Gene B or Gene C seems to be active. 0:08:14.678,0:08:18.260 We can write that observation down[br]as a mathematical expression 0:08:18.284,0:08:20.657 if we can use the language of logic: 0:08:21.125,0:08:23.453 If A, then B or C. 0:08:24.242,0:08:26.696 Now, this is a very simple example, OK. 0:08:26.720,0:08:28.463 It's just to illustrate the point. 0:08:28.487,0:08:31.411 We can encode truly rich expressions 0:08:31.435,0:08:35.588 that actually capture the behavior[br]of multiple genes or proteins over time 0:08:35.612,0:08:38.148 across multiple different experiments. 0:08:38.521,0:08:41.147 And so by translating our observations 0:08:41.171,0:08:43.164 into mathematical expression in this way, 0:08:43.188,0:08:48.286 it becomes possible to test whether[br]or not those observations can emerge 0:08:48.310,0:08:51.364 from a program of genetic interactions. 0:08:52.063,0:08:54.619 And we developed a tool to do just this. 0:08:54.643,0:08:57.525 We were able to use this tool[br]to encode observations 0:08:57.549,0:08:58.956 as mathematical expressions, 0:08:58.980,0:09:02.590 and then that tool would allow us[br]to uncover the genetic program 0:09:02.614,0:09:04.152 that could explain them all. 0:09:05.481,0:09:07.761 And we then apply this approach 0:09:07.785,0:09:11.868 to uncover the genetic program[br]running inside embryonic stem cells 0:09:11.892,0:09:16.081 to see if we could understand[br]how to induce that naïve state. 0:09:16.105,0:09:18.057 And this tool was actually built 0:09:18.081,0:09:20.733 on a solver that's deployed[br]routinely around the world 0:09:20.757,0:09:23.026 for conventional software verification. 0:09:23.630,0:09:27.321 So we started with a set[br]of nearly 50 different specifications 0:09:27.345,0:09:31.851 that we generated from experimental[br]observations of embryonic stem cells. 0:09:31.875,0:09:34.511 And by encoding these[br]observations in this tool, 0:09:34.535,0:09:37.720 we were able to uncover[br]the first molecular program 0:09:37.744,0:09:39.705 that could explain all of them. 0:09:40.309,0:09:42.822 Now, that's kind of a feat[br]in and of itself, right? 0:09:42.846,0:09:45.748 Being able to reconcile[br]all of these different observations 0:09:45.772,0:09:48.839 is not the kind of thing[br]you can do on the back of an envelope, 0:09:48.863,0:09:51.511 even if you have a really big envelope. 0:09:52.190,0:09:54.348 Because we've got[br]this kind of understanding, 0:09:54.372,0:09:55.834 we could go one step further. 0:09:55.858,0:09:59.229 We could use this program to predict[br]what this cell might do 0:09:59.253,0:10:01.429 in conditions we hadn't yet tested. 0:10:01.453,0:10:03.854 We could probe the program in silico. 0:10:04.735,0:10:05.982 And so we did just that: 0:10:06.006,0:10:09.186 we generated predictions[br]that we tested in the lab, 0:10:09.210,0:10:12.242 and we found that this program[br]was highly predictive. 0:10:12.266,0:10:14.891 It told us how we could[br]accelerate progress 0:10:14.915,0:10:17.975 back to the naïve state[br]quickly and efficiently. 0:10:17.999,0:10:20.569 It told us which genes[br]to target to do that, 0:10:20.593,0:10:23.217 which genes might even[br]hinder that process. 0:10:23.241,0:10:28.231 We even found the program predicted[br]the order in which genes would switch on. 0:10:28.980,0:10:32.120 So this approach really allowed us[br]to uncover the dynamics 0:10:32.144,0:10:34.546 of what the cells are doing. 0:10:35.728,0:10:39.370 What we've developed, it's not a method[br]that's specific to stem cell biology. 0:10:39.394,0:10:42.078 Rather, it allows us to make sense[br]of the computation 0:10:42.102,0:10:43.787 being carried out by the cell 0:10:43.811,0:10:46.642 in the context of genetic interactions. 0:10:46.666,0:10:48.954 So really, it's just one building block. 0:10:48.978,0:10:51.663 The field urgently needs[br]to develop new approaches 0:10:51.687,0:10:54.382 to understand biological[br]computation more broadly 0:10:54.406,0:10:55.773 and at different levels, 0:10:55.797,0:10:59.926 from DNA right through[br]to the flow of information between cells. 0:10:59.950,0:11:02.747 Only this kind of[br]transformative understanding 0:11:02.771,0:11:07.757 will enable us to harness biology[br]in ways that are predictable and reliable. 0:11:09.029,0:11:12.071 But to program biology,[br]we will also need to develop 0:11:12.095,0:11:14.090 the kinds of tools and languages 0:11:14.114,0:11:17.522 that allow both experimentalists[br]and computational scientists 0:11:17.546,0:11:20.043 to design biological function 0:11:20.067,0:11:23.572 and have those designs compile down[br]to the machine code of the cell, 0:11:23.596,0:11:24.777 its biochemistry, 0:11:24.801,0:11:27.285 so that we could then[br]build those structures. 0:11:27.309,0:11:30.982 Now, that's something akin[br]to a living software compiler, 0:11:31.006,0:11:33.222 and I'm proud to be[br]part of a team at Microsoft 0:11:33.246,0:11:34.898 that's working to develop one. 0:11:35.366,0:11:38.592 Though to say it's a grand challenge[br]is kind of an understatement, 0:11:38.616,0:11:39.789 but if it's realized, 0:11:39.813,0:11:43.522 it would be the final bridge[br]between software and wetware. 0:11:45.006,0:11:48.421 More broadly, though, programming biology[br]is only going to be possible 0:11:48.445,0:11:52.724 if we can transform the field[br]into being truly interdisciplinary. 0:11:52.748,0:11:55.700 It needs us to bridge[br]the physical and the life sciences, 0:11:55.724,0:11:57.991 and scientists from[br]each of these disciplines 0:11:58.015,0:12:00.746 need to be able to work together[br]with common languages 0:12:00.770,0:12:03.489 and to have shared scientific questions. 0:12:04.757,0:12:08.750 In the long term, it's worth remembering[br]that many of the giant software companies 0:12:08.774,0:12:11.266 and the technology[br]that you and I work with every day 0:12:11.290,0:12:12.793 could hardly have been imagined 0:12:12.817,0:12:16.422 at the time we first started[br]programming on silicon microchips. 0:12:16.446,0:12:19.477 And if we start now to think about[br]the potential for technology 0:12:19.501,0:12:21.927 enabled by computational biology, 0:12:21.951,0:12:24.886 we'll see some of the steps[br]that we need to take along the way 0:12:24.910,0:12:26.343 to make that a reality. 0:12:27.231,0:12:30.313 Now, there is the sobering thought[br]that this kind of technology 0:12:30.337,0:12:32.114 could be open to misuse. 0:12:32.138,0:12:34.301 If we're willing to talk[br]about the potential 0:12:34.325,0:12:35.761 for programming immune cells, 0:12:35.785,0:12:38.973 we should also be thinking[br]about the potential of bacteria 0:12:38.997,0:12:40.658 engineered to evade them. 0:12:40.682,0:12:42.769 There might be people willing to do that. 0:12:43.506,0:12:45.228 Now, one reassuring thought in this 0:12:45.252,0:12:47.541 is that -- well, less so[br]for the scientists -- 0:12:47.565,0:12:50.834 is that biology is[br]a fragile thing to work with. 0:12:50.858,0:12:53.270 So programming biology[br]is not going to be something 0:12:53.294,0:12:55.142 you'll be doing in your garden shed. 0:12:55.642,0:12:57.722 But because we're at the outset of this, 0:12:57.746,0:13:00.329 we can move forward[br]with our eyes wide open. 0:13:00.353,0:13:02.677 We can ask the difficult[br]questions up front, 0:13:02.701,0:13:05.741 we can put in place[br]the necessary safeguards 0:13:05.765,0:13:08.562 and, as part of that,[br]we'll have to think about our ethics. 0:13:08.586,0:13:11.758 We'll have to think about putting bounds[br]on the implementation 0:13:11.782,0:13:13.280 of biological function. 0:13:13.604,0:13:17.319 So as part of this, research in bioethics[br]will have to be a priority. 0:13:17.343,0:13:19.750 It can't be relegated to second place 0:13:19.774,0:13:22.288 in the excitement[br]of scientific innovation. 0:13:23.154,0:13:26.628 But the ultimate prize,[br]the ultimate destination on this journey, 0:13:26.652,0:13:30.096 would be breakthrough applications[br]and breakthrough industries 0:13:30.120,0:13:33.564 in areas from agriculture and medicine[br]to energy and materials 0:13:33.588,0:13:35.849 and even computing itself. 0:13:36.490,0:13:39.638 Imagine, one day we could be powering[br]the planet sustainably 0:13:39.662,0:13:41.521 on the ultimate green energy 0:13:41.545,0:13:45.488 if we could mimic something[br]that plants figured out millennia ago: 0:13:45.512,0:13:49.283 how to harness the sun's energy[br]with an efficiency that is unparalleled 0:13:49.307,0:13:51.163 by our current solar cells. 0:13:51.695,0:13:54.296 If we understood that program[br]of quantum interactions 0:13:54.320,0:13:57.584 that allow plants to absorb[br]sunlight so efficiently, 0:13:57.608,0:14:01.552 we might be able to translate that[br]into building synthetic DNA circuits 0:14:01.576,0:14:04.489 that offer the material[br]for better solar cells. 0:14:05.349,0:14:09.042 There are teams and scientists working[br]on the fundamentals of this right now, 0:14:09.066,0:14:12.309 so perhaps if it got the right attention[br]and the right investment, 0:14:12.333,0:14:14.613 it could be realized in 10 or 15 years. 0:14:15.457,0:14:18.654 So we are at the beginning[br]of a technological revolution. 0:14:19.067,0:14:22.288 Understanding this ancient type[br]of biological computation 0:14:22.312,0:14:24.444 is the critical first step. 0:14:24.468,0:14:25.785 And if we can realize this, 0:14:25.809,0:14:28.651 we would enter in the era[br]of an operating system 0:14:28.675,0:14:30.580 that runs living software. 0:14:30.604,0:14:31.770 Thank you very much. 0:14:31.794,0:14:34.484 (Applause)