Есть мнение, что ДНК спасет нас от компьютеров. Благодаря достижениям в области замены кремниевых транзисторов, компьютеры на основе ДНК обещают предоставить нам массивные параллельные вычислительные архитектуры, невозможные в настоящее время. Но вот, в чем загвоздка: молекулярные микросхемы, которые создавались до сегодняшнего дня, не обладали совершенно никакой гибкостью. Сегодня использовать ДНК для вычислений — это то же самое, что «создать новый компьютер из нового оборудования для запуска одной только программы», говорит ученый Дэвид Доти.
Доти, профессор Калифорнийского университета в Дэвисе, и его коллеги, решили узнать, что потребуется для создания ДНК-компьютера, который на самом деле можно будет перепрограммировать.
Компьютер из ДНК
В статье, опубликованной на этой неделе в журнале Nature, Доти и его коллеги из Калифорнийского университета и Университета Мэйнут продемонстрировали именно это. Они показали, что можно использовать простой триггер, чтобы заставить один и тот же базовый набор молекул ДНК реализовывать множество различных алгоритмов. Хотя это исследование все еще носит исследовательский характер, в будущем могут быть использованы перепрограммируемые молекулярные алгоритмы для программирования ДНК-роботов, которые уже успешно доставили лекарства в раковые клетки.
«Это одна из важнейших работ в области», говорит Торстен-Ларс Шмидт, доцент кафедры экспериментальной биофизики в Кентском государственном университете, не принимавший участия в исследовании. «Ранее была алгоритмическая самостоятельная сборка, но не до такой степени сложности».
В электронных компьютерах вроде того, что вы используете для чтения этой статьи, биты — это двоичные единицы информации, которые сообщают компьютеру, что делать. Они представляют дискретное физическое состояние лежащего в основе оборудования, обычно в виде наличия или отсутствия электрического тока. Эти биты — или даже электрические сигналы, реализующие их — передаются через схемы, состоящие из логических элементов, которые выполняют операцию с одним или несколькими входными битами и выдают один бит в качестве выхода.
Комбинируя эти простые строительные блоки снова и снова, компьютеры могут запускать удивительно сложные программы. Идея, лежащая в основе ДНК-вычислений, состоит в том, чтобы заменить химическими связями электрические сигналы и нуклеиновыми кислотами — кремний, и создать биомолекулярное программное обеспечение. По мнению Эрика Винфри, компьютерного ученого из Калтеха и соавтора работы, молекулярные алгоритмы используют естественную способность обработки информации, вшитую в ДНК, но вместо того, чтобы отдавать управление природе, «процессом роста управляют компьютеры».
За последние 20 лет в нескольких экспериментах использовались молекулярные алгоритмы для таких вещей, как игра в крестики-нолики или сборка различных фигур. В каждом из этих случаев последовательности ДНК должны были быть тщательно спроектированы, чтобы создать один конкретный алгоритм, который генерировал бы структуру ДНК. Что отличается в этом случае, так это то, что исследователи разработали систему, в которой одни и те же базовые фрагменты ДНК могут быть упорядочены для создания совершенно разных алгоритмов и, значит, совершено разных конечных продуктов.
Этот процесс начинается с ДНК-оригами, метода складывания длинного участка ДНК в желаемую форму. Этот свернутый кусок ДНК служит «сидом» (семя, seed), которое запускает алгоритмический конвейер, подобно тому, как на ниточке, опущенной в подсахаренную воду, постепенно вырастает карамель. Семя остается по большей части тем же, независимо от алгоритма, и изменения вносятся только в несколько небольших последовательностей для каждого нового эксперимента.
После того, как ученые создали семя, они добавили его в раствор из 100 других цепочек ДНК, фрагментов ДНК. Эти фрагменты, каждая из которых состоит из уникального расположения 42 нуклеиновых оснований (четырех основных биологических соединений, из которых состоит ДНК), взяты из большой коллекции из 355 фрагментов ДНК, созданных учеными. Чтобы создать другой алгоритм, ученые должны выбрать другой набор стартовых фрагментов. Молекулярный алгоритм, включающий случайное блуждание, требует различных наборов фрагментов ДНК, которые алгоритм использует для подсчета. Поскольку эти фрагменты ДНК соединяются в процессе сборки, они образуют схему, которая реализует выбранный молекулярный алгоритм на входных битах, предоставленных сидом.
Используя эту систему, ученые создали 21 различный алгоритм, которые могут выполнять такие задачи, как распознавание кратных трем, выбор лидера, генерация паттернов и счет до 63. Все эти алгоритмы были реализованы с использованием различных комбинаций одних и тех же 355 фрагментов ДНК.
Конечно, написать код путем сброса фрагментов ДНК в пробирку пока не получится, однако вся эта затея представляет собой модель будущих итераций гибких компьютеров на базе ДНК. Если Доти, Винфри и Вудс добьются своего, молекулярные программисты завтрашнего дня даже и думать не будут о биомеханике, лежащей в основе их программ точно так же, как современным программистам не обязательно понимать физику транзисторов, чтобы писать хорошее ПО.
Потенциальные варианты использования этой наномасштабной техники сборки поражают воображение, но и эти прогнозы основаны на нашем относительно ограниченном понимании наномасштабного мира. Алан Тьюринг не смог предсказать появление Интернета, поэтому и нас, возможно, ждут непостижимые применения молекулярной информатики. Источник: hi-news.ru.
Рейтинг публикации:
|