Молекулу ДНК заставили делить и умножать
Команда ученых из Калтеха, возглавляемая Эриком Винфри, опубликовала статью о результатах исследования в журнале Nature 21 марта 2019 года. Они смогли разработать самосборные молекулярные системы, выполняющие вычисления путем присоединения новых цепочек ДНК к существующим. Ввод данных производится путем создания первичной молекулы с заданными свойствами, операции совершаются над 6-разрядными двоичными числами.
Результатом работы «компьютера» становится специальная трубка, заполненная такими «выполненными алгоритмами» — длинными цепочками ДНК. Они похожи на вязаный шарф, узор которого и является финальной калькуляцией, которую можно легко интерпретировать. Запрограммировать молекулярную вычислительную машину можно, выбирая одну или несколько начальных нитей ДНК из 700 специально подготовленных.
Исследователи планировали создать систему, выполняющую три простых алгоритма, но, получив первые результаты, обнаружили гораздо больший потенциал. В статью вошло описание 21 «программы». Среди опробованных вычислений были математические — проверка равенства, последовательный счет и даже проверка признаков деления на 3. Другая группа алгоритмов рисовала по заданным параметрам на выходных «вязаных шарфах» целые узоры из зигзагов, спиралей и ромбов.
ДНК-программирование — перспективная область исследований и разработок. Теоретически, вычисления можно производить на любых системах, имеющих ограниченное количество известных состояний. В 1994 году в Южно-калифорнийском университете был продемонстрирован первый прообраз ДНК-компьютера: специально подготовленные молекулы «решали» известную комбинаторную «задачу о коммивояжере» (вычисление кратчайшего маршрута обхода вершин графа). Работы в области ДНК-программирования не имеют цели разработать замену классическим чипам — они всегда будут медленнее и сложнее, но эти исследования позволяют лучше понять механизмы работы ДНК и молекулярных взаимодействий в живой клетке.