|
На двух примерах - распознавания вторичной структуры РНК (бегло) и выравнивания белковых последовательностей (более подробно) мы проследили за эволюцией постановок задач в биоалгоритмике. Упомянем кратко еще несколько аспектов. Пожалуй, с практической точки зрения самым важным является поиск в базах данных последовательностей, сходных с изучаемой. Определяющую роль начинают играть проблемы вычислительной эффективности, решаемые, в частности, с применением алгоритмов хеширования. Для предсказания пространственной структуры белков важны алгоритмы выравнивания последовательности со структурой (при этом используется тот факт, что из-за разницы физико-химических свойств аминокислоты встречаются с разной частотой на поверхности белка и в структурном ядре). Наконец, мы полностью оставили в стороне задачи построения эволюционных деревьев по белковым последовательностям. Подчеркнем, что во всех случаях происходит интенсивная «притирка» постановок задач - как с биологической (большая адекватность), так и с алгоритмической (возможность построения более эффективных алгоритмов) точки зрения.
Врезка 1
Врезка
2
Врезка 3: Алгоритм
оптимального выравнивания (набросок)
1 (обратно
к тексту) - Последняя монография - Pavel A. Pevzner. Computational Molecular Biology. An Algorithmic
Approach. The MIT Press. Cambridge, MA, 2000, из книг на русском языке укажем М. С.
Уотермен (ред). Математические
методы для анализа последовательностей ДНК.-М.: Мир, 1999.
2 (обратно
к тексту) - Иногда (например, в упоминавшейся задаче о построении
оптимальной вторичной структуры РНК) приходится рассматривать не графы, а
гиперграфы. Гиперграф отличается от графа тем, что вместо ребер на множестве
вершин задаются гиперребра. Ребро в (ориентированном) графе сопоставляет
начальной вершине одну конечную вершину. Гиперребро сопоставляет начальной
вершине множество вершин (не обязательно одноэлементное). Аналогом пути в
гиперграфе является гиперпуть - объект, похожий на дерево.
ПОДБЕРЕЗОВИК
ПОДОСИНОВИК-
(1)
ПОДБЕРЕЗОВИК
-ПОДОСИНОВИК
(2)
ПОДБЕРЕЗОВИК
ПОДОСИН-ОВИК
(3)
ПОДБЕРЕЗОВИК
ПОД-ОСИНОВИК
(4)
ПОДБЕРЕЗ----ОВИК
ПОД-----ОСИНОВИК
(5)
С точки зрения алгоритма построения оптимального выравнивания введение весовых матриц ничего не меняет. Однако оказывается, что нельзя рассматривать удаление одного символа как отдельное эволюционное событие. Вес нужно приписывать удалению целого фрагмента, и этот вес должен зависеть от длины фрагмента. Ограничения на выбор функции G(L) штрафов за удаление фрагментов (L - длина удаляемого фрагмента) влияют на эффективность построения оптимального выравнивания. В простейшем случае посимвольных замен (этот случай соответствует функции G(L)=k•L, где k - штраф за удаление одного символа) время работы квадратично зависит от длины сравниваемых слов (считаем, что их длины примерно равны), а в случае допустимости произвольных штрафных функций порядок роста времени работы соответствующего алгоритма - кубический. Компьютерные эксперименты показали, что разумным компромиссом служат линейные функции вида G(L)=k•L+s, где s - штраф за начало удаления/вставки, где k и L имеют тот же смысл, что и раньше. Для таких функций можно построить квадратичный по времени работы алгоритм построения оптимального выравнивания (хотя и с большей константой пропорциональности).
Алгоритм оптимального выравнивания (набросок)
Пусть нам нужно найти оптимальное выравнивание последовательностей U=Xa и W=Yb (здесь a - последняя буква U, b - последняя буква W, последовательности X и Y - получаются соответственно из U и W отбрасыванием последней буквы. Для оптимального выравнивания возможны ровно три альтернативы:
§ последние буквы слов U и W сопоставлены друг другу;
§ последняя буква слова U удалена, последняя буква слова W - нет;
§ последняя буква слова W удалена, последняя буква слова U - нет.
В первом случае вес оптимального выравнивания равен
S1 = S(X, Y)+m(a, b).
Здесь S(X, Y) - вес оптимального выравнивания последовательностей X и Y (оно уже построено ранее, т. к. пара (X, Y) рассмотрена до текущей пары (U, W)), m(a, b) - вес сопоставления символов a и b.
Во втором и третьем случае аналогично получаем формулы:
S2 = S(X, Yb)+g,
S3 = S(Xa, Y)+g.
Здесь g - штраф за удаление символа, S(X, Yb) и S(Xa, Y) - веса оптимальных выравниваний для пар последовательностей (X и Yb = W) и (Xa=U и Y) соответственно. Оптимальные выравнивания для этих пар последовательностей тоже построены ранее. Таким образом, чтобы найти вес S(U, W) оптимального выравнивания последовательностей U и W и само это выравнивание, достаточно найти наибольшее из чисел S1 , S2 , S3. Очевидно, каждое из этих чисел можно вычислить за конечное (не зависящее от длин исходных последовательностей) время. Поэтому общее время построения оптимального выравнивания двух последовательностей пропорционально количеству промежуточных задач, т. е. произведению длин этих последовательностей.
При использовании материалов активная ссылка на источник обязательна.