ПРОГРАММА ПОИСКА ГОМОЛОГИЧНЫХ НУКЛЕОТИДНЫХ

advertisement
УДК 004.42
ПРОГРАММА ПОИСКА
ГОМОЛОГИЧНЫХ НУКЛЕОТИДНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ

Б.М. Мазакова1, А.Т. Жакыпов2
старший преподаватель, 2 студент
1
Казахский Агротехнический университет им. С. Сейфуллина, Казахстан
2
Казахстанский филиал МГУ им. М.В. Ломоносова (Астана), Казахстан
1
Аннотация. В настоящей работе рассматривается задача поиска гомологов нуклеотидных последовательностей, результатом которой является построение упорядоченного по степени схожести с запросом
списка последовательностей. Впоследствии этот список может использоваться генетиками для определения
степени родства организмов. Само решение поставленной задачи сводится к поиску оптимального выравнивания. Иными словами, нужно найти такие участки в сравниваемых последовательностях и такое преобразование, что они давали бы максимальный вес по схожести. Итогом данной работы является программный продукт с пользовательским графическим интерфейсом, реализующий поиск гомологов и вывод соответствующих
результатов.
Ключевые слова: нуклеотидные последовательности, гомологи, выравнивание, биоинформатика, алгоритм Смита-Ватермана.
Биоинформатика – совокупность методов и подходов [2], включающих в себя:
1. Математические методы компьютерного анализа в сравнительной геномике (геномная биоинформатика).
2. Разработка алгоритмов и программ для предсказания пространственной структуры белков (структурная биоинформатика).
3. Исследование стратегий соответствующих вычислительных методологий, а также общее управление
информационной сложности биологических систем.
Главная цель биоинформатики – способствовать пониманию биологических процессов. Отличие биоинформатики от других подходов состоит в том, что она фокусируется на создании и применении интенсивных вычислительных методов для достижения этой цели. Примеры подобных методов: распознавание образов,
datamining, алгоритмы машинного обучения и визуализация биологических данных. Основные усилия исследователей направлены на решение задач выравнивания последовательностей, нахождения генов (поиск региона ДНК,
кодирующего гены), расшифровки генома, конструирования лекарств, разработки лекарств, выравнивания структуры белка, предсказания структуры белка, предсказания экспрессии генов и взаимодействий «белок-белок», полногеномного поиска ассоциаций и моделирования эволюции. Биоинформатика сегодня подразумевает создание и
совершенствование баз данных, алгоритмов, вычислительных и статистических методов и теории для решения
практических и теоретических проблем, возникающих при управлении и анализе биологических данных.
Для удобства дальнейшего рассмотрения введем несколько определений.
Элементарное преобразование последовательности – замена буквы или удаление буквы, или вставка
буквы.
Редакционное расстояние – минимальное количество элементарных преобразований, переводящих одну последовательность в другую.
Формализация задачи сравнения последовательностей: найти минимальное редакционное расстояние и
набор преобразований, его реализующий.
Центральным понятием для данной задачи является выравнивание.
Выравнивание последовательностей – биоинформатический метод, основанный на размещении двух
или более последовательностей мономеров ДНК, РНК или белков друг под другом таким образом, чтобы легко
увидеть сходные участки в этих последовательностях. Сходство первичных структур двух молекул может отражать их функциональные, структурные или эволюционные взаимосвязи [2]. В большинстве представлений результата выравнивания, последовательности располагаются в строчках матрицы таким образом, что совпадающие элементы (нуклеотиды или аминокислоты) находятся один под другим (в одной колонке). «Разрывы» заменяются знаком «-», или ячейка остается пустой. Алгоритмы поиска применяются для поиска в больших базах
данных последовательностей, схожих с некой заданной последовательностью по указанным критериям. Наиболее известные программы: BLAST и FASTA3x.
Парное выравнивание используется для нахождения сходных участков двух последовательностей. Различают глобальное и локальное выравнивание.
Глобальное выравнивание предполагает, что последовательности гомологичны по всей длине. В глобальное выравнивание включаются обе входные последовательности целиком.
Локальное выравнивание применяется, если последовательности содержат как родственные (гомоло
© Мазакова Б.М., Жакыпов А.Т. / Mazakova B.M., Zhakypov A.T., 2015
гичные), так и неродственные участки. Результатом локального выравнивания является выбор участка в каждой
из последовательностей и выравнивание между этими участками.
Для получения парного выравнивания используются разновидности метода динамического программирования: для глобального выравнивания – алгоритм Нидлмана-Вунша, для локального – алгоритм СмитаВатермана. Параметры выравнивания: − премия за совпадение; − штраф за несовпадение; − штраф за делецию.
Глобальное выравнивание Алгоритм Нидлмана-Вунша – это алгоритм для выполнения выравнивания
двух последовательностей (будем называть их A и B), который используется в биоинформатике при построении
выравниваний аминокислотных или нуклеотидных последовательностей. Алгоритм был предложен в 1970 году
Солом Нидлманом и Кристианом Вуншем [3]. Алгоритм Нидлмана-Вунша является примером динамического
программирования, и он оказался первым примером приложения динамического программирования к сравнению биологических последовательностей. Соответствие выровненных символов задается матрицей похожести.
Здесь S (a, b) – похожесть символов a и b. Также используется линейный штраф за разрыв, называемый здесь d.
Например, если матрица похожести задается таблицей:
то выравнивание
A G A C T A G T T A C (3.1)
C G A − − − G A C G T (3.2)
со штрафом за разрыв d = −5 будет иметь следующую оценку:
S(A,C) + S(G,G) + S(A,A) + 3×d + S(G,G) + S(T,A) + S(T,C)+ + S(A,G) + S(C,T) =
= −3 + 7 + 10−(3×5) + 7−4 + 0−1 + 0 = 1.
Для нахождения выравнивания с наивысшей оценкой назначается матрица F, содержащая столько же
строк, сколько символов в последовательности A, и столько же столбцов, сколько символов в последовательности B. Запись в строке i и столбце j обозначается далее как Fij. Таким образом, если мы выравниваем последовательности размеров n и m, то количество требуемой памяти будет O(nm). В процессе работы алгоритма величина Fij будет принимать значения оптимальной оценки для выравнивания первых i = 0, ..., n символов в A и первых j = 0, ..., m символов в B. Тогда принцип оптимальности Беллмана может быть сформулирован следующим
образом:
Базис:
F0j = d·j (3.4), Fi0 = d·i (3.5)
Рекурсия, основанная на принципе оптимальности:
Fij = max(Fi−1, j−1 + S(Ai,Bj), Fi, j−1 + d, Fi−1, j + d).
Когда матрица F рассчитана, её элемент Fij дает максимальную оценку среди всех возможных выравниваний. Для вычисления самого выравнивания, которое получило такую оценку, нужно начать с правой нижней
клетки и сравнивать значения в ней с тремя возможными источниками (соответствие, вставка или делеция),
чтобы увидеть, откуда оно появилось. В случае соответствия Ai и Bj выровнены, в случае делеции Ai выровнено
с разрывом, а в случае вставки с разрывом выровнено уже Bj. (В общем случае может быть более одного варианта с одинаковым значением, которые приведут к альтернативным оптимальным выравниваниям.)
Алгоритм Смита-Ватермана предназначен для получения локального выравнивания последовательностей, то есть для выявления сходных участков двух нуклеотидных или белковых последовательностей. В отличие
от алгоритма Нидлмана-Вунша, который осуществляет выравнивание последовательностей по всей длине, алгоритм Смита-Ватермана сравнивает отрезки всех возможных длин и оптимизирует меру сходства по всем отрезкам и всем выравниваниям этих отрезков. Алгоритм был предложен Т.Ф. Смитом и М. Ватерманом в 1981 [3].
Подобно алгоритму Нидлмана-Вунша, алгоритм Смита-Ватермана использует принцип динамического программирования. Он гарантирует нахождение оптимального, относительно используемой им меры оценки качества,
локального выравнивания. Эта мера оценки – так называемый вес или счёт (Score) выравнивания, предусматривающий использование матрицы замен и штрафов за «гэпы» (то есть вставки и делеции). Так, в примере (3.1)
оптимальным будет выравнивание:
GA
GA,
а соответствующая ему оценка
S(G,G) + S(A,A) = 7 + 10 = 17.
Как и в алгоритме Нидлмана-Вунша, здесь строится матрица F по правилу (3.3), где рекурсия имеет вид:
Fij = max(Fi−1, j−1 + S(Ai,Bj), Fi, j−1 + d, Fi−1, j + d, 0).
Точка конца пути, с которой начинается построение выравнивания, определяется так:
(imax,jmax) = argmaxFij.
Процесс построения выравнивания заканчивается, когда у текущего элемента Fij не останется положительных предшественников.
Для написания программы использовались описанные выше алгоритмы выравнивания НидлманаВунша и Смита-Ватермана, язык программирования C++, интергрированная среда разработки Qt5, ОС Linux.
Входные параметры, предоставленные на ввод пользователю – последовательность-запрос (путь к файлу, содержащему его, или непосредственный ввод), путь к файлу с форматированным выводом результатов поиска,
тип выравнивания, допустимая погрешность и формат вывода. Значения параметров выравнивания, таких как
премия за совпадение, штраф за несовпадение, штрафы за открытие и продолжение делеции, минимальное количество совпадений установлены по умолчанию, чтобы не усложнять интерфейс программы. По нажатию на
кнопку «Поиск» идет поиск гомологов по базе данных. Сама база данных взята из ENA (European Nucleotide
Archive). В качестве вывода подается таблица гомологов, упорядоченных по убыванию схожести с запросом.
Таблица содержит такие данные, как штамп, название вида, процент совпадения, вес выравнивания и
погрешность. Здесь имеется фильтр, позволяющий выводить только последовательности с весом выравнивания
не меньше указанного. По умолчанию эта граница равна 0. При выборе какой-нибудь строки таблицы можно
просмотреть само выравнивание.
СПИСОК ЛИТЕРАТУРЫ
1. Бородовский, М. Задачи и решения по анализу биологических последовательностей / М. Бородовский, С. Екишева. – М. – Ижевск : НИЦ «Регулярная и хао- тичная динамика», 2008. – 420 с.
2. Дурбин, Р. Анализ биологических последовательностей / Р. Дурбин, Ш. Эдди, А. Корг и др. – М. – Ижевск : НИЦ
«Регулярная и хаотичная динамика», 2006. – 480 с.
3. Сетубал, Ж. Введение в вычислительную молекулярную биологию / Ж. Сетубал, Ж. Мейданис. – М. – Ижевск :
НИЦ «Регулярная и хаотичная динамика», 2007. – 420 c.
4. Altschul, S. Basic local alignment search tool / S. Altschul, W. Gish, W. Miller et. al. // Journal of Molecular Biology. –
October 5, 1990. – 215(3). – P. 403–410.
Материал поступил в редакцию 26.02.15.
SEARCH PROGRAM OF HOMOLOGICAL NUCLEOTIDE SEQUENCES
B.M. Mazakova1, A.T. Zhakypov2
1
Senior Lecturer, 2 Student
1
S. Seifullin Kazakh AgroTechnical University,
2
Kazakhstan Branch of Lomonosov Moscow State University (Astana), Kazakhstan
Abstract. In this research work the problem of homologs search of nucleotide sequences, which result is the
creation of the list of the sequences consecutive ordered on similarity degree with inquiry, is considered. Subsequently
geneticists can use this list for definition of relationship degree of organisms. The solution of the objective is consolidated to search of optimum equalization. In other words, it is necessary to find such sites in the compared sequences and
such transformation that they would give the maximum weight on similarity. A result of this work is the software product
with the user graphic interface realizing search of homologs and a readout of the corresponding results.
Keywords: nucleotide sequences, homologs, equalization, bioinformatics, биоинформатика, Smith–Waterman
algorithm.
Download