Комп’ютер з ДНК

Комп'ютер з ДНК

Існує думка, що ДНК може врятувати нас від комп’ютерів. Завдяки досягненням в області заміни кремнієвих транзисторів, комп’ютери на основі ДНК зможуть надавати нам масивні паралельні обчислювальні архітектури, які ще неможливі в даний час. Але ось, в чому заковика: молекулярні мікросхеми, які створювалися до сьогоднішнього дня, не мали абсолютно ніякої гнучкості. Сьогодні використовувати ДНК для обчислень – це те саме, що «створити новий комп’ютер з нового обладнання для запуску однієї лише програми», – говорить вчений Девід Доті.

Доті (професор Каліфорнійського університету в Девісі) і його колеги вирішили дізнатися, що потрібно для створення ДНК-комп’ютера, який насправді можна буде перепрограмувати.

У статті, опублікованій на цьому тижні в журналі Nature, Доті і його колеги з Каліфорнійського університету і Університету в Мейнуті (Ірландія) продемонстрували, що можна використовувати простий тригер, щоб змусити один і той же самий базовий набір молекул ДНК реалізовувати безліч різних алгоритмів. Хоча це вивчення все ще носить дослідницький характер, в майбутньому можливим буде використання молекулярних алгоритмів для перепрограмування ДНК-роботів, які вже успішно доставляють ліки в ракові клітини.

«Це одна з найважливіших робіт в цій області, – говорить Торстен-Ларс Шмідт, доцент кафедри експериментальної біофізики в Кентському державному університеті, який не брав участі в дослідженні. – Раніше вже була алгоритмічна самостійна збірка, але не до такої міри складності».

В електронних комп’ютерах на кшталт того, що ви використовуєте для читання цієї статті, біти – це виконавчі одиниці інформації, які повідомляють комп’ютеру, що робити. Вони представляють дискретний фізичний стан, що лежить в основі обладнання зазвичай у вигляді наявності чи відсутності електричного струму. Ці біти – або навіть електричні сигнали, що реалізують їх – передаються через схеми, що складаються з логічних елементів, які виконують операцію з одним або кількома вхідними бітами і видають один біт в якості виходу.

Комбінуючи ці прості будівельні блоки знову і знову, комп’ютери можуть запускати дивно складні програми. Ідея, що лежить в основі ДНК-обчислень, полягає в тому, щоб замінити електричні сигнали хімічними зв’язками і кремній – нуклеїновими кислотами, і створити біомолекулярне програмне забезпечення. На думку Еріка Вінфрі, комп’ютерного вченого із Калтеха і співавтора роботи, молекулярні алгоритми використовують природну здатність обробки інформації, вшиту в ДНК, але замість того, щоб віддавати управління природі, «процесом зростання керують комп’ютери».

За останні 20 років в декількох експериментах використовувалися молекулярні алгоритми для таких речей, як гра в хрестики-нулики або збірка різних фігур. У кожному з цих випадків послідовності ДНК повинні були бути ретельно спроектовані, щоб створити один конкретний алгоритм, який генерував би структуру ДНК. Тобто дослідники розробили систему, в якій одні й ті ж базові фрагменти ДНК можуть бути впорядковані для створення абсолютно різних алгоритмів і, отже, зовсім різних кінцевих продуктів.

Цей процес починається з ДНК-орігамі – методу складання довгої ділянки ДНК в бажану форму. Тобто згорнутий шматок ДНК служить «сідом» (seed – насіння), яке запускає алгоритмічний конвеєр, подібно до того, як на ниточці, яку опустили в солодку воду, поступово виростає карамель. Насіння здебільшого залишається тим же, незалежно від алгоритму, і зміни для кожного нового експерименту вносяться тільки в кілька невеликих послідовностей.

Після того, як вчені створили насіння, вони додали його в розчин зі 100 інших ланцюжків ДНК, фрагментів ДНК. Ці фрагменти, кожен з яких складається з унікального розташування 42 нуклеїнових основ (чотирьох основних біологічних сполук, з яких складається ДНК), взяті з великої колекції з 355 фрагментів ДНК, створених вченими. Щоб створити інший алгоритм, вчені повинні вибрати інший набір стартових фрагментів. Молекулярний алгоритм, що включає випадкове блукання, вимагає різних наборів фрагментів ДНК, які алгоритм використовує для підрахунку. Оскільки ці фрагменти ДНК з’єднуються в процесі складання, вони утворюють схему, яка реалізує обраний молекулярний алгоритм на вхідних бітах, наданих сідом.

Використовуючи цю систему, вчені створили 21 різний алгоритм, який може виконувати такі завдання, як розпізнавання кратних трьом, вибір лідера, генерація патернів і лічба до 63. Всі ці алгоритми були реалізовані з використанням різних комбінацій з одних і тих же 355 фрагментів ДНК.

Звичайно ж, написати код шляхом скидання фрагментів ДНК в пробірку не виходить, проте весь цей задум є моделлю майбутніх ітерацій гнучких комп’ютерів на базі ДНК. Якщо Доті, Вінфрі і Вудс доб’ються свого, молекулярні програмісти завтрашнього дня навіть і думати не будуть про біомеханіку, що лежить в основі таких програм, так само як сучасним програмістам не обов’язково розуміти фізику транзисторів, щоб писати хороше ПЗ.

Потенційні варіанти використання цих наномасштабних технік збірки вражають уяву, але і ці прогнози засновані на нашому відносно обмеженому розумінні наномасштабного світу. Алан Тьюринг не зміг передбачити появу Інтернету, тому, можливо, і нас чекають незбагненні застосування молекулярної інформатики.