So, people argue vigorously about the definition of life. They ask if it should have reproduction in it, or metabolism, or evolution. And I don't know the answer to that, so I'm not going to tell you. I will say that life involves computation. So this is a computer program. Booted up in a cell, the program would execute, and it could result in this person; or with a small change, it could result in this person; or another small change, this person; or with a larger change, this dog, or this tree, or this whale.
در مورد تعریف موجود زنده بحثهای زیادی شده است. آیا باید تولید مثل هم بکند؟ آیا باید متابولیسم داشته باشد؟ آیا باید تکامل پیدا بکند؟ من جواب این سوالها را نمی دانم و سعی هم ندارم به این سوالها پاسخ بدهم. ولی چیزی که می خواهم بگویم این است که زنده بودن یعنی درگیر محاسبه بودن. این یک برنامه کامپیوتری است. اگر این برنامه را روی یک سلول نصب کنید این برنامه اجرا می شود. و نتیجه اش این فرد می شود. با یک تغییر کوچک نتیجه برنامه می شود این فرد. یک تغییر کوچک دیگر و نتیجه این یکی می شود. با یک تغییر بزرگتر نتیجه این سگ می شود. یا این درخت یا این نهنگ.
So now, if you take this metaphor [of] genome as program seriously, you have to consider that Chris Anderson is a computer-fabricated artifact, as is Jim Watson, Craig Venter, as are all of us. And in convincing yourself that this metaphor is true, there are lots of similarities between genetic programs and computer programs that could help to convince you. But one, to me, that's most compelling is the peculiar sensitivity to small changes that can make large changes in biological development -- the output. A small mutation can take a two-wing fly and make it a four-wing fly. Or it could take a fly and put legs where its antennae should be. Or if you're familiar with "The Princess Bride," it could create a six-fingered man.
خوب شما اگر تشبیه ژنوم به برنامه کامپیوتری را جدی بگیرید، شما به این نتیجه می رسید که کریس اندرسون، یک محصول ساخته دست کامپیوتر است. همینطور جیم واتسون، کریگ ونتور و همه ماها برای اینکه خودتان را قانع کنید که این تشبیه درست است، باید بدانید که شباهتهای زیادی بین برنامه های ژنتیک و برنامه های کامپیوتری وجود دارد که می تواند شما را قانع کند. ولی آن شباهتی که برای من از همه مهمتر است این حساسیت شدید به تغییرات خیلی کوچک است. در بیولوژی این تغییرات کوچک می توانند تغییرات شدیدی در نتیجه ایجاد کنند. یک جهش کوچک می تواند نتیجه را از یک مگس دوباله به یک مگس چهار باله تبدیل کند. یا کاری کند که یک مگس در جای شاخک هایش پا در بیاورد. یا اگر شما با «شاهزاده عروس» آشنا باشید، می شود که یک مرد شش انگشتی بشود.
Now, a hallmark of computer programs is just this kind of sensitivity to small changes. If your bank account's one dollar, and you flip a single bit, you could end up with a thousand dollars. So these small changes are things that I think that -- they indicate to us that a complicated computation in development is underlying these amplified, large changes.
یکی از علائم مشخصه برنامه های کامپیوتری همین حساسیت زیاد به تغییرات کوچک است. اگر شما در حساب بانکی تان یک دلار داشته باشید و یک بیت آن را وارنه کنید، نتیجه ممکن است این باشد که شما هزار دلار در حسابتان داشته باشید. این تغییرات کوچک به نظر من نشان دهنده این هستند که یک پردازش، یک پردازش خیلی مفصل در جریان است. و این پردازش این تغییر کوچک را تشدید و بزرگ می کند.
So now, all of this indicates that there are molecular programs underlying biology, and it shows the power of molecular programs -- biology does. And what I want to do is write molecular programs, potentially to build technology. And there are a lot of people doing this, a lot of synthetic biologists doing this, like Craig Venter. And they concentrate on using cells. They're cell-oriented. So my friends, molecular programmers, and I have a sort of biomolecule-centric approach. We're interested in using DNA, RNA and protein, and building new languages for building things from the bottom up, using biomolecules, potentially having nothing to do with biology. So, these are all the machines in a cell. There's a camera. There's the solar panels of the cell, some switches that turn your genes on and off, the girders of the cell, motors that move your muscles. My little group of molecular programmers are trying to refashion all of these parts from DNA. We're not DNA zealots, but DNA is the cheapest, easiest to understand and easy to program material to do this. And as other things become easier to use -- maybe protein -- we'll work with those.
همه این شواهد نشان می دهد که برنامه های ملکولی در زیر ساخت زیست شناسی وجود دارند. این قدرت برنامه های ملکولی را نشان می دهد که در بیولوژی اجرا می شوند. و من می خواهم که برنامه های ملکولی بنویسم، که شاید در آینده منجر به تکنولوژی بشود. البته افراد زیادی دنبال این کار هستند. خیلی از زیست شناسان سنتتیک دنبال این کار هستند. مثلا کرگ ونتر و اینها بیشتر تمرکزشان بر استفاده از سلولها است. اینها سلول گرا هستند. دوستان من و من که همگی برنامه نویسهای ملکولی هستیم، بیشتر روش تمرکز بر ملکولها به جای سلولها را می پسندیم. ما می خواهیم از DNA و RNA و پروتئین ها استفاده کنیم و زبانهای جدیدی برای ساختن چیزهای جدید از پایه با استفاده از ملکولهایی با منشاء موجودات زنده ولی با روشهایی که هیچ ربطی به موجودات زنده موجود ندارند بکنیم. اینها همه ماشین هایی هستند که در یک سلول وجود دارند. اینجا یک دوربین هست، صفحات خورشیدی هست. کلید هایی هست که ژنها را خاموش و روشن می کنند هست، اسکلت سلولی وجود دارد و موتورهایی که عضلات را حرکت می دهند، گروه برنامه نویسان ملکولی ما سعی دارند همه این ابزاهای ملکولی را از نو و از DNA بسازند. ما تعصبی روی DNA نداریم ولی DNA ساده ترین و ارزان ترین ماده ای است که برای انجام این کار در دسترس است. و همین طور که با گذشت زمان ملکولهای دیگر مثلا پروتین ها در دسترس قرار می گیرند ممکن است از آنها هم استفاده کنیم.
If we succeed, what will molecular programming look like? You're going to sit in front of your computer. You're going to design something like a cell phone, and in a high-level language, you'll describe that cell phone. Then you're going to have a compiler that's going to take that description and it's going to turn it into actual molecules that can be sent to a synthesizer and that synthesizer will pack those molecules into a seed. And what happens if you water and feed that seed appropriately, is it will do a developmental computation, a molecular computation, and it'll build an electronic computer. And if I haven't revealed my prejudices already, I think that life has been about molecular computers building electrochemical computers, building electronic computers, which together with electrochemical computers will build new molecular computers, which will build new electronic computers, and so forth.
خوب اگر ما موفق بشویم، برنامه نویسی ملکولی به چه صورت خواهد بود؟ برای برنامه نویسی ملکولی شما جلوی کامپیوترتان خواهید نشست و و چیزی مثلا یک تلفن همراه طراحی می کنید، و به یک زبان برنامه نویسی سطح بالا، آن تلفن همراه را تعریف می کنید. بعد شما نیاز به یک کامپایلر دارید، که این تعریف سطح بالا را بگیرد، و تبدیل به نقشه ای از ملکولهای واقعی بکند. که قابل ارسال به یک دستگاه تولید کننده باشد، و آن دستگاه تولید کننده ملکولهای مورد نظر را در یک «دانه» بسته بندی می کند. حالا اگر شما این دانه را بکارید و درست آب و غذا بدهید، این دانه محاسبات مربوط به رشد و نمو اش را که محاسباتی ملکولی هستند انجام خواهد داد و نهایتا آن تلفن همراه را خواهد ساخت. من تا اینجا هنوز همه آرزوهایم را لو نداده ام، من فکر می کنم حیات همیشه همین کامپیوترهای ملکولی بوده است، حیات کامپیوتر های الکتروشیمیایی را ساخته است، و این کامپیوترهای الکتروشیمیایی توانسته اند کامپیوتر های الکترونیک را بسازند، و کامپیوتر های الکترونیک به کمک کامپیوترهای الکتروشیمیایی کامپیوترهای ملکولی را خواهند ساخت، که آنها در نتیجه کامپیوترهای الکترونیک جدیدتری خواهند ساخت، و به همین ترتیب...
And if you buy all of this, and you think life is about computation, as I do, then you look at big questions through the eyes of a computer scientist. So one big question is, how does a baby know when to stop growing? And for molecular programming, the question is how does your cell phone know when to stop growing? (Laughter) Or how does a computer program know when to stop running? Or more to the point, how do you know if a program will ever stop? There are other questions like this, too. One of them is Craig Venter's question. Turns out I think he's actually a computer scientist. He asked, how big is the minimal genome that will give me a functioning microorganism? How few genes can I use? This is exactly analogous to the question, what's the smallest program I can write that will act exactly like Microsoft Word? (Laughter) And just as he's writing, you know, bacteria that will be smaller, he's writing genomes that will work, we could write smaller programs that would do what Microsoft Word does.
اگر شما این قصه من را باور کنید، و مثل من فکر کنید که حیات محاسبه است آن وقت شما هم به سوالات بزرگ از چشم دانشمندان علوم کامپیوتر نگاه خواهید کرد. مثلا یک سوال مهم این است که یک نوزاد چطور می فهمد که دیگر نباید بزرگ شود. برای یک برنامه نویس ملکولی مهم است که بداند چطور یک تلفن همراه باید بفهمد که رشدش کافی است. (خنده) یا مثلا چطور یک برنامه کامپیوتری می فهمد که باید متوقف شود. یا شما چطور می فهمید که یک برنامه هیچ وقت متوقف خواهد شد یا نه؟ سوالات دیگری از این دست وجود دارد. یکی از آنها سوال کریگ ونتر است. من فکر می کنم در واقع کریگ یک دانشمند علوم کامپیوتر است. سوال کریگ این بود که حداقل ژنومی که می تواند یک میکروارگانیسم زنده ایجاد کند چقدر است؟ حداقل تعداد ژن لازم چقدر است؟ این سوال دقیقا مثل این سوال است که حداقل مقدار کدی که می توان استفاده کرد تا برنامه ای بنویسیم که عین برنامه Word مایکروسافت عمل کند چقدر است. (خنده) و عینا همانطور که کریگ دنبال باکتری های کوچک تری است که کار بکنند، و ژنومهای کوچک تری تهیه می کند که بتوانند کار بکنند، ما هم می توانیم برنامه های کوچک تری بنویسیم که همان کار Word مایکروسافت را انجام بدهند.
But for molecular programming, our question is, how many molecules do we need to put in that seed to get a cell phone? What's the smallest number we can get away with? Now, these are big questions in computer science. These are all complexity questions, and computer science tells us that these are very hard questions. Almost -- many of them are impossible. But for some tasks, we can start to answer them. So, I'm going to start asking those questions for the DNA structures I'm going to talk about next. So, this is normal DNA, what you think of as normal DNA. It's double-stranded, it's a double helix, has the As, Ts, Cs and Gs that pair to hold the strands together. And I'm going to draw it like this sometimes, just so I don't scare you. We want to look at individual strands and not think about the double helix. When we synthesize it, it comes single-stranded, so we can take the blue strand in one tube and make an orange strand in the other tube, and they're floppy when they're single-stranded. You mix them together and they make a rigid double helix. Now for the last 25 years, Ned Seeman and a bunch of his descendants have worked very hard and made beautiful three-dimensional structures using this kind of reaction of DNA strands coming together. But a lot of their approaches, though elegant, take a long time. They can take a couple of years, or it can be difficult to design.
از دید برنامه نویسی ملکولی سوال این خواهد بود که چند تا ملکول باید در آن دانه قرار بدهیم تا مثلا یک تلفن همراه به دست بیاید. حداقل تعداد چقدر است؟ این نوع سوالها سوالهای بزرگی در علوم کامپیوتر هستند. اینها سوالهای مرتبه پیچیدگی هستند. علوم کامپیوتر به ما نشان می دهد که اینها سوالات خیلی سختی هستند. و در واقع بسیاری از آنها را نمی توانیم جواب بدهیم. اما برای برخی کارها ما می توانیم شروع به جواب دادن بکنیم. پس من شروع به پرسیدن این سوالها در مورد ساختار های DNA که در موردشان صحبت خواهم کرد می کنم . این یک DNA عادی است، یک مارپیچ دو رشته ای یا مارپیچ مضاعف. اینها A ها و C ها و T ها و G هایی هستند که با جفت های خودشان در رشته مقابل متصل شده اند. بعضی وقتها ما DNA را به این شکل هم نمایش می دهیم. برای اینکه تک تک کد ها را بهتر بتوانیم نشان بدهیم. ما فقط به یک از دو رشته نگاه خواهیم کرد و نه به دو طرف مارپیچ مضاعف. وقتی ما DNA را در آزمایشگاه تولید می کنیم همیشه یکی از دو رشته را می سازیم. ما می توانیم مثلا رشته آبی رنگ را در یک لوله آزمایش بسازیم، رشته نارنجی را در یک لوله دیگر تولید کنیم، این ملکول وقتی تک رشته ای است شل و ول است، ولی وقتی آنها را با هم مخلوط کنیم یک دو رشته ای به هم پیچیده محکم را می سازند. در بیست و پنج سال گذشته، ند سیمن و عده ای از شاگردانش خیلی زحمت کشیده اند و ساختار های سه بعدی خیلی زیبایی را با واکنش رشته های DNA ساخته اند. البته اگر چه زحمتهایی که کشیده اند نتایج خیلی زیبایی داشته است ولی این روش خیلی وقت گیر است. حتی در حد یکی دو سال و طراحی آنها هم خیلی سخت است.
So I came up with a new method a couple of years ago I call DNA origami that's so easy you could do it at home in your kitchen and design the stuff on a laptop. But to do it, you need a long, single strand of DNA, which is technically very difficult to get. So, you can go to a natural source. You can look in this computer-fabricated artifact, and he's got a double-stranded genome -- that's no good. You look in his intestines. There are billions of bacteria. They're no good either. Double strand again, but inside them, they're infected with a virus that has a nice, long, single-stranded genome that we can fold like a piece of paper. And here's how we do it.
به همین خاطر من یکی دو سال پیش یک روش جدید ابداع کردم، که اسمش را اریگامی DNA گذاشتم. این روش خیلی آسان است به حدی که شما می توانید در آشپزخانه منزلتان آن را انجام دهید. و چیزهایی که می خواهید را روی یک لپ تاپ طراحی کنید. ولی برای اینکار نیاز به یک DNA تک رشته ای دراز دارید، که عملا خیلی مشکل است که بتوانید به دست بیاورید. شما می توانید سراغ یک منبع طبیعی بروید، مثلا سراغ این موجود ساخته کامپیوتر بروید، که ژنومش دو رشته ای است و به درد ما نمی خورد. اگر درون روده هایش را نگاه کنید میلیاردها باکتری را می بینید، که ژنوم آنها هم دو رشته ای است و به درد این کار نمی خورد. ولی اگر درون باکتری ها را جستجو کنید اینها مبتلا به ویروس هستند، که این ویروسها یک ژنوم دراز تک رشته ای دارند. و ما می توانیم آن را مثل یک تکه کاغذ تا کنیم. ما این کار را به این شکل انجام می دهیم.
This is part of that genome. We add a bunch of short, synthetic DNAs that I call staples. Each one has a left half that binds the long strand in one place, and a right half that binds it in a different place, and brings the long strand together like this. The net action of many of these on that long strand is to fold it into something like a rectangle.
این یک قسمت از آن ژنوم است. ما مقداری DNA که خودمان ساخته ایم را اضافه می کنیم - اسم اینها را منگنه گذاشته ایم. این قطعه ها یک طرف چپ دارند که به یک قسمت از ژنوم ویروس وصل می شود و یک طرف راست دارد که به یک قسمت دیگر از ژنوم ویروس متصل می شود. و رشته دراز را روی هم تا می کند. اگر تعداد زیادی از این منگنه ها روی ژنوم مورد نظر وصل بشوند نتیجه این خواهد بود که این ژنوم به شکل یک مربع تا می شود.
Now, we can't actually take a movie of this process, but Shawn Douglas at Harvard has made a nice visualization for us that begins with a long strand and has some short strands in it. And what happens is that we mix these strands together. We heat them up, we add a little bit of salt, we heat them up to almost boiling and cool them down, and as we cool them down, the short strands bind the long strands and start to form structure. And you can see a little bit of double helix forming there. When you look at DNA origami, you can see that what it really is, even though you think it's complicated, is a bunch of double helices that are parallel to each other, and they're held together by places where short strands go along one helix and then jump to another one. So there's a strand that goes like this, goes along one helix and binds -- it jumps to another helix and comes back. That holds the long strand like this.
ما نمی توانیم یک فیلم واقعی از این فرآیند تهیه کنیم، ولی شان داگلاس از دانشگاه هاروارد یک نمایش زیبا از این فرایند درست کرده است، که با یک رشته دراز شروع می شود و تعدادی رشته کوتاه هم اینجا هستند. اتفاقی که می افتد این است که ما این رشته ها را با هم مخلوط می کنیم و به آنها نمک می زنیم و آنها را گرم می کنیم. تا دمای جوش گرمشان می کنیم و بعد سردشان می کنیم. وقتی این ها را سرد می کنیم، رشته های کوتاه به رشته اصلی متصل می شوند و ساختار ما شروع به شکل گرفتن می کند. اینجا شما می توانید یک مقدار دو رشته ای مضاعف را ببینید. وقتی شما به اریگامی DNA نگاه می کنید، می توانید ببینید که واقعا از چه چیزی ساخته شده است. با اینکه در ظاهر پیچیده به نظر می رسد، در حقیقت تعدادی مارپیچ مضاعف است که به طور موازی قرار گرفته اند. و از طریق محلهایی که رشته های کوتاه متصل به یک مارپیچ، به یکی مارپیچ دیگر نیز متصل شده اند، کنار هم قرار می گیرند. مثلا اینجا یک رشته هست که اینطوری اینجا قرار گرفته است و تا اینجا ادامه دارد و در این جا روی این یکی مارپیچ پریده است و رشته بلند را این شکلی نگه داشته است.
Now, to show that we could make any shape or pattern that we wanted, I tried to make this shape. I wanted to fold DNA into something that goes up over the eye, down the nose, up the nose, around the forehead, back down and end in a little loop like this. And so, I thought, if this could work, anything could work. So I had the computer program design the short staples to do this. I ordered them; they came by FedEx. I mixed them up, heated them, cooled them down, and I got 50 billion little smiley faces floating around in a single drop of water. And each one of these is just one-thousandth the width of a human hair, OK?
برای اینکه به شما نشان بدهم که ما هر شکلی که بخواهیم را می توانیم با این روش بسازیم من سعی کردم این شکل را بسازم. من سعی کردم DNA را طوری خم بکنم که برود بالای چشم و بعد پایین چشم و بعد زیر دماغ و همینطور تا اینکه این پایین یک حلقه درست کند. من با خودم فکر کردم که ما اگر بتوانیم این کار را انجام بدهیم هر شکل دیگری را هم می توانیم بسازیم. من یک برنامه کامپیوتری ساختم که رشته های کوچک یعنی منگنه ها را برای من طراحی می کرد. بعد منگنه ها را به یک شرکت سفارش دادم و از طریق پست به دستم رسید. مخلوطشان کردم و گرمشان کردم و بعد سردشان کردم. و ۵۰ میلیارد لبخند کوچولو به دست آوردم که در یک قطره آب شناور بودند. و اندازه هر یک از اینها یک هزارم قطر یک تار موی انسان است.
So, they're all floating around in solution, and to look at them, you have to get them on a surface where they stick. So, you pour them out onto a surface and they start to stick to that surface, and we take a picture using an atomic-force microscope. It's got a needle, like a record needle, that goes back and forth over the surface, bumps up and down, and feels the height of the first surface. It feels the DNA origami. There's the atomic-force microscope working and you can see that the landing's a little rough. When you zoom in, they've got, you know, weak jaws that flip over their heads and some of their noses get punched out, but it's pretty good. You can zoom in and even see the extra little loop, this little nano-goatee.
اینها توی محلول شناور هستند برای اینکه اینها را ببینید باید آنها را به یک سطح منتقل کنید. که به آن بچسبند. پس آنها را روی یک سطح ریختم و آنها به سطح چسبیدند، و از آنها با یک میکروسکوب نیروی اتمی عکس گرفتیم. این میکروسکوپ یک سوزن مثل سوزن گرامافون دارد که روی سطح عقب و جلو می رود و به نوعی به اتمهایی که روی سطح هستند بر می خورد و بلندی آنها را ثبت می کند. در واقع DNA اریگامی را لمس می کند. این میکروسکوپ اتمی است که دارد کار می کند. و تصویر تشکیل می شود. اگر زوم بکنیم می بینید که این لبخند ها یک کم خشن هستند. بعضی جا ها چانه ها درست نیستند، یا بعضی از دماغها بیرون زده اند ولی خوب روی هم رفته خیلی خوب است. شما می توانید زوم کنید و یک صورت کوچک راببینید که یک لوپ هم زیرش دارد، مثل یک ریش پروفسوری نانو.
Now, what's great about this is anybody can do this. And so, I got this in the mail about a year after I did this, unsolicited. Anyone know what this is? What is it? It's China, right? So, what happened is, a graduate student in China, Lulu Qian, did a great job. She wrote all her own software to design and built this DNA origami, a beautiful rendition of China, which even has Taiwan, and you can see it's sort of on the world's shortest leash, right? (Laughter) So, this works really well and you can make patterns as well as shapes, OK? And you can make a map of the Americas and spell DNA with DNA.
نکته جالب این است که هر کسی می تواند این کار را انجام بدهد. حدود یک سال بعد از این کار من از طریق پست بدون مقدمه، این را دریافت کردم. کسی می داند که این چی است؟ این چین است. یک دانشجوی دکتری در چین، به نام لولو کیان خیلی زحمت کشیده بود. برای خودش این نرم افزارها را نوشته بود و این اریگامی DNA را طراحی کرده و ساخته بود، که یک نمایش زیبا از نقشه چین است. که حتی شامل تایوان هم هست. می بینید که این سر راست ترین کار دنیا است. نه؟ (خنده) پس این خیلی خوب کار می کند. شما می توانید علاوه بر شکل طرح هم بسازید. مثلا این نقشه امریکا است یا این یکی نوشته DNA.
And what's really neat about it -- well, actually, this all looks like nano-artwork, but it turns out that nano-artwork is just what you need to make nano-circuits. So, you can put circuit components on the staples, like a light bulb and a light switch. Let the thing assemble, and you'll get some kind of a circuit. And then you can maybe wash the DNA away and have the circuit left over. So, this is what some colleagues of mine at Caltech did. They took a DNA origami, organized some carbon nano-tubes, made a little switch, you see here, wired it up, tested it and showed that it is indeed a switch. Now, this is just a single switch and you need half a billion for a computer, so we have a long way to go. But this is very promising because the origami can organize parts just one-tenth the size of those in a normal computer. So it's very promising for making small computers.
چیزی که خیلی در این مورد جالب است -- واقعا اینها مثل کارهای هنری نانوتکنولوژی است و مشخص شده که کارهای هنری نانو چیزی است که شما برای ساختن مدارهای نانو نیاز دارید. پس شما می توانید قطعات نانویی را روی این منگنه ها قرار بدهید مثلا یک لامپ و یک کلید را و بعد اجازه بدهید که کل شکل تشکیل بشود و یک مدار بدست بیاورید. و شاید بعد DNA را از روی صفحه بشویید و فقط مدارمورد نظرتان باقی بماند. این در واقع کاری است که یکی از همکاران من در دانشگاه Caltech انجام داده است. از طریق اریگامی DNA تعداد نانولوله کربنی را مرتب کردند و یک کلید ساختند و به آن سیم وصل کردند و امتحانش کردند و نشان دادند که در واقع به شکل یک کلید کار می کند. البته این فقط «یک» کلید است. ولی شما برای یک کامپیوتر نیم میلیارد کلید نیاز دارید. ما راه طولانی ای در پیش رو داریم. ولی خوب وضعیت خیلی امیدوار کننده است. چون اریگامی می تواند چیزهایی را که اندازه ای یک دهم قطعات فعلی کامپیوتر دارند مرتب کند. پس این راه امیدوار کننده ای برای ساخت قطعات کامپیوتری خیلی کوچک در آینده است.
Now, I want to get back to that compiler. The DNA origami is a proof that that compiler actually works. So, you start with something in the computer. You get a high-level description of the computer program, a high-level description of the origami. You can compile it to molecules, send it to a synthesizer, and it actually works. And it turns out that a company has made a nice program that's much better than my code, which was kind of ugly, and will allow us to do this in a nice, visual, computer-aided design way.
من می خواهم به آن کمپایلری که قبلا در موردش صحبت کردیم برگردم. اریگامی DNA اثبات می کند که ساختن چنین کمپایلیری در عمل ممکن است. یعنی شما یک چیزی را در کامپیوترتان طراحی می کنید و از تعاریف سطح بالای برنامه کامیپیوتری استفاده می کنید. توصیف سطح بالای اریگامی، و بعد شما می توانید آن را در سطح ملکولی کمپایل کنید و به یک دستگاه تولید کننده بفرستید، و این واقعا شدنی است. یک شرکت برنامه زیبایی ساخته است که خیلی از برنامه ای که من نوشته بودم بهتر کار می کند. این برنامه از طریق یک رابط دیداری خیلی زیباتر به شما امکان طراحی می دهد.
So, now you can say, all right, why isn't DNA origami the end of the story? You have your molecular compiler, you can do whatever you want. The fact is that it does not scale. So if you want to build a human from DNA origami, the problem is, you need a long strand that's 10 trillion trillion bases long. That's three light years' worth of DNA, so we're not going to do this. We're going to turn to another technology, called algorithmic self-assembly of tiles. It was started by Erik Winfree, and what it does, it has tiles that are a hundredth the size of a DNA origami. You zoom in, there are just four DNA strands and they have little single-stranded bits on them that can bind to other tiles, if they match. And we like to draw these tiles as little squares. And if you look at their sticky ends, these little DNA bits, you can see that they actually form a checkerboard pattern. So, these tiles would make a complicated, self-assembling checkerboard. And the point of this, if you didn't catch that, is that tiles are a kind of molecular program and they can output patterns. And a really amazing part of this is that any computer program can be translated into one of these tile programs -- specifically, counting. So, you can come up with a set of tiles that when they come together, form a little binary counter rather than a checkerboard. So you can read off binary numbers five, six and seven.
خوب شما می توانید بپرسید که چرا اریگامی DNA اخر داستان نیست؟ شما وقتی کامپایلر ملکولی دارید هر چیزی بخواهید می توانید بسازید. واقعیت این است که این روش قابل بزرگ کردن نیست. مثلا اگر بخواهید چیزی به اندازه یک آدم را از این طریق بسازید، شما به یک رشته DNA خیلی خیلی بلند نیاز دارید، که ده تریلیون تریلیون باز طول داشته باشد. این معادل سه سال نوری DNA است. خوب پس ما اینکار را نخواهیم کرد. ما سراغ یک تکنولوژی دیگر خواهیم رفت، که اسمش «خود مرتب سازی الگوریتمی کاشی ها» است و توسط اریک وینفری ابداع شده است. در این روش کاشی هایی که صد برابر یک اریگامی DNA هستند استفاده می شود. اگر از نزدیک نگاه کنید می بینید که در واقع چهار رشته DNA است که قطعات کوچک تک رشته ای روی آنها قرار دارد و آنها را به هم متصل نگه می دارد. و می تواند آنها را به کاشی های دیگر نیز متصل کند. ما این کاشی ها را به شکل مربع های کوچک نشان می دهیم. و اگر به انتها های اینها نگاه کنیم می بینید که می توانند یک طرح شطرنجی درست کنند. این کاشی ها هستند که می توانند یک صفحه شطرنجی خود مرتب ساز پیچیده را بسازند. اگر هنوز متوجه نشده اید باید بگویم که نکته این است که کاشی ها به نوعی برنامه های ملکولی هستند و اینها می توانند به عنوان خروجی، طرح تولید کنند. و قسمت خیلی خیلی جذاب این است که هر برنامه کامپیوتری را می توان به یک برنامه کاشی ترجمه کرد. مخصوصا شمارش را. پس شما می توانید یک سری کاشی طراحی کنید که اگر به هم متصل شوند، می توانند به جای یک صفحه شطرنجی، یک شمارنده باینری بسازند. این شمارنده می تواند اعداد ورودی را بخواند مثلا ۵ و ۶ و ۷
And in order to get these kinds of computations started right, you need some kind of input, a kind of seed. You can use DNA origami for that. You can encode the number 32 in the right-hand side of a DNA origami, and when you add those tiles that count, they will start to count -- they will read that 32 and they'll stop at 32. So, what we've done is we've figured out a way to have a molecular program know when to stop going. It knows when to stop growing because it can count. It knows how big it is. So, that answers that sort of first question I was talking about. It doesn't tell us how babies do it, however.
برای اینکه این نوع محاسبات درست کار بکند نیاز به یک نقطه شروع دارد. یک ورودی اولیه یا هسته اولیه که مثلا ممکن است از این اریگامی های DNA استفاده کنیم. شما می تونید مثلا عدد ۳۲ را در طرف راست یک اریگامی کد کنید و وقتی اون کاشی هایی که شمارش انجام میدهند را وصل می کنید، اینها یکی یکی شمارش می کنند تا به ۳۲ برسند، و روی ۳۲ متوقف می شوند. یعنی ما توانسته ایم راهی پیدا کنیم که به یک برنامه ملکولی نشان بدهیم که چه موقع باید متوقف شود. این برنامه می تواند بفهمد که چه موقع باید متوقف بشود چون قادر به شمارش است. یعنی می داند که چقدر رشد کرده است. این یک قسمت از سوالی را که من در ابتدا پرسیدم جواب می دهد. ولی ما هنوز نمی دانیم که یک نوزاد چطور این کار را انجام می دهد.
So now, we can use this counting to try and get at much bigger things than DNA origami could otherwise. Here's the DNA origami, and what we can do is we can write 32 on both edges of the DNA origami, and we can now use our watering can and water with tiles, and we can start growing tiles off of that and create a square. The counter serves as a template to fill in a square in the middle of this thing. So, what we've done is we've succeeded in making something much bigger than a DNA origami by combining DNA origami with tiles. And the neat thing about it is, is that it's also reprogrammable. You can just change a couple of the DNA strands in this binary representation and you'll get 96 rather than 32. And if you do that, the origami's the same size, but the resulting square that you get is three times bigger.
حالا ما می توانیم از این شمارش استفاده کنیم و چیزهای بزرگی بسازیم. که با اریگامی به تنهایی ممکن نبود. این یک اریگامی DNA است و کاری که ما می توانیم بکنیم این است که عدد ۳۲ را روی هر دو لبه این اریگامی بنویسیم. و حالا از آبپاش استفاده کنیم و و با کاشی این اریگامی را تغذیه کنیم و آن را رشد بدهیم و یک مربع به وجود بیاوریم شمارنده ها به عنوان یک الگو برای ساخت و پر کردن یک مربع در وسط آن اریگامی استفاده می شوند. کاری که ما کردیم این است که ما موفق شدیم چیزی خیلی بزرگ تر از یک اریگامی DNA را با ادغام اریگامی DNA با کاشی ها بسازیم. و نکته جذاب این است که این دستگاه قابل برنامه ریزی مجدد است. شما می توانید فقط یکی دو تا از رشته های DNA را تغییر بدهید و به جای ۳۲ به ۹۶ برسید. اگر این کار را بکنید سایز اریگامی شما تغییر نمی کند، ولی مربعی که از آن حاصل خواهد شد سه برابر بزرگتر خواهد بود.
So, this sort of recapitulates what I was telling you about development. You have a very sensitive computer program where small changes -- single, tiny, little mutations -- can take something that made one size square and make something very much bigger. Now, this -- using counting to compute and build these kinds of things by this kind of developmental process is something that also has bearing on Craig Venter's question. So, you can ask, how many DNA strands are required to build a square of a given size? If we wanted to make a square of size 10, 100 or 1,000, if we used DNA origami alone, we would require a number of DNA strands that's the square of the size of that square; so we'd need 100, 10,000 or a million DNA strands. That's really not affordable. But if we use a little computation -- we use origami, plus some tiles that count -- then we can get away with using 100, 200 or 300 DNA strands. And so we can exponentially reduce the number of DNA strands we use, if we use counting, if we use a little bit of computation. And so computation is some very powerful way to reduce the number of molecules you need to build something, to reduce the size of the genome that you're building.
این مساله به نوعی نشان دهنده مسائلی که در مورد رشد مطرح کردم است. شما یک برنامه کامپیوتری خیلی حساس دارید که تغییرات کوچکی در آن حتی جهش های منفرد خیلی کوچک یک چیزی که یک مربع با یک سایز مشخص تولید می کرد را تبدیل به یک چیزی که مربع خیلی بزرگتری می سازد می کند. استفاده از شمارش برای محاسبه و ساختن این طور چیزی ها و این طور فرایندهای رشد چیزی است که بر سوال گرگ ونتور هم تاثیر می گذارد. شما می توانید بپرسید چند قطعه DNA لازم است تا یک مربع با سایز مشخص ساخته بشود. اگر ما بخواهیم یک مربع با اندازه ۱۰ یا ۱۰۰ یا ۱۰۰۰ بسازیم اگر فقط از اریگامی DNA استفاده می کردیم مقدار DNA که نیاز داشتیم برابر مجذور اندازه ضلع مربع بود یعنی به ۱۰۰ یا ۱۰۰۰۰ یا ۱۰۰۰۰۰۰ رشته DNA نیاز داشتیم و این مقدار آنقدر زیاد است که در عمل ناممکن است. ولی اگر اندکی محاسبه وارد فرایند بکنیم یعنی اریگامی و کاشی های شمارشگر را با هم استفاده بکنیم می توانیم با ۱۰۰ دویست یا ۳۰۰ رشته DNA کار را انجام بدهیم. یعنی ما می توانیم به این ترتیب به طور نمایی مقدار DNA مورد نیاز را کاهش بدهیم. فقط با شمارش - فقط با اندکی محاسبه. یعنی محاسبه ابزار قدرتمندی است که به ما اجازه می دهد تعداد ملکول مورد نیاز برای ساختن یک چیز را کاهش بدهیم. یا به تعبیری سایز ژنوم را کاهش بدهیم.
And finally, I'm going to get back to that sort of crazy idea about computers building computers. If you look at the square that you build with the origami and some counters growing off it, the pattern that it has is exactly the pattern that you need to make a memory. So if you affix some wires and switches to those tiles -- rather than to the staple strands, you affix them to the tiles -- then they'll self-assemble the somewhat complicated circuits, the demultiplexer circuits, that you need to address this memory. So you can actually make a complicated circuit using a little bit of computation. It's a molecular computer building an electronic computer. Now, you ask me, how far have we gotten down this path? Experimentally, this is what we've done in the last year. Here is a DNA origami rectangle, and here are some tiles growing from it. And you can see how they count. One, two, three, four, five, six, nine, 10, 11, 12, 17. So it's got some errors, but at least it counts up. (Laughter)
در آخر می خواهم به آن ایده دیوانه وار اینکه کامپیوتر ها بتوانند خودشان کامپیوتر های جدید بسازند برگردم. اگر شما به این مربعی که با استفاده از اریگامی و شمارنده هایی که در طرفینش رشد می کنند، ساخته ایم نگاه کنید، می بینید که طرحی که در آن به وجود آمده دقیقا همان طرحی است که شما برای ساخته حافظه نیاز دارید. اگر شما بتوانید به این کاشی ها سیم و کلید وصل بکنید یعنی به جای اینکه به منگنه ها سیم و کلید وصل کنید به کاشی ها وصل کنید شما یک مدار نسبتا پیچیده که خود مرتب کننده هم هست ساخته اید. این در واقع مدار دی مالتی پلکسری است که برای آدرس دهی این حافظه به آن نیاز دارید. یعنی شما یک مدار پیچیده را با اندکی محاسبه ساخته اید. یعنی یک کامپیوتر ملکولی توانسته است یک کامپیوتر الکترونیک بسازد. حالا شما حتما می خواهید بپرسید ما در این راه چقدر پیش رفته ایم. عملا این چیزی است که ما تا حال توانسته ایم در آزمایشگاه در سال گذشته انجام بدهیم. این یک مربع اریگامی DNA است. و اینها هم تعدادی کاشی هستند که از آن رشد کرده اند. و می توانید ببینید که چطور شمارش انجام شده است. یک دو سه چهار شش نه ده یازده دوازده هفده یک کم خطا دارد ولی به هر حال به سمت بالا شماره می کند. (خنده)
So, it turns out we actually had this idea nine years ago, and that's about the time constant for how long it takes to do these kinds of things, so I think we made a lot of progress. We've got ideas about how to fix these errors. And I think in the next five or 10 years, we'll make the kind of squares that I described and maybe even get to some of those self-assembled circuits.
راستش ما از نه سال پیش این ایده ها را داشتیم نه سال ثابت زمانی پیشرفت این طور کارها است. نه سال ثابت زمانی پیشرفت این طور کارها است. من فکر می کنم ما خیلی پیشرفت کرده ایم. ما راه حل هایی برای رفع این مشکلات داریم. و من فکر می کنم که در پنج تا ده سال آینده آن جور مربع هایی که صحبتش را کردیم را به دست میاریم. و شاید بعضی از آن مدارهای خود مرتب کننده هم ساخته شده باشند.
So now, what do I want you to take away from this talk? I want you to remember that to create life's very diverse and complex forms, life uses computation to do that. And the computations that it uses, they're molecular computations, and in order to understand this and get a better handle on it, as Feynman said, you know, we need to build something to understand it. And so we are going to use molecules and refashion this thing, rebuild everything from the bottom up, using DNA in ways that nature never intended, using DNA origami, and DNA origami to seed this algorithmic self-assembly.
چیزی که من می خواهم شما از این صحبت ها برداشت کنید، من دلم می خواهد که شما یادتون باشه که برای ایجاد اشکال متنوع و گوناگون حیات حیات از محاسبه استفاده می کند. این محاسبات محاسبات ملکولی هستند. برای درک بهتر و دسترسی بهتر به اینها همانطور که فاینمن گفته است ما نیاز داریم که چیزی را خودمان بسازیم تا بتوانیم آن را درک کنیم. برای همین ما سعی داریم ملکولها را استفاده کنیم و این چیزها را از اول بسازیم با استفاده از DNA به روشهایی که طبیعت هیچ وقت قصد آن را نداشته است. مثلا استفاده از اریگامی DNA برای ایجاد هسته ای برای این الگوریتم های خود مرتب کننده.
You know, so this is all very cool, but what I'd like you to take from the talk, hopefully from some of those big questions, is that this molecular programming isn't just about making gadgets. It's not just making about -- it's making self-assembled cell phones and circuits. What it's really about is taking computer science and looking at big questions in a new light, asking new versions of those big questions and trying to understand how biology can make such amazing things. Thank you. (Applause)
خوب اینها همه خیلی جالب هستند. ولی من دوست دارم شما بعضی از این سوالات خیلی بزرگ را فراموش نکنید. این برنامه نویسی ملکولی فقط به درد ساختن ابزار و وسایل نمی خورد. فقط به درد ساختن -- فقط به درد ساختن مثلا تلفن همراه هایی که خودشان خودشان را می سازند نمی خورد. فایده اصلی این است که شما می توانید با استفاده از علوم کامپیوتر به سوالات بزرگی که در زیست شناسی مطرح است با دید جدیدی نگاه کنید. و سعی کنید که بفهمید زیست شناسی چطور خیلی از این مساله ها را حل کرده است. متشکرم (تشویق)