Хабрахабр

Первый программируемый компьютер на ДНК


Экспериментальный протокол и реализация алгоритма сортировки на программируемом ДНК-компьютере

Например, учёные из Вашингтонского университета и Microsoft недавно построили «первый в мире DNA-винчестер» (фото). Учёные давно ведут эксперименты с хранением информации в ДНК и с обработкой этой информации. Весьма значительное достижение, если учесть, что в ДНК можно записывать информацию с плотностью 2,2 петабайта на грамм. Эта конструкция способна впервые обеспечить запись и считывание информации в ДНК-хранилище без участия человека. ДНК — компактный контейнер с плотностью записи в тысячи раз больше, чем у существующих носителей.

Если сравнить с кремниевой техникой, то каждая группа исследователей с нуля разрабатывает новую архитектуру компьютера, для которого нужно писать новый софт. Однако у всех существующих ДНК-систем есть проблема: всё это уникальные проприетарные разработки, у которых напрочь отсутствует какая бы ни было гибкость. Авторы показали, что с помощью простого триггера один и тот же базовый набор молекул ДНК способен реализовать множество различных алгоритмов. Но ситуация может измениться благодаря первому программируемому ДНК-компьютеру, разработанному в Калифорнийском университете в Дейвисе (UC Davis), Калифорнийского технологического института и Университета Мейнут.
Первый программируемый компьютер на ДНК описан в научной статье, которая опубликована 20 марта 2019 года в журнале Nature. Хотя исследование представляет собой чисто лабораторный эксперимент, но программируемые молекулярные алгоритмы в будущем могут быть использованы, например, для программирования ДНК-роботов, которые уже успешно доставляют лекарства в раковые клетки.

«Это одна из знаковых работ в данной области, — говорит Торстен-Ларс Шмидт, доцент по экспериментальной биофизике в Университете штата Кент, который не участвовал в исследованиях. — Раньше уже демонстрировали алгоритмическую самосборку, но не до такой степени сложности».

Они представляют собой дискретное физическое состояние базового оборудования, например, наличие или отсутствие электрического тока. В электронных компьютерах биты — это двоичные единицы информации. Эти биты, или, скорее, электрические сигналы пропускаются через схемы, состоящие из логических элементов, которые выполняют операцию на одном или нескольких входных битах и производят один бит в качестве выхода.

Идея ДНК-вычислений заключается в замене электрических сигналов химическими связями, а кремния — нуклеиновыми кислотами для создания биомолекулярного программного обеспечения. Объединяя эти простые строительные блоки снова и снова, компьютеры могут запускать удивительно сложные программы.


Абстрактная иерархия архитектуры и практической реализации полной 6-битной логической схемы IBC (Iterated Boolean Circuit)

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

В каждом случае требовалась тщательная разработка последовательности ДНК, чтобы выполнить один конкретный алгоритм, который будет генерировать структуру ДНК. За последние 20 лет было проведено несколько успешных экспериментов с молекулярными алгоритмами, например, для игры в крестики-нолики или сборки молекул различной формы. В данном случае отличие состоит в том, что исследователи разработали систему, в которой одни и те же базовые фрагменты ДНК могут быть упорядочены для создания совершенно разных алгоритмов — и, следовательно, получения совершенно разного результата.

Этот сложенный кусочек работает как seed, который запускает алгоритмическую сборочную линию. Процесс начинается с техники ДНК-оригами, то есть складывания длинной цепочки ДНК в желаемую форму. Для каждого эксперимента в него вносят лишь небольшие изменения в несколько последовательностей. Seed остаётся практически неизменным, независимо от алгоритма.


Перепрограммирование логической схемы

Учёные разработали 355 таких плиток. После создания «семени» оно добавляется в раствор с сотней других нитей ДНК, известных как ДНК-плитки (DNA tiles). Соответственно, для каждого алгоритма исследователи просто выбирают другой набор стартовых плиток. У каждой уникальное расположение азотистых оснований. Поскольку эти фрагменты ДНК соединяются в процессе сборки, они образуют схему, которая реализует выбранный молекулярный алгоритм на входных битах, предоставляемых «семенем».

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

Конечно, непросто писать код, сбрасывая в пробирку фрагменты ДНК, но если автоматизировать процесс, то будущим молекулярным программистам даже не придётся задумываться о биомеханике, как сегодняшним программистам необязательно понимать физику транзисторов, чтобы писать хорошие программы.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть