Группа биоинформатики и моделирования биологических процессов ИПЭЭ РАН 2 Лаборатория параллельных вычислений и информационных технологий ИБМХ РАМН 3 Учебно-научный центр биохимии и молекулярной биологии им. Ю.Б.Филипповича МПГУ 1 А.В. Омельченко1,3, И.В. Ромеро Рейес 2 Моделирование процессов молекулярной изменчивости геномов на временном промежутке биологической эволюции от прокариотических до эукариотических организмов. Физическая постановка задачи: 5’…..TCTGACGTCGGATAGATAGATAGATAGATAGATAGATAGATAGATAGATA TCGAGTACGTCTGTAGTCGTAGATCTAGTCTGACTGACGTAGCACGTCGTAGCT GTACGTCAGTCGT….3’ Задачи исследования: 1. На основе данных о нуклеотидных последовательностях полных геномов прокариот реализовать элементарные эволюционные (мутационные) молекулярные события – делеции, инсерции, транслокации, дупликации ; 2. Реализовать параллельный алгоритм выравнивания больших нуклеотидных последовательностей геномов для оценки места геномов Mycobacterium tuberculosis в эволюции и наличия SNP(одноточечных замен). Формализация проблемной области: 1. ДНК — строка < N1...N(n-1)Nn>, N = {A, C, G, T}, 1< n < ∞; 2. Мутации – операции с подстроками строки < N1...N(n-1)Nn> Математическая постановка задачи: 1. Разработать и реализовать последовательный алгоритм применения операций с подстроками на строке < N1...N(n-1)Nn>, N = {A, C, G, T}, 1< n < ∞ с использованием CPU Intel Atom (1,66 ГГц), RAM: 2Gb; 2.Разработать и реализовать последовательный алгоритм применения операций с подстроками на строке < N1...N(n-1)Nn>, N = {A, C, G, T}, 1< n < ∞ с использованием многопроцессорной системы IBM BlueGene \P (128 узлов x 4 ядра RAM: 2 Gb) 3 Сравнить временную сложность исполнения алгоритмов пунктов №1 и №2. Решение: 1. int deletionDNA(char *sequence, int numnuc); 2. char *insertionDNA(char *sequence, int numnuc); 3. char *duplicationDNA(char *sequence, int numnuc); 4. char *translocationDNA(char *sequence, int numnuc); Решение: Решение: Решение: 16,000 14,000 12,000 10,000 8,000 Последов ат ельный алгорит м, сек Параллельный алгорит м IBM BlueGene/P, сек 6,000 4,000 2,000 0,000 25 363 1039 1715 2391 3067 3743 4419 5095 5771 6447 7123 7799 8475 9151 9827 10503 11179 11855 12531 701 1377 2053 2729 3405 4081 4757 5433 6109 6785 7461 8137 8813 9489 10165 10841 11517 12193 Выводы по первой части работы: 1. Разработаные и реализованы последовательные и параллельные алгоритмы для моделирования элементарных эволюционных (мутационных) молекулярных событий; 2. Показано, что для небольших нуклеотидных последовательностях молекулы ДНК (несколько сотен п.н.) эффективность применения параллельных алгоритмов незначительна; 3. Показано, что для протяженных нуклеотидных последовательностях молекулы ДНК (десятки тысяч — млн. п.н.) эффективность применения параллельных алгоритмов значительна; 4. Повышение эффективности параллельных алгоритмов вожможно за счет использования гибридных (MPI-OpenMP) схем программирования. Выравнивание аминокислотных или нуклеотидных последовательностей - это процесс сопоставления сравниваемых последовательностей для такого их взаиморасположения, при котором наблюдается максимальное количество совпадений аминокислотных остатков или нуклеотидов. Различают 2 вида выравнивания: парное (выравнивание двух последовательностей ДНК, РНК или белков) и множественное (выравнивание трех и более последовательностей) Постановка задачи Метод динамического программирования Один раз проходим по банку каждой последовательности и для каждого короткого слова с заранее зафиксированной длиной мы запишем список позиций, где оно встречается в банках. Слово Позиция в банке AAAA 234, 678, 768 AAAC 357, 879, 12345 … GACT … 987, 789, 6754 Матрица схожести Результаты распараллеливания Число последовательностей – 5 шт. 8 x Intel Xeon 5570 2,93 Ghz, 8 ГБ