0:00:00.964,0:00:03.509 The second half of the last century 0:00:03.509,0:00:07.608 was completely defined[br]by a technological revolution: 0:00:07.608,0:00:09.512 the software revolution. 0:00:09.512,0:00:14.145 The ability to program electrons[br]on a material called silicon 0:00:14.145,0:00:17.444 made possible technologies,[br]companies and industries 0:00:17.444,0:00:21.451 that were at one point[br]unimaginable to many of us, 0:00:21.451,0:00:25.895 but which have now fundamentally changed[br]the way the world works. 0:00:25.895,0:00:28.126 The first half of this century, though, 0:00:28.126,0:00:32.393 is going to be transformed[br]by a new software revolution: 0:00:32.393,0:00:35.137 the living software revolution. 0:00:35.137,0:00:39.172 And this will be powered by the ability[br]to program biochemistry 0:00:39.172,0:00:41.807 on a material called biology, 0:00:41.807,0:00:45.479 and doing so will enable us to harness[br]the properties of biology 0:00:45.479,0:00:48.417 to generate new kinds of therapies, 0:00:48.417,0:00:50.883 to repair damaged tissue, 0:00:50.883,0:00:53.127 to reprogram faulty cells 0:00:53.127,0:00:57.768 or even build programmable[br]operating systems out of biochemistry. 0:00:58.659,0:01:01.846 If we can realize this,[br]and we do need to realize it, 0:01:01.846,0:01:04.855 its impact will be so enormous 0:01:04.855,0:01:08.104 that it will make the first[br]software revolution pale in comparison, 0:01:08.104,0:01:12.282 and that's because living software[br]would transform the entirety of medicine, 0:01:12.282,0:01:14.475 agriculture, and energy, 0:01:14.475,0:01:18.292 and these are sectors that dwarf[br]those dominated by IT. 0:01:18.292,0:01:23.010 Imagine programmable plants[br]that fix nitrogen more effectively 0:01:23.010,0:01:26.084 or resist emerging fungal pathogens, 0:01:26.212,0:01:29.500 or even programming crops[br]to be perennial rather than annual 0:01:29.500,0:01:33.285 so you could double[br]your crop yields each year. 0:01:33.285,0:01:34.431 That would transform agriculture 0:01:34.431,0:01:39.000 and how we'll keep our growing[br]and global population fed. 0:01:39.000,0:01:42.013 Or imagine programmable immunity, 0:01:42.013,0:01:45.533 designing and harnessing molecular devices[br]that guide your immune system 0:01:45.533,0:01:49.130 to detect, eradicate,[br]or even prevent disease. 0:01:49.414,0:01:51.075 This would transform medicine 0:01:51.075,0:01:54.564 and how we'll keep our growing[br]and aging population healthy. 0:01:55.373,0:02:00.235 We already have many of the tools[br]that will make living software a reality. 0:02:00.235,0:02:02.844 We can precisely edit genes with CRISPR. 0:02:02.844,0:02:05.278 We can rewrite the genetic code[br]one base at a time. 0:02:05.278,0:02:10.266 We can even build functioning[br]synthetic circuits out of DNA. 0:02:10.266,0:02:13.956 But figuring out how and when[br]to wield these tools 0:02:13.956,0:02:15.513 is still a process of trial and error. 0:02:15.513,0:02:17.988 It needs deep expertise, 0:02:17.988,0:02:19.138 years of specialization, 0:02:19.138,0:02:21.969 and experimental protocols[br]are difficult to discover 0:02:21.969,0:02:24.487 and all too often difficult to reproduce. 0:02:25.502,0:02:28.986 And, you know, we have a tendency[br]in biology to focus a lot on the parts 0:02:28.986,0:02:32.391 but we all know that something like flying 0:02:32.391,0:02:34.997 wouldn't be understood[br]by only studying feathers. 0:02:34.997,0:02:40.054 So programming biology is not yet[br]as simple as programming your computer, 0:02:40.054,0:02:41.511 and then to make matters worse 0:02:41.511,0:02:45.501 living systems largely bear no resemblance[br]to the engineered systems 0:02:45.501,0:02:47.977 that you and I program every day. 0:02:47.977,0:02:52.017 In contrast to engineered systems,[br]living systems self-generate, 0:02:52.017,0:02:53.556 they self-organize, 0:02:53.556,0:02:55.266 they operate at molecular scales, 0:02:55.266,0:02:57.595 and these molecular-level interactions 0:02:57.595,0:03:00.884 lead generally to robust[br]macro-scale output. 0:03:00.884,0:03:03.929 They can even self-repair. 0:03:04.256,0:03:07.526 Consider, for example,[br]the humble household plant, 0:03:07.526,0:03:09.642 like that one that sat[br]on your mantlepiece at home 0:03:09.642,0:03:11.537 that you keep forgetting to water. 0:03:11.537,0:03:15.388 Every day, despite your neglect,[br]that plant has to wake up 0:03:15.388,0:03:18.322 and figure out how[br]to allocate its resources. 0:03:18.322,0:03:21.996 Will it grow, photosynthesize,[br]produce seeds, or flower? 0:03:21.996,0:03:25.748 And that's a decision that has to be made[br]at the level of the whole organism. 0:03:25.973,0:03:29.611 But a plant doesn't have a brain[br]to figure all of that out. 0:03:29.611,0:03:32.185 It has to make do[br]with the cells on its leaves. 0:03:32.185,0:03:34.084 They have to respond to the environment 0:03:34.084,0:03:37.090 and make the decisions[br]that affect the whole plant. 0:03:37.090,0:03:40.748 So somehow there must be[br]a program running inside these cells, 0:03:40.748,0:03:44.307 a program that responds[br]to input signals and cues 0:03:44.307,0:03:45.865 and shapes what that cell will do. 0:03:45.865,0:03:47.714 And then those programs must operate 0:03:47.714,0:03:50.311 in a distributed way[br]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.074,0:03:59.356 If we could understand[br]these biological programs, 0:03:59.356,0:04:02.427 if we could understand[br]biological computation, 0:04:02.427,0:04:06.878 it would transform our ability[br]to understand how and why 0:04:06.878,0:04:08.540 cells do what they do. 0:04:08.540,0:04:11.168 Because, if we understood these programs, 0:04:11.168,0:04:12.524 we could debug them[br]when things go wrong, 0:04:12.524,0:04:16.059 or we could learn from them how[br]to design the kind of synthetic circuits 0:04:16.059,0:04:19.459 that truly exploit 0:04:19.459,0:04:21.978 the computational power of biochemistry. 0:04:21.978,0:04:26.068 My passion about this idea[br]led me to a career in research 0:04:26.068,0:04:29.742 at the interface of maths,[br]computer science, and biology, 0:04:29.742,0:04:34.596 and in my work I focus on the concept[br]of biology as computation. 0:04:34.596,0:04:37.689 And that means asking[br]what the cells compute, 0:04:37.689,0:04:41.839 and how can we uncover[br]these biological programs? 0:04:42.031,0:04:45.444 And I started to ask these questions[br]together with some brilliant collaborators 0:04:45.444,0:04:48.601 at Microsoft Research[br]and the University of Cambridge, 0:04:48.601,0:04:51.333 where together we wanted to understand 0:04:51.333,0:04:54.890 the biological program[br]running inside a unique type of cell: 0:04:54.890,0:04:56.989 an embryonic stem cell. 0:04:57.280,0:05:00.463 These cells are unique[br]because they're totally naïve. 0:05:00.463,0:05:02.911 They can become anything they want: 0:05:02.911,0:05:06.433 a brain cell, a heart cell,[br]a bone cell, a lung cell, 0:05:06.433,0:05:07.359 any adult cell type. 0:05:07.359,0:05:09.033 This naïvety, it sets them apart, 0:05:09.033,0:05:11.780 but it also ignited the imagination[br]of the scientific community, 0:05:11.780,0:05:15.432 who realized, if we could[br]tap into that potential, 0:05:15.432,0:05:18.235 we would have a powerful[br]tool for medicine. 0:05:18.235,0:05:20.511 If we could figure out[br]how these cells make the decision 0:05:20.511,0:05:22.646 to become one cell type or another, 0:05:22.646,0:05:24.740 we might be able to harness them 0:05:24.740,0:05:30.175 to generate cells that we need[br]to repair diseased or damaged tissue. 0:05:30.175,0:05:33.707 But realizing that vision[br]is not without its challenges, 0:05:33.707,0:05:35.941 not least because these particular cells, 0:05:35.941,0:05:39.847 they emerge just six days[br]after conception, 0:05:39.847,0:05:41.216 and then within a day or so, they're gone. 0:05:41.216,0:05:43.972 They have set off down the different paths 0:05:43.972,0:05:47.046 that form all the structures[br]and organs of your adult body. 0:05:47.046,0:05:50.562 But it turns out that cell fates[br]are a lot more plastic 0:05:50.562,0:05:52.653 than we might have imagined. 0:05:52.653,0:05:57.171 About 13 years ago, some scientists[br]showed something truly revolutionary. 0:05:57.171,0:06:00.480 By inserting just a handful of genes[br]into an adult cell, 0:06:00.480,0:06:02.300 like one of your skin cells, 0:06:02.300,0:06:07.813 you can transform that cell[br]back to the naïve state. 0:06:07.813,0:06:11.807 And it's a process that's actually[br]known as reprogramming, 0:06:11.807,0:06:14.414 and it allows us to imagine[br]a kind of stem cell utopia, 0:06:14.414,0:06:17.847 the ability to take a sample[br]of a patient's own cells, 0:06:17.847,0:06:20.859 transform them back to the naïve state, 0:06:20.859,0:06:24.157 and use those cells to make[br]whatever that patient might need, 0:06:24.157,0:06:25.651 whether it's brain cells or heart cells. 0:06:25.651,0:06:29.400 But over the last decade or so, 0:06:29.400,0:06:31.731 figuring out how to change cell fate, 0:06:31.731,0:06:34.094 it's still a process of trial and error. 0:06:34.094,0:06:37.917 Even in cases where we've uncovered[br]successful experimental protocols, 0:06:37.917,0:06:40.787 they're still inefficient, 0:06:40.787,0:06:44.857 and we lack a fundamental understanding[br]of how and why they work. 0:06:44.999,0:06:47.437 If you've figured out how to change[br]a stem cell into a heart cell, 0:06:47.437,0:06:49.553 that hasn't got any way of telling you[br]how to change a stem cell 0:06:49.553,0:06:52.871 into a brain cell. 0:06:52.871,0:06:55.739 So we wanted to understand[br]the biological program 0:06:55.739,0:06:58.209 running inside an embryonic stem cell, 0:06:58.209,0:07:01.738 and understanding the computation[br]performed by a living system 0:07:01.738,0:07:05.921 starts with asking[br]a devastatingly simple question: 0:07:05.921,0:07:10.100 what is it that system actually has to do? 0:07:10.100,0:07:13.082 Now, computer science actually has[br]a set of strategies for dealing 0:07:13.082,0:07:16.762 with what it is that software[br]and hardware are meant to do. 0:07:16.762,0:07:19.593 When you write a program,[br]you code a piece of software, 0:07:19.593,0:07:23.117 you want that software to run correctly. 0:07:23.117,0:07:23.594 You want performance, functionality. 0:07:23.594,0:07:24.558 You want to prevent bugs. 0:07:24.558,0:07:26.248 They can cost you a lot. 0:07:26.248,0:07:27.896 So when a developer writes a program, 0:07:27.896,0:07:30.508 they could write down[br]a set of specifications. 0:07:30.508,0:07:32.334 These are what your program should do. 0:07:32.334,0:07:34.788 Maybe it should compare[br]the size of two numbers, 0:07:34.788,0:07:36.684 or order numbers by increasing size. 0:07:36.684,0:07:39.316 Technology exists 0:07:39.316,0:07:41.867 that allows us automatically to check 0:07:41.867,0:07:45.086 whether our specifications are satisfied, 0:07:45.086,0:07:47.465 whether that program[br]does what it should do. 0:07:47.465,0:07:50.395 And so our idea[br]was that in the same way, 0:07:50.395,0:07:53.800 experimental observations,[br]things we measure in the lab, 0:07:53.800,0:07:56.282 they correspond to specifications 0:07:56.282,0:07:58.988 of what the biological program should do. 0:07:59.150,0:08:01.298 So we just needed to figure out a way 0:08:01.298,0:08:04.213 to encode this new type of specification. 0:08:04.729,0:08:07.796 So let's say you've been busy in the lab[br]and you've been measuring your genes 0:08:07.796,0:08:10.685 and you've found that if Gene A is active, 0:08:10.685,0:08:14.073 then Gene B or Gene C seems to be active. 0:08:14.623,0:08:18.541 We can write that observation down[br]as a mathematical expression 0:08:18.541,0:08:21.591 if we can use the language of logic. 0:08:21.591,0:08:24.242 If A, then B or C. 0:08:24.242,0:08:27.009 Now, this is a very simple example, OK. 0:08:27.009,0:08:28.627 It's just to illustrate the point. 0:08:28.627,0:08:31.757 We can encode truly rich expressions 0:08:31.757,0:08:35.357 that actually capture the behavior[br]of multiple genes or proteins over time 0:08:35.357,0:08:38.641 across multiple different experiments. 0:08:38.641,0:08:41.603 And so by translating our observations 0:08:41.603,0:08:43.988 into mathematical expression in this way, 0:08:43.988,0:08:47.541 it becomes possible to test[br]whether or not those observations 0:08:47.541,0:08:51.939 can emerge from a program[br]of genetic interactions. 0:08:52.262,0:08:54.841 And we developed a tool to do just this. 0:08:54.841,0:08:57.205 We were able to use this tool[br]to encode observations 0:08:57.205,0:08:59.181 as mathematical expressions, 0:08:59.181,0:09:03.120 and then that tool would allow us[br]to uncover the genetic program 0:09:03.120,0:09:05.704 that could explain them all. 0:09:05.704,0:09:08.914 And we then apply this approach 0:09:08.914,0:09:12.066 to uncover the genetic program[br]running inside embryonic stem cells 0:09:12.066,0:09:16.328 to see if we could understand[br]how to induce that naïve state. 0:09:16.328,0:09:19.011 And this tool was actually built 0:09:19.011,0:09:21.711 on a ?? that's deployed[br]routinely around the world 0:09:21.711,0:09:23.901 for conventional software verification. 0:09:23.901,0:09:27.592 So we started with a set[br]of nearly 50 different specifications 0:09:27.592,0:09:32.269 that we generated from experimental[br]observations of embryonic stem cells, 0:09:32.269,0:09:34.928 and by encoding these[br]observations in this tool, 0:09:34.928,0:09:38.563 we were able to uncover[br]the first molecular program 0:09:38.563,0:09:40.548 that could explain all of them. 0:09:40.548,0:09:42.632 Now, that's kind of a feat[br]in and of itself, right? 0:09:42.632,0:09:45.772 Being able to reconcile[br]all of these different observations 0:09:45.772,0:09:49.133 is not the kind of thing[br]you can do on the back of an envelope, 0:09:49.133,0:09:51.805 even if you have a really big envelope. 0:09:51.805,0:09:54.986 Because we'd got[br]this kind of understanding, 0:09:54.986,0:09:56.558 we could go one step further. 0:09:56.558,0:09:59.474 We could use this program to predict[br]what this cell might do 0:09:59.474,0:10:01.855 in conditions we hadn't yet tested. 0:10:01.855,0:10:04.614 We could probe the program in ??. 0:10:04.614,0:10:07.074 And so we did just that: 0:10:07.074,0:10:09.001 we generated predictions[br]that we tested in the lab, 0:10:09.001,0:10:12.306 and we found that this program[br]was highly predictive. 0:10:12.306,0:10:15.510 It told us how we could[br]accelerate progress 0:10:15.510,0:10:18.250 back to the naïve state[br]quickly and efficiently. 0:10:18.250,0:10:20.733 It told us which genes[br]to target to do that, 0:10:20.733,0:10:23.281 which genes might even[br]hinder that process. 0:10:23.281,0:10:28.841 We even found the program predicted[br]the order in which genes would switch on. 0:10:29.187,0:10:32.414 So this approach really allowed us[br]to uncover the dynamics 0:10:32.414,0:10:35.009 of what the cells are doing. 0:10:35.265,0:10:39.476 Now, what we've developed,[br]it's not a method 0:10:39.476,0:10:40.286 that's specific to stem cell biology. 0:10:40.286,0:10:42.832 Rather, it allows us to make sense 0:10:42.832,0:10:43.940 of the computation[br]being carried out by the cell 0:10:43.940,0:10:46.751 in the context of genetic interactions. 0:10:46.751,0:10:49.271 So really, it's just one building block. 0:10:49.271,0:10:51.897 The field urgently needs[br]to develop new approaches 0:10:51.897,0:10:54.697 to understand biological[br]computation more broadly 0:10:54.697,0:10:57.146 and at different levels, 0:10:57.146,0:10:59.930 from DNA right through[br]to the flow of information between cells. 0:10:59.930,0:11:03.288 Only this kind of[br]transformative understanding 0:11:03.288,0:11:07.515 will enable us to harness biology[br]in ways that are predictable and reliable. 0:11:09.205,0:11:12.395 But to program biology,[br]we will also need to develop 0:11:12.395,0:11:14.926 the kinds of tools and languages 0:11:14.926,0:11:17.759 that allow both experimentalists[br]and computational scientists 0:11:17.759,0:11:20.260 to design biological function 0:11:20.439,0:11:23.773 and have those designs compile down[br]to the machine code of the cell, 0:11:23.773,0:11:25.371 its biochemistry, 0:11:25.371,0:11:27.228 so that we could then[br]build those structures. 0:11:27.228,0:11:31.073 Now, that's something akin[br]to a living software compiler, 0:11:31.073,0:11:33.622 and I'm proud to be[br]part of a team at Microsoft 0:11:33.622,0:11:35.572 that's working to develop one. 0:11:35.572,0:11:39.712 Though to say it's a grand challenge[br]is kind of an understatement, 0:11:39.712,0:11:41.939 but if it's realized, 0:11:41.939,0:11:44.356 it would be the final bridge[br]between software and wetware. 0:11:44.794,0:11:48.315 More broadly, though, programming biology[br]is only going to be possible 0:11:48.315,0:11:52.924 if we can transform the field[br]into being truly interdisciplinary. 0:11:52.924,0:11:56.244 It needs us to bridge[br]the physical and the life sciences, 0:11:56.244,0:11:58.288 and scientists from[br]each of these disciplines 0:11:58.288,0:12:01.037 need to be able to work together[br]with common languages 0:12:01.037,0:12:03.923 and to have shared scientific questions. 0:12:04.884,0:12:08.561 In the long term, it's worth remembering[br]that many of the giant software companies 0:12:08.561,0:12:10.875 and the technology[br]that you and I work with every day 0:12:10.875,0:12:12.200 could hardly have been imagined 0:12:12.200,0:12:16.039 at the time we first started[br]programming on silicon microchips, 0:12:16.402,0:12:20.128 and if we start now to think about[br]the potential for technology 0:12:20.128,0:12:22.148 enabled by computational biology, 0:12:22.148,0:12:24.959 we'll see some of the steps[br]that we need to take along the way 0:12:24.959,0:12:27.132 to make that a reality. 0:12:27.132,0:12:30.582 Now, there is the sobering thought[br]that this kind of technology 0:12:30.582,0:12:32.356 could be open to misuse. 0:12:32.356,0:12:34.330 If we're willing to talk[br]about the potential 0:12:34.330,0:12:35.890 for programming immune cells, 0:12:35.890,0:12:39.215 we should also be thinking[br]about the potential of bacteria 0:12:39.215,0:12:41.200 engineered to evade them. 0:12:41.200,0:12:43.290 There might be people willing to do that. 0:12:43.290,0:12:45.575 Now, one reassuring thought in this 0:12:45.575,0:12:47.732 is that, well, less so for the scientists, 0:12:47.732,0:12:51.066 is that biology is[br]a fragile thing to work with. 0:12:51.066,0:12:53.100 So programming biology[br]is not going to be something 0:12:53.100,0:12:55.168 you'll be doing in your garden shed. 0:12:55.459,0:12:57.987 But because we're at the outset of this, 0:12:57.987,0:13:00.593 we can move forward[br]with our eyes wide open. 0:13:00.593,0:13:02.916 We can ask the difficult[br]questions up front, 0:13:02.916,0:13:05.972 we can put in place[br]the necessary safeguards, 0:13:05.972,0:13:08.919 and as part of that,[br]we'll have to think about our ethics. 0:13:08.919,0:13:10.820 We'll have to think about putting bounds 0:13:10.820,0:13:13.786 on the implementation[br]of biological function. 0:13:13.946,0:13:16.780 So as part of this research in bioethics[br]will have to be a priority. 0:13:16.780,0:13:18.271 It can't be relegated to second place 0:13:18.271,0:13:22.500 in the excitement[br]of scientific innovation. 0:13:24.035,0:13:25.235 But the ultimate prize, 0:13:25.235,0:13:26.483 the ultimate destination on this journey, 0:13:26.483,0:13:28.589 would be breakthrough applications[br]and breakthrough industries 0:13:28.589,0:13:31.619 in areas from agriculture and medicine[br]to energy and materials 0:13:31.619,0:13:35.733 and even computing itself. 0:13:36.490,0:13:40.334 Imagine, one day we could be powering[br]the planet sustainably 0:13:40.334,0:13:42.039 on the ultimate green energy[br]if we could mimic something 0:13:42.039,0:13:45.738 that plants figured out millennia ago: 0:13:45.738,0:13:49.251 how to harness the Sun's energy[br]with an efficiency that is unparalleled 0:13:49.251,0:13:51.648 by our current solar cells. 0:13:51.648,0:13:54.465 If we understood that program[br]of quantum interactions 0:13:54.465,0:13:57.936 that allow plants to absorb[br]sunlight so efficiently, 0:13:57.936,0:14:01.765 we might be able to translate that[br]into building synthetic DNA circuits 0:14:01.765,0:14:05.427 that offer the material[br]for better solar cells. 0:14:05.651,0:14:08.947 There are teams and scientists working[br]on the fundamentals of this right now, 0:14:08.947,0:14:11.771 so perhaps if it got the right attention[br]and the right investment, 0:14:11.771,0:14:15.268 it could be realized in 10 or 15 years. 0:14:15.712,0:14:18.947 So we are at the beginning[br]of a technological revolution. 0:14:19.171,0:14:22.656 Understanding this ancient type[br]of biological computation 0:14:22.656,0:14:24.850 is the critical first step,[br]and if we can realize this, 0:14:24.850,0:14:28.711 we would enter in the era[br]of an operating system 0:14:28.711,0:14:30.936 that runs living software. 0:14:30.936,0:14:32.691 Thank you very much. 0:14:32.691,0:14:34.510 (Applause)