Вычисления с использованием ДНК Ростислав Чутков, гр. 244 Александр Петров, гр. 244 План доклада Введение Что такое DNA Computing? Перспективы ДНК-вычислений Элементарные операции с ДНК Эксперименты с ДНК Модели и попытки формализации Текущие результаты 15.10.2006 2 of 52 Что такое DNA Computing? Вычисления на ДНК – это раздел области молекулярных вычислений, на границе молекулярной биологии и компьютерных наук. Основная идея ДНК-вычислений – построение новой парадигмы вычислений, новых моделей, новых алгоритмов на основе знаний о строении и функциях молекулы ДНК и операций, которые выполняются в живых клетках над молекулами ДНК при помощи различных ферментов. 15.10.2006 3 of 52 Перспективы ДНК-вычислений Новая парадигма вычислений: новые алгоритмы возможность исследования процессов массового параллелизма Новые методы синтеза веществ и объектов на молекулярном уровне. Технологические преимущества; возможность создания «биологического нанокомпьютера». 15.10.2006 4 of 52 «Биологический нанокомпьютер» Будет способен хранить терабайты информации при объеме в несколько микрометров3. Возможность внедрения в клетку живого организма. Миллиарды операций в секунду при затратах энергии не более одной миллиардной доли ватта. Низкая стоимость “материалов”, использующихся для создания и обслуживания компьютера. 15.10.2006 5 of 52 План доклада Введение Элементарные операции с ДНК Методы изменения цепи ДНК Полимеразная цепная реакция Способы “считывания” информации Эксперименты с ДНК Модели и попытки формализации Текущие результаты 15.10.2006 6 of 52 Молекула ДНК Молекула ДНК – двойная лента, составленная из четырех оснований: А (аденин), Т (тимин), Г (гуанин), Ц (цитозин). Диаметр двойной спирали ДНК – 2нм Расстояние между соседними парами оснований – 0.34 нм ДНК вирусов содержит ~1000 звеньев ДНК млекопитающих – до 1010 звеньев 15.10.2006 Молекула ДНК под электронным микроскопом 7 of 52 15.10.2006 8 of 52 Ренатурация, денатурация Комплементарность оснований заключается в том, что образование водородных связей при соединении одинарных цепочек ДНК в двойную цепочку возможно только между парами А - Т и Г - Ц. Ренатурация – это соединение двух одинарных цепочек ДНК за счет связывания комплементарных оснований. Денатурация – разъединение двойной цепочки и получение двух одинарных цепочек. 15.10.2006 9 of 52 Дополнение цепочки ДНК Дополнение цепочки ДНК происходит при воздействии на исходную молекулу ферментов – полимераз. Для работы полимеразы необходимо наличие: 1. Одноцепочечной матрицы, которая определяет добавляемую цепочку по принципу комплементарности 2. Праймера (двухцепочечный участок) 3. Свободных нуклеотидов в растворе 15.10.2006 10 of 52 Удлинение цепочки ДНК Существуют полимеразы, которым не требуются матрицы для удлинения цепочки ДНК. Например, терминальная трансфераза добавляет одинарные цепочки ДНК к обоим концам двухцепочечной молекулы. Таким образом можно конструировать произвольную цепь ДНК → 15.10.2006 11 of 52 Укорочение молекул ДНК За укорочение и разрезание молекул ДНК отвечают ферменты – нуклеазы. Различают эндонуклеазы и экзонуклеазы. Экзонуклеазы осуществляют укорочение молекулы ДНК с концов: Экзонуклеазы могут укорачивать одноцепочечные молекулы и двухцепочечные, с одного конца или с обоих. 15.10.2006 12 of 52 Разрезание молекулы ДНК Сайт-специфичные эндонуклеазы – рестриктазы – разрезают молекулу ДНК в определенном месте, которое закодировано последовательностью нуклеотидов – сайтом узнавания. Разрез может быть прямым, или несимметричным, как на рисунке. Разрез может проходить по сайту узнавания, или же вне его. Эндонуклеазы разрушают внутренние фосфодиэфирные связи в молекуле ДНК. 15.10.2006 13 of 52 Сшивка молекул ДНК Сшивка - операция, обратная операции разрезания, происходит под воздействием ферментов – лигаз. “Липкие концы” соединяются вместе с образованием водородных связей. Фосфодиэфирные связи много прочнее, чем водородные 15.10.2006 Лигазы служат для того, чтобы закрыть насечки, т.е. способствовать образованию в нужных местах фосфодиэфирных связей. 14 of 52 15.10.2006 15 of 52 Модификация Модификация используется для того, чтобы рестриктазы не смогли “найти” определенный сайт и не разрушили молекулу. Существует несколько типов модифицирующих ферментов – метилазы, фосфатазы и т.д. Метилаза имеет тот же сайт узнавания, что и соответствующая рестриктаза. При нахождении нужной молекулы, метилаза модифицирует участок с сайтом так, что рестриктаза уже не сможет идентифицировать эту молекулу. 15.10.2006 16 of 52 Полимеразная цепная реакция (а) Нагреваем до температуры кипения воды (б) Охлаждаем до 55o C ие (в) Снова нагреваем до 70-72o C Возможно применение ферментов, сдвигающих температурные границы. 15.10.2006 17 of 52 15.10.2006 18 of 52 Секвенирование Секвенирование – это определение последовательности нуклеотидов в ДНК. Для секвенирования цепочек различной длины применяют различные методы. При помощи метода праймер-опосредованной прогулки удается на одном шаге секвенировать последовательность в 250-350 нуклеотидов. После открытия рестриктаз стало возможным секвенировать длинные последовательности по частям. 15.10.2006 19 of 52 Гель-электрофорез Гель-электрофорез используется для разделения молекул ДНК по длине. Если молекулы поместить в гель и приложить постоянное электрическое поле, то они будут двигаться по направлению к аноду, причем молекулы меньшей длины будут двигаться быстрее. Молекулы ДНК имеют отрицательный заряд Иногда применяют маркировочные молекулы 15.10.2006 20 of 52 План доклада Введение Элементарные операции с ДНК Эксперименты с ДНК Эдлмана ― гамильтонов путь Э. Шапиро ― конечный автомат Э. Винфри ― ковер Серпинского Модели и попытки формализации Текущие результаты 15.10.2006 21 of 52 Эксперимент Эдлмана Показал, что, пользуясь вычислениями на ДНК, можно эффективно решать задачи переборного характера. Обозначил технику, которая, в дальнейшем послужила основой для создания модели параллельной фильтрации. Leonard Adleman >> Построив эффективную реализацию метода Эдлмана, мы научимся решать NP-полные задачи за полиномиальное время. 15.10.2006 22 of 52 Алгоритм Эдлмана Вход. Ориентированный граф G с n вершинами, среди которых выделены 2 вершины – vin и vout Шаг 1. Породить большое количество случайных путей в G Шаг 2. Отбросить все пути, которые не начинаются с vin или не заканчиваются на vout Шаг 3. Отбросить все пути, которые не содержат точно n вершин Шаг 4. Для каждой из n вершин v отбросить пути, которые не содержат v Выход. Да, если есть хоть один путь, нет – в противном случае. 15.10.2006 23 of 52 Кодирование объектов Каждая вершина графа кодируется последовательностью 20 нуклеотидов. Для ребер код комплементарен конкатенации вторых 10 нуклеотидов вершины-источника и первых 10 нуклеотидов вершины-назначения. В реакционной среде молекулы, кодирующие ребра способны соединятся самостоятельно, если у них есть общая вершина. 15.10.2006 24 of 52 Эксперимент Шапиро «Исходные данные», и «программа» могут описываться молекулами ДНК. Первый шаг на пути к созданию «биологического нанокомпьютера». Ehud Shapiro >> Научившись создавать конечные автоматы на ДНК, мы перенесем все классические решения задач на новую молекулярно-электронную архитектуру 15.10.2006 25 of 52 Конечный автомат Шапиро В опыте Э. Шапиро был реализован конечный автомат, который может находиться в двух состояниях – S0 и S1 и отвечает на вопрос – четное или нечетное количество символов а содержится во входной последовательности символов a и b. S0, a → S1 S0, b → S0 S1, a → S0 S1, b → S1 15.10.2006 26 of 52 Эксперимент Винфри Локальные правила определяют глобальную структуру. Под вычислением здесь понимается создание этой структуры. Возможно использовать локальные правила для синтеза различных поверхностей при помощи ДНК. 15.10.2006 32 of 52 Построение ковра Серпинского В опыте используются 4 плитки, которые соответствуют правилам таблицы истинности для оператора XOR. Начальный слой укладывается из плиток типа Т-00. Затем плитки укладываются по направлению снизу вверх. 15.10.2006 33 of 52 Кодирование плиток и результат Набор плиток в опыте по получению ковра Серпинского → ← Соответствие двумерных плиток молекулам ДНК Результирующая структура под атомно-силовым микроскопом → 15.10.2006 34 of 52 План доклада Введение Элементарные операции с ДНК Эксперименты с ДНК Модели и попытки формализации Модель параллельной фильтрации Плиточная модель Операции в терминах теории формальных языков Текущие результаты 15.10.2006 35 of 52 Parallel Filtering Model Соответствует прямому перебору в классической парадигме вычислений. Реализуется в три стадии: 1) 2) 3) 15.10.2006 Генерация всех вариантов. Параллельный отсев (в несколько стадий) всех неудовлетворительных вариантов. Расшифровка решения. 36 of 52 Определения (1/3) Пробирка – это мультимножество слов (конечных строк) над алфавитом {А, Ц, Г, Т}. Слить. Образовать объединение (в смысле мультимножеств) двух заданных пробирок. Размножить. Изготовить две копии данной пробирки. Обнаружить. Возвратить значение истина, если данная пробирка N содержит по крайней мере одну цепочку ДНК, иначе - ложь. 15.10.2006 37 of 52 Определения (2/3) Разделить (или Извлечь). По данным пробирке N и слову w над алфавитом {А, Ц, Г, Т} изготовить две пробирки +(N,w) и –(N,w) такие, что +(N,w) состоит из всех цепочек в N, содержащих w в качестве (последовательной) подстроки, а –(N,w) состоит из всех цепочек в N, которые не содержат w в качестве подстроки. Разделить по длине. По данным пробирке N и целому числу n, изготовить пробирку L (N, ≤n), состоящую из всех цепочек из N длины не больше n. 15.10.2006 38 of 52 Определения+ (3/3) Разделить по префиксу (суффиксу). По данным пробирке N и слову w, изготовить пробирку B (N,w) (соответственно E (N,w)), состоящую из всех цепочек в N, начало (соответственно конец) которых совпадает со словом w. В приведенных терминах стадия фильтрации в опыте Эдлмана может быть описана “программой”, которая начинает свою работу после того, как произошло сшивание всех нужных молекул и в пробирке N образовалось множество всех возможных путей в графе G. Каждый из олигонуклеотидов si, 0 ≤ i ≤ 6, имеет длину 20. 15.10.2006 39 of 52 Алгоритм Эдлмана 1) 2) ввести (N) N ← B (N, s0) // выделить все цепочки, которые начинаются с вершины s0 4) N ← E (N, s6) // выделить все цепочки, которые кончаются на s6 N ← L (N, ≤140) // выделить все цепочки не длиннее 140 5) Для i от 1 до 5 выполнить 3) N ← + (N,si) // для каждой из вершин от s1 до s5 выделить только те цепочки, которые содержат данную вершину 6) Result = обнаружить (N) // true если осталась хоть одна цепочка, false – в противном случае. 15.10.2006 40 of 52 Плиточная модель ДНК-вычислитель будет представлять собой клеточный автомат из клеток произвольной формы. Локальные правила взаимодействия клеток будут определяться их формой. Автомат будет дискретным, и к нему применимо понятие шага. Данный подход сразу же обеспечивает возможность описания параллельных процессов, которые изначально присущи ДНКвычислителю. 15.10.2006 41 of 52 Теоретический базис Все работы, относящиеся к проблеме покрытия (Ванга, Бергера, Робинсона, Пенроуза). Работы Э. Винфри, направленные на получение нужных структур на практике. Работы по теории клеточных автоматов с «квадратными клетками». 15.10.2006 42 of 52 План доклада Введение Элементарные операции с ДНК Эксперименты с ДНК Модели и попытки формализации Текущие результаты Решенные задачи Ограничения в экспериментах Программные средства 15.10.2006 43 of 52 Задачи, решенные теоретически Задача Год решения Поиск гамильтонова пути в графе 1994 Достижимость пропозициональных формул 1994 3-раскраска графа 1995 Quantified Boolean formulae 1995 Indendent Set 1996 Задача о рюкзаке 1996 Задача изоморфизма с подграфом 1996 Задача о клике 1996 MAX-CNF SAT 1996 Задача о выполнимости для схем 1996 (3-2) System 1997 Shortest common superstring 1998 Bounded Post correspondence 2000 15.10.2006 44 of 52 [re] Эксперимент Эдлмана В ДНК-компьютере Эдлмана оптимальный маршрут обхода отыскивался всего для 7 вершин графа… … за одну неделю! Нахождение обхода 200 вершин потребовало бы количество ДНК, большее… … веса всей нашей планеты! Поэтому, например, компания IBM сразу предпочла сфокусироваться на других идеях альтернативных компьютеров, таких как углеродные нанотрубки и квантовые компьютеры. 15.10.2006 45 of 52 [re] Эксперимент Шапиро Автомат Шапиро не сравним по сложности с любым сколь угодно полезным автоматом. Автомат не может ответить более чем на 756 вопросов о четности количества символов a. Модель автомата детерминирована, но ведет себя он как вероятностный (из-за естественных ошибок) => Необходимость создания дополнительных контролирующих схем / молекул. 15.10.2006 46 of 52 Программные средства: Namot Nucleic Acid MOdeling Tool Графическое средство работы с молекулярными структурами. Позволяет составлять структуры из атомов, задавать связи в трехмерном пространстве, строить последовательности молекулярных операций. 15.10.2006 47 of 52 Программные средства: Xgrow Симулятор, позволяющий имитировать процесс синтеза различных структур, получая на входе набор плиток, а также вычисляющий возможные ошибки при создании структуры. Процесс моделирования синтеза структуры «ковер Серпинского» → 15.10.2006 48 of 52 Подведем итоги Вычисления на ДНК – новая развивающаяся область науки на границе молекулярной биологии и Computer Science. Главные преимущества вычислений на ДНК – высочайшая скорость и неограниченный параллелизм. Поставлено несколько экспериментов, доказывающих оправданность теоретических предположений. Текущие практические результаты пока оставляют желать лучшего, теория все еще развита слабо. 15.10.2006 50 of 52 План доклада Введение Элементарные операции с ДНК Эксперименты с ДНК Модели и попытки формализации Текущие результаты Вопросы? 15.10.2006 51 of 52 Использованный материал Малинецкий Г.Г., Науменко С.А. Вычисления на ДНК. Adleman L.M., Molecular Computation of Solutions to Combinatorial Problems . Istvan Katsanyi. Molecular Computing Solutions of some Classical Problems. Robin Varghese. Implementing models of DNA computing. 15.10.2006 52 of 52