توضیح تصویر: نمایش هنرمندمندانه از یک سیستم محاسباتی DNA.
اعتبار: Caltech
گویی طراحی کامپیوتری با کلاس معجون ها همراه است: کمی از شیشه داروی 1 و کمی از شیشه داروی 2، محاسبات شش بیتی کد گذاری شده در DNA را به دست میدهد.
اعتبار: Caltech
گویی طراحی کامپیوتری با کلاس معجون ها همراه است: کمی از شیشه داروی 1 و کمی از شیشه داروی 2، محاسبات شش بیتی کد گذاری شده در DNA را به دست میدهد.
گزارش کامل
دانشمندان کامپیوتر در کالتک مولکولهای DNAی را طراحی کرده اند که می توانند محاسبات قابل برنامه ریزی مجدد را انجام دهند، در حالی که برای اولین بار به ایجاد به اصطلاح الگوریتم خود مونتاژی پرداختهاند که در آن همان "سخت افزار" را می توان برای اجرای "نرم افزار" متفاوتی تنظیم کرد.
در یک مقاله منتشر شده در مجله نِیچر، تیمی تحت رهبری اریک وینفری (PhD '98)، استاد علوم کامپیوتر، محاسبات و سیستم های عصبی و مهندسی زیست شناسی، نشان داد که چگونه محاسبات DNA می توانند الگوریتم هایی شش بیتی را اجرا کنند که به انجام کارهای ساده می پردازند. سیستم مشابه یک کامپیوتر است، اما به جای استفاده از ترانزیستورها و دیودها، از مولکولها برای نشان دادن یک شماره باینری شش بیتی (به عنوان مثال 011001) به عنوان ورودی، در هنگام محاسبه و به عنوان خروجی استفاده می کند. یک چنین الگوریتمی تعیین می کند که آیا تعداد 1 بیتها در ورودی فرد یا زوج است (مثال فوق فرد است، زیرا دارای سه ا بیت است)؛ در حالی که دیگری تعیین میکند که آیا ورودی یک پالیندوم (از دو سر یکسان) است یا نه؛ و علاوه بر این دیگری عددهای تصادفی تولید می کند. توانایی اجرای هر گونه برنامه نرم افزاری بدون نیاز به تغییر سخت افزار چیزی است که به کامپیوترها اجازه می دهد تا بسیار مفید باشند. ما این ایده را، اساساً با تعبیهی الگوریتمی در درون شیمی برای کنترل پروسه های شیمیایی، در مولکول ها اجرا میکنیم
دیمین وودز، استاد علوم رایانه در دانشگاه Maynooth در نزدیکی دوبلین ایرلند و یکی از دو نویسنده اصلی این مطالعه می گوید: "آنها را به عنوان برنامه های نانو در نظر بگیرید." "توانایی اجرای هر گونه برنامه نرم افزاری بدون نیاز به تغییر سخت افزار چیزی است که به کامپیوترها اجازه می دهد تا بسیار مفید باشند. ما این ایده را، اساساً با تعبیهی الگوریتمی در درون شیمی برای کنترل پروسه های شیمیایی، در مولکول ها اجرا میکنیم."
این سیستم با استفاده از خود مونتاژی کار میکند: رشته های DNA کوچک و مخصوص طراحی شده برای ایجاد یک مدار منطقی در حالی که همزمان الگوریتم مدار را اجرا می کنند، با هم کار می کنند. با شروع از شش بیت اصلی که ورودی را نشان می دهد، سیستم ردیف به ردیف مولکول ها را اضافه میکند – و به طور پیش برنده ای الگوریم را به طور مداوم اجرا می کند. رایانه های الکترونیکی دیجیتال مدرن از جریان الکتریسیته از درون مدار برای دستکاری اطلاعات استفاده می کنند؛ اما در اینجا ردیفهای رشتههای DNA که به هم می چسبند، محاسبات را انجام میدهند. نتیجه نهایی یک لوله آزمایشی است که با میلیاردها الگوریتم تکمیل شده پر شده است، هر کدام یک شال بافتنی از DNA را تشکیل می دهد که نشانگر یک بازخوانی از محاسبات است. الگوی روی هر "شال" راه حل الگوریتمی است که شما در حال اجرای آن بودید. سیستم را می توان دوباره برنامه ریزی کرد تا یک الگوریتم متفاوت را به سادگی با انتخاب یک زیرمجموعه متفاوت از رشته ها از حدود 700 تایی که سیستم را تشکیل می دهند اجرا کند.
دیوید دوتی، یکی از نویسندگان اصلی و استادیار علوم رایانه در دانشگاه کالیفرنیا، دیویس، می گوید: "ما از قابلیت های چندگانه برنامه های طراحی شده شگفت زده شدیم، گرچه تنها محدود به ورودی های شش بیتی بودیم." "هنگامی که ما آزمایشات را آغاز کردیم، تنها سه برنامه را طراحی کردیم. اما هنگامی که ما شروع به استفاده از این سیستم کردیم، متوجه شدیم که برنامه های بالقوه آن چقدر زیاد است. این همان هیجانی بود که ما اولین بار از یک رایانه که برنامه ریزی کرده بودیم احساس کردیم، و ما شدیدا کنجکاو شدیم در مورد کارهایی که این رشته ها می توانستند انجام دهند. در نهایت ما 21 مدار را طراحی و اجرا کردیم." رایانه های الکترونیکی دیجیتال مدرن از جریان الکتریسیته از درون مدار برای دستکاری اطلاعات استفاده می کنند؛ اما در اینجا ردیفهای رشتههای DNA که به هم می چسبند، محاسبات را انجام میدهند
محققان توانستند الگوریتم های مولکولی شش بیتی را برای مجموعه ای از وظایف مختلف آزمایش کنند. در ریاضیات، مدارهای آنها ورودی ها را تست کرد تا ارزیابی کند آیا آنها مضرب های سه هستند یا نه، آزمون های برابری را انجام داد، و تا 63 شمرد. مدارهای دیگر "تصاویر"ی را بر روی "شال"های DNA رسم کرد، مانند یک زیگزاگ، یک مارپیچ دوطرفه و الماس های دارای فاصله های فضایی نا منظم. همچنین رفتارهای احتمالاتی نشان داده شد، از جمله پیاده روی های تصادفی، و همچنین یک الگوریتم هوشمندانه (که ابتدا توسط John von Neumann پیشگام کامپیوتری طراحی شده بود) برای به دست آوردن انتخاب تصادفی 50/50 منصفانه از یک سکه مورب.
در هنگام شروع این تحقیق، هر دو وودز و داتی کامپیوتردانان نظری بودند، بنابراین لازم بود مجموعه جدیدی از مهارت های «آزمایشگاهِ تر» را که معمولا در چرخ دستی مهندسان بیوفیزیک و متخصصان بیوفیزیک بیشتر است، یاد بگیرند. وینفری می گوید: "وقتی مهندسی نیاز به رشته های مختلف دارد، عدم اطلاع از آنها مانع مهمی برای ورود است." "مهندسی کامپیوتر بر این مانع از طریق طراحی ماشین آلات قابل برنامه ریزی مجدد در یک سطح بالا فائق آمد - بنابراین برنامه نویسان امروز نیازی به دانستن فیزیک ترانزیستور ندارند. هدف ما در این کار نشان دادن این بود که سیستم های مولکولی نیز می توانند در یک سطح بالا برنامه ریزی شوند، به طوری که در آینده، برنامه ریزان مولکول فردا می توانند خلاقیت خود را بدون نیاز به استاد شدن در رشته های مختلف، بروز دهند. "
وودز می گوید: "بر خلاف آزمایش های قبلی در مورد مولکول هایی که به طور خاص برای انجام یک محاسبه طراحی شده بودند، برنامه ریزی مجدد سیستم ما برای حل این مشکلات مختلف به همان اندازه ساده است که لوله های متفاوت تست را انتخاب و مواد آنها را مخلوط کنیم." "ما در حال برنامه نویسی بر روی نیمکت آزمایشگاه بودیم." سیستم های مولکولی نیز می توانند در یک سطح بالا برنامه ریزی شوند، به طوری که در آینده، برنامه ریزان مولکول فردا می توانند خلاقیت خود را بدون نیاز به استاد شدن در رشته های مختلف، بروز دهند.
اگر چه کامپیوترهای DNA قادر به انجام محاسبات پیچیده تر از آنچه در مقاله نیچر آمده هستند، Winfree هشدار می دهد که نباید انتظار داشته باشید که آنها شروع به جایگزینی رایانه های میکرو تراشه های سیلیکونی استاندارد کنند. این نکتهی این تحقیق نیست. او می گوید "این ها محاسبات ابتدایی هستند، اما آنها توان ارائه آموزش بیشتری به ما دارند در مورد اینکه چگونه فرآیندهای مولکولی ساده مانند خود مونتاژی می توانند اطلاعات را کد گذاری کنند و الگوریتم ها را اجرا کنند. بیولوژی اثبات می کند که شیمی ذاتا مبتنی بر اطلاعات است و می تواند اطلاعاتی را ذخیره کند که بتواند رفتار الگوریتمی را در سطح مولکولی هدایت کند."
بر گرفته از سایت ساینس دِیلی
در یک مقاله منتشر شده در مجله نِیچر، تیمی تحت رهبری اریک وینفری (PhD '98)، استاد علوم کامپیوتر، محاسبات و سیستم های عصبی و مهندسی زیست شناسی، نشان داد که چگونه محاسبات DNA می توانند الگوریتم هایی شش بیتی را اجرا کنند که به انجام کارهای ساده می پردازند. سیستم مشابه یک کامپیوتر است، اما به جای استفاده از ترانزیستورها و دیودها، از مولکولها برای نشان دادن یک شماره باینری شش بیتی (به عنوان مثال 011001) به عنوان ورودی، در هنگام محاسبه و به عنوان خروجی استفاده می کند. یک چنین الگوریتمی تعیین می کند که آیا تعداد 1 بیتها در ورودی فرد یا زوج است (مثال فوق فرد است، زیرا دارای سه ا بیت است)؛ در حالی که دیگری تعیین میکند که آیا ورودی یک پالیندوم (از دو سر یکسان) است یا نه؛ و علاوه بر این دیگری عددهای تصادفی تولید می کند. توانایی اجرای هر گونه برنامه نرم افزاری بدون نیاز به تغییر سخت افزار چیزی است که به کامپیوترها اجازه می دهد تا بسیار مفید باشند. ما این ایده را، اساساً با تعبیهی الگوریتمی در درون شیمی برای کنترل پروسه های شیمیایی، در مولکول ها اجرا میکنیم
دیمین وودز، استاد علوم رایانه در دانشگاه Maynooth در نزدیکی دوبلین ایرلند و یکی از دو نویسنده اصلی این مطالعه می گوید: "آنها را به عنوان برنامه های نانو در نظر بگیرید." "توانایی اجرای هر گونه برنامه نرم افزاری بدون نیاز به تغییر سخت افزار چیزی است که به کامپیوترها اجازه می دهد تا بسیار مفید باشند. ما این ایده را، اساساً با تعبیهی الگوریتمی در درون شیمی برای کنترل پروسه های شیمیایی، در مولکول ها اجرا میکنیم."
این سیستم با استفاده از خود مونتاژی کار میکند: رشته های DNA کوچک و مخصوص طراحی شده برای ایجاد یک مدار منطقی در حالی که همزمان الگوریتم مدار را اجرا می کنند، با هم کار می کنند. با شروع از شش بیت اصلی که ورودی را نشان می دهد، سیستم ردیف به ردیف مولکول ها را اضافه میکند – و به طور پیش برنده ای الگوریم را به طور مداوم اجرا می کند. رایانه های الکترونیکی دیجیتال مدرن از جریان الکتریسیته از درون مدار برای دستکاری اطلاعات استفاده می کنند؛ اما در اینجا ردیفهای رشتههای DNA که به هم می چسبند، محاسبات را انجام میدهند. نتیجه نهایی یک لوله آزمایشی است که با میلیاردها الگوریتم تکمیل شده پر شده است، هر کدام یک شال بافتنی از DNA را تشکیل می دهد که نشانگر یک بازخوانی از محاسبات است. الگوی روی هر "شال" راه حل الگوریتمی است که شما در حال اجرای آن بودید. سیستم را می توان دوباره برنامه ریزی کرد تا یک الگوریتم متفاوت را به سادگی با انتخاب یک زیرمجموعه متفاوت از رشته ها از حدود 700 تایی که سیستم را تشکیل می دهند اجرا کند.
دیوید دوتی، یکی از نویسندگان اصلی و استادیار علوم رایانه در دانشگاه کالیفرنیا، دیویس، می گوید: "ما از قابلیت های چندگانه برنامه های طراحی شده شگفت زده شدیم، گرچه تنها محدود به ورودی های شش بیتی بودیم." "هنگامی که ما آزمایشات را آغاز کردیم، تنها سه برنامه را طراحی کردیم. اما هنگامی که ما شروع به استفاده از این سیستم کردیم، متوجه شدیم که برنامه های بالقوه آن چقدر زیاد است. این همان هیجانی بود که ما اولین بار از یک رایانه که برنامه ریزی کرده بودیم احساس کردیم، و ما شدیدا کنجکاو شدیم در مورد کارهایی که این رشته ها می توانستند انجام دهند. در نهایت ما 21 مدار را طراحی و اجرا کردیم." رایانه های الکترونیکی دیجیتال مدرن از جریان الکتریسیته از درون مدار برای دستکاری اطلاعات استفاده می کنند؛ اما در اینجا ردیفهای رشتههای DNA که به هم می چسبند، محاسبات را انجام میدهند
محققان توانستند الگوریتم های مولکولی شش بیتی را برای مجموعه ای از وظایف مختلف آزمایش کنند. در ریاضیات، مدارهای آنها ورودی ها را تست کرد تا ارزیابی کند آیا آنها مضرب های سه هستند یا نه، آزمون های برابری را انجام داد، و تا 63 شمرد. مدارهای دیگر "تصاویر"ی را بر روی "شال"های DNA رسم کرد، مانند یک زیگزاگ، یک مارپیچ دوطرفه و الماس های دارای فاصله های فضایی نا منظم. همچنین رفتارهای احتمالاتی نشان داده شد، از جمله پیاده روی های تصادفی، و همچنین یک الگوریتم هوشمندانه (که ابتدا توسط John von Neumann پیشگام کامپیوتری طراحی شده بود) برای به دست آوردن انتخاب تصادفی 50/50 منصفانه از یک سکه مورب.
در هنگام شروع این تحقیق، هر دو وودز و داتی کامپیوتردانان نظری بودند، بنابراین لازم بود مجموعه جدیدی از مهارت های «آزمایشگاهِ تر» را که معمولا در چرخ دستی مهندسان بیوفیزیک و متخصصان بیوفیزیک بیشتر است، یاد بگیرند. وینفری می گوید: "وقتی مهندسی نیاز به رشته های مختلف دارد، عدم اطلاع از آنها مانع مهمی برای ورود است." "مهندسی کامپیوتر بر این مانع از طریق طراحی ماشین آلات قابل برنامه ریزی مجدد در یک سطح بالا فائق آمد - بنابراین برنامه نویسان امروز نیازی به دانستن فیزیک ترانزیستور ندارند. هدف ما در این کار نشان دادن این بود که سیستم های مولکولی نیز می توانند در یک سطح بالا برنامه ریزی شوند، به طوری که در آینده، برنامه ریزان مولکول فردا می توانند خلاقیت خود را بدون نیاز به استاد شدن در رشته های مختلف، بروز دهند. "
وودز می گوید: "بر خلاف آزمایش های قبلی در مورد مولکول هایی که به طور خاص برای انجام یک محاسبه طراحی شده بودند، برنامه ریزی مجدد سیستم ما برای حل این مشکلات مختلف به همان اندازه ساده است که لوله های متفاوت تست را انتخاب و مواد آنها را مخلوط کنیم." "ما در حال برنامه نویسی بر روی نیمکت آزمایشگاه بودیم." سیستم های مولکولی نیز می توانند در یک سطح بالا برنامه ریزی شوند، به طوری که در آینده، برنامه ریزان مولکول فردا می توانند خلاقیت خود را بدون نیاز به استاد شدن در رشته های مختلف، بروز دهند.
اگر چه کامپیوترهای DNA قادر به انجام محاسبات پیچیده تر از آنچه در مقاله نیچر آمده هستند، Winfree هشدار می دهد که نباید انتظار داشته باشید که آنها شروع به جایگزینی رایانه های میکرو تراشه های سیلیکونی استاندارد کنند. این نکتهی این تحقیق نیست. او می گوید "این ها محاسبات ابتدایی هستند، اما آنها توان ارائه آموزش بیشتری به ما دارند در مورد اینکه چگونه فرآیندهای مولکولی ساده مانند خود مونتاژی می توانند اطلاعات را کد گذاری کنند و الگوریتم ها را اجرا کنند. بیولوژی اثبات می کند که شیمی ذاتا مبتنی بر اطلاعات است و می تواند اطلاعاتی را ذخیره کند که بتواند رفتار الگوریتمی را در سطح مولکولی هدایت کند."
بر گرفته از سایت ساینس دِیلی
مترجم: علی رضایی میر قائد