Тема вычислений, реализуемых при помощи молекул ДНК, уже неоднократно освещалась на страницах нашего сайта, специализированные ДНК-компьютеры могут быть способны обеспечить такой уровень параллелизма вычислительных процессов, который является недостижимым для современных кремниевых технологий.
Однако, все созданные на сегодняшний день молекулярные ДНК-схемы являются своего рода воплощением аппаратных средств и программного кода, необходимых для решения какой-либо одной вычислительной задачи, другими словами, такие схемы не обладают гибкостью, их нельзя перепрограммировать и нельзя отнести к классу универсальных решений.
Однако, группа исследователей из Калифорнийского университета в Дэвисе нашла решение, позволяющее создать ДНК-компьютер, который можно перепрограммировать для выполнения различных задач. Этим решением стал механизм использования одних и тех же коротких цепочек ДНК (базовых последовательностей) для выполнения различных программных алгоритмов.
Отметим, что данная работа производилась пока чисто в исследовательских целях, но в будущем подобные принципы могут быть использованы для программирования ДНК-нанороботов, которые могут заниматься изготовлением других наномеханизмов, доставлять лекарственные препараты непосредственно к месту назначения и выполнять ряд других полезных для человека функций.
Идея использования ДНК для вычислений заключается в замене электрических сигналов химическими связями и замене кремниевых логических элементов цепочками молекул нуклеиновых кислот. И если к этому прибавить возможность перестройки молекул «на лету», то гибкость вычислительной системы на базе ДНК во много раз превзойдет гибкость традиционных вычислительных систем, логическая схема которых не может быть изменена во время работы.
Создание ДНК-компьютера начинается с процесса, известного под названием ДНК-оригами, который позволяет свернуть длинную цепочку и придать этому «свертку» желаемую форму. Этот сверток ДНК используется в качестве основы, которая погружается в раствор, в котором находятся 100 разновидностей коротких цепочек ДНК.
Каждая из этих цепочек содержит уникальную последовательность из 42 пар оснований ДНК, а используемые 100 разновидностей были тщательно отобраны из более обширного набора, содержащего 355 типов.
Эти короткие цепочки, при помощи метода самосборки, соединяются в определенном порядке с основанием, пакетом свернутой ДНК, и формируют ядро ДНК-компьютера, способного к расчетам нескольких разновидностей специализированных молекулярных алгоритмов.
В своей работе исследователям, используя различные наборы из 355 цепочек ДНК, удалось реализовать расчеты алгоритмов различной степени сложности, от решения простейших математических уравнений, до поиска решений достаточно сложных логических задач.
Процесс «написания» программ для ДНК-компьютера, который сводится к перемешиванию в пробирке разных цепочек ДНК в определенных пропорциях, очень далек от традиционного печатания на компьютере исходного кода программы.
Тем не менее, «молекулярным программистам» будущего не будет требоваться глубокого понимания биохимических процессов, которыми они оперируют, точно так же, как и обычным нынешним программистам совсем не обязательно вникать в тонкости работы транзисторов, на базе которых созданы все современные процессоры.
«Владея техникой расчетов любых молекулярных алгоритмов, мы в будущем сможем собрать объект любой сложности на наноразмерном уровне, она, эта техника, сможет стать основой работы целых молекулярных фабрик» — пишут исследователи.
Столь узкая область будущих применений технологий молекулярного программирования является, без сомнений, следствием нашего ограниченного понимания потенциала наноразмерного «мира», и, по мере расширения этого понимания начнут открываться новые, непостижимые сейчас для нашего разума применения молекулярной информатики.
Источник