Speaker 1Hello, everyone. Welcome to the Mindscape Podcast. I'm your host, Sean Carroll. I think we all know in the history of intellectual development, of the human race, etc., it took us a long time to invent the concept of the number zero, right? Like, we could count. There were people who did accounting back in Mesopotamia or whatever, and you had to figure out how much stuff you had. Once you invented agriculture, the need for accounting became very important. There's a level of abstraction that you get to when you say there's a number that is not a counting number, the number zero, right? It doesn't represent a quantity of anything. It represents an absence of a quantity. Negative numbers, imaginary numbers, all these things are levels of abstraction that we reach. And maybe like the biggest, not the biggest level of abstraction ever, but sort of the most fundamental in this game is the idea of computation, right? The idea of manipulating information in a certain way as instantiated in matter, right? So not just in the realm of ideas or whatever, but a machine that moves things around that you can interpret at the end of the day as having done a computation, having solved a problem, having answered a question, or whatever, having performed a task. And for various reasons, it's not 100% obvious that it's the only way to do it, but we have an especially effective kind of computation as embodied in the electronic computers that I'm looking at right now as I record this message, and many of you are probably listening from right now. Pushing around electrons in silicon turns out to be a super efficient way of doing computation in a very, very flexible and powerful framework. But it's not the only way, right? Like we've had the abacus. We have other ways of taking abstract notions of computation and embodying them or realizing them in physical matter. Indeed, our biology does this, right? We're not made of silicon. You know, this is not Star Trek. We're made of hydrocarbons and other sort of organic kinds of things, and we have information stored in our bodies. We have information stored in the DNA, in our nuclei of our cells, for example, and that gets shared with RNA, and we've been talking about this in various episodes of the podcast. So the fact that you can store – why are you storing information in the cells of your nuclei, of your body? Well, because you want to put it to use. You want to do things with it. You want to make a protein, and that protein is going to go out there and serve a function. It's an example of a computation in some very broad sense. You know, this information processing is happening in our bodies long before human beings invented the theory of computation or anything like that. So could you imagine taking advantage of that? Could you imagine building computers that were not necessarily faster or more practical than electronic computers, but just were very tiny, tiny enough to be, you know, DNA-sized or even involving DNA themselves? That's what we're talking about today with Eric Winfrey, who's a scientist. He's a professor at Caltech and one of the world's leaders in this area, and he's going to talk about the theory of computation or anything like that. The idea is you have a DNA molecule. Maybe you have it available because they're very useful for biology and genetics and things like that, but who cares? You forget that it has anything to do with biology. You think of a DNA molecule as a way of storing and manipulating information, and then you ask yourself, can I compute with it? Can I design it? Can I build exactly the chain of nucleotides that will – on its own accord just naturally sort of self-assemble into the form of a computation? And can I do interesting things with that? Can I build little robots with it? The answer is yes to all of these questions. And the idea goes back decades, but Eric and his collaborators are at the forefront of actually making it work. And I don't know about you, but to me, this is just mind-blowing stuff. The idea that we can build little machines and basically, since I'm a physicist and I know about atoms, these are kind of the smallest machines you can ever even imagine building at this level of complexity. You can't build a machine smaller than an atom. You can't fit that much information into it. So we're there at the limits of what is possible. And it's still, it's hard, right? You cannot piece by piece assemble a single strand of DNA to do exactly what you want. You can synthesize them by the test tube full, I suppose I should say. But it's still kind of crude compared to what we can do with, you know, a silicon chip in a computer. But then you can put them in cells or you can ask them to do things biologically that a silicon computer just isn't any good for. Then you can ask yourself, have you learned anything about the origin of life or the nature of computation in biology? And the answers to all of these things are, well, we're learning, you know, it's all very much work in progress and things that we're discovering right now. So that's life at the forefront. Where we want to be here at the Mindscape podcast. So I'm glad that we were able to make this happen. Occasional reminder that we have a Patreon for Mindscape. You could become a Patreon supporter. Just go to patreon.com slash Sean M. Carroll. And one of the benefits of that is that you get ad-free versions of the podcast, as well as being able to ask questions at the monthly Ask Me Anything episodes. So we encourage anyone who is so inclined to send a few dollars to the Mindscape podcast. And benefit enormously thereby. And with that, let's go. Eric Winfrey, welcome to the Mindscape podcast. Well, thank you very much. So I want to ask a question, which since I'm just a poor physicist, when you say you're working with DNA, we know we're going to be talking a lot about DNA, using it for computers, robots, all this fun stuff. Why DNA? Like, I think like DNA has something to do with carrying genetic information, but I suspect that is not why you're especially interested in it.
Speaker 2Right. I'm generally interested in information-based chemistry. We could talk about why information-based chemistry is important. I think DNA is interesting. But if one wants to study it sort of from the ground up, one wants the simplest example of that phenomenon to study. And DNA not only encodes information, but it also acts on information. And so it's a wonderful playground for exploring principles.
Speaker 1You know, I got to tell the audience that Eric warned me ahead of time that he likes to get philosophical about these things. And I explained to him that this is the place to get philosophical. So right away, I'm going to ask one of these big picture questions. We human beings draw a distinction between hardware and software when we design computers. But maybe the DNA doesn't. I don't know.
Speaker 2Tell me. Yeah, I think of hardware and software as mental categories by which we understand things and not aspects of the thing itself. So, you know, both of those are sort of ways of looking at computation. And so for someone like myself, who is, shall we say, trained as a theoretical computer scientist, the thing that's really of interest is what is computation and where do we see it in the world? And so that's also getting back to why I'm interested in DNA is that it's the sort of a wonderful example to explore the principles of computation outside of the standard technological mainstream of hardware and software and silicon and electrons and so forth.
Speaker 1But basically, the reason why DNA is useful to you is because it can store information in the sequence of nucleotides and act on it. And that's completely I mean, that's maybe why we use it to carry genetic information. But that the genetic information aspect is not the only thing that's not something you're taking advantage of.
Speaker 2Not at all. It's more sort of chemist point of view of, you know, if we're going to look around for some molecules that we can put information into, and we can have that information direct the behavior of those chemical systems, and we can design molecular machines. What's the simplest thing to use? Proteins are pretty complicated. Carbohydrates don't do that much. Well, we could argue about that. But but nucleic acids, RNA and DNA are sort of simultaneously easy to understand in terms of their basic behavioral building blocks, their information storing building blocks, and have a very rich behavioral repertoire. And so that makes it sort of the ideal place to look at computational principles, given that computation is sort of the science of understanding how information directs behavior. And so that's sort of the ideal place to look at computational principles, given that computation is sort of the science of understanding how information directs behavior. So I can kind of imagine, you know, if you're looking at a
Speaker 1machine that's going to be able to do a lot of If we were just, like you said, being chemists interested in information processing and so forth, going through and thinking of all the different possible chemical compounds that would help us do this, and we hit on the best one, and it's DNA, and we realize, oh, our bodies also use that. Is that because we lack imagination and our bodies gave us a hint, or is that because our bodies are – biology is just that good at optimizing?
Speaker 2It could be biology is just that good. I wouldn't make the argument that DNA is the best one. I would make the point that it is, at this time in humanity, the easiest one to get your hands on and play around with, and that's because biology used it, right? So there are synthetic methods. There's whole technologies for how do we synthesize an arbitrary sequence of DNA from the chemical foundations. You can send an email to a company. They'll send you back a tube containing DNA with exactly the sequence you asked for. Right? This is very convenient, and that's, I think, the main reason it was chosen is the tools exist for playing with it and not worrying about the chemistry but getting into the computation, so we say.
Speaker 1When did it become the case that I could send an email to a company and get a DNA strand back?
Speaker 2About, approximately. I would say when I first got into this. In 1994, after Len Adelman's first DNA computing paper, it was probably already well-established, and probably email was the mechanism. I can't remember exactly. You ordered things back then, too, in different ways. But, yeah, it's been 40 years, almost 50 years that it's been a sort of off-the-shelf chemistry.
Speaker 1But, actually, that's an interesting. Bigger picture fact that you being in grad school coincides with that sort of shift in how things are done. I get this all the time with podcast guests that, like, they become the world's expert at something because it was just the right moment when they were right in grad school. Exactly. Exactly. Ride the wave. Exactly. And then, would something like RNA also be useful, or is DNA definitely the best?
Speaker 2RNA and DNA are sort of the… Standard go-tos in our field. They're both fantastic if you want a little bit more chemical versatility. RNA might be your choice. It's also sometimes a little bit more confusing because it reacts in ways that you don't expect. That can be a problem. Oh, okay. But they're both much easier to work with than proteins. They're both used a fair bit. You know, if you think about the why, you know, why did biology come up with this? DNA or RNA? I'm sure you've heard on a lot of podcasts, you know, there's a hypothesis out there that shortly after the origin of life, or maybe at the origin of life, RNA was the dominant molecule. You know, it's now in the ribosome and things like this. And so, there's… If there was an RNA world near… Earlier days before proteins, shall we say, took over, it almost suggests that sort of all the functions for a living cell or a living entity or a living whatever it is, and evolving whatever it is, could have been supported by RNA. And if you look at it sort of from a mathematician's point of view, you know, what is RNA? It's a string of A-T-C, well, A-U-C-G, very similar to DNA's A-T-C-G. One might argue that DNA also… If it has the same kinds of capabilities, is sufficiently rich in its behavioral repertoire to, you know, support all the things that life needs without the proteins, without the RNA, and so forth.
Speaker 1And I know that there are four nucleotides that play the role in DNA. You've already mentioned them, GZTA. But aren't there other nucleotides we could imagine? Like, you know, since you're doing it synthetically, since you're not trying to store genetic information… Can you go out there and use others? Or is this a matter of the email won't respond if you ask for other nucleotides?
Speaker 2So, first, yes, there's a whole business of people inventing new nucleotides that, you know, expand the code, expand the repertoire. And that's very promising chemistry. But the emails either bounce back if you ask, you know, to get it off the shelf, you have to become a chemist to do it. Or it's just really expensive. So, sticking with just the basic four from a practical point of view, if you want to go into the lab and do experiments, is definitely the advantage. There's another advantage that I think is the primary reason I like sticking with just the four. It's sort of like, well, you know, back in the 90s to 2000s, there was a big fight in the computer industry between RISC architectures and CISC architectures. So, you know, you have the RISC instruction set versus the complex instruction set. You know, which way are you going to do things to make the computers faster and cheaper? And I've always found the RISC architectures on the computer science side much more elegant. You know, you have a small number of building blocks. You figure out the tricks that you can play the game in a uniform way rather than lots of idiosyncratic things. Now, in the chemistry world, you might think of DNA or maybe even RNA as. Reduced instruction sets for programming molecular machines to do interesting things. You might think of proteins as the complex instruction set. It can do more. Maybe it can do it better if you really optimize it. But you have to work on that a lot harder to get everything tuned up just right. And you need a lot of special purpose rules. It's harder to do things systematically.
Speaker 1Okay, that actually makes perfect sense. I just learned something. So, let's get into, like, how you want it to actually. How you want it to actually work. So, I mean, again, my exposure to DNA is it's in the nuclei of my cells. It's storing genetic information. Occasionally an RNA comes along and reads it. But yours are more active. So, like, what is the actual dynamics of computation going on?
Speaker 2I guess I would push back on my systems being more active. DNA and RNA play very active sort of roles in biology as well. Biology is never to be underestimated. It's an incredible machine or set of machines, however you want to look at it. And our systems, you know, throw all of that out, right? What we're interested in is what is the minimal set of building blocks out of which you can build arbitrarily complex things. And so, when we do experiments, typically, we'll have DNA in a test tube. We'll have some salt. Salt in the test tube. And that's about it. So, you know, the DNA will have some information. And so, we're not taking advantage, most of the time, of complex evolved enzymes that do complex things. We're just looking at how the information in DNA dictates those behaviors. But what are the behaviors? Our building blocks are things like two pieces of DNA will stick to each other. That's a self-assembly process. So, the first thing you need to know here is that when it's chemically synthesized, what comes back, you know, after we send our email out, what comes back by FedEx is a little tube of white powder. We put some water into it and dissolve it up. It's clear. And what's in there is many, how many, probably 10 to the 16 strands of the sequence that we asked for, where a strand is just the single stranded chain. It's a very thin strand. It's not a very floppy thing. It's a sequence of AT whatever. It's not even a double helix yet.
Speaker 1I was just going to say. So, it's just a single strand.
Speaker 2It's called single-stranded DNA because it's not yet double-stranded DNA. That's what you chemically synthesize. And to get the double-stranded DNA, to have it wrap up into the sort of typical double helix form that you're familiar thinking about, that only happens if you order two test tubes that have exactly complementary sequences. So, if one… One of the molecules has an A. The other one in the same position will have a T, C with G, and so forth. And so, if you get exactly these complementary sequences, when they bump into each other in the test tube, maybe they'll start by bumping into each other wrong and it won't match and they'll fall apart again. But when they align themselves right by chance, they'll zip up into the double helix and that will be fairly stable.
Speaker 1So, this is one aspect of this that, again, I think that is probably second nature. Second nature to you, but not obviously everyone. Like, when you're building a DNA computer, you don't take a single DNA molecule with tweezers and manipulate it. You have, like you said, 10 to the 16 strands right there in your little test tube.
Speaker 2Yeah, exactly. And so, you know, the interesting thing about molecules, what fascinates me most about them, is that they're autonomous, right? They're Brownian and they're autonomous. They're just bouncing around stochastically, doing… their thing, but what thing do they do well that chemistry tells us that but if we can find clear ways of thinking about them then we can get them to do tricks for us um so you know i i talked about um forming a double helix that's in fact could be thought of in a computational way is an operation if i have two molecules and you ask who should you stick to maybe i have 10 molecules who should you stick to uh they bump into each other they test all sorts of possibilities if they find one that matches partially they'll stick a little bit if they find one that matches perfectly they will stick very well and so this is a search process um and i
Speaker 1think this is something that again people don't appreciate uh life at the nanoscale is very noisy and very random and you're not precisely controlling things like you do in the laptop that i'm looking at right now exactly
Speaker 2exactly um though of course you're not controlling things on the laptop fair enough either it's very autonomous the electrons are moving where they want to go in fact they're diffusing um it's just a lot faster than the uh atoms diffuse
Speaker 1so to do a computation or to do self-assembly or whatever are we are we changing the nucleotides in the dna strand or are we what are they are they nudging at around some other raw
Speaker 2materials there are many ways that you can think about molecules as doing computation of course i guess we're sort of a stumbling block many times when people uh hear about dna computing for the first time is what do we mean by computation so to do computation what does what what does that mean um the field started with lynn adleman's paper in 1984 with this shall we say um really mind-blowing concept that the parallelism of chemistry if thought is performing computation um can store information in parallel can act on that in parallel because everything's doing you know some kind of action by itself and so you have this enormously parallel information processing system and maybe you can compete with silicon computers and you can do something like this and you can do something like this and you can do something like this and you can do something like this and you can do something like this and you can do something like this and you can do something like this and you can do something like this to compute some useful problem faster you know solve a combinatorial np complete problem right and it took us at least five years to give up on that uh you know it's not happening um we're not competing with silicon and so you know the option is either okay well that was fun let's you know shooting for the moon and landing in the stars you know we found something more interesting and that more interesting thing is a way of thinking about the way i'm putting it now is information-based chemistry how do you program molecular systems to carry out interesting behaviors and so my view of computation isn't solving hard problems that we want to solve with most remarkable thing about the theory of computation is that it gave us an intellectual framework for precisely specifying behaviors target behaviors and figuring out how to make machines that implement the specified behavior so it's a theory of behaviors more than it's a theory of working with numbers or solving problems and and so that that's that gives us a different perspective of what's exciting about molecular programming is it's a way of you know a concrete way of asking can we specify the desired behaviors of molecular systems and achieve those behaviors in a systematic way that's what programming is
Speaker 1so that's i was going to actually ask in my uh questions i had in mind what is computation really because if we think like everything's obeying law of physics right like every system has the properties that if i know its initial conditions and the laws i can tell you where it's going to go but you're really thinking you're sort of abstracting away to the input output relationship in some way yeah
Speaker 2um i would even say input output is a particular kind of behavior and computer science doesn't steady just input output functions that's a building block for computations but you know if you're a computer scientist you might uh well what we're using right now might program up a a web streaming uh system in a web browser and so forth these are computations they're programmable systems but they're interactive behaviors they're just continually running and running and doing the thing that you ask them to do um it would be hard to talk about the whole thing as just input and output and we're done right it just runs and runs and runs and runs run parts of it can be understood in terms of input and output but that's only when you're breaking the system down and you're breaking the system down and you're breaking the system down into the tiny little pieces you know input output is sort of like a spring in physics it's what you build things out
Speaker 1of yes good fair enough uh which i guess is is the other place i wanted to go um in traditional computer science let's call it that we have these ideas of gates and the circuits and logic and algorithms and so is the goal to sort of reproduce all that in dna you're going to make a not gate or the equivalent thereof uh
Speaker 2we certainly have but i wouldn't call that the goal okay um i would say a more interesting goal is well think about the history of computing uh you know babbage built these gears and lovers and you know these machines for computing out of mechanical devices and you know then we got to electronic devices and vacuum tubes and there were all these sort of uh components that people were trying to build systems out of and at some point they realized and you know uh claude shannon contributed enormously to this uh they they realized that ah thinking about these in terms of bullying logic is a good abstraction it fits the materials that we have it fits the components we have and we can think about computation at the boolean level and then build computers out of and gates and or gates and memory units and so forth and so the larger question is how do we build these things and how do we build these things and how do we build these for molecular systems, if we think about them as information-based chemistry, is what are the natural building blocks for behaviors at the molecular scale? I've already talked about one, searching for a binding partner, right? So sticking, self-assembly that is directed by the information carried by the molecule, DNA with sequence one, binds to DNA with sequence complement of one as soon as they find each other. That's a building block. And so if you follow the computer science trajectory, once you have your building blocks, you look at the smallest subset of building blocks that you can handle at the moment, and you ask, what can those building blocks achieve? And that's a very interesting question, right? It's known in computer science, for example, if you have an AND gate, you can build circuits out of it, but they're all pretty boring because all you've got is AND gates. So you need to toss in maybe, well, if you have AND gates and OR gates, you can also do more. Turns out that's still boring. You need to add in a NOT gate, and now you've got sort of the full set of circuits that you'd like to build.
Speaker 1So rather than just reproducing the gates story that we have from classical computation, you're taking a step back and saying, look, we're doing something very different here. Maybe the natural building blocks are different.
Speaker 2Exactly. Exactly. And so, you know, we may be, you know, I would say the last 30 years of my career has been sort of trying out different ideas here and seeing how far they go. And so we've explored some kinds of things, programmable self-assembly, dictated by DNA sequences that bind to each other. If that's your building block, how can you put that building block together? And so, you know, we've explored some kinds of things, programmable self-assembly, and by putting it together in different ways, like building different circuits out of AND or NOT gates, can you get different behaviors on the molecular side? Good. Self-assembly, piece one. But then there's some other ones. There's like polymers can fold. So polymer folding is maybe another building block. And then you can have chemical reactions. You know, A plus B goes to C. Is that another kind of building block? And we could continue sort of looking for building blocks until we think, ah, we're going to have to build a building block. And then we can build a building block. And then we think, ah, this is getting really too crazy. Let's smooth it down and find the smallest set of building blocks that really account for the kinds of systems that would be interesting to understand and the kinds of behaviors at the molecular level that would be interesting to understand.
Speaker 1So, OK, I think I'm getting closer to my original question. I want to understand like the physical stuff being pushed around. So you have some DNA strands and you're not changing the order of the nucleotides, I believe, but you are letting the strands attach to each other or attach to themselves. if they want to fold, and do they grab onto other things in the environment, or is it just each other they're interacting with?
Speaker 2So if you talk about the field at large, many people are using DNA, programmable DNA. The field's sometimes called DNA nanotechnology, if we want to use that kind of jargon. But people use DNA nanotechnology to interface with other chemistry, because if you can program the DNA nanotechnology, if you can program machines that behave in a certain way, then when they're contacting other more specialized chemistry, well, they can get to do something neat. And so from that perspective, another analogy is if you're building a robot, your robot has some sensors, some cameras, some microphones, some other kinds of sensors. And it has some actuators, you know, legs, muscles, things that it can do to move. And then it has a CPU in the middle that reads the sensors, does some compute, processes some information, makes a decision, and then controls the actions that the robot is going to take. And so one view, it's a metaphor, is that one way that DNA nanotechnology is used is that it's that CPU, that programmable subsystem that is more easily programmable than the sort of interfacing with the rest of the physical world, the sensors and the actuators. But you have other kinds of chemistries that can, you know, actuators could be catalytic reactions that get turned on or off, or interfacing with binding to certain proteins or other things. And then sensors, you know, begin on the chemical side.
Speaker 1And just because I'm not at all a chemist, and I want to sort of understand a little bit of the nitty gritty, like, how long are your DNA sequences in the little test tube?
Speaker 2That's a fair question. Right now, when you send your email to the company, the cheapest thing to get is going to be the single stranded DNA pieces that are shorter than 200 nucleotides. Okay. So, you know, that's, well, that's one word in many computers, you know, 64 bits, maybe on advanced computers, 128 bits, you know, that's comparable to the size of the individual molecules that we get. So, you know, one memory element of a modern computer roughly corresponds to the size of molecule we make. But we can order many of them, so we'll often design systems. I shouldn't say often because, you know, these are the sort of the frontiers of our field is you design a thousand, maybe even 20,000 different molecules and they interact together in a system way to either self assemble a structure, carry out a information processing cascade or do some other neat thing in the test tube. So that's the most common one. Then there's a little asterisk, which is that every now and again we borrow from biology. One area in DNA nanotechnology is called DNA origami. And with DNA origami, one starts with about a seven kilobase molecule of DNA and then cause it to fold or undergo different kinds of transformations.
Speaker 1So if one were a grad student, in your lab, would one be like coming up with a sequence of nucleotides to email the company to and then get them back and pour them in the test tube?
Speaker 2That's what one does. Yes. So, you know, one has an idea. Yeah. One translates that into sort of a specific objective and then one writes some code to design the sequence. You know, there's some off the shelf ways of designing sequences. You just download the software and do it. And, you know, you get some of the software outputs in e-mail that you can send to the company. Often if you're doing something more frontier, you're writing your own sequence design software for your specific challenge.
Speaker 1And then I'm sure we're going to be skipping over a lot of steps that are very important in the life of that graduate student. But then we take our different test tubes and we mix them together and we measure. Now we have to be chemists, right? We have to figure out what came out of all that.
Speaker 2Yeah. The two kinds of experiments that are most common, I'll give three. One is atomic force microscopy. This is sort of where I cut my teeth, shall we say. And that's great for looking at structures. If you can assemble a structure that's more or less flat but has an interesting shape, then you can prove that it assembled properly by looking at it. And atomic force microscopy. And atomic force microscopy is sort of special because you can get sometimes down to almost a nanometer resolution to see individual molecules. It does that because it's not an optical-based microscopy technique. It's actually more like a little needle that scrapes along a surface, feeling the bumps. And so your molecules are bumps. And if you, you know, one of the famous examples is DNA origami that folds a piece of DNA into a small piece. It's a little bit of a smiley face. If when the atomic force microscope scrapes its needle across the surface and it sees, you know, a pattern of bumps that looks like a smiley face, okay, great. That didn't happen by accident.
Speaker 1Right. I mean, that's very useful knowledge because I think a lot of people see the images that, you know, when a news press release comes out of the smiley face or whatever or IBM, you know, written and different things. And they think that someone took a picture of that. With their camera. But it's a very different technique.
Speaker 2Yeah. I mean, red light is what? Wavelength 500 nanometers. The smiley face was about 80 nanometers. So it's smaller than a photon.
Speaker 1Right. Good. Okay. And let's think about what we're going to do with these things. When you have, like, an algorithm in your DNA computer, is it more likely to be add two plus three and get five? Or is it something like… Like, take input X and Y and add X and Y. Is that something we can do?
Speaker 2Right. So in some sense, okay, what are some programs that you can write? Many people, maybe fewer people these days, but back in the good old days, the first program they wrote was print hello world. I did that. Not a very exciting program. But, you know, what does it do? It outputs, shall we say, it outputs some photons. On your display that are arranged geometrically such that your eyeball reads them as hello world. Right. It moves not exactly matter, but certainly electric charge and photons around and arranges them in the real world. So that's the output of a program. So this DNA origami is maybe an example of a program and an output. The output is like… Like computer graphics, it's the picture of a smiley face. Okay. What kinds of program makes that? It's sort of a print hello world type of program at the molecular level where the program was here's a long seven color base strand of DNA and here's about 200, 300 other short strands of DNA that bind to it and stick to it and pull different parts of it together. Right. Right. Until it folds up into a smiley face. That's the program running. So that's a different view than doing some arithmetic.
Speaker 1But could you do arithmetic or is it a matter of like matching the tools to the task and like who would ever would make a DNA robot to do arithmetic? That's a waste of time.
Speaker 2Well, we did. We wasted our time that way. But, you know, the point wasn't to do arithmetic. The point was that's, you know, just like we don't really. We want smiley faces that are 80 nanometers in size. Right. It's a demonstration of a capability. We think we've put our fingers on some way of programming molecules to do what we want structurally. Okay. We'll prove that by making or a smiley face. In this case, DNA origami was invented by Paul Rodeman. So I don't want to say we as in my group. Sure. But as a field. And, you know, we have also done. One of my groups, this is work Lulu Chen and I did, was to design some molecules that compute the discrete square root of a four bit number. Okay. That's an odd choice, but it, you know, demonstrated the capabilities that we wanted to demonstrate. You know, if you ask other people, is this something DNA strands can do? They would probably say, huh? And so you need to do it. You need a concrete example. Right. And then they say, okay, well, this expands our way of looking at things. maybe not interesting, but at least it's different.
Speaker 1Yeah. And I remember when I was an undergraduate, so the 1980s, and personal computers were still new and, you know, there was not a lot of sophisticated stuff going on. So I took a whole course learning assembly language. And, you know, today the kids don't do that anymore. So what about that kind of hierarchy that we have in the ordinary computation world of, you know, assembly to higher level languages to apps? Like today, many people don't even know about languages, right? They just use their apps. Are you doing that in the DNA world?
Speaker 2I'm glad you brought that up. It's, I would say, one of the motivating reasons for me doing research is to ask exactly whether that kind of process works in chemistry. I would say when I was first, you know, getting interested in the molecular world, and I talked to chemists, this is as a graduate student, they would largely say the things that computer science does, you know, having a distraction for what you're trying to do and compiling it down to a set of molecules that do exactly what you want. That way of approaching things is ridiculous. What you need to do is have, you know, a next experiment, and then you'll find out something you didn't know, and then you'll do a next experiment. And then you'll do a next experiment. And then you'll get somewhere interesting. Whereas computer science is sort of staked its whole claim, you know, back in the 50s, on the idea that we can set up a bunch of rules for the game. And now you just play with those rules, we'll worry about the physics. You know, our electronic machine has the physics that manipulates things, but you can just worry about either your and gates, or worry about your assembly line. And then you can set up a bunch of rules for the game. language, you know, things like, you know, move the memory in location 200 to location 400. That's an example of an assembly language. Command, right, right. And, and so you have this whole hierarchy that you're describing from, essentially from a high level language like Python, or C back in the day, down to assembly, actually, an intermediate language that's a little bit more flexible than that down to assembly language. And then that compiles down onto your actual physical hardware, depending upon what chip you have. And so we'd like to do the same thing with molecules. So we've actually prototyped that sort of flow for several different kinds of systems. What we call tile self assembly systems, what we call strand displacement cascades. And the DNA origami is also sort of like that, although it's more like CAD, actually. But we have a series of abstractions for sort of going from the most abstract notion of what self assembly is down to more concrete notions of what self assembly is down to more detailed ones down to DNA sequences, then down to the laboratory, and showing that that that hierarchy is an effective way of making molecular systems that actually work. I would say that's one of the things I'm proudest of.
Speaker 1It's worth like pausing here to reflect that what you have a lab and you have test tubes, you're doing chemistry, but not just the idea of computation, but like real heavyweight ideas from the theory of computation are very much involved here. Like what counts as a computation? What kind of system can do a computation? Like, these all become very practical
Speaker 2questions in this field. very impractical way. I mean, all of our experiments sort of show, look, molecules can do this, who would have thought? They're not, look, molecules can do this thing that's useful for industry.
Speaker 1Well, that's where I'm going to go somewhere. No, please don't.
Speaker 2Let's stick to the philosophy.
Speaker 1The philosophy will keep coming back.
Speaker 2So let me just give an example of some of those things you're talking about. Ideas from theoretical computer science and mathematics that are somehow underlying some of these things. So one of the kinds of molecular systems we design are DNA molecules that essentially crystallize. But as they crystallize, that's a form of self-assembly. They don't form periodic structures, but they form patterned structures. You know, if I were to give my DNA molecules colors, they're not colors. But if I had a red one and a blue one and a green one, as they self-assemble, the brown ones stick to the red ones, the red ones stick to the yellow ones, if it's next to a black one. And you have these sort of rules for how they come together. And then what ends up forming is this, in our hands, often a two-dimensional tapestry that has a very specific layout of the different colors. And so this is a tiling. It's a mathematical object that has been studied for a long time. And it turns out that tilings have very deep connections to computer science. So there are questions, you know, are all valid infinite tilings periodic? No, some of them aren't. There's aperiodic structures, Penrose tilings, but also square ones. How Wong developed with his students some of the first really interesting aperiodic square tilings. And notice. That, in fact, you can design sets of tiles that just stick to each other when the colors match, that exactly simulate the behavior of certain kinds of computers like Turing machines. Similarly, cellular automata. So these kinds of theoretical ideas are sort of implicit in the kinds of experiments we do in the laboratory where we try to show that algorithmic self-assembly following the ideas of mathematical tilings are physically possible. As a way that matter self-organizes.
Speaker 1You mentioned very quickly there, cellular automata. But the story you're telling just reminds me very much of, you know, discovering that computation can be done in these simple two-dimensional cellular automata.
Speaker 2Yes, yes. Like the game of life.
Speaker 1The game of life, yeah, and all those things. But it's physical matter rather than other things, which is very cool. So, okay. But you have told us that you're not computing. You're not computing with silicon on speed, right? You're not going to make a DNA data center to do anything like that. But maybe you can compete on size or flexibility. I mean, it's DNA. You could put it in a cell and let it go crazy.
Speaker 2Yeah. So one of the original motivations for the DNA computing field was you can store information in a very small space, right? You know. One DNA base pair is about a cubic nanometer. So if that was packed very tightly, biology knows how to pack it very tightly, you have an incredible information density. So there's now a field of DNA data storage that I would say is still, you know, trying to see whether that's economically viable. That's not my personal interest. I would say. So, you know, if you ask, you know, what is the grand challenge? The grand challenge, the thing that electronic computers can't do is interface directly with chemistry, right? Right. This is what biology, you know, I would say this is the most important thing in biology is that there's information that directs the behavior. You know, what proteins should I make? When should I make different proteins? That controls everything inside the cell. And so you have, you know. The cell is an information-based molecular system that, as we can see, controlling chemistry with logic and rules, which is what biochemistry does, is incredibly powerful at making diverse physical objects, i.e. organisms. And it's also the starting point for evolution. If you can store information, you can change that information, you can explore the space of possible organisms. And so biology, you know, one way of understanding biology is to understand where evolution went, what was available to it. You sort of have to understand the design space of all possible organisms. Hard thing to do. But computer science has given us this prototype of what is the space of all possible behaviors given these building blocks. That's what we said a programming language. It gives you. It's a way of representing the design space of all the possibilities. Now you as the programmer write specific programs and explore that design space. And so it gives us a sort of a one-shot finite description of what that design space is, despite the fact that it's infinite. And so if we can take that concept and import it into the molecular world, maybe we can't understand biology because all of chemistry and physics are available to biology. But we can. We can understand a smaller space, the reduced instruction set of programmable DNA systems. And try to understand the design space that way.
Speaker 1And is there any task you would like to accomplish inside a cell that you can do very well this way? Is there like some medical thing?
Speaker 2Well, I wouldn't want to do it inside a cell. Okay. My personal preference. I think biology is a wonderful proof of concept that information-based chemistry is rich. But the space of things that biology has explored is a tiny subset of everything that's possible. And so I'm much more interested in sort of exploring the sort of matter to – I wouldn't say matter to life, but matter to as complicated as life spectrum of molecular machines from the ground up. So a grand challenge for my field might be if one were to – take it is to build a cell from scratch using only DNA Wow okay that wouldn't be a cell it wouldn't be a biological cell but it would be something like a cell so maybe as a metaphor Boston Dynamics you know ten years ago built a dog from scratch using silicon and plastic right and that wasn't a dog and it doesn't reproduce but it could walk through a forest and you know we're slowly making robots more and more competent but in a very systematic way where we can program them to do different things so when I say it would be a grand challenge to make a cell what I mean is could we make something about a micron in size that has many components can sense its environment can actuate can take energy from its environment to stay out of equilibrium and do interesting things maybe even self reproduce that would be a neat thing and I think it's less ridiculous than it sounds
Speaker 1no it sounds right just the right amount of ridiculous although let me let me push back on why do you want to make it all out of DNA I mean the actual cells in our bodies like have DNA to store the info etc but they have other kinds of things to do other kinds of tasks this question also
Speaker 2came up in computer science you know historically why make things just out of silicon why not gallium arsenide why not add various chemistries to the fabrication process to make it better and the early history of VLSI was if you make all your transistors exactly the same and just arrange them differently into different circuits you can do things systematically you can scale you can understand what you're doing if you try to use all sorts of complex electronic devices you know a weird kind of capacitor over here a weird kind of resistor here that fits into the fabrication process you get confused and that technology grows a little bit slower even if maybe ultimately it would have been you know had faster switching times and various other advantages so there's there's a practical scaling advantage a managing complexity advantage to keeping your building blocks as few as possible and then understanding that design space because it's interesting enough
Speaker 1yeah it's kind of it's very similar maybe it's exactly the same as the complexity complication distinction I don't know if you're familiar with that one but like a car is complicated because it's made of all these parts but the parts are all doing something very purpose-built for just to do that thing whereas a complex emergent system has all these parts that are kind of multi-purpose and they organize into you know some kind of hierarchy that can do lots of
Speaker 2different things right or even very simple like you mentioned the the cellular automaton the game of life the parts there are almost trivial right and yet the complexity is enormous
Speaker 1good okay that actually makes a lot of sense um and something I don't want to let slip by is that we've been talking about computers and computation and you've done that you've also done DNA robots which I guess is a little bit different um what what is the difference because you talked about real robots but these are tiny
Speaker 2little robots yeah so this is uh also work with Lulu Chen um this was sort of exploring you know how small can a robot be what is the smallest shall we say sensing thinking activating or instead of thinking you could say decision making uh decisions can be very small and elementary that's all you know how small can that be and um you know our example was that can just be a single molecule a single strand of DNA that has domains that are responsible for moving around on a surface uh again due to this Watson Creek uh uh uh interaction that you can program uh picking up a cargo uh dropping off a cargo at the right designation all controlled by these these uh DNA informational barcodes um that was a a fun thing to do and that
Speaker 1but I mean beyond fun I can imagine maybe I'm maybe because I don't understand the constraints but if a if you can make a little nanoscale thing that will pick up one molecule and carry it somewhere else and put it down that sounds like there's an infinite number of applications for that I don't know
Speaker 2yes uh potentially so one of the the bottlenecks that sort of the early development of DNA nanotechnology has been facing is that almost all of our our experimental systems have been put some DNA molecules in a test tube uh and then watch what they do yeah and what they do of course is settle as fast as they can towards equilibrium um you know maybe they'll get stuck along the way but they're one and done and um I'll mention my wife again Lulu Chen one of the exciting things she did last year is found a very clean way of powering DNA systems for sustained non-equilibrium behavior and this is just by heating them up and if you're clever your molecules can capture energy from the heat into a metastable state which then when they're cool uh they can release in a very programmed way ah and so the problem with the DNA robot that uh we demonstrated uh I don't know almost 10 years ago now uh was that it was entirely unpowered so it would do a random walk which was diffusion no direction to it it would drop things off because that was a downhill energy step and we couldn't even think about really exploring them to do very programmed ways that are continually uh driving them forward towards a a specific goal um now maybe we're in a place to start thinking about
Speaker 1that I'm very glad that you said that because I wasn't really aware of it but you know I'm an entropy guy I I think that increasing entropy or if you'd like using up free energy is the driving force behind all biology all thinking all metabolism Etc the development of complexity in the universe so it's an obvious place to go I mean and maybe that will eventually I'm hypothesizing here and you can slap me down if you want um provide a motivation for hooking up your DNA information processing systems into some dumber systems that are more cell-like that sort of are more about eating and consuming and moving around and the DNA is like driving from the driver
Speaker 2seat I won't slap you down but I mean that yeah okay
Speaker 1I think that
Speaker 2they're fascinating uh questions you know when you get to you know entropy enthalpy the physics of computation uh that was actually one of my uh shall we say motivating reasons to get excited about uh DNA Computing was that prior to that I had been reading Charles Bennett and Margolis and uh Toffoli and you know the thermodynamics of computation not Quantum but um just the sort of Brownian version thereof how much energy does it take to compute right and I I thought that those were fascinating ideas to the extent that I understood them um but I think with DNA systems there are a lot of very concrete ways of looking at those questions so for example the tiling self-assembly we have these little DNA units that sort of start assembling in a into a two-dimensional Crystal during that Crystal growth if you're running it you know you're working at a temperature and concentrations that are uh right next to the melting temperature of the Crystal which is where you get the lowest error rates at this point molecules are assembling dissembling coming on coming off but they're overall doing a computation they're creating that tapestry that's an algorithmic patterned tapestry uh but they're doing it for as close to zero energy as you want the closer you run to the melting temperature of the Crystal And the less free energy difference there is once a piece comes in versus a piece falls out. And so the system is sort of naturally exactly exploring this regime that Charles Bennett was talking about.
Speaker 1Yeah, that is very exciting. But it reminds me of a very practical question that I thought I should ask. John Preskill, who is your Caltech colleague and also a former Mindscape guest. I remember when he sort of switched from being a quantum field theorist to doing quantum information theory and became the world's expert in quantum error correction. And I just thought like, oh, well, it's too bad that the useful side of his career is over now. Like that just sounds so boring, quantum error correction. And now I realize that I was just being dumb and it's one of the most important things out there. But presumably you have good old classical errors in these DNA computers. It is a wet, noisy environment that they're all suspended in.
Speaker 2Yeah, very much.
Speaker 1What do you do about that?
Speaker 2Yeah, so I also spent some time reading about von Neumann's, you know, classical error correction mechanism for digital circuits and asking, you know, can some of these ideas be incorporated into the design of molecular systems? And so, of course, yes. And, you know, it takes time. It's different forms depending on the kind of system you're thinking about. In the self-assembly systems, it turned out to be a little bit funny that the way to get the lowest error rates was to introduce a form of proofreading, not like John Hopfield's kinetic proofreading that sort of burns energy to do so, but a form of self-assembly proofreading that's based on cooperative information. So the growth process can't go forward unless two things come together sort of at the same time. And if one of them misassembles, then the other one won't fit and self-assembly stalls out. But you can prove some interesting theorems about the kinetics and error rate tradeoff based on the cooperativity, the type of self-assembled pattern.
Speaker 1I think this is an important lesson. And, you know, for the people out there listening, because sometimes it's not always obvious why professors, academics, whatever, are spending their valuable IQ points doing these fun sounding things rather than improving the world, making a smiley face at the nanometer scale or whatever. But so often just, you know, showing and figuring out how you can do something specific in the real world teaches you a hugely valuable lesson. A lesson you didn't even know you were wondering about. Absolutely. And so therefore it sort of leads into like the last big bucket of questions that I have. Have we learned anything about life from doing all these things about, you know, you keep talking about self-assembly, information processing. These are all words that appear when we talk about the origin of life.
Speaker 2So, you know, I think there are a fair number of people who. Who think that the central thing in life is the fact that it's based on information. Right. Darwinian evolution can't happen without that. Yeah. And and so while I think there are plenty of biologists who think that making smiley faces or cellular automata patterns and DNA arrays has absolutely nothing to do with the life that they care about. To me, looking at how information expresses itself in molecular systems. Is. A central question of understanding life. At least the one that's centralist to my heart. Won't go further than that. But I think maybe there's there's another. Thing. Just in terms of. The role that different. Academic disciplines can sort of play. And how they can interact with each other. So one thing that here you're going to have to correct me if I get this wrong, but one historical anecdote that that made quite an impression on me was that a lot of the key concepts in thermodynamics came from the steady of the latest, greatest at the time, industrial technology, the steam engine, right? So how do we understand steam engines and what they can do and what they can't do?
Speaker 1And it's 100% correct.
Speaker 2Yeah. Carnot steadied their efficiency and, you know, that process led to the development of notions of, of, of, uh, entropy. Well, you're an entropy guy, so you really know this and, and free energy and so forth. And now you go to biology and can you talk about protein folding without the notion of free energy and entropy? You can't write this concept went from the theory of the steam engine to the. Theory of all these equilibrium, uh, systems, which is just everywhere pervasive throughout science. And okay. It took a few hundred years to sort of distill which parts of that theory were the theory of the steam engine and which parts were the theory of everything. Yes. And so now, you know, um, 75 years ago or so, depends on where you pin your pin. Uh, there was a new technology. Right. The beginning, not of the industrial revolution, but the beginning of the information revolution, people started building these devices that could compute. And we have the theory of the electronic computer that has been steadied and developed and concepts come into play. What is an algorithm, what is decidable, what is recursion, what is modularity, um, what is information, um, this whole spectrum of ideas. Around the, uh, well, the, the theory of the electronic computer. And so there has been leakage into other sciences where you say, okay, that concept, like the concept of entropy and free energy, maybe the part that doesn't have to do with the electronic computer is the theory of behavior. How do you specify behaviors? How do you analyze behaviors? These are now. Now, not equilibrium behaviors, but kinetic behaviors, the response sort of rule-based behaviors. And, you know, I, I think that's what we've seen. We've seen sort of more of these concepts being applied, you know, first in neuroscience to the brain, uh, and in biochemistry and in other areas, but it's, it's going to take some time to really figure out. Which parts of the theory are as universally, you know, sort of a theory of, of, of everything for behavior. Um, and which parts are just the theory of electronic computers. So I love that answer.
Speaker 1I mean, it's at my happy level of abstraction and grandiosity, which is very good. Um, but if I were, uh, you know, an origin of life person, I, I guess I would be pressing on, um, there's a fundamental issue in like, okay, when did the universe start processing information in this way? Uh, was it because an RNA molecule happened along and interacted in a certain way? And I guess, of course, that this is a big question and we can argue about it, but have we learned anything or has, has your work suggested anything to us about that kind of question?
Speaker 2Yeah, I, I love that, uh, that move. Um, when I was in high school and college, one of the things that I, uh, was really influenced by was the early artificial intelligence. Uh, artificial life, uh, works coming out of the Santa Fe Institute. And what they were exploring, people like Chris Langton, um, was the idea that maybe some of the things that we associate with life, self-replication, evolution, are principles of computer programs, things that computer programs can do. And so we can simulate them on a computer and we can watch an artificial evolution. Uh, proceed. And the sort of first point there is that once you have a programming language, let's say assembly language, then writing a program that copies itself is dead easy. Right? You just have a few lines that say, you know, go back, copy this memory, go put it there, go back, copy that memory, put it there, and pretty soon you've copied yourself. So, um, and so. Self-replication is a program from the artificial life point of view. Now, if we come back to spending a lot of time thinking about molecular interactions with DNA as an example, uh, as being programming languages, then it ought to be if we found the right building blocks, that self-replication is a program in our molecular programming language. We don't maybe need to design the full Boston dynamic. Dynamics, micron scale, artificial cell. Maybe we just need to write one little program that. replicates and then have artificial life in an actual test tube uh undergoing some kind of evolutionary process so you were talking about sort of real uh origin of life with all the chemistry and you know how much oxygen was present at this point in time and what was the ph and you know things that matter if we want to understand how it worked on earth but if we ask just generically how can non-living systems kick start and kick start the evolutionary process how do you get your first self-replicator maybe the cleanest theoretical way of exploring that is to start with some things like a programming language but not a complex thing running on silicon but a subset of physics and chemistry that is a programming language right right and then ask how in a simple programming language can self-replicators spontaneously organize and start evolving so i i was excuse me for going on and on here uh i was uh what did i say my thinking on this was reinvigorated uh two years ago when um a fellow blaise aguerri arcas wrote a very compelling um paper on the development of self-replicators on computational life where he showed a very simple uh programming language where he just took two programs and ran them against each other one program used the other program as data and did that for a long time and they started getting more complex despite there being no explicit goal and then self-replicators arose we had him on the
Speaker 1podcast it was one of the best conversations we had i was absolutely thinking of that while you were talking so yeah i'm glad you already know that
Speaker 2about it yeah uh it's fantastic very inspiring to us and so uh that paper made me think okay now's the time that we've got tools in dna nanotechnology to start asking can we do that same experiment in the laboratory you know i i think of this as you know a different way of thinking about the origin of life right there's there's there's the you know the rna first approach there's the metabolism first approach there's the blah blah blah first approach i i would say uh uh blazes i don't think he uses these words but but but uh advocating for a uh uh programming language first approach
Speaker 1right right and in some sense what your work is suggesting is that the gap between his computer program literal computer simulation of that and embodying it in real physical matter might be smaller than that might be smaller than you might worry
Speaker 2exactly though i'm not sure why you use the word worry uh yeah i'm trying to put myself
Speaker 1in the mindset of someone who thinks you know the origin of life is a hard problem we'll never figure it out etc etc but then you sort of come at it from these weird angles and you realize oh okay that sheds light on something we've been struggling with for a long time right and okay so the then the the last question is um um you know what's what is the future you're giving us a great grand challenge with the building the little cells thing and i love the idea of you know little robots moving things around in our bodies or shaping chemistry uh sounds like the sky's the limit but you you should say what do you
Speaker 2think so there are two things that i'm excited about doing research on sort of going forward um the first i already mentioned uh being how can we power these dna nanotechnology systems to keep going for a long time if we wanted to do something like blaze does and look at self-organization and and kickstart some kind of evolutionary process having power in the system somehow uh is necessary and so what's the simplest way and so i'm very excited about lulu chen's uh heat powered system this is a lot uh an old way of doing it but i'm very excited about lulu chen's uh heat powered system this is a lot of idea in the origin of life community that you know hot cold day night cycles gradients yeah or gradients or or cycles near hydro hydrothermal vents you know might be an energy source for complex chemistry getting powered um but in our dna nanotechnology systems it's sort of it's uh to me at least even more surprising because there's no chemistry going on there's just uh bonds dna strands sticking to each other and not there's no formation of new molecules and so if that's enough that would be really exciting yeah um the other thing that sort of plays into that is thinking about the kinds of building blocks that are programmable building blocks that we can explore with dna but they come in different types so i talked about self-assembly which is sort of crystals that's if you wish solid state um we also have molecules that bounce into each other and carry out reactions a plus b goes to c these kinds of reactions are you might even call them gas phase you know they're they're in a liquid but the the elements we care about are usually in isolation except every now and again they bounce into another active molecule and do something and then go their separate ways so that's like a bunch of billion ballons bouncing around but changing colors so that's gas phase and most recently we've been looking at how to think about programmable behaviors and information processing in dense liquids condensates molecules in this case again dna molecules in our concrete example that are constantly in contact with each other but with very low kt interactions so that they're constantly rearranging liquid phase components so my intuition is that if you look at what's needed sort of to make a cell-like thing you're going to need some solid phase components you're going to need some sort of gas phase or dilute chemistry components you're going to need some liquid phase components and understanding how those sort of come together into a programming language at the molecular level so that we can think of them not just in terms of sort of idiosyncratic chemistry of each type but in some universe uniform way of specifying the behavior of a system and trying to figure out how to program it would be exciting to have exciting to me to have more clarity on that kind of molecular
Speaker 1program always glad to be informed that we don't know all the answers yet and there's still good things remaining to be done so eric winfrey thanks very much for being on the mindscape podcast
Speaker 2thank you it was a pleasure you