Прогресс в области информационных технологий и, собственно, развитие теории информации в последнее десятилетие сделали очевидным одно важное обстоятельство: элементной базой устройств информационного процессинга может быть все что угодно - от элементарных частиц до живых клеток. Именно таков в настоящее время веер поиска альтернатив обычному компьютингу - от квантовых до биокомпьютеров. И если в отношении первых все еще остается место для скепсиса (проблема декогеренции, масштабируемость и др.), то в реализуемости последних сомневаться просто абсурдно, ведь информационным процессингом ежемгновенно занимаются миллиарды нейронных клеток нашего мозга.
То, что биосистемы или подсистемы живых организмов функционируют в соответствии с булевой алгеброй, доказали еще в 1961 году Франсуа Жакоб (Francois Jacob) и Жак Моно (Jacques Monod) [Jacob, F., Monod, J. Genetic regulatory mechanisms in the synthesis of proteins // Journal of Molecular Biology. 1961. Vol. 3. P. 318-356], за что уже в 1965 году были удостоены Нобелевской премии. Однако потребовалось еще более трех десятилетий, прежде чем удалось подступиться к решению другой задачи - заставить биосистемы, в частности, биомолекулы функционировать по заранее заданному сценарию, например, производить параллельные вычисления. В 1994 году группа Леонарда Эдлмена (Leonard Adleman) доказала возможность использования молекул ДНК для решения так называемых NP-полных задач (Adleman, L.M. Molecular computation of solutions to combinatorial problems // Science. 1994. Vol. 266. No. 5187. P. 1021-1024; доступна как www.usc.edu/dept/molecular-science/papers/adleman-science.pdf), что положило начало ДНК-компьютингу (см. "КВ" №№38, 48'2000, 18'2002, 9'2003, 5'2004, 11'2006).
NP-полная задача - это задача из класса NP, к которой можно свести любую другую задачу из этого класса. Класс NP (от англ. non-deterministic polynomial) - это множество алгоритмов, время работы которых существенно зависит от размера входных данных. Одной из классических NP-полных задач является проблема гамильтонова пути (Hamiltonian Path Problem). Ее суть заключается в том, что необходимо отыскать путь из начального узла в конечный на направленном графе из n узлов такой, чтобы каждый узел был пройден только один раз. Так, для графа из 10 узлов необходимо проверить 10! = 3628800 вариантов возможных путей. При неизменном числе задействованных процессоров необходимое время вычислений будет пропорционально этому числу вариантов. Удвоение числа узлов увеличивает число вариантов до 20! = 2,43 x 1018, а время вычислений - на 12 порядков. Понятно, что решать NP-полные задачи такого рода на обычных компьютерах в лучшем случае неэффективно, а при достаточно большом числе узлов просто бессмысленно, так как никто и никогда не дождется результатов таких вычислений.
ДНК-компьютеры быстро справляются с решением NP-полных задач благодаря тому, что вычисления производятся одновременно триллионами биомолекулярных (ДНК) процессоров. В 2006 году было сообщено о создании энзимного (ферментного) биомолекулярного компьютера (Baron, Ronan et al. Elementary Arithmetic Operations by Enzymes: A Model for Metabolic Pathway Based Computing // Angewandte Chemie International Edition. 2006. Vol. 45. No. 10. P. 1572-1576). Вместе с тем, было понятно, что создание биокомпьютеров в полном смысле слова способно значительно повысить производительность, так как число задействованных биопроцессоров возрастало бы во время вычислений за счет деления клеток.
Первый успешный эксперимент по биокомпьютингу был осуществлен в прошлом году группой исследователей из Западного государственного университета (штат Миссури) и из Колледжа Дэвидсона (Северная Каролина) [Haynes, K.A., et al. Engineering bacteria to solve the burnt pancake problem // Journal of Biological Engineering. 2008. Vol. 2. Art. 8; www.jbioleng.org/content/2/1/8]. Правда, тогда решалась другая NP-полная задача - о подгоревших блинчиках (Burnt Pancake Problem). Ее суть: имеется стопка блинчиков разного размера, каждый из которых хорошо обжарен с одной стороны, и подгорел - с другой. Необходимо сортировать стопки так, чтобы самый большой блин был внизу, а самый маленький - наверху, и все блины лежали бы подгоревшей стороной вниз. Этого следует добиться за минимальное число шагов, при этом за один шаг можно взять и перевернуть один или несколько последовательных блинов.
Для решения задачи были использованы генетически модифицированные бактерии кишечной палочки (Escherichia coli). Роль "блинчиков" в эксперименте выполняли фрагменты ДНК, в которые были добавлены гены, отвечающие за переворачивание (смену ориентации) ДНК-фрагментов. Был добавлен также ген устойчивости к определенному антибиотику: если задача решена правильно и все фрагменты ориентированы в нужном направлении, этот ген активируется и позволяет выжить в присутствии антибиотика. Минимальное время, которое потребуется на это бактерии, соответствует минимальному числу шагов, которые использовались на решение проблемы.
Успех вдохновил исследователей на следующий шаг - решение проблемы гамильтонова пути для графа из трех узлов (Baumgardner, Jordan et al. Solving a Hamiltonian Path Problem with a bacterial computer // Journal of Biological Engineering. 2009. Vol. 3. Art. 11; www.jbioleng.org/content/3/1/11). В эксперименте ДНК кишечной палочки было модифицировано генами двух протеинов (белков), один из которых флюоресцирует красным, а второй - зеленым. Каждая бактерия может проверять конкретное решение данной проблемы, но миллиарды их смогут проверить одновременно миллиарды возможных решений. При этом кишечные палочки делятся каждые 20-30 минут, увеличивая таким образом число задействованных в вычислении биопроцессоров. Клоны бактерий, которые находят гамильтонов путь, сигналят об успехе, флюоресцируя и красным, и зеленым, в результате чего образуется колония бактерий желтого цвета.
Успех экспериментов доказал не только возможность использования генномодифицированных бактерий для решения NP-полных задач, но также и большие перспективы так называемой синтетической биологии для развития технологий XXI столетия. Это направление стало развиваться в последнее время как альтернатива традиционному редукционистскому направлению в науке. Вместо того, чтобы изучать какой-то один уровень описания (например, какой-нибудь один белок), ученые стремятся интегрировать информацию о различных уровнях сложности биосистемы. Исследуя, как взаимодействуют различные биологические компоненты, системные биологи пытаются строить модели системы. Если таковые оказываются более-менее удачными, то следующим шагом будет проектирование некоторого организма (например, бактерии) с заранее заданным характером поведения. Такие биомашины могли бы использоваться для очистки токсических отходов, детектирования химического оружия, выполнения параллельных вычислений, производства водорода под действием солнечного света и т.д.
Вместе с тем, отношение к синтетической биологии в обществе весьма неоднозначное. Достаточно вспомнить хотя бы горячие споры по проблеме клонирования животных и людей, использования генномодифицированных растений и животных для производства продуктов питания и т.д. Кто знает, как поведут себя генномодифицированные кишечные палочки-считалочки вне исследовательской лаборатории? Ответов на эти вопросы пока нет. Они могут появиться после очередной глобальной эпидемии, но цена такого знания может быть слишком высока.
Сергей САНЬКО
Комментарии
Страницы
Ее легче найти и поймать. имхо.;-)
Просто она наиболее изучена, ДНК полностью расшифрована. И вообще, это классический объект для экспериментов.
Ага, понятно. То есть, то что расшифровывается, становится объектом для экспериментов... А если бы полностью расшифровали другую ДНК, то эксперименты бы проводили на другой бактерии? Очень жаль, что выбрали именно ту, от которой зависит жизнедеятельность человека. Очень неудачное стечение обстоятельств.
И чем же оно такое "неудачное"?
Ну типа ээ у людей много работающих с компами будет хронический ээ понос.
Страницы