1 00:00:00,060 --> 00:00:01,518 ANNOUNCER: The following content is 2 00:00:01,518 --> 00:00:04,019 provided under a Creative Commons license. 3 00:00:04,019 --> 00:00:06,870 Your support will help MIT OpenCourseWare continue 4 00:00:06,870 --> 00:00:10,730 to offer high quality educational resources for free. 5 00:00:10,730 --> 00:00:13,330 To make a donation or view additional materials 6 00:00:13,330 --> 00:00:17,236 from hundreds of MIT courses, visit MIT OpenCourseWare 7 00:00:17,236 --> 00:00:17,861 at ocw.mit.edu. 8 00:00:26,747 --> 00:00:27,330 PROFESSOR: OK. 9 00:00:30,930 --> 00:00:33,930 Welcome back to computational systems biology 10 00:00:33,930 --> 00:00:35,910 We have the honor today of having 11 00:00:35,910 --> 00:00:38,880 Professor Ron Weiss visit us. 12 00:00:38,880 --> 00:00:40,517 As I told you on Tuesday, he's going 13 00:00:40,517 --> 00:00:41,850 to talk about synthetic biology. 14 00:00:41,850 --> 00:00:45,810 And Ron is probably from both the department 15 00:00:45,810 --> 00:00:49,770 of biological engineering and the Computer Science department 16 00:00:49,770 --> 00:00:52,245 and also a founding member of the Synthetic Biology 17 00:00:52,245 --> 00:00:53,235 Center at MIT. 18 00:00:53,235 --> 00:00:54,319 And now, thank you, Ron. 19 00:00:54,319 --> 00:00:54,819 PROF. 20 00:00:54,819 --> 00:00:55,944 RON WEISS: Thank you, Dave. 21 00:00:55,944 --> 00:00:57,690 Thanks for inviting me here. 22 00:00:57,690 --> 00:00:59,760 Did you mention our background? 23 00:00:59,760 --> 00:01:02,850 Dave was actually-- advised me when I first 24 00:01:02,850 --> 00:01:06,250 came to our graduate school at MIT. 25 00:01:06,250 --> 00:01:09,840 And at the time, I was working on digital video 26 00:01:09,840 --> 00:01:11,130 and information retrieval. 27 00:01:11,130 --> 00:01:14,410 And Dave started getting into the business of biology. 28 00:01:14,410 --> 00:01:16,150 This is back in the early '90s. 29 00:01:16,150 --> 00:01:20,640 And I was like, this is cool stuff but it's really messy. 30 00:01:20,640 --> 00:01:22,791 How can you engineer with these molecules? 31 00:01:22,791 --> 00:01:24,624 PROFESSOR: And we've got the answer to that. 32 00:01:24,624 --> 00:01:25,124 PROF. 33 00:01:25,124 --> 00:01:26,520 RON WEISS: Yeah. 34 00:01:26,520 --> 00:01:27,250 So we'll see. 35 00:01:27,250 --> 00:01:31,150 So let's see if the answer is-- it does actually work. 36 00:01:31,150 --> 00:01:36,615 So yeah, so I-- after being a non-believer-- I don't know 37 00:01:36,615 --> 00:01:39,730 if non-believer, but just-- I didn't feel I quite 38 00:01:39,730 --> 00:01:44,190 had the engineering capabilities. 39 00:01:44,190 --> 00:01:49,860 Towards around '96 or so is when I 40 00:01:49,860 --> 00:01:52,920 decided to actually make the switch. 41 00:01:56,530 --> 00:01:58,640 At the time, I was working-- around '96, 42 00:01:58,640 --> 00:02:03,150 I was working at this notion of how can we 43 00:02:03,150 --> 00:02:07,320 use what we know in biology to understand how we program 44 00:02:07,320 --> 00:02:10,560 computers and especially situations where you have 45 00:02:10,560 --> 00:02:14,280 lots and lots of computing elements like-- things 46 00:02:14,280 --> 00:02:14,890 like smartDOS. 47 00:02:14,890 --> 00:02:17,750 I don't know if people have heard, but amorphous computing. 48 00:02:17,750 --> 00:02:21,200 So back in the mid '90s or so, this notion 49 00:02:21,200 --> 00:02:26,520 that we would be able to embed computation everywhere 50 00:02:26,520 --> 00:02:29,240 was kind of an exciting notion. 51 00:02:29,240 --> 00:02:32,810 And I thought to myself, where-- how could I get inspired? 52 00:02:32,810 --> 00:02:35,760 And I thought, well, biology obviously 53 00:02:35,760 --> 00:02:37,230 could serve as great inspiration. 54 00:02:37,230 --> 00:02:40,660 Because that's a situation where you have millions or billions 55 00:02:40,660 --> 00:02:43,080 of little computing elements that 56 00:02:43,080 --> 00:02:46,790 don't have too much power, kind of interact locally. 57 00:02:46,790 --> 00:02:50,580 But they still perform very robust operations. 58 00:02:50,580 --> 00:02:54,240 And so I performed a variety of simulations, 59 00:02:54,240 --> 00:02:57,740 for example, of embryogenesis and other processes 60 00:02:57,740 --> 00:03:00,180 to try to understand what happens in biology and can 61 00:03:00,180 --> 00:03:02,530 I again use that to program computers 62 00:03:02,530 --> 00:03:04,765 or little tiny computers. 63 00:03:04,765 --> 00:03:07,760 And I remember one day, I just decided 64 00:03:07,760 --> 00:03:11,600 to flip the arrow and basically rather than trying 65 00:03:11,600 --> 00:03:15,840 to use biology to understand or program computers, I decided, 66 00:03:15,840 --> 00:03:20,070 let me use what I know in computing to actually 67 00:03:20,070 --> 00:03:21,930 try to program biology, OK? 68 00:03:21,930 --> 00:03:25,180 And so now that field is basically 69 00:03:25,180 --> 00:03:27,000 called synthetic biology. 70 00:03:27,000 --> 00:03:30,300 So I've been in that field-- it's hard to count now, 71 00:03:30,300 --> 00:03:33,430 but I guess maybe 18 years or so. 72 00:03:33,430 --> 00:03:38,020 And it's been fun and has not been easy. 73 00:03:38,020 --> 00:03:39,780 But I think at least we're starting 74 00:03:39,780 --> 00:03:42,330 to make some-- we're making some progress. 75 00:03:42,330 --> 00:03:45,530 So I'll try to tell you about some of our efforts there. 76 00:03:45,530 --> 00:03:48,800 And I certainly encourage you to ask me questions. 77 00:03:48,800 --> 00:03:52,780 So please interrupt me at any point in time. 78 00:03:52,780 --> 00:03:55,570 Any kind of question is fair game. 79 00:03:55,570 --> 00:03:58,590 Dave promised me that you guys are a tough crowd. 80 00:03:58,590 --> 00:03:59,910 So let's see. 81 00:04:02,570 --> 00:04:05,070 And you can always stump. 82 00:04:05,070 --> 00:04:07,730 Let's try to have that happen. 83 00:04:07,730 --> 00:04:14,586 So when I look at this, I get excited as an engineer, OK? 84 00:04:14,586 --> 00:04:15,710 And I think to myself, wow. 85 00:04:15,710 --> 00:04:18,510 This could be really cool to be able to program something 86 00:04:18,510 --> 00:04:20,410 like this, again, in the same way 87 00:04:20,410 --> 00:04:22,300 that we may program computers. 88 00:04:22,300 --> 00:04:28,420 And so this notion of genetic engineering in a direct way, 89 00:04:28,420 --> 00:04:32,520 in a way where we can create new DNA, 90 00:04:32,520 --> 00:04:36,670 certainly has been around since the '70s or so. 91 00:04:36,670 --> 00:04:39,830 And so this notion has allowed us 92 00:04:39,830 --> 00:04:42,600 as a community to create various mechanisms that 93 00:04:42,600 --> 00:04:43,890 control what the cells do. 94 00:04:43,890 --> 00:04:47,530 So for example, transcriptional regulation, translational-- so 95 00:04:47,530 --> 00:04:49,820 being able to regulate things in a cell, 96 00:04:49,820 --> 00:04:55,140 be able to create genetically encoded sensors, 97 00:04:55,140 --> 00:04:58,130 cell-cell communication mechanisms, synthesis 98 00:04:58,130 --> 00:05:01,760 of various interesting molecules-- 99 00:05:01,760 --> 00:05:06,300 biofuels, pharmaceuticals, and control physical aspects. 100 00:05:06,300 --> 00:05:10,240 And so those capabilities have been around 101 00:05:10,240 --> 00:05:11,690 before synthetic biology. 102 00:05:11,690 --> 00:05:14,990 But if you were to ask me what is 103 00:05:14,990 --> 00:05:16,520 different about synthetic biology, 104 00:05:16,520 --> 00:05:20,000 I would say it's really the emphasis on systems level 105 00:05:20,000 --> 00:05:21,170 engineering. 106 00:05:21,170 --> 00:05:23,470 OK, so this notion that we are not just 107 00:05:23,470 --> 00:05:26,860 trying to engineer over expression 108 00:05:26,860 --> 00:05:29,520 of this gene or that gene or a couple of genes, 109 00:05:29,520 --> 00:05:31,620 but really trying to understand how 110 00:05:31,620 --> 00:05:33,650 to create systems of interactions. 111 00:05:33,650 --> 00:05:37,280 So in the same way that systems biology has 112 00:05:37,280 --> 00:05:39,240 come to the forefront with this notion 113 00:05:39,240 --> 00:05:43,800 that you can't understand a cell by understanding what 114 00:05:43,800 --> 00:05:46,770 is the exact purpose of this particular gene-- we always 115 00:05:46,770 --> 00:05:49,590 have to think about it within the context of a pathway 116 00:05:49,590 --> 00:05:54,100 within the context of the entire organism-- in the same way, 117 00:05:54,100 --> 00:05:56,890 when we want to be able to get cells to do interesting things, 118 00:05:56,890 --> 00:05:59,340 we have to think about the system as a whole. 119 00:05:59,340 --> 00:06:02,610 And to get the sophistication that we need, 120 00:06:02,610 --> 00:06:07,310 we need to understand how to connect these various elements, 121 00:06:07,310 --> 00:06:09,883 regulatory elements, all these kinds of elements, 122 00:06:09,883 --> 00:06:13,320 in reliable, predictable ways, efficient ways 123 00:06:13,320 --> 00:06:16,490 and so on to be able to get the cells to be 124 00:06:16,490 --> 00:06:18,850 as programmable as computers. 125 00:06:18,850 --> 00:06:22,970 So that if you were to ask me what synthetic biology is, 126 00:06:22,970 --> 00:06:25,237 that would be my answer. 127 00:06:25,237 --> 00:06:27,570 And so now you know it and you can tell all your friends 128 00:06:27,570 --> 00:06:31,879 that it's a completely defined notion and so on. 129 00:06:31,879 --> 00:06:33,420 Maybe if yo ask other people, they'll 130 00:06:33,420 --> 00:06:34,920 give you slightly different answers. 131 00:06:34,920 --> 00:06:35,870 But there you go. 132 00:06:35,870 --> 00:06:40,157 So how do we develop an engineering discipline out 133 00:06:40,157 --> 00:06:41,160 of that? 134 00:06:41,160 --> 00:06:44,390 OK, so that's really how can we get undergrads 135 00:06:44,390 --> 00:06:50,080 to come in and take Synbio 101 where it's really 136 00:06:50,080 --> 00:06:54,960 a well defined mechanism and set of methodologies and practices 137 00:06:54,960 --> 00:06:57,400 that allow us to do this reliably. 138 00:06:57,400 --> 00:07:01,540 OK, and so we often try to get inspired 139 00:07:01,540 --> 00:07:04,280 by how other disciplines approach 140 00:07:04,280 --> 00:07:06,400 the engineering of complex systems. 141 00:07:06,400 --> 00:07:08,160 And so kind of an obvious one would 142 00:07:08,160 --> 00:07:11,160 be of computing or robotics where 143 00:07:11,160 --> 00:07:14,960 there's this notion of, for example, bottom up assembly. 144 00:07:14,960 --> 00:07:17,530 And so you start with basic devices 145 00:07:17,530 --> 00:07:20,260 and think about how to create modules 146 00:07:20,260 --> 00:07:23,790 that have specific behaviors in them and then put those modules 147 00:07:23,790 --> 00:07:27,000 and integrate those modules to create these autonomous 148 00:07:27,000 --> 00:07:28,720 entities such as robots. 149 00:07:28,720 --> 00:07:31,950 And we often think about how to create communities 150 00:07:31,950 --> 00:07:36,000 of interactions, communities of robots in this case, and so on. 151 00:07:36,000 --> 00:07:38,570 And so that's worked quite well in a variety 152 00:07:38,570 --> 00:07:40,915 of different other engineering disciplines. 153 00:07:40,915 --> 00:07:42,290 And so we often ask the question, 154 00:07:42,290 --> 00:07:47,010 can we import these mechanisms into the world of biology? 155 00:07:47,010 --> 00:07:51,170 So can we take basic mechanisms of regulation-- 156 00:07:51,170 --> 00:07:52,830 it could be transcriptional, it could 157 00:07:52,830 --> 00:07:56,480 be other modes of regulation-- and then wind these things up 158 00:07:56,480 --> 00:08:01,160 to create customizable pathways that we then embed into cells? 159 00:08:01,160 --> 00:08:04,850 And then we can create programmable communities 160 00:08:04,850 --> 00:08:05,650 of bacteria. 161 00:08:05,650 --> 00:08:08,820 We can create programmable tissues of mammalian cells 162 00:08:08,820 --> 00:08:09,590 and so on. 163 00:08:09,590 --> 00:08:15,209 And so the question is, is this a useful and efficient way 164 00:08:15,209 --> 00:08:16,000 to approach things? 165 00:08:16,000 --> 00:08:19,930 So for example, how are these different approaches similar? 166 00:08:19,930 --> 00:08:21,870 What can we borrow from here that 167 00:08:21,870 --> 00:08:24,510 make sense to push on over there? 168 00:08:24,510 --> 00:08:27,190 And I will say when I started working 169 00:08:27,190 --> 00:08:28,960 in synthetic biology, most of my efforts 170 00:08:28,960 --> 00:08:33,669 were really focused on adapting and implementing 171 00:08:33,669 --> 00:08:36,210 these things-- so adapting them from other disciplines 172 00:08:36,210 --> 00:08:38,940 and trying to understand how to implement them into the world 173 00:08:38,940 --> 00:08:39,860 the biology. 174 00:08:39,860 --> 00:08:42,500 But as time has gone by and as we've 175 00:08:42,500 --> 00:08:45,890 started to understand and appreciate the cell more 176 00:08:45,890 --> 00:08:49,750 and more, we are also quite interested in how 177 00:08:49,750 --> 00:08:51,650 these things are different as well. 178 00:08:51,650 --> 00:08:55,920 So what makes engineering biological systems 179 00:08:55,920 --> 00:08:59,000 a truly unique, new engineering discipline? 180 00:08:59,000 --> 00:09:00,959 What would you do in the world of biology 181 00:09:00,959 --> 00:09:02,750 that might be different than what you would 182 00:09:02,750 --> 00:09:08,960 do with computers or robots or building bridges and cars 183 00:09:08,960 --> 00:09:10,240 and planes and so on? 184 00:09:10,240 --> 00:09:14,380 And so that that's become more and more of an important focus 185 00:09:14,380 --> 00:09:17,500 in my lab and I think in the community as a whole 186 00:09:17,500 --> 00:09:20,530 although not yet everywhere. 187 00:09:20,530 --> 00:09:22,810 And you often see situations where 188 00:09:22,810 --> 00:09:25,240 people come in from other disciplines and just think, 189 00:09:25,240 --> 00:09:27,120 oh, we'll just program it, engineer it, 190 00:09:27,120 --> 00:09:29,890 just like we do in computing and so on. 191 00:09:29,890 --> 00:09:34,090 And it doesn't just work like that. 192 00:09:34,090 --> 00:09:39,880 So when we approach these tasks of programming the cells, 193 00:09:39,880 --> 00:09:44,880 we usually divide things up into modules of sensors, processing, 194 00:09:44,880 --> 00:09:46,430 and actuation. 195 00:09:46,430 --> 00:09:51,080 So for example, we would want to develop sensors 196 00:09:51,080 --> 00:09:54,825 that can detect in live cells levels of microRNA messenger 197 00:09:54,825 --> 00:10:00,030 and then proteins and then connect them 198 00:10:00,030 --> 00:10:04,560 to synthetic regulatory circuits that we embed in the cells, OK? 199 00:10:04,560 --> 00:10:07,630 So it's important that these sensors not just, for example, 200 00:10:07,630 --> 00:10:10,400 give us fluorescent readouts, but it's important 201 00:10:10,400 --> 00:10:13,660 that these sensors then connect to the regulatory networks 202 00:10:13,660 --> 00:10:17,070 that we have in mind and so that these regulatory networks can 203 00:10:17,070 --> 00:10:20,530 then integrate multiple pieces of information 204 00:10:20,530 --> 00:10:23,760 and make decisions about actuation. 205 00:10:23,760 --> 00:10:30,330 So how do we turn on specific proteins that will then 206 00:10:30,330 --> 00:10:33,250 influence that particular cell or even 207 00:10:33,250 --> 00:10:36,870 the environment in a programmable fashion 208 00:10:36,870 --> 00:10:41,680 as dictated by the levels of particular sensors 209 00:10:41,680 --> 00:10:44,410 as well as by other mechanisms or, for example, 210 00:10:44,410 --> 00:10:47,760 from looking at historical information 211 00:10:47,760 --> 00:10:50,910 that the cell itself has processed as well? 212 00:10:50,910 --> 00:10:55,570 And so this is, I would say, represents 213 00:10:55,570 --> 00:10:57,970 the paradigm for most of the things that 214 00:10:57,970 --> 00:11:00,480 do take place in synthetic biology. 215 00:11:00,480 --> 00:11:02,380 And so why do we want to do this? 216 00:11:02,380 --> 00:11:08,120 It's not the program the next version of the iOS or iPhone 217 00:11:08,120 --> 00:11:10,170 or something like that. 218 00:11:10,170 --> 00:11:11,980 even though that initially that was 219 00:11:11,980 --> 00:11:14,230 one of the things that was discussed, 220 00:11:14,230 --> 00:11:16,920 it's not just for the sake of computation, 221 00:11:16,920 --> 00:11:20,630 but really for the sake of specific applications. 222 00:11:20,630 --> 00:11:25,230 So for example, if we have really slow logic gates that 223 00:11:25,230 --> 00:11:29,660 work on the order of hours or even days, 224 00:11:29,660 --> 00:11:33,020 that might be fine if the application, for example, 225 00:11:33,020 --> 00:11:36,300 is a tissue engineering application, OK? 226 00:11:36,300 --> 00:11:40,110 And so in synthetic biology, initial emphasis 227 00:11:40,110 --> 00:11:45,460 is really been on what can we do with microbial, 228 00:11:45,460 --> 00:11:48,700 let's say, communities or individuals, for example, 229 00:11:48,700 --> 00:11:50,550 for synthesis of high value compounds? 230 00:11:50,550 --> 00:11:53,550 I mentioned bioenergy, environmental applications 231 00:11:53,550 --> 00:11:54,280 as well. 232 00:11:54,280 --> 00:11:57,770 So that, I would say, was most of the emphasis there. 233 00:11:57,770 --> 00:11:59,680 But over the last few years, there's 234 00:11:59,680 --> 00:12:03,440 been a growing interest in health-related applications. 235 00:12:03,440 --> 00:12:09,280 And so my lab in particular looks at mostly health related 236 00:12:09,280 --> 00:12:09,960 applications. 237 00:12:09,960 --> 00:12:15,480 And so I'll give you examples of those today, OK? 238 00:12:15,480 --> 00:12:20,450 And those include things involved with cancer, diabetes, 239 00:12:20,450 --> 00:12:22,340 in tissues by design. 240 00:12:22,340 --> 00:12:24,380 And in order to do this, in order 241 00:12:24,380 --> 00:12:27,870 to have this programmability, you want to think about scales. 242 00:12:27,870 --> 00:12:33,150 So you want to think about how much DNA does it take to do X? 243 00:12:33,150 --> 00:12:38,470 And to a large extent, that controls the sophistication. 244 00:12:38,470 --> 00:12:41,840 It really is an important defining element 245 00:12:41,840 --> 00:12:46,080 what we do is the scale of the DNA 246 00:12:46,080 --> 00:12:49,560 that we can actually engineer reliably quickly, 247 00:12:49,560 --> 00:12:52,820 efficiently, predictably, in high throughput fashion, 248 00:12:52,820 --> 00:12:55,260 and in inexpensive ways. 249 00:12:55,260 --> 00:13:01,860 So we would start with things on the order of genes 250 00:13:01,860 --> 00:13:05,180 where I would say that that's really the basic elements. 251 00:13:05,180 --> 00:13:09,000 I would say that a single gene that you overexposes 252 00:13:09,000 --> 00:13:11,700 or a few genes than you inducibly express, 253 00:13:11,700 --> 00:13:15,870 I wouldn't count that as synthetic biology. 254 00:13:15,870 --> 00:13:17,970 But when it gets kind of interesting 255 00:13:17,970 --> 00:13:20,470 for synthetic biology is when we have this circuitry, 256 00:13:20,470 --> 00:13:25,400 where we now embed interactions that didn't previously 257 00:13:25,400 --> 00:13:28,100 exist in that particular cell context. 258 00:13:28,100 --> 00:13:32,170 And so most of synthetic biology has been really at this level 259 00:13:32,170 --> 00:13:34,590 right here-- actually, mostly from here 260 00:13:34,590 --> 00:13:37,560 to here in terms of the scale of the DNA 261 00:13:37,560 --> 00:13:41,290 and now trying to go beyond that-- more along the lines 262 00:13:41,290 --> 00:13:45,650 can we create something that's 20,000 bases, 50,000 263 00:13:45,650 --> 00:13:47,650 bases of DNA? 264 00:13:47,650 --> 00:13:52,080 OK, is this something that a graduate student can 265 00:13:52,080 --> 00:13:54,920 come into the lab and say, I want 266 00:13:54,920 --> 00:13:59,120 to design something that will take 20,000 to 50,000 bases? 267 00:13:59,120 --> 00:14:02,670 Is this a reasonable thing to consider? 268 00:14:02,670 --> 00:14:05,830 OK, and then the question would be, what kind of power 269 00:14:05,830 --> 00:14:07,080 does that provide to you? 270 00:14:07,080 --> 00:14:09,620 What things can you do with that? 271 00:14:09,620 --> 00:14:13,480 Beyond that, people have explored this notion 272 00:14:13,480 --> 00:14:17,930 of minimal life and even full genome rewrites. 273 00:14:17,930 --> 00:14:20,690 I would say at this point, this is-- 274 00:14:20,690 --> 00:14:23,400 what some people clump that in with synthetic biology, which 275 00:14:23,400 --> 00:14:24,930 is fine. 276 00:14:24,930 --> 00:14:28,450 We don't have, at the moment, really good ways 277 00:14:28,450 --> 00:14:33,190 of being able to engineer minimal life from scratch 278 00:14:33,190 --> 00:14:37,600 or even in a really fundamentally different way. 279 00:14:37,600 --> 00:14:39,670 So most of the efforts on minimal life 280 00:14:39,670 --> 00:14:41,590 would be take an organism and try 281 00:14:41,590 --> 00:14:45,010 to figure out what to knock out, right, as opposed to saying, 282 00:14:45,010 --> 00:14:49,010 I'm going to engineer this new minimal organism. 283 00:14:49,010 --> 00:14:51,210 And I'm going to define what reactions 284 00:14:51,210 --> 00:14:52,460 to put in there from scratch. 285 00:14:52,460 --> 00:14:54,501 And I'm going to create a whole bunch of new ones 286 00:14:54,501 --> 00:14:56,500 that didn't exist before. 287 00:14:56,500 --> 00:15:00,430 OK, in the future, will we be able to do this? 288 00:15:00,430 --> 00:15:03,230 Hopefully, OK? 289 00:15:03,230 --> 00:15:07,550 Not quite yet-- this is really where the action of right now. 290 00:15:07,550 --> 00:15:10,020 And again, driving force for this 291 00:15:10,020 --> 00:15:14,570 is how inexpensive is DNA synthesis. 292 00:15:14,570 --> 00:15:18,070 And so we're following some kind of Moore's law 293 00:15:18,070 --> 00:15:22,640 with respect to dropping costs in terms of DNA synthesis. 294 00:15:22,640 --> 00:15:25,560 And this is one of the enabling-- 295 00:15:25,560 --> 00:15:29,250 I don't know if it's-- it's not the only enabling technology. 296 00:15:29,250 --> 00:15:31,500 But is one of the most important enabling technologies 297 00:15:31,500 --> 00:15:35,040 is the fact that it is less and less 298 00:15:35,040 --> 00:15:38,920 expensive to be able to order longer 299 00:15:38,920 --> 00:15:41,310 and longer sequences of DNA. 300 00:15:41,310 --> 00:15:44,780 And so this notion that, for example, 301 00:15:44,780 --> 00:15:47,910 you'll be able to design something that's, again, 302 00:15:47,910 --> 00:15:51,580 that's 20,000 to 50,000 bases of DNA 303 00:15:51,580 --> 00:15:54,220 and just go online and order to that 304 00:15:54,220 --> 00:15:59,250 and have your advisor willingly pay for that-- not 305 00:15:59,250 --> 00:16:02,540 at the level of 20,000 to 50,000 bases yet. 306 00:16:02,540 --> 00:16:04,110 But that's going to change. 307 00:16:04,110 --> 00:16:05,610 And that's going to get to the point 308 00:16:05,610 --> 00:16:10,770 where those really become available to everyone. 309 00:16:10,770 --> 00:16:13,240 And I think that's going to fundamentally change 310 00:16:13,240 --> 00:16:16,130 how we do business in biological engineering 311 00:16:16,130 --> 00:16:18,320 and how we do, I would say, almost everything 312 00:16:18,320 --> 00:16:20,440 in biology as a whole. 313 00:16:20,440 --> 00:16:23,100 So if you have-- even if you don't care about engineering 314 00:16:23,100 --> 00:16:24,970 new biological functions but you want 315 00:16:24,970 --> 00:16:28,610 to understand biological systems and your adviser told you, 316 00:16:28,610 --> 00:16:32,500 well, just design a whole bunch of circuits that will allow you 317 00:16:32,500 --> 00:16:34,960 to regulate things in arbitrary ways 318 00:16:34,960 --> 00:16:38,330 to learn something about the underlying networks that 319 00:16:38,330 --> 00:16:41,850 control a natural systems, again, I 320 00:16:41,850 --> 00:16:45,750 think that that fundamentally changes what kinds of questions 321 00:16:45,750 --> 00:16:47,840 you will ask. 322 00:16:47,840 --> 00:16:51,500 OK, so I'll talk about basic design. 323 00:16:51,500 --> 00:16:53,180 I'll talk about scalability. 324 00:16:53,180 --> 00:16:55,550 So how do we go from these basic elements 325 00:16:55,550 --> 00:16:57,140 to bigger and bigger things? 326 00:16:57,140 --> 00:16:59,880 And then I'll talk about some recent things 327 00:16:59,880 --> 00:17:05,810 that we're doing where we're building this foundation. 328 00:17:05,810 --> 00:17:09,290 But we think that this foundation then can matter. 329 00:17:09,290 --> 00:17:13,970 I think this foundation can change how you approach things 330 00:17:13,970 --> 00:17:18,089 that really don't have the greatest of solutions. 331 00:17:18,089 --> 00:17:21,030 Now, they really change the paradigm, for example, 332 00:17:21,030 --> 00:17:26,310 for cancer, for this notion of building tissues 333 00:17:26,310 --> 00:17:29,830 by design on chips and for diabetes and so on. 334 00:17:29,830 --> 00:17:34,440 OK, so we start with parts. 335 00:17:34,440 --> 00:17:37,130 So just about everything that we do, 336 00:17:37,130 --> 00:17:39,470 we define what are the basic parts that 337 00:17:39,470 --> 00:17:42,030 are available in our toolbox. 338 00:17:42,030 --> 00:17:44,440 And so these will be transcriptional regulatory 339 00:17:44,440 --> 00:17:44,940 parts. 340 00:17:44,940 --> 00:17:47,270 We do things at the translational level. 341 00:17:47,270 --> 00:17:50,170 We do things also at the protein-protein level. 342 00:17:50,170 --> 00:17:52,820 One of the things we often do, not always, 343 00:17:52,820 --> 00:17:56,080 is engineer cell-cell interactions. 344 00:17:56,080 --> 00:17:58,510 Could be by means of cell-cell communication. 345 00:17:58,510 --> 00:18:01,230 We often want to find out what's going on in the cell. 346 00:18:01,230 --> 00:18:05,250 So just like when we program-- where 347 00:18:05,250 --> 00:18:08,260 we create a new software, new computer program, 348 00:18:08,260 --> 00:18:10,590 we have debugging outputs that tell us 349 00:18:10,590 --> 00:18:12,380 what the program is doing. 350 00:18:12,380 --> 00:18:15,530 Usually, the way we do this is with fluorescent protein. 351 00:18:15,530 --> 00:18:17,930 It could be with dyes too. 352 00:18:17,930 --> 00:18:20,110 So they tell us, you know, here's 353 00:18:20,110 --> 00:18:21,490 how your circuit is behaving. 354 00:18:21,490 --> 00:18:23,900 Here's how the cell might be behaving. 355 00:18:23,900 --> 00:18:25,750 And another set of parts would be 356 00:18:25,750 --> 00:18:28,980 ones where we want to be able to create sensors 357 00:18:28,980 --> 00:18:32,070 and actuators inside the cell. 358 00:18:32,070 --> 00:18:34,670 What are specific biomarker levels? 359 00:18:34,670 --> 00:18:38,070 How can we affect what the cell is doing? 360 00:18:38,070 --> 00:18:40,470 For example, one that gets used a lot 361 00:18:40,470 --> 00:18:43,800 is kill the cell is one of the favorite actuators 362 00:18:43,800 --> 00:18:45,015 that people are using. 363 00:18:45,015 --> 00:18:48,880 Another one would be, let's say, tell this stem cell 364 00:18:48,880 --> 00:18:52,050 to differentiate into a different cell type. 365 00:18:52,050 --> 00:18:53,840 That would be another kind of actuator. 366 00:18:53,840 --> 00:18:58,010 A different one might make the cell-- make this high value 367 00:18:58,010 --> 00:19:01,370 compound that would be relevant for some application. 368 00:19:01,370 --> 00:19:06,360 And so right now, if you're looking for parts, 369 00:19:06,360 --> 00:19:12,120 they actually used to be stored in Stata up until-- 370 00:19:12,120 --> 00:19:15,120 or big libraries of synthetic biology parts 371 00:19:15,120 --> 00:19:19,125 were stored in Stata that up until about two years or so. 372 00:19:19,125 --> 00:19:21,630 So I don't know how many people know about iGEM. 373 00:19:21,630 --> 00:19:23,170 Any folks know about iGEM? 374 00:19:23,170 --> 00:19:28,250 So iGEM was started at MIT, was headquartered, 375 00:19:28,250 --> 00:19:30,070 as I mentioned again here, in Stata. 376 00:19:30,070 --> 00:19:34,175 There are these couple of big freezer that were on the, 377 00:19:34,175 --> 00:19:36,820 I think, the fourth floor here. 378 00:19:36,820 --> 00:19:41,170 And they stored 5,000 to 10,000 parts 379 00:19:41,170 --> 00:19:44,300 that word commonly used by synthetic biology folks. 380 00:19:44,300 --> 00:19:46,410 OK, so now they moved over closer 381 00:19:46,410 --> 00:19:49,500 to Cambridge brewing company. 382 00:19:49,500 --> 00:19:52,930 And they're not affiliated directly with MIT anymore 383 00:19:52,930 --> 00:19:55,810 and they have 15,000 parts or so available. 384 00:19:55,810 --> 00:19:58,470 So if you want to get started in synthetic biology, 385 00:19:58,470 --> 00:20:00,470 this is one quick way to do that. 386 00:20:00,470 --> 00:20:03,870 You can contact iGEM headquarters and say, please 387 00:20:03,870 --> 00:20:07,300 send me 1,000 parts, OK? 388 00:20:07,300 --> 00:20:09,260 And as long as you're credible and not 389 00:20:09,260 --> 00:20:14,030 from one of those blacklisted countries, 390 00:20:14,030 --> 00:20:18,160 then they typically will send it to you. 391 00:20:18,160 --> 00:20:21,220 So that's a good way to get started, OK? 392 00:20:21,220 --> 00:20:23,200 So what are these parts? 393 00:20:23,200 --> 00:20:28,724 So this is actually going back to my Ph.D. here. 394 00:20:28,724 --> 00:20:30,640 This is one of the parts that I characterized. 395 00:20:30,640 --> 00:20:33,970 So this notion of an inverter-- so digital logic convert. 396 00:20:33,970 --> 00:20:35,790 So I assume people here-- everybody 397 00:20:35,790 --> 00:20:38,720 is familiar with logic gates. 398 00:20:38,720 --> 00:20:40,335 Is that true? 399 00:20:40,335 --> 00:20:45,370 OK, raise your hand if you are familiar with it. 400 00:20:45,370 --> 00:20:47,110 I just want to see- oh. 401 00:20:47,110 --> 00:20:51,910 Just trying to calibrate-- and again, ask me questions. 402 00:20:51,910 --> 00:20:55,740 So this notion that you have a single input, single output 403 00:20:55,740 --> 00:21:01,700 device that works on binary values that has-- basically 404 00:21:01,700 --> 00:21:02,500 inverts the signal. 405 00:21:02,500 --> 00:21:03,460 So you have zero on the input. 406 00:21:03,460 --> 00:21:04,240 You have one on the output. 407 00:21:04,240 --> 00:21:06,290 One in the input, you have zero in the output. 408 00:21:06,290 --> 00:21:08,390 And so one of the ways in which you 409 00:21:08,390 --> 00:21:11,480 can implement this in a biological system 410 00:21:11,480 --> 00:21:14,050 is just use transcriptional repression. 411 00:21:14,050 --> 00:21:16,680 OK, so if you have no repressor present, 412 00:21:16,680 --> 00:21:18,690 then you have a high level of output protein. 413 00:21:18,690 --> 00:21:20,590 If you have a repressor present, it 414 00:21:20,590 --> 00:21:22,800 represses the production of the alpha protein. 415 00:21:22,800 --> 00:21:25,650 And so in theory, you should be able to use 416 00:21:25,650 --> 00:21:28,620 this as a digital logic gate. 417 00:21:28,620 --> 00:21:32,700 OK, and so that-- sounds-- looks pretty simple here. 418 00:21:32,700 --> 00:21:35,490 But for my Ph.D., it took me about three years 419 00:21:35,490 --> 00:21:39,260 to do something like this just to give you an indication. 420 00:21:39,260 --> 00:21:40,200 Now it's a lot faster. 421 00:21:40,200 --> 00:21:44,856 Now you can do this in-- you can do many of those in a day. 422 00:21:44,856 --> 00:21:45,980 So there has been progress. 423 00:21:45,980 --> 00:21:49,120 Here's another one of those gates that I used for my Ph.D. 424 00:21:49,120 --> 00:21:54,090 And so this is now not just a repressor, but a repressor that 425 00:21:54,090 --> 00:21:58,290 can be inactivated by a small molecule, OK? 426 00:21:58,290 --> 00:22:00,910 And so the way it works is you have 427 00:22:00,910 --> 00:22:04,110 this repressor that works as before. 428 00:22:04,110 --> 00:22:06,240 And then when a small molecule comes in, 429 00:22:06,240 --> 00:22:09,370 it prevents a repressor from binding the promoter. 430 00:22:09,370 --> 00:22:12,280 And as a result of that, even if the repressor is present, 431 00:22:12,280 --> 00:22:15,520 you can have activation of the output protein, OK? 432 00:22:15,520 --> 00:22:21,650 So this is what's called a not x or y or it implements 433 00:22:21,650 --> 00:22:23,570 the implies logic function. 434 00:22:23,570 --> 00:22:28,126 How many people use the implies logic function to do anything? 435 00:22:28,126 --> 00:22:29,320 OK. 436 00:22:29,320 --> 00:22:33,560 So it's not a commonly used logic function. 437 00:22:33,560 --> 00:22:35,900 And you won't find it-- there's no logic gate that 438 00:22:35,900 --> 00:22:38,970 does the implies logic function in a typical computer. 439 00:22:38,970 --> 00:22:41,789 But this is a useful logic function 440 00:22:41,789 --> 00:22:43,080 that we can implement in cells. 441 00:22:43,080 --> 00:22:48,660 And it allows external control of gene expression, OK? 442 00:22:48,660 --> 00:22:50,500 And so this is a simple way-- and so 443 00:22:50,500 --> 00:22:53,000 once you can do that as a user, essentially you 444 00:22:53,000 --> 00:22:54,840 can interact with the cells and modify 445 00:22:54,840 --> 00:22:58,690 what's going on inside the cell, OK, using a pretty simple 446 00:22:58,690 --> 00:23:03,090 looking mechanism that predates synthetic biology, if you will. 447 00:23:03,090 --> 00:23:05,580 But I don't know if it was called the implies logic 448 00:23:05,580 --> 00:23:06,810 function before. 449 00:23:06,810 --> 00:23:12,990 So anyway, so then logic gates-- can we build logic circuits? 450 00:23:12,990 --> 00:23:15,120 This is where I would say synthetic biology 451 00:23:15,120 --> 00:23:16,500 starts kicking in. 452 00:23:16,500 --> 00:23:19,680 And so this is one of the first logic circuits that we built. 453 00:23:19,680 --> 00:23:24,060 And the question was, OK-- looks nice to have this logic gate 454 00:23:24,060 --> 00:23:25,220 representation. 455 00:23:25,220 --> 00:23:28,850 In biology, does this make any sense at all? 456 00:23:28,850 --> 00:23:33,670 Can you really do digital logic inside cells? 457 00:23:33,670 --> 00:23:37,350 Can you take noisy biological components 458 00:23:37,350 --> 00:23:41,520 and actually implement reliable digital computation in cells? 459 00:23:41,520 --> 00:23:45,410 And it wasn't an obvious thing, I would say. 460 00:23:45,410 --> 00:23:48,160 Is it 100% obvious now? 461 00:23:48,160 --> 00:23:50,240 In some situations, I think we can 462 00:23:50,240 --> 00:23:53,710 claim that we can build digital logic that's 463 00:23:53,710 --> 00:23:56,750 reasonably reliable. 464 00:23:56,750 --> 00:24:00,440 So in this particular case, I'm showing you this implies logic 465 00:24:00,440 --> 00:24:03,100 function that allows us to have small molecule 466 00:24:03,100 --> 00:24:07,930 induction of a cascade of not logic 467 00:24:07,930 --> 00:24:10,950 gates or transcriptional repressors. 468 00:24:10,950 --> 00:24:13,520 And so the nice thing about this in particular 469 00:24:13,520 --> 00:24:17,090 is the fact that this is the input output steady state is 470 00:24:17,090 --> 00:24:19,960 that as the circuit so goes from blue to black 471 00:24:19,960 --> 00:24:24,390 to this yellow color here is as the circuit gets longer, 472 00:24:24,390 --> 00:24:28,100 as a cascade gets longer, it actually becomes more digital. 473 00:24:28,100 --> 00:24:31,570 It actually becomes more step-like, OK? 474 00:24:31,570 --> 00:24:32,770 More on off. 475 00:24:32,770 --> 00:24:35,910 So we're going from this blue input output function 476 00:24:35,910 --> 00:24:36,790 to this yellow. 477 00:24:36,790 --> 00:24:38,670 So now we have over 1,000 fold change 478 00:24:38,670 --> 00:24:43,130 in the output in response to two to four 479 00:24:43,130 --> 00:24:45,530 fold change in the input. 480 00:24:45,530 --> 00:24:47,990 OK, and then we have good noise margins, 481 00:24:47,990 --> 00:24:51,660 good signal restorations, all these good things 482 00:24:51,660 --> 00:24:55,250 that we need to have for the creation of larger 483 00:24:55,250 --> 00:24:59,160 and larger reliable digital circuits. 484 00:24:59,160 --> 00:25:03,150 So the basis of digital computation is that you have-- 485 00:25:03,150 --> 00:25:07,100 and the reason why you can actually create computers 486 00:25:07,100 --> 00:25:12,110 is that you can have logic gates that do signal restoration-- 487 00:25:12,110 --> 00:25:17,540 that the output is a better representation 488 00:25:17,540 --> 00:25:20,620 of the digital meaning then the input. 489 00:25:20,620 --> 00:25:25,450 So as the signal , propagates this analog signal could be 490 00:25:25,450 --> 00:25:26,510 voltage. 491 00:25:26,510 --> 00:25:29,610 But it could be protein concentrations. 492 00:25:29,610 --> 00:25:34,800 As it traverses through the logic gates, 493 00:25:34,800 --> 00:25:38,790 it needs to actually become cleaner in order for us 494 00:25:38,790 --> 00:25:42,340 to be able to have reliable digital computation. 495 00:25:42,340 --> 00:25:44,900 So people have figured out how to do this 496 00:25:44,900 --> 00:25:48,150 with electronics a long time ago. 497 00:25:48,150 --> 00:25:53,210 We figured out how to do it with synthetic biology, let's 498 00:25:53,210 --> 00:25:55,540 say, 10 to 15 years ago. 499 00:25:55,540 --> 00:25:58,760 And nature has figured out how to do this billions of years 500 00:25:58,760 --> 00:26:01,100 ago, OK? 501 00:26:01,100 --> 00:26:06,300 So things like cooperativity-- so I 502 00:26:06,300 --> 00:26:09,890 assume you've looked a little bit on cooperatively 503 00:26:09,890 --> 00:26:12,820 in, let's say, gene regulation. 504 00:26:12,820 --> 00:26:17,110 OK, so that is a situation where you get a nonlinear 505 00:26:17,110 --> 00:26:21,000 response in a system that biology has figured out 506 00:26:21,000 --> 00:26:25,160 is a useful mechanism so that signals that come in actually 507 00:26:25,160 --> 00:26:28,670 result in some kind of actual digital behavior. 508 00:26:28,670 --> 00:26:32,400 So you get non-linear signal processing 509 00:26:32,400 --> 00:26:34,430 in these regulatory elements. 510 00:26:34,430 --> 00:26:41,340 And at the end of, let's say, a signal transduction cascade, 511 00:26:41,340 --> 00:26:43,960 the output is either high or low. 512 00:26:43,960 --> 00:26:47,070 There's no-- for the most part, there's no in between. 513 00:26:47,070 --> 00:26:50,140 The transition between high and low is super fast. 514 00:26:50,140 --> 00:26:53,350 OK, so in a sense, that's creating 515 00:26:53,350 --> 00:26:56,220 digital or discrete outputs. 516 00:26:56,220 --> 00:27:00,160 And that's really critical for many situations-- 517 00:27:00,160 --> 00:27:03,060 certainly in synthetic biology, but many situations in biology 518 00:27:03,060 --> 00:27:03,880 as well. 519 00:27:03,880 --> 00:27:07,450 So one example would be, let's say, stem cell differentiation. 520 00:27:07,450 --> 00:27:12,610 You want the cells to be able to make a discrete decision. 521 00:27:12,610 --> 00:27:17,160 Should I make-- should I become a kidney cell or a liver 522 00:27:17,160 --> 00:27:19,901 cell or a muscle cell and so on. 523 00:27:19,901 --> 00:27:21,400 So those are discrete decisions that 524 00:27:21,400 --> 00:27:23,890 have to be made by the cells. 525 00:27:23,890 --> 00:27:26,590 And so the cells have come up-- or nature's 526 00:27:26,590 --> 00:27:29,280 come up with mechanisms to guarantee that. 527 00:27:29,280 --> 00:27:32,140 And so we've now figured out how to do that ourselves 528 00:27:32,140 --> 00:27:34,510 in a synthetic fashion as well. 529 00:27:34,510 --> 00:27:38,330 It's important to note that when we engineer these systems, 530 00:27:38,330 --> 00:27:42,420 we don't just think about digital behavior. 531 00:27:42,420 --> 00:27:47,210 So we spent an equal amount of time perhaps thinking 532 00:27:47,210 --> 00:27:50,900 about how to implement things that have transient properties 533 00:27:50,900 --> 00:27:56,210 or things that have more kind of analog behavior to them. 534 00:27:56,210 --> 00:27:59,960 And that's absolutely critical to be able to program cells 535 00:27:59,960 --> 00:28:01,520 to do whatever we want. 536 00:28:01,520 --> 00:28:04,590 So this is an example where we have engineered 537 00:28:04,590 --> 00:28:08,370 cell-cell communication where sender cells make 538 00:28:08,370 --> 00:28:10,990 a small diffusible molecule which 539 00:28:10,990 --> 00:28:13,870 then goes to receiver cells. 540 00:28:13,870 --> 00:28:18,460 OK, so now the receiver cells don't just have an on response, 541 00:28:18,460 --> 00:28:21,640 but rather they have a pulse, OK? 542 00:28:21,640 --> 00:28:27,530 So a signal travels from the sender to the receiver cells. 543 00:28:27,530 --> 00:28:30,150 And the cells, what we engineer them to do 544 00:28:30,150 --> 00:28:32,670 is have a pulse response. 545 00:28:32,670 --> 00:28:36,480 And the idea is to have GFP go up-- a Green Fluorescent 546 00:28:36,480 --> 00:28:39,990 Protein go up-- and then go down. 547 00:28:39,990 --> 00:28:43,840 And so to be able to do that, we engineered 548 00:28:43,840 --> 00:28:48,130 a feed forward motif where we have 549 00:28:48,130 --> 00:28:51,750 binding of the small molecule to this activator 550 00:28:51,750 --> 00:28:56,150 which activates two things simultaneously-- 551 00:28:56,150 --> 00:28:59,480 a green fluorescent protein and a repressor 552 00:28:59,480 --> 00:29:02,190 which then represses the green fluorescent protein. 553 00:29:05,721 --> 00:29:08,220 And then-- so the idea is that the green fluorescent protein 554 00:29:08,220 --> 00:29:08,840 goes up. 555 00:29:08,840 --> 00:29:11,250 And then eventually, the repressor 556 00:29:11,250 --> 00:29:13,240 builds up to sufficient levels to repress 557 00:29:13,240 --> 00:29:14,490 the green fluorescent protein. 558 00:29:16,660 --> 00:29:21,245 So again, one of those simple looking motifs. 559 00:29:23,800 --> 00:29:26,740 This is about three years to actually make 560 00:29:26,740 --> 00:29:31,890 that happen around the 2004 frame. 561 00:29:31,890 --> 00:29:33,060 Looks simple. 562 00:29:33,060 --> 00:29:36,000 If you study a naturally occurring system that 563 00:29:36,000 --> 00:29:37,995 has this motif, you say, oh yeah-- no problem. 564 00:29:37,995 --> 00:29:40,770 Yeah, we have this feed forward motif. 565 00:29:40,770 --> 00:29:43,610 And obviously, you can do this kind of information processing 566 00:29:43,610 --> 00:29:44,500 function. 567 00:29:44,500 --> 00:29:47,190 Let's move on to another motif. 568 00:29:47,190 --> 00:29:51,684 You actually try to build this in a lab in a new organism, 569 00:29:51,684 --> 00:29:53,350 I'm not sure if it can drive you insane. 570 00:29:53,350 --> 00:29:57,240 But it is not trivial to actually make it work. 571 00:29:57,240 --> 00:30:00,302 It's much easier now than it was 10 years ago. 572 00:30:00,302 --> 00:30:01,760 But you still have to pay attention 573 00:30:01,760 --> 00:30:06,390 to a lot of things-- rate constants, threshold matching, 574 00:30:06,390 --> 00:30:09,760 and so on to actually make it happen. 575 00:30:09,760 --> 00:30:14,100 But eventually, after looking-- creating-- 576 00:30:14,100 --> 00:30:16,210 so this is our first attempt at this 577 00:30:16,210 --> 00:30:17,750 was this blue line right here. 578 00:30:17,750 --> 00:30:20,230 So a completely flat line, OK? 579 00:30:20,230 --> 00:30:23,960 Input comes in, nothing happens. 580 00:30:23,960 --> 00:30:27,950 So I would say that pretty much typifies synthetic biology 581 00:30:27,950 --> 00:30:29,147 maybe up until today. 582 00:30:29,147 --> 00:30:29,980 You build something. 583 00:30:29,980 --> 00:30:31,188 You think it's going to work. 584 00:30:31,188 --> 00:30:32,020 It doesn't work. 585 00:30:32,020 --> 00:30:34,590 And then you stop crying after a little while. 586 00:30:34,590 --> 00:30:40,130 But then you have to think about how do I fix this. 587 00:30:40,130 --> 00:30:44,570 And so this iterative design debug cycle 588 00:30:44,570 --> 00:30:46,550 is absolutely critical. 589 00:30:46,550 --> 00:30:49,930 So what you normally do is you create computational models 590 00:30:49,930 --> 00:30:54,200 that tell you how different rate constants in the system 591 00:30:54,200 --> 00:30:58,240 affect the behavior of your circuit, OK? 592 00:30:58,240 --> 00:31:00,980 For example, you could do sensitivity analysis. 593 00:31:00,980 --> 00:31:03,450 Which rate constants have the most influence 594 00:31:03,450 --> 00:31:05,520 on the performance of your system? 595 00:31:05,520 --> 00:31:09,130 And so we did some sensitivity analysis here and learned 596 00:31:09,130 --> 00:31:14,020 that, for example, the degradation of this repressor 597 00:31:14,020 --> 00:31:16,160 makes-- one of the things rate constants 598 00:31:16,160 --> 00:31:19,010 makes the biggest difference is on the performance 599 00:31:19,010 --> 00:31:22,770 of the system or its affinity to the binding 600 00:31:22,770 --> 00:31:25,790 site on its respective promoter. 601 00:31:25,790 --> 00:31:26,528 Yes. 602 00:31:26,528 --> 00:31:29,944 AUDIENCE: Just knowing the sheer [INAUDIBLE] entire circuit, 603 00:31:29,944 --> 00:31:31,972 it started off with the [INAUDIBLE] constant? 604 00:31:31,972 --> 00:31:32,472 PROF. 605 00:31:32,472 --> 00:31:34,540 RON WEISS: No. 606 00:31:34,540 --> 00:31:37,100 I wish it was. 607 00:31:37,100 --> 00:31:41,050 Because that would make life a lot easier. 608 00:31:41,050 --> 00:31:44,190 And we are trying to get better at that. 609 00:31:44,190 --> 00:31:48,980 So we're trying to-- so here's maybe 610 00:31:48,980 --> 00:31:51,940 two ways of thinking about that. 611 00:31:51,940 --> 00:31:55,090 One challenge would be somebody comes in, 612 00:31:55,090 --> 00:31:56,590 gives you DNA sequence, and you have 613 00:31:56,590 --> 00:31:58,550 to predict the rate constants. 614 00:31:58,550 --> 00:32:04,270 OK, so I would term that person an adversary, not your friend. 615 00:32:04,270 --> 00:32:07,730 It's just too hard to do that. 616 00:32:07,730 --> 00:32:15,000 Now, an easier task would be give your adversary or friend 617 00:32:15,000 --> 00:32:19,010 limited choices and say in the freezer, 618 00:32:19,010 --> 00:32:22,270 I have these DNA sequences that consist, 619 00:32:22,270 --> 00:32:25,820 let's say, of specific promoters, 620 00:32:25,820 --> 00:32:31,000 specific ribosome binding sites, specific proteins 621 00:32:31,000 --> 00:32:35,930 with specific degradation tags on the proteins, OK? 622 00:32:35,930 --> 00:32:39,320 And that's-- you're allowing that adversary or friend 623 00:32:39,320 --> 00:32:43,157 to only use those elements in the design of a circuit. 624 00:32:43,157 --> 00:32:44,990 And then they come back to you and they say, 625 00:32:44,990 --> 00:32:48,580 now predict what the circuit will do. 626 00:32:48,580 --> 00:32:51,380 You still-- it still doesn't work yet. 627 00:32:51,380 --> 00:32:53,500 But I think-- but I would say that's how 628 00:32:53,500 --> 00:32:56,180 we would phrase the challenge, OK? 629 00:32:56,180 --> 00:33:00,070 Stick to things that we know and allow us to even characterize 630 00:33:00,070 --> 00:33:02,984 those things ahead of time. 631 00:33:02,984 --> 00:33:04,400 What we have that-- unfortunately, 632 00:33:04,400 --> 00:33:06,880 I don't have that here. 633 00:33:06,880 --> 00:33:08,940 But what we have done-- so people 634 00:33:08,940 --> 00:33:11,490 can get a kind of a general characterization. 635 00:33:11,490 --> 00:33:17,850 So they can say it'll be roughly this input output behavior. 636 00:33:17,850 --> 00:33:21,040 And when I say roughly, the errors 637 00:33:21,040 --> 00:33:24,720 could be on the order of five to 10-fold. 638 00:33:24,720 --> 00:33:28,350 That's approximately what's been published so far. 639 00:33:28,350 --> 00:33:31,030 Now, five to tenfold depending on your perspective 640 00:33:31,030 --> 00:33:33,700 could be great because it's biology or could 641 00:33:33,700 --> 00:33:36,050 suck if you're an engineer. 642 00:33:36,050 --> 00:33:38,240 It just depends on if you're trying to do something 643 00:33:38,240 --> 00:33:42,140 like get green fluorescent protein 644 00:33:42,140 --> 00:33:45,010 to turn on and off, tenfold is probably great 645 00:33:45,010 --> 00:33:46,740 if you're doing this in a Petri dish. 646 00:33:46,740 --> 00:33:49,590 If you're trying to create a cancer classifier 647 00:33:49,590 --> 00:33:53,960 circuit you put into humans to kill cancer cells 648 00:33:53,960 --> 00:33:57,850 but not harm healthy cells, tenfold is probably not 649 00:33:57,850 --> 00:34:00,650 great I wouldn't take a circuit like that 650 00:34:00,650 --> 00:34:07,170 into me, especially if that circuit controls, for example, 651 00:34:07,170 --> 00:34:10,540 the production of a killer protein, which I'll 652 00:34:10,540 --> 00:34:13,130 try to show you a circuit that does that. 653 00:34:13,130 --> 00:34:16,020 We recently have been able-- we're 654 00:34:16,020 --> 00:34:18,350 in the process of submitting a paper about this-- been 655 00:34:18,350 --> 00:34:21,670 able to show that if you have really good characterization 656 00:34:21,670 --> 00:34:27,944 of regulatory elements such as these repressor devices-- 657 00:34:27,944 --> 00:34:29,860 and you have to do a lot more characterization 658 00:34:29,860 --> 00:34:37,130 and you do the-- we can get within 20% on average 659 00:34:37,130 --> 00:34:42,100 on predicting the behavior in mammalian cells, actually. 660 00:34:42,100 --> 00:34:45,550 And so as an engineer, I would be 661 00:34:45,550 --> 00:34:50,630 happy with 10%, 20% percent for many, many applications. 662 00:34:50,630 --> 00:34:52,280 So I think we've gotten better at it. 663 00:34:52,280 --> 00:34:54,460 But it's not quite perfect yet. 664 00:34:54,460 --> 00:34:58,300 One of the things about that approach 665 00:34:58,300 --> 00:35:01,150 is that we don't necessarily know 666 00:35:01,150 --> 00:35:03,980 the rate constant for everything. 667 00:35:03,980 --> 00:35:11,890 What we do know, however, is a very detailed behavior, 668 00:35:11,890 --> 00:35:14,520 both steady state and dynamic behavior, 669 00:35:14,520 --> 00:35:18,520 of a repressor promoter pair. 670 00:35:18,520 --> 00:35:22,845 So we don't know, for example, what's the binding affinity 671 00:35:22,845 --> 00:35:25,080 or what's the rate constant for the repressor 672 00:35:25,080 --> 00:35:27,280 binding the promoter, what's the rate 673 00:35:27,280 --> 00:35:31,605 constant for RNA polymerase binding that promoter, what's 674 00:35:31,605 --> 00:35:35,280 the exact translation rate or transcription right too. 675 00:35:35,280 --> 00:35:39,090 But we do know what's the input output behavior. 676 00:35:39,090 --> 00:35:44,100 And that's actually been enough to get really good predictions. 677 00:35:44,100 --> 00:35:50,550 But I would say these kinds of predictions 678 00:35:50,550 --> 00:35:54,340 are one of the most important aspects and challenges 679 00:35:54,340 --> 00:35:55,990 and bottlenecks of synthetic biology. 680 00:35:55,990 --> 00:35:58,410 So those include-- again, the challenges 681 00:35:58,410 --> 00:36:00,400 include how fast can you build DNA. 682 00:36:00,400 --> 00:36:02,191 But wouldn't it be nice if you can actually 683 00:36:02,191 --> 00:36:04,600 predict what the DNA does? 684 00:36:04,600 --> 00:36:08,330 So it's just as important, if not more. 685 00:36:08,330 --> 00:36:10,374 And also having-- so those are two 686 00:36:10,374 --> 00:36:11,540 of the important challenges. 687 00:36:11,540 --> 00:36:14,090 I'd say another one would be-- OK, 688 00:36:14,090 --> 00:36:16,870 so if you can predict things how many parts 689 00:36:16,870 --> 00:36:20,635 do you have in your freezer that you can actually put together 690 00:36:20,635 --> 00:36:22,260 and they're well-characterized actually 691 00:36:22,260 --> 00:36:25,280 now build the circuits? 692 00:36:25,280 --> 00:36:27,420 Probably three of the most important challenges. 693 00:36:30,840 --> 00:36:34,500 And so if you go back to what we'll call the post generator, 694 00:36:34,500 --> 00:36:40,870 this is a loop tape of bacteria that now respond to the pulse. 695 00:36:40,870 --> 00:36:45,980 So sender cells that then secreted the small molecule 696 00:36:45,980 --> 00:36:47,580 then went into receiver cells. 697 00:36:47,580 --> 00:36:49,890 And they light up. 698 00:36:49,890 --> 00:36:53,360 So one of the things to note here is that it works. 699 00:36:53,360 --> 00:36:57,210 The other thing to note here is that it's not perfect, right? 700 00:36:57,210 --> 00:37:02,270 And so the amount of heterogeneity here I think 701 00:37:02,270 --> 00:37:04,090 is quite astounding. 702 00:37:04,090 --> 00:37:06,500 So if you take the average behavior, 703 00:37:06,500 --> 00:37:08,100 it's actually quite predictable. 704 00:37:08,100 --> 00:37:11,090 But if you now start looking at the distribution 705 00:37:11,090 --> 00:37:14,340 in the response, it's staggering. 706 00:37:14,340 --> 00:37:15,510 And we quantified that. 707 00:37:15,510 --> 00:37:17,990 And so we quantified what's the distribution in terms 708 00:37:17,990 --> 00:37:22,320 of the fluorescence levels that-- the peak and also 709 00:37:22,320 --> 00:37:24,040 the buildup and so on. 710 00:37:24,040 --> 00:37:26,650 And we then correlated that also-- we 711 00:37:26,650 --> 00:37:32,650 created the stochastic simulations that then correlate 712 00:37:32,650 --> 00:37:34,640 reasonably well with the system. 713 00:37:34,640 --> 00:37:38,810 So we can get simulations to generally correspond 714 00:37:38,810 --> 00:37:42,050 with what we're seeing at the population level. 715 00:37:42,050 --> 00:37:44,230 But I do want to bring up this point 716 00:37:44,230 --> 00:37:50,030 that when you think about engineering biological systems, 717 00:37:50,030 --> 00:37:53,750 don't try to figure out how to engineer a single cell to do 718 00:37:53,750 --> 00:37:56,330 something reliably, OK? 719 00:37:56,330 --> 00:37:58,930 So you always want to think about kind 720 00:37:58,930 --> 00:38:00,770 of statistical engineering. 721 00:38:00,770 --> 00:38:03,510 You want to think about, I'm going to create a circuit. 722 00:38:03,510 --> 00:38:07,090 And when I put this circuit into a population of cells, 723 00:38:07,090 --> 00:38:09,080 this is the distribution of behaviors 724 00:38:09,080 --> 00:38:11,230 that I'm going to get. 725 00:38:11,230 --> 00:38:12,730 Because if you're trying to depend 726 00:38:12,730 --> 00:38:15,370 on any individual cell giving you exactly the behavior 727 00:38:15,370 --> 00:38:19,770 that you're looking for, it is just-- it's going to fail. 728 00:38:19,770 --> 00:38:22,870 So you have to really think about distributions. 729 00:38:22,870 --> 00:38:26,874 And that I think changes things a little bit. 730 00:38:26,874 --> 00:38:28,290 So that's not normally the way you 731 00:38:28,290 --> 00:38:30,589 think about-- maybe that's the way Microsoft 732 00:38:30,589 --> 00:38:31,630 thinks about programming. 733 00:38:31,630 --> 00:38:35,340 So if 90% of the time, the computer doesn't crash, 734 00:38:35,340 --> 00:38:38,360 that's pretty good. 735 00:38:38,360 --> 00:38:41,200 Probably Bill Gates agrees with that, right? 736 00:38:41,200 --> 00:38:43,500 But that's not what we want. 737 00:38:43,500 --> 00:38:46,950 That's not what we typically do with software. 738 00:38:46,950 --> 00:38:51,940 So to kind of further think about this 739 00:38:51,940 --> 00:38:54,570 in terms of populations, we program something else 740 00:38:54,570 --> 00:38:56,890 which was a pattern formation. 741 00:38:56,890 --> 00:39:01,630 So now we have the desire to create senders and receivers 742 00:39:01,630 --> 00:39:04,730 where the senders send the same message to the receivers. 743 00:39:04,730 --> 00:39:08,670 Now we have a longer feed forward motif. 744 00:39:08,670 --> 00:39:13,180 OK, so this feed forward motif has two branches. 745 00:39:13,180 --> 00:39:16,180 And so these two branches actually 746 00:39:16,180 --> 00:39:20,130 have a different impact on the final output. 747 00:39:20,130 --> 00:39:25,110 One has-- there's two repressors meaning that input comes in. 748 00:39:25,110 --> 00:39:27,640 It activates a fluorescent protein and another one 749 00:39:27,640 --> 00:39:29,840 represses the fluorescent protein. 750 00:39:29,840 --> 00:39:36,120 OK, so it's an incoherent feed forward motif. 751 00:39:36,120 --> 00:39:39,100 And so what we use that here is not for post generation, 752 00:39:39,100 --> 00:39:46,910 but rather to define a range of concentrations 753 00:39:46,910 --> 00:39:52,340 that would turn on the final output, OK? 754 00:39:52,340 --> 00:39:55,640 So it would be activated-- the range of concentration 755 00:39:55,640 --> 00:40:00,160 would be activated starting with this branch right here 756 00:40:00,160 --> 00:40:02,590 and then ultimately repressed by this. 757 00:40:02,590 --> 00:40:05,670 So this defines the low threshold and this 758 00:40:05,670 --> 00:40:07,430 defines the high threshold. 759 00:40:07,430 --> 00:40:10,180 So under the low threshold, nothing gets activated. 760 00:40:10,180 --> 00:40:13,510 Whenever you have just the right amount, 761 00:40:13,510 --> 00:40:15,010 it activates this which represses 762 00:40:15,010 --> 00:40:16,910 this which allows this fluorescent protein 763 00:40:16,910 --> 00:40:18,320 to get turned on. 764 00:40:18,320 --> 00:40:22,260 OK, so this branch right here is more sensitive. 765 00:40:22,260 --> 00:40:24,270 So it defines when this thing goes up, 766 00:40:24,270 --> 00:40:25,650 when the response goes up. 767 00:40:25,650 --> 00:40:27,350 And then this is less sensitive. 768 00:40:27,350 --> 00:40:29,650 So this defines under high concentrations 769 00:40:29,650 --> 00:40:31,720 when the output goes down. 770 00:40:31,720 --> 00:40:34,840 So we basically have a non monotonic response 771 00:40:34,840 --> 00:40:39,690 to the input, which is low then high then low. 772 00:40:39,690 --> 00:40:43,050 So that's the design that we had in mind. 773 00:40:43,050 --> 00:40:45,630 And the idea is that whenever you put, 774 00:40:45,630 --> 00:40:48,890 let's say, receiver cells everywhere in a Petri dish 775 00:40:48,890 --> 00:40:51,010 and you put senders in the middle, 776 00:40:51,010 --> 00:40:54,370 then the communication signal basically builds up. 777 00:40:54,370 --> 00:40:56,380 There's a chemical gradient. 778 00:40:56,380 --> 00:40:58,730 Each cell interprets the chemical gradient 779 00:40:58,730 --> 00:41:03,390 and then decides whether to make a fluorescent protein. 780 00:41:03,390 --> 00:41:07,080 And then only-- because there's this steady chemical gradient 781 00:41:07,080 --> 00:41:10,420 due to diffusion and decay of the signal, 782 00:41:10,420 --> 00:41:12,780 then you would get some kind of a bullseye pattern. 783 00:41:12,780 --> 00:41:15,520 So that was the hope at least. 784 00:41:15,520 --> 00:41:19,640 And so to give you again a timescale, so it took me 785 00:41:19,640 --> 00:41:24,110 about I think three hours on a plane to make the slide. 786 00:41:24,110 --> 00:41:27,440 It took us about three weeks to create the computational model. 787 00:41:27,440 --> 00:41:29,260 And again, for whatever reason, three years 788 00:41:29,260 --> 00:41:33,940 was the magic number to create the actual functional circuit. 789 00:41:33,940 --> 00:41:37,890 So that was an older version of PowerPoint. 790 00:41:37,890 --> 00:41:40,160 But I haven't tried it on the new. 791 00:41:40,160 --> 00:41:43,800 But anyways, so we created this. 792 00:41:43,800 --> 00:41:45,950 This is a computational model. 793 00:41:45,950 --> 00:41:47,640 We actually used a computational model 794 00:41:47,640 --> 00:41:52,950 to predict how changes in rate constants 795 00:41:52,950 --> 00:41:56,880 would affect this band detect, the region where we're actually 796 00:41:56,880 --> 00:41:58,480 responding to the signal. 797 00:41:58,480 --> 00:42:01,910 And we used that to engineer different responses. 798 00:42:01,910 --> 00:42:05,580 And so we created eventually three different responses input 799 00:42:05,580 --> 00:42:06,800 versus output. 800 00:42:06,800 --> 00:42:09,470 And we put different fluorescent proteins on them-- 801 00:42:09,470 --> 00:42:11,950 a red fluorescent protein and a green fluorescent protein. 802 00:42:11,950 --> 00:42:14,000 This is the experimental set up over here. 803 00:42:14,000 --> 00:42:19,720 And after 16 hours of waiting, this is basically what we got. 804 00:42:19,720 --> 00:42:25,490 So we got a lot of bacteria to make all kinds of patterns. 805 00:42:25,490 --> 00:42:27,350 And we were very happy about this. 806 00:42:27,350 --> 00:42:30,740 We danced around in the lab a little bit-- you know, yay! 807 00:42:30,740 --> 00:42:35,430 So this was fun on those rare occasions where things actually 808 00:42:35,430 --> 00:42:36,820 work. 809 00:42:36,820 --> 00:42:38,450 So we said, let's have some more fun. 810 00:42:38,450 --> 00:42:42,710 And so we put senders in other configurations. 811 00:42:42,710 --> 00:42:45,290 And so we have programmable patterns 812 00:42:45,290 --> 00:42:46,445 of bacterial communities. 813 00:42:49,340 --> 00:42:51,420 So I'm not sure of is this useful. 814 00:42:51,420 --> 00:42:56,360 I'm not sure by itself besides having some fun with it. 815 00:42:56,360 --> 00:43:02,090 But one of the things we're using this for right now-- 816 00:43:02,090 --> 00:43:04,720 and depending on time, I may get to that 817 00:43:04,720 --> 00:43:08,880 later-- is this notion of embedding these circuits 818 00:43:08,880 --> 00:43:13,450 in mammalian stem cells or actually also in human IPS 819 00:43:13,450 --> 00:43:19,090 cells so that we engineer these human IPS cells to communicate 820 00:43:19,090 --> 00:43:22,410 with one another to make decisions. 821 00:43:22,410 --> 00:43:23,960 And then those decisions actually 822 00:43:23,960 --> 00:43:28,110 lead to differentiation patterns, right? 823 00:43:28,110 --> 00:43:30,130 So you can imagine in principle, if you 824 00:43:30,130 --> 00:43:33,460 can create three dimensional versions of these 825 00:43:33,460 --> 00:43:37,840 and use those to cause the cells to make differentiation 826 00:43:37,840 --> 00:43:41,360 decisions so that red would mean make neurons, 827 00:43:41,360 --> 00:43:45,600 green would mean make muscle, different colors-- yellow 828 00:43:45,600 --> 00:43:47,750 would mean make bone and so on. 829 00:43:47,750 --> 00:43:50,670 So in principle, you might be able to create tissues 830 00:43:50,670 --> 00:43:52,640 by design. 831 00:43:52,640 --> 00:43:56,390 OK, so that's something that we are working on actively 832 00:43:56,390 --> 00:43:58,050 in the lab right now. 833 00:43:58,050 --> 00:44:02,640 So we don't quite have a working heart in a Petri dish yet. 834 00:44:02,640 --> 00:44:05,250 We won't for a little while. 835 00:44:05,250 --> 00:44:08,620 But we taking some baby steps along the way. 836 00:44:08,620 --> 00:44:11,050 And so we have been able to get cell-cell communication 837 00:44:11,050 --> 00:44:11,760 to work. 838 00:44:11,760 --> 00:44:14,950 We've been able to get programmed stem cell 839 00:44:14,950 --> 00:44:16,835 differentiation to work. 840 00:44:16,835 --> 00:44:18,460 And hopefully, I'll be able to show you 841 00:44:18,460 --> 00:44:22,230 some images that we have of some recent examples where 842 00:44:22,230 --> 00:44:29,050 we take human IPS and actually created these embryonic liver 843 00:44:29,050 --> 00:44:32,980 buds that have lots and lots of interesting-- 844 00:44:32,980 --> 00:44:35,560 and actually all the cell types that 845 00:44:35,560 --> 00:44:38,830 are known to exist in the embryonic liver. 846 00:44:38,830 --> 00:44:42,550 So there are some progress along the way. 847 00:44:42,550 --> 00:44:46,270 Now, we don't anticipate to replace your liver, 848 00:44:46,270 --> 00:44:49,730 you know, any time soon. 849 00:44:49,730 --> 00:44:53,890 So don't destroy it. 850 00:44:53,890 --> 00:44:57,970 So actually one near term application 851 00:44:57,970 --> 00:44:59,460 that we're specifically looking at 852 00:44:59,460 --> 00:45:06,180 is if we can take-- imagine taking your own fiberglass, 853 00:45:06,180 --> 00:45:09,120 de-differentiating them into human IPS cells-- 854 00:45:09,120 --> 00:45:13,740 those are your human IPS cells-- and then differentiate them 855 00:45:13,740 --> 00:45:17,860 into, like, this liver-like environment 856 00:45:17,860 --> 00:45:21,100 and put that in a Petri dish and then 857 00:45:21,100 --> 00:45:26,460 test out the effect of drugs on your mini liver. 858 00:45:26,460 --> 00:45:30,920 OK, so maybe it's a good idea to test drugs 859 00:45:30,920 --> 00:45:33,910 on things that resemble human tissue as 860 00:45:33,910 --> 00:45:36,920 opposed to some random mouse that may or may not 861 00:45:36,920 --> 00:45:39,660 be as correlated with what the drug would actually 862 00:45:39,660 --> 00:45:42,670 do to actual human cells. 863 00:45:42,670 --> 00:45:45,340 And if we actually even do it in the patient specific manner, 864 00:45:45,340 --> 00:45:47,640 I think that really changes the way drug 865 00:45:47,640 --> 00:45:50,840 development would actually work. 866 00:45:50,840 --> 00:45:56,500 And that's something that I think within the next few years 867 00:45:56,500 --> 00:45:58,270 could become a reality. 868 00:45:58,270 --> 00:46:01,950 They're talking about the next-- beginning 869 00:46:01,950 --> 00:46:05,780 to do that within the next one to three years in a laboratory 870 00:46:05,780 --> 00:46:06,595 setting. 871 00:46:06,595 --> 00:46:09,300 So I think that is near term and realistic. 872 00:46:12,440 --> 00:46:15,330 So one of the things that we did notice 873 00:46:15,330 --> 00:46:21,030 is that when we engineer the small systems, 874 00:46:21,030 --> 00:46:24,180 its intuition works quite well. 875 00:46:24,180 --> 00:46:26,410 So I can look at this circuit design 876 00:46:26,410 --> 00:46:29,160 and say, if I modify this, this is what's going to happen. 877 00:46:29,160 --> 00:46:31,580 If I modify this, that's what's going to happen. 878 00:46:31,580 --> 00:46:34,700 So you can use intuition and it works reasonably well. 879 00:46:34,700 --> 00:46:38,730 And what happened in I would say the first 8 to 10 years 880 00:46:38,730 --> 00:46:40,450 of synthetic biology, every paper 881 00:46:40,450 --> 00:46:42,990 would have a computational design. 882 00:46:42,990 --> 00:46:46,400 But most of those would build something. 883 00:46:46,400 --> 00:46:51,010 And in order to publish, we also tacked on a computational model 884 00:46:51,010 --> 00:46:53,890 that correlates really well with the experimental results. 885 00:46:53,890 --> 00:46:58,320 And we are just as guilty of doing that as anyone else, OK? 886 00:46:58,320 --> 00:47:02,520 So it wasn't critical to have a computational model 887 00:47:02,520 --> 00:47:06,580 to create something successfully in the lab. 888 00:47:06,580 --> 00:47:10,830 And I think that that is changing. 889 00:47:10,830 --> 00:47:15,690 So we have examples right now of designs where-- I'm not sure 890 00:47:15,690 --> 00:47:19,040 if I'll get to that today, but we have published 891 00:47:19,040 --> 00:47:22,820 on that-- designs where it involves 892 00:47:22,820 --> 00:47:25,540 about 20 to 25 components. 893 00:47:25,540 --> 00:47:27,530 And it's related to a diabetes system 894 00:47:27,530 --> 00:47:31,320 the retired engineer where we can have intuition about it. 895 00:47:31,320 --> 00:47:35,740 But our intuition doesn't work great anymore, guys. 896 00:47:35,740 --> 00:47:38,120 So we might have some intuition about the system. 897 00:47:38,120 --> 00:47:40,610 But the computational analysis would all of a sudden 898 00:47:40,610 --> 00:47:43,000 shed light and provide insight that 899 00:47:43,000 --> 00:47:45,360 is very difficult to get this by drawing 900 00:47:45,360 --> 00:47:47,830 this thing on a blackboard. 901 00:47:47,830 --> 00:47:51,570 OK, and so I think that computational design tools are 902 00:47:51,570 --> 00:47:53,300 becoming absolutely essential. 903 00:47:53,300 --> 00:47:57,510 They can provide insight into system behavior 904 00:47:57,510 --> 00:48:00,660 that you can't get just using intuition alone. 905 00:48:00,660 --> 00:48:04,540 But in another aspect of computational design 906 00:48:04,540 --> 00:48:10,370 is one where imagine being able to specify want this behavior. 907 00:48:10,370 --> 00:48:12,990 And then the computational design tool 908 00:48:12,990 --> 00:48:17,460 says, here's 1,000 different versions of circuits 909 00:48:17,460 --> 00:48:21,720 that you should build and test. 910 00:48:21,720 --> 00:48:25,090 OK, and so it's still difficult for a human 911 00:48:25,090 --> 00:48:28,490 to generate easily 1,000 different versions of a circuit 912 00:48:28,490 --> 00:48:30,880 to build and test. 913 00:48:30,880 --> 00:48:35,640 It is becoming easy to actually build-- 914 00:48:35,640 --> 00:48:39,530 I wouldn't say-- maybe easy is a strong word-- 915 00:48:39,530 --> 00:48:42,440 feasible to generate 1,000 versions 916 00:48:42,440 --> 00:48:44,539 of a particular circuit. 917 00:48:44,539 --> 00:48:45,580 I'll give you an example. 918 00:48:45,580 --> 00:48:51,930 Very recently in my lab, one of the graduate students 919 00:48:51,930 --> 00:48:54,415 has come up with a framework that-- he 920 00:48:54,415 --> 00:49:01,560 is generating 200 versions of a circuit in three hours, OK? 921 00:49:01,560 --> 00:49:04,650 And they're pretty much gotten to the point 922 00:49:04,650 --> 00:49:07,800 where they're all correct. 923 00:49:07,800 --> 00:49:11,090 In three hours-- so that really, I 924 00:49:11,090 --> 00:49:14,680 think, changes what you do in synthetic biology. 925 00:49:14,680 --> 00:49:20,390 And so again, having that be connected 926 00:49:20,390 --> 00:49:23,270 to a computational design tool that tells you 927 00:49:23,270 --> 00:49:28,230 which ones to build would be rather useful. 928 00:49:28,230 --> 00:49:30,710 And so specifically recognizing that-- this 929 00:49:30,710 --> 00:49:35,000 is a collaboration with some folks at BBN. 930 00:49:35,000 --> 00:49:39,570 And actually Jake Beal was one of my former graduate student 931 00:49:39,570 --> 00:49:40,070 colleagues. 932 00:49:40,070 --> 00:49:44,400 So he was in the same lab as me. 933 00:49:44,400 --> 00:49:48,420 And then Doug Densmore is from Boston University. 934 00:49:48,420 --> 00:49:50,960 And so the notion here is that this 935 00:49:50,960 --> 00:49:55,000 is what we want synthetic biology to look like. 936 00:49:55,000 --> 00:49:58,450 OK, so if you're trying-- or maybe 937 00:49:58,450 --> 00:49:59,700 all of biological engineering. 938 00:49:59,700 --> 00:50:01,660 But we'll start with synthetic biology. 939 00:50:01,660 --> 00:50:05,860 So if you want to program biology, 940 00:50:05,860 --> 00:50:08,230 should you really care what the ribosome binding 941 00:50:08,230 --> 00:50:10,406 site is for the lambda repressor? 942 00:50:10,406 --> 00:50:13,710 You know, hopefully not, right? 943 00:50:13,710 --> 00:50:16,010 What you should do, just like when 944 00:50:16,010 --> 00:50:19,570 you program your simulations in MATLAB, you don't think about, 945 00:50:19,570 --> 00:50:25,490 well, here's the shift register in this Intel Pentium chip. 946 00:50:25,490 --> 00:50:30,430 And this is how it's working to simulate this ODE over here. 947 00:50:30,430 --> 00:50:32,520 That's just not the level at which your program. 948 00:50:32,520 --> 00:50:34,460 So you think really at a high level. 949 00:50:34,460 --> 00:50:37,140 And then you have compilers and lots of infrastructure 950 00:50:37,140 --> 00:50:39,850 that takes care of everything in between. 951 00:50:39,850 --> 00:50:43,620 And so maybe someday in the future, the graduate students 952 00:50:43,620 --> 00:50:46,870 maybe five to 10 years will look back at synthetic biology 953 00:50:46,870 --> 00:50:48,600 graduate students now and would just 954 00:50:48,600 --> 00:50:50,910 have a lot of pity for them and, oh my god. 955 00:50:50,910 --> 00:50:53,140 You actually had to know what elements 956 00:50:53,140 --> 00:50:56,350 you were using in circuit and actually build them by hand? 957 00:50:56,350 --> 00:50:58,580 You know, wow. 958 00:50:58,580 --> 00:51:01,630 And so here's a notion that we start with a high level 959 00:51:01,630 --> 00:51:02,170 description. 960 00:51:02,170 --> 00:51:04,040 And by the way, this is now-- there's 961 00:51:04,040 --> 00:51:08,160 a website that you can go through right now and get 962 00:51:08,160 --> 00:51:12,980 a free account and then type in a high level program. 963 00:51:12,980 --> 00:51:17,500 And it will actually create a low level genetic circuit 964 00:51:17,500 --> 00:51:18,560 representation. 965 00:51:18,560 --> 00:51:24,360 It will also give you MATLAB simulation files of this. 966 00:51:24,360 --> 00:51:27,960 And so, in this course I'm teaching to undergrads 967 00:51:27,960 --> 00:51:32,860 right now that many of them didn't even hold pipettes 968 00:51:32,860 --> 00:51:35,450 before they started the course, one of the first things 969 00:51:35,450 --> 00:51:38,050 that we taught them was this tool. 970 00:51:38,050 --> 00:51:41,220 So before telling them, for example, this 971 00:51:41,220 --> 00:51:46,940 is the way the lac repressor works by DNA looping, we said, 972 00:51:46,940 --> 00:51:49,210 there are these things called repressors. 973 00:51:49,210 --> 00:51:53,190 And when there's more of them, there's less output. 974 00:51:53,190 --> 00:51:55,930 Now let's design with that. 975 00:51:55,930 --> 00:52:01,117 This is, I think, heresy to biology as a whole probably. 976 00:52:01,117 --> 00:52:03,700 I don't know that-- this is the first time that we've actually 977 00:52:03,700 --> 00:52:04,480 tried to do that. 978 00:52:04,480 --> 00:52:07,260 And I think it's actually worked out OK. 979 00:52:07,260 --> 00:52:11,570 But teach them enough so that they can move forward. 980 00:52:11,570 --> 00:52:14,730 And then, yes, let's simultaneously 981 00:52:14,730 --> 00:52:18,430 be teaching them about the underlying biology 982 00:52:18,430 --> 00:52:20,300 and mechanisms as much as they need to know. 983 00:52:20,300 --> 00:52:22,510 But what can they do if they just 984 00:52:22,510 --> 00:52:24,205 know that there's this thing called 985 00:52:24,205 --> 00:52:25,740 a transcriptional repressor? 986 00:52:25,740 --> 00:52:28,190 And then the bio compiler will figure out 987 00:52:28,190 --> 00:52:31,090 everything that needs to happen. 988 00:52:31,090 --> 00:52:34,080 And so we're actually-- so they did a whole bunch of designs. 989 00:52:34,080 --> 00:52:37,450 And starting next week, we're going to be testing them out. 990 00:52:37,450 --> 00:52:41,740 So we will find out whether that was a useful way 991 00:52:41,740 --> 00:52:43,590 to teach biological engineering. 992 00:52:43,590 --> 00:52:45,030 But I think so. 993 00:52:45,030 --> 00:52:47,430 I think it is. 994 00:52:47,430 --> 00:52:53,370 Because they seem to understand what design means, OK? 995 00:52:53,370 --> 00:52:55,530 Because that's a thing that we focus on-- design 996 00:52:55,530 --> 00:52:59,520 as kind of a first class object. 997 00:52:59,520 --> 00:53:03,410 OK, so what you do is you write code that looks like this. 998 00:53:03,410 --> 00:53:07,110 Has anybody programmed in code that looks like this? 999 00:53:07,110 --> 00:53:09,490 It should be-- so Lisp. 1000 00:53:09,490 --> 00:53:10,905 OK, one person only? 1001 00:53:10,905 --> 00:53:12,940 Any computational? 1002 00:53:12,940 --> 00:53:16,505 OK, we usually get one or two people. 1003 00:53:16,505 --> 00:53:19,390 But I was hoping for more here. 1004 00:53:19,390 --> 00:53:22,710 So anyways, for the people that should be ashamed of themselves 1005 00:53:22,710 --> 00:53:27,360 and haven't programmed in lisp, this is a simple program. 1006 00:53:27,360 --> 00:53:28,745 This is, if the input is high, it 1007 00:53:28,745 --> 00:53:30,250 produces cyan fluorescent protein. 1008 00:53:30,250 --> 00:53:33,200 Or else, it will produce a yellow fluorescent protein. 1009 00:53:33,200 --> 00:53:38,150 And so the bio compiler then automatically takes that 1010 00:53:38,150 --> 00:53:41,824 and first translates that into a data flow. 1011 00:53:41,824 --> 00:53:43,240 So you have a data flow-- and I'll 1012 00:53:43,240 --> 00:53:45,200 actually go through an example of that-- 1013 00:53:45,200 --> 00:53:49,210 and then creates an abstract gene circuit 1014 00:53:49,210 --> 00:53:52,130 and then looks at essentially what you have in the freezer 1015 00:53:52,130 --> 00:53:55,190 and says, well, this is the actual DNA 1016 00:53:55,190 --> 00:53:58,450 sequence that would implement this. 1017 00:53:58,450 --> 00:54:03,580 And it creates robot instructions to assemble this 1018 00:54:03,580 --> 00:54:08,260 so that God forbid you would have to actually touch 1019 00:54:08,260 --> 00:54:10,810 a pipette to build this. 1020 00:54:10,810 --> 00:54:13,710 And then we have a robot, liquid handling robot, 1021 00:54:13,710 --> 00:54:16,580 that does most of the assembly. 1022 00:54:16,580 --> 00:54:20,820 Now, this pipeline is not fully end to end yet. 1023 00:54:20,820 --> 00:54:24,222 So it's not-- if you came to my lab right now, the still-- I 1024 00:54:24,222 --> 00:54:25,930 could tell you that this works but then I 1025 00:54:25,930 --> 00:54:28,860 would be slightly lying. 1026 00:54:28,860 --> 00:54:30,019 Is-- mostly works. 1027 00:54:32,550 --> 00:54:37,630 But it's actually-- there are companies right now that 1028 00:54:37,630 --> 00:54:40,050 will go from this level-- about this level-- 1029 00:54:40,050 --> 00:54:41,880 not this level, but this level. 1030 00:54:41,880 --> 00:54:45,480 And actually, this is mostly automated. 1031 00:54:45,480 --> 00:54:49,400 So-- to the point where the only thing that's not automated 1032 00:54:49,400 --> 00:54:54,620 is somebody, not necessary your op, but maybe a technician 1033 00:54:54,620 --> 00:54:57,830 goes from a robot and takes a plate 1034 00:54:57,830 --> 00:54:59,862 and puts it in another robot. 1035 00:54:59,862 --> 00:55:01,570 And, like, everything else is essentially 1036 00:55:01,570 --> 00:55:04,380 automated in DNA assembly 1037 00:55:04,380 --> 00:55:08,690 So those companies have, I guess, more money than us. 1038 00:55:08,690 --> 00:55:13,310 But eventually, this is the way DNA assembly will happen. 1039 00:55:13,310 --> 00:55:15,420 So we're collaborating with some people. 1040 00:55:15,420 --> 00:55:17,440 I'm doing this with microfluidics. 1041 00:55:17,440 --> 00:55:20,170 The problem with this robot-- it's $150,000. 1042 00:55:20,170 --> 00:55:23,241 So we can't put it on everyone's bench yet. 1043 00:55:23,241 --> 00:55:24,990 But we are collaborating with Lincoln Labs 1044 00:55:24,990 --> 00:55:29,410 to have microfluidic devices that would cost around 1045 00:55:29,410 --> 00:55:32,301 $3,000 that would do this. 1046 00:55:32,301 --> 00:55:34,800 And we've already demonstrated with the microfluidic devices 1047 00:55:34,800 --> 00:55:38,850 we can do DNA assembly of large circuits. 1048 00:55:38,850 --> 00:55:42,330 So this is not that far away that everyone 1049 00:55:42,330 --> 00:55:43,340 will have microfluidics. 1050 00:55:43,340 --> 00:55:45,360 They program here. 1051 00:55:45,360 --> 00:55:47,680 And they get the DNA assembled. 1052 00:55:47,680 --> 00:55:49,910 And then they realize it doesn't work. 1053 00:55:49,910 --> 00:55:51,960 But at least there'd be a lot faster 1054 00:55:51,960 --> 00:55:55,200 to realize that things don't work, which is good. 1055 00:55:55,200 --> 00:55:58,010 So let's look at how this compiler, bio compiler, 1056 00:55:58,010 --> 00:56:01,190 works to see that it's not magic. 1057 00:56:01,190 --> 00:56:06,490 So this is saying green if not IPTG. 1058 00:56:06,490 --> 00:56:10,130 So IPTG is a small molecule that we have a sensor for. 1059 00:56:10,130 --> 00:56:12,990 And then the information gets routed 1060 00:56:12,990 --> 00:56:15,150 to an inverter which then gets routed 1061 00:56:15,150 --> 00:56:17,240 to activate a green fluorescent protein. 1062 00:56:17,240 --> 00:56:20,470 So you can take a program specified like this 1063 00:56:20,470 --> 00:56:24,760 and automatically convert it into a data flow graph. 1064 00:56:24,760 --> 00:56:29,750 And then the data flow can be translated-- again, 1065 00:56:29,750 --> 00:56:31,410 this is automated and this is also 1066 00:56:31,410 --> 00:56:34,280 automated in a rather simple way-- 1067 00:56:34,280 --> 00:56:37,450 to an actual portions of the gene circuit. 1068 00:56:37,450 --> 00:56:40,890 So IPTG sensor is simply this motif. 1069 00:56:40,890 --> 00:56:44,810 So you have a repressor that responds to IPTG. 1070 00:56:44,810 --> 00:56:47,220 And then it basically inactivates the repressor. 1071 00:56:47,220 --> 00:56:49,480 So more IPTG, more output. 1072 00:56:49,480 --> 00:56:52,200 And so this is the IPTG sensor box. 1073 00:56:52,200 --> 00:56:54,710 And this is how you implement this. 1074 00:56:54,710 --> 00:56:58,430 Not gate-- so I showed you how a not gate already works. 1075 00:56:58,430 --> 00:57:00,272 So a repressor represses the output. 1076 00:57:00,272 --> 00:57:01,730 Green fluorescent protein, you just 1077 00:57:01,730 --> 00:57:03,850 have to have an activator that activates 1078 00:57:03,850 --> 00:57:05,590 a green fluorescent protein. 1079 00:57:05,590 --> 00:57:09,080 So every data flow box can automatically 1080 00:57:09,080 --> 00:57:13,490 be converted into a small motif. 1081 00:57:13,490 --> 00:57:16,480 And then what we're missing is the glue. 1082 00:57:16,480 --> 00:57:20,290 And so the glue is just these transcriptional activators 1083 00:57:20,290 --> 00:57:21,480 and repressors. 1084 00:57:21,480 --> 00:57:24,940 And so once you put them in there, then this is a circuit. 1085 00:57:24,940 --> 00:57:29,880 And so this is an automatic way to go from here to here. 1086 00:57:29,880 --> 00:57:36,060 And it can do rather complex circuits and logic. 1087 00:57:36,060 --> 00:57:37,420 It can't do everything yet. 1088 00:57:37,420 --> 00:57:40,480 But it can do an interesting set of things. 1089 00:57:40,480 --> 00:57:44,740 OK, so this is-- again, it's not completely finished 1090 00:57:44,740 --> 00:57:47,260 in the sense that I haven't told you what A is. 1091 00:57:47,260 --> 00:57:48,730 I haven't told you what B is. 1092 00:57:48,730 --> 00:57:50,146 So there's a whole bunch of things 1093 00:57:50,146 --> 00:57:52,740 that still are-- we have-- either published on 1094 00:57:52,740 --> 00:57:55,620 or still need to be designed. 1095 00:57:55,620 --> 00:57:57,870 But there is, for example, tool called matchmaker 1096 00:57:57,870 --> 00:58:00,730 which will decide what's a good protein A, what's 1097 00:58:00,730 --> 00:58:04,760 a good protein B. So things like that-- so those things already 1098 00:58:04,760 --> 00:58:06,480 exist. 1099 00:58:06,480 --> 00:58:10,686 Anybody look at this and figure out why this is not perfect? 1100 00:58:13,350 --> 00:58:17,800 So we have an input that represses a repressor, which 1101 00:58:17,800 --> 00:58:20,930 means that more input, more activator-- sorry. 1102 00:58:20,930 --> 00:58:23,820 More input, more protein here, which 1103 00:58:23,820 --> 00:58:27,840 represses B, which activates GFP. 1104 00:58:27,840 --> 00:58:31,180 So the compiler spits that out automatically. 1105 00:58:31,180 --> 00:58:33,270 But you may not want to build this right away. 1106 00:58:37,070 --> 00:58:40,255 Any ideas why? 1107 00:58:40,255 --> 00:58:42,588 I'm sure John would. 1108 00:58:42,588 --> 00:58:46,851 AUDIENCE: So basically, you have this A can directly repress 1109 00:58:46,851 --> 00:58:47,934 object, so you activate B? 1110 00:58:50,136 --> 00:58:50,635 PROF. 1111 00:58:50,635 --> 00:58:54,054 RON WEISS: So this is what it-- the first version of B. 1112 00:58:54,054 --> 00:58:56,950 But A represses B. B activates GFP. 1113 00:58:56,950 --> 00:59:01,260 So why not just hook A up to regulate GFP directly? 1114 00:59:01,260 --> 00:59:04,760 So this seems like a non-optimal solution. 1115 00:59:04,760 --> 00:59:07,340 And so you can get the compiler to figure that out too. 1116 00:59:07,340 --> 00:59:10,320 And so what you do is you say copy propagation. 1117 00:59:10,320 --> 00:59:14,060 So these are actually just tools that are available. 1118 00:59:14,060 --> 00:59:16,040 These are mechanisms that are part 1119 00:59:16,040 --> 00:59:19,569 of normal compilers-- normal software compilers. 1120 00:59:19,569 --> 00:59:21,735 So they do something called copy propogation-- means 1121 00:59:21,735 --> 00:59:26,128 that A, if it sees that A-- the compiler sees A regulates 1122 00:59:26,128 --> 00:59:28,680 B, A represses B, and B activates A. 1123 00:59:28,680 --> 00:59:32,150 So you can just say, well, let A just directly regulate this. 1124 00:59:32,150 --> 00:59:35,297 And then the compiler realizes, well, B doesn't do anything. 1125 00:59:35,297 --> 00:59:36,130 Let's get rid of it. 1126 00:59:36,130 --> 00:59:38,370 And then the promoter doesn't do anything. 1127 00:59:38,370 --> 00:59:39,690 Let's get rid of it. 1128 00:59:39,690 --> 00:59:42,380 And now the compiler figured this out. 1129 00:59:42,380 --> 00:59:46,901 And that's using just basic compiler technology. 1130 00:59:46,901 --> 00:59:48,665 OK, so it's able to do that. 1131 00:59:48,665 --> 00:59:51,635 So the difference in your life between four and three 1132 00:59:51,635 --> 00:59:53,658 may not be huge. 1133 00:59:53,658 --> 01:00:02,740 But the difference in your life between 15 and five 1134 01:00:02,740 --> 01:00:05,565 could be the difference between getting your Ph.D 1135 01:00:05,565 --> 01:00:09,190 or going insane, dropping out, and then starting a company 1136 01:00:09,190 --> 01:00:10,315 and becoming a billionaire. 1137 01:00:13,640 --> 01:00:17,402 OK, so-- but this is what the compiler can do. 1138 01:00:17,402 --> 01:00:20,174 And that does make a difference. 1139 01:00:20,174 --> 01:00:23,940 And it may be able to come up with optimizations that you 1140 01:00:23,940 --> 01:00:27,540 wouldn't be able to really easily come up with or even 1141 01:00:27,540 --> 01:00:31,390 at all under a reasonable amount of time. 1142 01:00:31,390 --> 01:00:33,435 So the compiler can do combinatorial logic. 1143 01:00:33,435 --> 01:00:34,740 It can do state. 1144 01:00:34,740 --> 01:00:40,156 There's also some aspects that can do spatial things as well. 1145 01:00:40,156 --> 01:00:44,606 And again, this is available online right now. 1146 01:00:44,606 --> 01:00:46,640 I'm going to-- maybe I should skip a few things. 1147 01:00:46,640 --> 01:00:48,730 So very quickly, I'll tell you. 1148 01:00:48,730 --> 01:00:52,252 So in the lab-- so it's nice [INAUDIBLE] 1149 01:00:52,252 --> 01:00:54,196 But if you can't do anything in the lab, 1150 01:00:54,196 --> 01:00:56,383 then nobody believes you in the world 1151 01:00:56,383 --> 01:00:59,625 of biology or synthetic biology. 1152 01:00:59,625 --> 01:01:02,000 So we can build big things. 1153 01:01:02,000 --> 01:01:08,410 So here, you can-- there's a library of promoters and genes 1154 01:01:08,410 --> 01:01:09,690 that we have available. 1155 01:01:09,690 --> 01:01:12,020 And you can decide, I want to build 1156 01:01:12,020 --> 01:01:14,310 a new circuit has these promoter gene pairs. 1157 01:01:14,310 --> 01:01:19,840 And within five days, you can create in the lab that circuit. 1158 01:01:19,840 --> 01:01:21,970 And we've been able to demonstrate things 1159 01:01:21,970 --> 01:01:26,330 that are 61, 64 Kb that you build in five days. 1160 01:01:26,330 --> 01:01:28,790 And you build them efficiently. 1161 01:01:28,790 --> 01:01:32,710 And then the undergrads that we're teaching also 1162 01:01:32,710 --> 01:01:34,210 have been able to-- again, these are 1163 01:01:34,210 --> 01:01:35,730 people to barely knew what pipette 1164 01:01:35,730 --> 01:01:40,440 are in the beginning a semester can now efficiently build 1165 01:01:40,440 --> 01:01:41,630 large circuits. 1166 01:01:41,630 --> 01:01:48,550 So that's become an easy to use technology. 1167 01:01:48,550 --> 01:01:50,992 And then I mention this notion that you 1168 01:01:50,992 --> 01:01:52,200 can build this one at a time. 1169 01:01:52,200 --> 01:01:54,200 But this very recent development where 1170 01:01:54,200 --> 01:01:59,360 you could build 200 versions of these at a time. 1171 01:01:59,360 --> 01:02:01,380 OK, so you can build them. 1172 01:02:01,380 --> 01:02:03,195 We can then-- again, I'll skip this part. 1173 01:02:03,195 --> 01:02:04,070 You could build them. 1174 01:02:04,070 --> 01:02:06,250 You can put them into mammalian cells. 1175 01:02:06,250 --> 01:02:08,050 These things work. 1176 01:02:08,050 --> 01:02:12,130 And we have lots and lots of parts-- regulatory parts. 1177 01:02:12,130 --> 01:02:18,260 And so let me skip this particular example. 1178 01:02:18,260 --> 01:02:22,360 So this is-- the two sentence explanation 1179 01:02:22,360 --> 01:02:25,200 is, OK, you build lots of parts. 1180 01:02:25,200 --> 01:02:27,240 You can build modules. 1181 01:02:27,240 --> 01:02:29,700 And then you put modules together. 1182 01:02:29,700 --> 01:02:30,350 And guess what? 1183 01:02:30,350 --> 01:02:31,460 This is biology. 1184 01:02:31,460 --> 01:02:33,670 So these modules actually affect each other, 1185 01:02:33,670 --> 01:02:36,250 potentially in undesirable ways. 1186 01:02:36,250 --> 01:02:38,670 So they can place things like load. 1187 01:02:38,670 --> 01:02:43,480 So whenever you have a module that works really well-- maybe 1188 01:02:43,480 --> 01:02:45,057 I will show you one slide. 1189 01:02:45,057 --> 01:02:46,640 But I won't show you how we solved it. 1190 01:02:46,640 --> 01:02:49,790 But one slide-- so this is a circuit. 1191 01:02:49,790 --> 01:02:51,290 Any idea what this circuit might do? 1192 01:02:51,290 --> 01:02:52,825 So this is a regulatory circuit. 1193 01:02:55,530 --> 01:02:58,030 They have an activator activating itself 1194 01:02:58,030 --> 01:03:00,700 and a repressor that represses the activator. 1195 01:03:00,700 --> 01:03:03,330 Have you seen this motif? 1196 01:03:03,330 --> 01:03:06,376 So it's a-- some people are whispering to themselves, 1197 01:03:06,376 --> 01:03:06,990 doing this. 1198 01:03:06,990 --> 01:03:10,190 So this is a relaxation oscillator. 1199 01:03:10,190 --> 01:03:12,000 When you do it by yourself, it works great. 1200 01:03:14,600 --> 01:03:16,150 So these are simulations. 1201 01:03:16,150 --> 01:03:18,960 But then if you connect it-- so it's 1202 01:03:18,960 --> 01:03:21,210 nice to have an oscillator in a cell, 1203 01:03:21,210 --> 01:03:23,680 again, if you want to have blinking bacteria 1204 01:03:23,680 --> 01:03:27,210 or mammalian cells which is, again, fun. 1205 01:03:27,210 --> 01:03:29,970 But then you typically want to connect it to something. 1206 01:03:29,970 --> 01:03:32,950 So you spent three years building an oscillator, 1207 01:03:32,950 --> 01:03:34,430 got it to work. 1208 01:03:34,430 --> 01:03:37,200 And now your adviser says, OK, let's just get a paper on this. 1209 01:03:37,200 --> 01:03:38,680 But before we get the paper, I want 1210 01:03:38,680 --> 01:03:40,430 you to connect it to something meaningful. 1211 01:03:40,430 --> 01:03:43,750 Because we want to go for a high impact journal. 1212 01:03:43,750 --> 01:03:47,520 And then you connect it to something. 1213 01:03:47,520 --> 01:03:52,980 And you realize that it doesn't work anymore. 1214 01:03:52,980 --> 01:03:54,760 I think you're really pissed off at-- you 1215 01:03:54,760 --> 01:03:58,180 will be pissed off at your adviser. 1216 01:03:58,180 --> 01:04:01,720 I don't know if your adviser would want to be mean to you. 1217 01:04:01,720 --> 01:04:06,120 But anyways, so that's a real problem in biology 1218 01:04:06,120 --> 01:04:08,720 or synthetic biology is that these things 1219 01:04:08,720 --> 01:04:12,250 have impacts on each other that, first of all, 1220 01:04:12,250 --> 01:04:15,770 are going to be undesirable but because 1221 01:04:15,770 --> 01:04:20,200 of unique aspects, for example, of the substrate. 1222 01:04:20,200 --> 01:04:23,580 Now, they're not as unique as you 1223 01:04:23,580 --> 01:04:26,940 might think because these load issues also 1224 01:04:26,940 --> 01:04:30,460 come to play in electronic circuits. 1225 01:04:30,460 --> 01:04:32,670 And so in electronics circuits, these things 1226 01:04:32,670 --> 01:04:35,630 have been solved decades ago with these notions 1227 01:04:35,630 --> 01:04:37,120 of load drivers. 1228 01:04:37,120 --> 01:04:41,285 So if you have a module that has, for example, high fanout 1229 01:04:41,285 --> 01:04:43,730 and it controls many things, then guess what? 1230 01:04:43,730 --> 01:04:46,050 Those things that it's trying to control, 1231 01:04:46,050 --> 01:04:49,340 even though the arrows are pointing one direction, 1232 01:04:49,340 --> 01:04:52,230 they actually have an upstream effect too. 1233 01:04:52,230 --> 01:04:55,534 So those modules that you think you're-- the downstream modules 1234 01:04:55,534 --> 01:04:57,950 that you're just controlling, they actually have an impact 1235 01:04:57,950 --> 01:04:59,110 on the upstream. 1236 01:04:59,110 --> 01:05:01,865 So what you do-- in electronics, you just build a load driver. 1237 01:05:01,865 --> 01:05:04,550 And it basically takes care of things. 1238 01:05:04,550 --> 01:05:08,400 So now there's no kind of parasitic effect. 1239 01:05:08,400 --> 01:05:12,010 And so we've demonstrated that we can also 1240 01:05:12,010 --> 01:05:14,710 build-- so this is a notion of retroactivity. 1241 01:05:14,710 --> 01:05:17,920 And this is work with Domitilla Del Vecchio here. 1242 01:05:17,920 --> 01:05:20,380 And we've demonstrated that we can-- so I wont' 1243 01:05:20,380 --> 01:05:23,130 go into the details here-- so we can actually solve this. 1244 01:05:23,130 --> 01:05:25,590 So this is a real problem even in simple circuits 1245 01:05:25,590 --> 01:05:26,960 experimentally. 1246 01:05:26,960 --> 01:05:33,080 And then it uses this cool notion of timescale separation 1247 01:05:33,080 --> 01:05:34,480 to solve it. 1248 01:05:34,480 --> 01:05:38,100 But we can take these things that are highly affected 1249 01:05:38,100 --> 01:05:40,760 to go from black to red and put a load driver in 1250 01:05:40,760 --> 01:05:43,750 and then it fixes it. 1251 01:05:43,750 --> 01:05:49,050 So this should hopefully lead to the generation of much more 1252 01:05:49,050 --> 01:05:53,600 predictable circuit construction targeting 1253 01:05:53,600 --> 01:05:59,710 one of the real challenges in scaling going from simple toy 1254 01:05:59,710 --> 01:06:01,640 modules to large scale systems. 1255 01:06:05,390 --> 01:06:12,030 So I'll skip that and then move on to another example-- oh, 1256 01:06:12,030 --> 01:06:16,250 sorry, an example of an application. 1257 01:06:16,250 --> 01:06:18,610 So in this particular case-- again, besides 1258 01:06:18,610 --> 01:06:22,490 turning GFP on and off, what can we do with synthetic biology 1259 01:06:22,490 --> 01:06:28,450 that we can't necessarily do without synthetic biology? 1260 01:06:28,450 --> 01:06:32,170 And so one of the most important challenges 1261 01:06:32,170 --> 01:06:34,990 in cancer therapeutics is specificity-- 1262 01:06:34,990 --> 01:06:36,872 perhaps the most important. 1263 01:06:36,872 --> 01:06:38,580 There are other things that are important 1264 01:06:38,580 --> 01:06:41,090 such as delivery of a therapeutic agent. 1265 01:06:41,090 --> 01:06:45,990 But as you improve specificity that it can actually 1266 01:06:45,990 --> 01:06:49,030 change how you do delivery of a therapeutic agent. 1267 01:06:49,030 --> 01:06:53,040 So if you have a therapeutic agent that's much more specific 1268 01:06:53,040 --> 01:06:58,512 and has no side effects, you can deliver lots and lots more. 1269 01:06:58,512 --> 01:06:59,970 So these things are highly related. 1270 01:06:59,970 --> 01:07:04,220 So imagine a therapeutic agent that recognizes something 1271 01:07:04,220 --> 01:07:07,950 on a cell surface and then says, this is a tumor cell. 1272 01:07:07,950 --> 01:07:10,290 Kill it. 1273 01:07:10,290 --> 01:07:14,630 So there are actually a lot of efforts ongoing that 1274 01:07:14,630 --> 01:07:17,370 have this particular approach. 1275 01:07:17,370 --> 01:07:23,240 So whether it's small molecules, whether these vesicles that 1276 01:07:23,240 --> 01:07:28,020 contain various cell surface-- various molecules that bind 1277 01:07:28,020 --> 01:07:32,440 to cell surface receptors, a really hot area right 1278 01:07:32,440 --> 01:07:35,751 now is these engineered killer T cells. 1279 01:07:35,751 --> 01:07:37,250 So this notion that you can actually 1280 01:07:37,250 --> 01:07:42,660 engineer your immune system by placing various receptors 1281 01:07:42,660 --> 01:07:44,720 on these killer T cells which then 1282 01:07:44,720 --> 01:07:49,860 go and then bind tumor cells by recognizing something 1283 01:07:49,860 --> 01:07:54,750 on the cell surface and then kill those. 1284 01:07:54,750 --> 01:07:59,810 Sounds great, maybe, depending on your perspective, or not 1285 01:07:59,810 --> 01:08:02,560 so great, depending on your perspective. 1286 01:08:02,560 --> 01:08:05,910 So what's happened with those is they're really 1287 01:08:05,910 --> 01:08:08,300 sometimes great at eliminating your tumors. 1288 01:08:08,300 --> 01:08:10,470 But then the side effects can be horrendous. 1289 01:08:10,470 --> 01:08:14,080 And so what happens is that those cell surface markers 1290 01:08:14,080 --> 01:08:16,189 that exist on the tumor cells-- guess what? 1291 01:08:16,189 --> 01:08:18,330 They're also present on healthy cells as well. 1292 01:08:18,330 --> 01:08:21,689 And so the side effects for those killer T cells approaches 1293 01:08:21,689 --> 01:08:27,790 have been, I mean, just terrible in various patients. 1294 01:08:27,790 --> 01:08:30,580 So one-- this should not be a shock. 1295 01:08:30,580 --> 01:08:36,870 One marker is typically not enough to distinguish a cancer 1296 01:08:36,870 --> 01:08:40,080 cell versus a healthy cell. 1297 01:08:40,080 --> 01:08:40,960 Seems pretty obvious. 1298 01:08:40,960 --> 01:08:43,500 So actually, what they've been doing with these engineered 1299 01:08:43,500 --> 01:08:48,540 killer T cells is now just saying, OK, 1300 01:08:48,540 --> 01:08:50,470 has to be this cell surface receptors, 1301 01:08:50,470 --> 01:08:53,399 but also cannot be this. 1302 01:08:53,399 --> 01:08:57,920 So it's like, and biomarker one and not-- you know, 1303 01:08:57,920 --> 01:09:01,100 biomarker one, and not biomarker two. 1304 01:09:01,100 --> 01:09:05,779 OK, so they're starting to engineer more logic into these, 1305 01:09:05,779 --> 01:09:08,569 more multi-input logic into these things. 1306 01:09:08,569 --> 01:09:10,620 And so they haven't done any clinical trials. 1307 01:09:10,620 --> 01:09:14,310 But I saw a couple weeks ago where they've actually 1308 01:09:14,310 --> 01:09:18,649 made progress in Petri dishes. 1309 01:09:18,649 --> 01:09:21,540 So we recognized this as an issue several years ago. 1310 01:09:21,540 --> 01:09:23,290 And this is work with Coby Benson. 1311 01:09:23,290 --> 01:09:27,220 And so really, all the information that you want 1312 01:09:27,220 --> 01:09:32,279 is actually inside the cell to make a highly precise decision 1313 01:09:32,279 --> 01:09:35,420 about whether this particular cell is cancerous or not. 1314 01:09:35,420 --> 01:09:38,319 OK, so the idea is when the therapeutic agent, 1315 01:09:38,319 --> 01:09:40,859 does the computation by integrating 1316 01:09:40,859 --> 01:09:43,060 multiple pieces of the sensory information 1317 01:09:43,060 --> 01:09:45,630 and then decides whether to express a killer protein 1318 01:09:45,630 --> 01:09:47,649 or not. 1319 01:09:47,649 --> 01:09:52,529 Now, even if this is not the cure for cancer-- 1320 01:09:52,529 --> 01:09:55,650 can't really guarantee that, right? 1321 01:09:55,650 --> 01:09:58,060 But even if this is not, just this notion 1322 01:09:58,060 --> 01:10:03,190 of being able to create multi input circuits to go into cells 1323 01:10:03,190 --> 01:10:07,240 and analyze in live cells real time what's 1324 01:10:07,240 --> 01:10:11,050 going on in the cell with various molecules 1325 01:10:11,050 --> 01:10:14,490 that might be interesting-- that has applications I would again 1326 01:10:14,490 --> 01:10:18,114 say just about anywhere you could imagine in biology. 1327 01:10:18,114 --> 01:10:19,530 So one of the things, for example, 1328 01:10:19,530 --> 01:10:23,000 we're looking at-- I mentioned this notion of organs 1329 01:10:23,000 --> 01:10:25,280 on a chip or programmed organs on a chip. 1330 01:10:25,280 --> 01:10:27,010 So one of the things we're looking at now 1331 01:10:27,010 --> 01:10:31,690 is placing these types of sensory circuits 1332 01:10:31,690 --> 01:10:38,440 into cells within this organ on a chip. 1333 01:10:38,440 --> 01:10:42,544 And so the idea would be expose cells to these drug candidates. 1334 01:10:42,544 --> 01:10:44,210 And then the cells light up in different 1335 01:10:44,210 --> 01:10:47,390 colors to tell you how they're responding to it. 1336 01:10:47,390 --> 01:10:52,160 So for example, certain color green would mean just fine. 1337 01:10:52,160 --> 01:10:54,870 Green with red and yellow would indicate 1338 01:10:54,870 --> 01:10:58,410 that some apoptotic pathway is being expressed 1339 01:10:58,410 --> 01:11:03,120 or this drug is affecting this proliferation 1340 01:11:03,120 --> 01:11:05,700 path or this pathway or that pathway. 1341 01:11:05,700 --> 01:11:07,240 And so these mechanisms can tell you 1342 01:11:07,240 --> 01:11:11,640 in real time in single cells-- also 1343 01:11:11,640 --> 01:11:16,130 specially-- what kind of impact there is to, 1344 01:11:16,130 --> 01:11:19,310 let's say, the drug candidate you're looking at. 1345 01:11:19,310 --> 01:11:21,270 So again, this is something that I 1346 01:11:21,270 --> 01:11:24,990 think would have an impact today if it was available, 1347 01:11:24,990 --> 01:11:28,360 but realistically making prototypes 1348 01:11:28,360 --> 01:11:30,540 within the next year to three years. 1349 01:11:30,540 --> 01:11:34,970 OK, so we started with looking at HeLa cancer cells 1350 01:11:34,970 --> 01:11:36,200 as an example. 1351 01:11:36,200 --> 01:11:38,730 And so we did some bioinformatics. 1352 01:11:38,730 --> 01:11:42,840 And we saw that based on microRNA profiles that 1353 01:11:42,840 --> 01:11:48,590 were available to us, this would be a bio program that 1354 01:11:48,590 --> 01:11:53,270 would distinguish HeLa cells from all other cell types. 1355 01:11:53,270 --> 01:11:56,850 And so some of you are familiar with this way 1356 01:11:56,850 --> 01:11:58,010 of annotating logic. 1357 01:12:00,790 --> 01:12:03,840 Pretty ugly if you're not used it, but it's simple. 1358 01:12:03,840 --> 01:12:06,600 This just says, these microRNAs have to be low 1359 01:12:06,600 --> 01:12:08,600 and these microRNAs have to be high. 1360 01:12:08,600 --> 01:12:10,565 And that's a HeLa cancer cell. 1361 01:12:10,565 --> 01:12:13,720 Because that's the basic logic in this. 1362 01:12:13,720 --> 01:12:17,330 So it's a rather simple logic statement. 1363 01:12:17,330 --> 01:12:21,290 What we would argue is that every cell type 1364 01:12:21,290 --> 01:12:24,620 would have a logic statement that 1365 01:12:24,620 --> 01:12:28,770 would be true of that cell type and not true of other cells. 1366 01:12:32,100 --> 01:12:33,660 It's almost by definition. 1367 01:12:33,660 --> 01:12:36,860 There's something different about that cell than other cell 1368 01:12:36,860 --> 01:12:37,360 types. 1369 01:12:37,360 --> 01:12:39,726 Now, it gets interesting when you 1370 01:12:39,726 --> 01:12:41,600 start talking about heterogeneous population. 1371 01:12:41,600 --> 01:12:44,750 So for example, and that's-- I won't get into details about 1372 01:12:44,750 --> 01:12:45,310 that. 1373 01:12:45,310 --> 01:12:47,670 But there is heterogeneity. 1374 01:12:47,670 --> 01:12:51,670 There's heterogeneity in tumors. 1375 01:12:51,670 --> 01:12:57,580 So the cool thing you can do-- this is a six input and gate. 1376 01:12:57,580 --> 01:12:59,530 So if you have heterogeneity, where you can do 1377 01:12:59,530 --> 01:13:04,060 is you can have a six input and gate with an or operation. 1378 01:13:04,060 --> 01:13:07,810 So you can identify this sub population of the tumor 1379 01:13:07,810 --> 01:13:10,020 has this microRNA profile. 1380 01:13:10,020 --> 01:13:13,380 And this cell population has a different microRNA profile. 1381 01:13:13,380 --> 01:13:17,070 And all you have to do is create a new logic circuit 1382 01:13:17,070 --> 01:13:21,620 and just combine them as like a cocktail drug as an or gate. 1383 01:13:21,620 --> 01:13:23,400 So this is a really general approach 1384 01:13:23,400 --> 01:13:25,390 that I think should be relevant, again, 1385 01:13:25,390 --> 01:13:26,922 for any kind of population. 1386 01:13:26,922 --> 01:13:28,380 And you can also set the thresholds 1387 01:13:28,380 --> 01:13:32,610 and have all these fun things that you can do with it. 1388 01:13:32,610 --> 01:13:38,040 So I think the question really is, is that microRNA expression 1389 01:13:38,040 --> 01:13:42,060 profile sufficiently small so that it 1390 01:13:42,060 --> 01:13:47,120 can be encoded on a circuit that you can deliver into cells? 1391 01:13:47,120 --> 01:13:49,120 And can you do it reliably? 1392 01:13:49,120 --> 01:13:52,330 That really is the challenge. 1393 01:13:52,330 --> 01:13:56,030 OK, so the idea is that you have a therapeutic agent, 1394 01:13:56,030 --> 01:13:58,030 goes into a cell does the computation, 1395 01:13:58,030 --> 01:14:02,880 and then decides whether to make a killer protein or not. 1396 01:14:02,880 --> 01:14:05,270 OK, so how does this actually work? 1397 01:14:05,270 --> 01:14:11,650 So how do we implement an and gate with inverted inputs? 1398 01:14:11,650 --> 01:14:14,680 OK, so that's one portion of the circuit. 1399 01:14:14,680 --> 01:14:18,430 So it's actually-- for microRNA, it's actually pretty easy. 1400 01:14:18,430 --> 01:14:22,010 So what you do is you put microRNA target sites 1401 01:14:22,010 --> 01:14:25,710 on the gene of interest or the output gene. 1402 01:14:25,710 --> 01:14:31,430 And so the idea is that the only way that this gene is being 1403 01:14:31,430 --> 01:14:33,450 expressed, this output protein is expressed, 1404 01:14:33,450 --> 01:14:37,800 is when this is low and this is low and this is low. 1405 01:14:37,800 --> 01:14:41,456 So in principle, this is pretty easy to do. 1406 01:14:41,456 --> 01:14:44,310 OK, so that's how we have a three input and gate 1407 01:14:44,310 --> 01:14:45,830 with inverted inputs. 1408 01:14:45,830 --> 01:14:47,900 And now we can add logic to that. 1409 01:14:47,900 --> 01:14:53,950 So now if we want to make sure that the output is high also 1410 01:14:53,950 --> 01:14:56,890 when this input as high as well. 1411 01:14:56,890 --> 01:15:01,090 And so what we do-- so remember the first circuit 1412 01:15:01,090 --> 01:15:03,460 that I showed you was this cascade. 1413 01:15:03,460 --> 01:15:08,280 And the cascade was a bunch of repressors that would then 1414 01:15:08,280 --> 01:15:10,844 cascade that did the not not operation. 1415 01:15:10,844 --> 01:15:12,760 So when you think about the not not operation, 1416 01:15:12,760 --> 01:15:16,550 it doesn't seem like a very useful operation. 1417 01:15:16,550 --> 01:15:20,240 But this here, the not not operation, is actually useful. 1418 01:15:20,240 --> 01:15:25,300 So it can convert a microRNA sensor 1419 01:15:25,300 --> 01:15:29,450 into something that can be integrated with other sensors 1420 01:15:29,450 --> 01:15:31,920 to create the four input logic function. 1421 01:15:31,920 --> 01:15:35,080 So this microRNA has to be high in order 1422 01:15:35,080 --> 01:15:37,340 to repress this repressor which then 1423 01:15:37,340 --> 01:15:39,550 represses the final output. 1424 01:15:39,550 --> 01:15:44,830 So the only time that the final output can be high 1425 01:15:44,830 --> 01:15:50,300 is when this is high and these three are low, OK? 1426 01:15:50,300 --> 01:15:51,780 And then you can continue. 1427 01:15:51,780 --> 01:15:54,190 And you can add another one. 1428 01:15:54,190 --> 01:15:55,950 This is slightly more complex in the sense 1429 01:15:55,950 --> 01:16:01,510 that now, essentially the sum of these microRNAs 1430 01:16:01,510 --> 01:16:06,182 has to be high in order for this branch 1431 01:16:06,182 --> 01:16:11,071 to allow expression here. 1432 01:16:11,071 --> 01:16:12,820 So it's slightly more complex in the sense 1433 01:16:12,820 --> 01:16:15,560 that it's not just-- it's like a plus-- again, 1434 01:16:15,560 --> 01:16:18,170 like a plus operation, which we found 1435 01:16:18,170 --> 01:16:21,980 to be actually the relevant operation here. 1436 01:16:21,980 --> 01:16:23,500 And so the only time the output high 1437 01:16:23,500 --> 01:16:26,800 is when this microRNA is high, combination of these two 1438 01:16:26,800 --> 01:16:29,390 is high, and these are low. 1439 01:16:29,390 --> 01:16:33,055 Anybody see a potential problem here? 1440 01:16:33,055 --> 01:16:34,556 A potential crosstalk? 1441 01:16:42,524 --> 01:16:45,014 So everybody here understand the circuit? 1442 01:16:45,014 --> 01:16:48,624 Raise your hand if you actually understand the circuit. 1443 01:16:48,624 --> 01:16:54,010 OK, that's not a lot of people. 1444 01:16:54,010 --> 01:16:57,900 OK, maybe I should go back for a second. 1445 01:16:57,900 --> 01:17:01,360 Everybody-- raise your hand if you understand this. 1446 01:17:01,360 --> 01:17:06,310 OK, so if microRNA is high, they repress-- 1447 01:17:06,310 --> 01:17:09,280 they result in degradation of the RNA. 1448 01:17:09,280 --> 01:17:13,730 So all of these have to be low in order for this to be high. 1449 01:17:13,730 --> 01:17:18,370 OK, now if we had this, this RNA-- 1450 01:17:18,370 --> 01:17:20,900 let's focus just on this maybe to simplify. 1451 01:17:20,900 --> 01:17:22,750 So this microRNA represses-- this 1452 01:17:22,750 --> 01:17:26,640 is a repressor which represses this, OK? 1453 01:17:26,640 --> 01:17:32,320 So if this microRNA is low, then this repressor as high. 1454 01:17:32,320 --> 01:17:34,720 And as a result of that, this repressor 1455 01:17:34,720 --> 01:17:39,050 represses this promoter regardless. 1456 01:17:39,050 --> 01:17:41,370 So it doesn't matter what these are. 1457 01:17:41,370 --> 01:17:43,890 If this is low, this repressor is high. 1458 01:17:43,890 --> 01:17:47,310 And then there's no way that this output can be high. 1459 01:17:47,310 --> 01:17:49,550 Now, if this is microRNA is high, 1460 01:17:49,550 --> 01:17:54,960 then this becomes low, allowing this to potentially be high. 1461 01:17:54,960 --> 01:17:58,566 Doesn't guarantee it, but it has a potential of doing. 1462 01:17:58,566 --> 01:18:01,540 OK, now raise your hand if you understand that. 1463 01:18:01,540 --> 01:18:02,916 OK, more. 1464 01:18:02,916 --> 01:18:04,960 OK, cool. 1465 01:18:04,960 --> 01:18:07,370 That's progress. 1466 01:18:07,370 --> 01:18:10,720 By the way, this was not a trivial circuit. 1467 01:18:10,720 --> 01:18:13,640 There's a lot of connections here. 1468 01:18:13,640 --> 01:18:18,050 And then we connect the same-- now we have the same repressor. 1469 01:18:18,050 --> 01:18:20,560 So this microRNA-- these set of microRNAs 1470 01:18:20,560 --> 01:18:25,760 repress the same repressor which is now repressing this. 1471 01:18:25,760 --> 01:18:29,200 So why is it the case that you need-- 1472 01:18:29,200 --> 01:18:31,420 let's just assume this is one microRNA, 1473 01:18:31,420 --> 01:18:32,570 this is another micro. 1474 01:18:32,570 --> 01:18:38,710 Why do you need both microRNAs to allow high output? 1475 01:18:38,710 --> 01:18:41,851 And then I will not let anyone leave 1476 01:18:41,851 --> 01:18:45,069 until you answer the question. 1477 01:18:45,069 --> 01:18:45,860 And I can sit down. 1478 01:18:48,750 --> 01:18:50,964 So why-- and then we'll stop there. 1479 01:18:55,160 --> 01:18:57,689 And everybody will believe me that the cure for cancer, 1480 01:18:57,689 --> 01:18:58,730 you got it figure it out. 1481 01:18:58,730 --> 01:19:05,900 Otherwise-- so there's-- oh, thank you. 1482 01:19:05,900 --> 01:19:08,140 Letting-- you will be the hero. 1483 01:19:08,140 --> 01:19:13,660 AUDIENCE: So if the microRNAs are not present, 1484 01:19:13,660 --> 01:19:16,472 then you're going to get an expression of Lacks E. So-- 1485 01:19:16,472 --> 01:19:16,972 PROF. 1486 01:19:16,972 --> 01:19:18,174 RON WEISS: Lack I. 1487 01:19:18,174 --> 01:19:20,860 AUDIENCE: Yeah, like eyes. 1488 01:19:20,860 --> 01:19:25,900 So only if both the microRNAs are high and present 1489 01:19:25,900 --> 01:19:29,180 do you repress both of the lack I's 1490 01:19:29,180 --> 01:19:32,663 which then allow for the expression of the-- 1491 01:19:32,663 --> 01:19:33,163 PROF. 1492 01:19:33,163 --> 01:19:33,954 RON WEISS: Exactly. 1493 01:19:33,954 --> 01:19:36,208 And what happens if one of them is present 1494 01:19:36,208 --> 01:19:37,260 and the other one is not? 1495 01:19:37,260 --> 01:19:39,385 So if this microRNA is present and this one is not? 1496 01:19:39,385 --> 01:19:42,240 AUDIENCE: Then the lack I still gets expressed 1497 01:19:42,240 --> 01:19:44,510 because the other one is still not repressed. 1498 01:19:44,510 --> 01:19:45,010 PROF. 1499 01:19:45,010 --> 01:19:45,801 RON WEISS: Exactly. 1500 01:19:45,801 --> 01:19:48,670 So the only way that you can actually 1501 01:19:48,670 --> 01:19:53,020 have no expression of lack I is when this is high 1502 01:19:53,020 --> 01:19:54,670 and this is high. 1503 01:19:54,670 --> 01:19:58,180 So this is essentially like a two input and gate. 1504 01:19:58,180 --> 01:20:01,110 These two have to be high to allow this promoter 1505 01:20:01,110 --> 01:20:02,720 to potentially be high. 1506 01:20:02,720 --> 01:20:08,350 And in the other three logic cases where one of those 1507 01:20:08,350 --> 01:20:11,090 is low, lack I is expressed and hence 1508 01:20:11,090 --> 01:20:15,690 does not allow the output protein to be expressed, OK? 1509 01:20:15,690 --> 01:20:16,205 Yeah. 1510 01:20:16,205 --> 01:20:17,996 AUDIENCE: So why do you have the partition? 1511 01:20:17,996 --> 01:20:19,412 All three are acting the same way. 1512 01:20:22,066 --> 01:20:22,566 PROF. 1513 01:20:22,566 --> 01:20:23,815 RON WEISS: Ah, great question. 1514 01:20:23,815 --> 01:20:32,490 So what happens if microRNA 21, 17, and 38 were all here? 1515 01:20:32,490 --> 01:20:34,230 So that's a great question. 1516 01:20:34,230 --> 01:20:35,890 So that's a question, right? 1517 01:20:35,890 --> 01:20:39,520 So if you put microRNA 21 here, 17, and 38? 1518 01:20:39,520 --> 01:20:41,026 What is the logic function here? 1519 01:20:41,026 --> 01:20:41,525 Yeah. 1520 01:20:41,525 --> 01:20:43,191 AUDIENCE: Then you only need one of them 1521 01:20:43,191 --> 01:20:45,374 in order to degrade the RNA. 1522 01:20:45,374 --> 01:20:48,177 And then you won't get the same logic. 1523 01:20:48,177 --> 01:20:48,677 PROF. 1524 01:20:48,677 --> 01:20:49,385 RON WEISS: Great. 1525 01:20:49,385 --> 01:20:52,320 So then it becomes essentially an or. 1526 01:20:52,320 --> 01:20:55,270 This will be an or operation of the microRNAs 1527 01:20:55,270 --> 01:20:58,940 where what we want is an and operation on the microRNA. 1528 01:20:58,940 --> 01:21:02,612 So that by having two separate paths 1529 01:21:02,612 --> 01:21:04,612 that have the same repressor where they converge 1530 01:21:04,612 --> 01:21:07,960 on the same repressor, we achieve the and operation. 1531 01:21:07,960 --> 01:21:09,700 Where we have them on the same repressor, 1532 01:21:09,700 --> 01:21:12,860 they do the or operation. 1533 01:21:12,860 --> 01:21:14,270 That's a great question. 1534 01:21:14,270 --> 01:21:18,590 OK, so this works. 1535 01:21:18,590 --> 01:21:21,820 And maybe I'll say thank you. 1536 01:21:21,820 --> 01:21:23,790 I'll stop there.