Алгоритм выравнивания последовательностей ДНК для модели MapReduce
Выравнивание последовательностей ДНК как важная и сложная задача биоинформатики. Исследование алгоритма выравнивания последовательностей ДНК для популярной модели распределенных вычислений MapReduce. Анализ уже существующих решений для данной модели.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 15.01.2019 |
Размер файла | 22,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Алгоритм выравнивания последовательностей ДНК для модели MapReduce
Славнейшев Ф.В., магистрант кафедры КТ факультета ИТИП СПб НИУ ИТМО, slavnejshev@mail.ru
Аннотация
алгоритм биоинформатика вычисление mapreduce
Выравнивание последовательностей ДНК является важной и одновременно вычислительно сложной задачей биоинформатики. В данной работе представляется алгоритм выравнивания последовательностей ДНК для популярной модели распределенных вычислений MapReduce. Также проводится анализ уже существующих решений для данной модели.
Выравнивание последовательностей ДНК является одной из важнейших задач в биоинформатике. Решение этой задачи требуется при филогенетическом анализе, определении функций отдельных частей ДНК на основе сравнения, нахождении эволюционно консервативных участков.
Однако решение задачи выравнивания последовательной ДНК требует больших вычислительных ресурсов. Например, в случае ДНК человека и при длине чтений в 100 символов производится выравнивание как минимум 600 миллионов чтений с допущением трех несовпадений относительно образца ДНК длиной 3 миллиарда символов [1]. Решение этой задачи на обычном персональном компьютере может потребовать несколько недель или даже месяцев вычислений. Применение распределенных вычислений и использование кластеров машин позволяет сильно сократить требуемое для выравнивания время.
Модель MapReduce
Одной из самых популярных моделей распределенных вычислений является MapReduce. Использование данной модели позволяет решать задачи, связанные с большими объемами данных. Еще одним плюсом данной модели является ее хорошая масштабируемость.
Работа MapReduce состоит из двух шагов:
1. map-шаг - производится обработка входных данных и формирование промежуточных результатов, которые объединяются по некоторому ключу (идентификатору решаемой задачи) в группы;
2. reduce-шаг - происходит обработка каждой группы промежуточных результатов и формируется окончательный ответ для решаемой задачи.
Из описания модели видно, что необходимым условием ее эффективной работы является разбиение решаемой задачи на множество небольших подзадач. В случае выравнивания последовательной ДНК данное условие можно легко удовлетворить, т.к. выравнивание каждого чтения фактически не зависит от других. Информация об образце может быть предоставлена каждому узлу в сети целиком, либо образец может быть также разбит на части.
Обзор имеющихся решений
Рассмотрим наиболее известные алгоритмы выравнивания последовательностей ДНК для модели MapReduce:
1. CloudBurst [2] - простой и быстрый при работе с небольшими объемами данных алгоритм, основанный на методе “seed and extend”. Выполняется всего один прогон работы MapReduce, в ходе которого находятся общие k-меры (части последовательности ДНК длиной символов), а затем производится выравнивание чтения в каждой найденной позиции. Алгоритм подходит для работы с короткими чтениями (36 пар оснований) и небольшим по длине образцом. Для более длинных чтений время работы и требуемая память жесткого диска сильно возрастают;
2. BlastReduce [3] - распределенная версия алгоритма BLAST. Главным отличием данного алгоритма от CloudBurst является процесс объединения общих k-меров для уменьшения числа выполняемых выравниваний. Выполняется три прогона MapReduce. Однако BlastReduce имеет примерно такие же ограничения на длину чтений и образца, что и CloudBurst;
3. Crossbow [4] - алгоритм нахождения однонуклеотидных полиморфизмов (SNP), на первом этапе которого выполняется выравнивание при помощи алгоритма Bowtie. Алгоритм Bowtie использует для выравнивания чтений созданный в результате препроцессинга образца BWT. На каждом узле запускается отдельная копия Bowtie, а в память узла загружается BWT, который может занимать несколько гигабайт оперативной памяти, что повышает требования к ЭВМ, на которых может быть запущен данный алгоритм. Еще одним минусом алгоритма является невозможность учета ошибок вставки и удаления, т.к. текущая версия Bowtie может работать лишь с ошибками замены.
Описание алгоритма
Основная идея алгоритма заключается в том, чтобы разбить каждое чтение на k-меры и определить их позиции в образце, т.е. найти общие k-меры. Затем по расположению отдельных частей можно найти наиболее вероятную позицию исходного чтения относительно образца. После нахождения приблизительного положения чтения в образце можно произвести выравнивание оставшихся частей чтения при помощи существующих алгоритмов. Такой подход позволяет произвести выравнивание чтений, содержащих многочисленные несоответствия с образцом.
Рассмотрим более подробно, как при помощи модели MapReduce можно достичь требуемых результатов. Генерацию и нахождение позиций k-меров можно сделать за один прогон MapReduce. На map-шаге каждое чтение разбивается некоторым образом на k-меры, которые выдаются вместе с указанием позиции в чтении и ID чтения в качестве промежуточных результатов. Стоит отметить, что позицию k-мера задает не только смещение от начала чтения до начала k-мера, но и указание того, из прямого или обратно-комплементарного варианта чтения взят этот k-мер. K-мер используется в качестве ключа. При этом на часть mapper'ов подается разбитый на части образец, который обрабатывается аналогичным образом. В итоге каждый reducer получает на вход k-мер и множество позиций, в которых он встречается. Если k-мер не встречается в чтениях или в образце, то reducer пропускает такой k-мер. В противном случае reducer в качестве ответа выдает множество позиций k-мера. Стоит отметить, что в отличие от алгоритмов CloudBurst и BlastReduce вместе с k-мерами не выводятся сами чтения и части образца. При больших длинах чтений это позволяет избежать генерации огромных объемов побочных данных.
На следующем этапе определяется положение каждого чтения по позициям его частей. На map-шаге обрабатываемое множество позиций разбивается на два - множество позиций в чтениях и множество позиций в образце. Затем для каждого встретившегося ID чтения выводится множество позиций в образце, дополненное позицией в чтении. В качестве ключа используется ID чтения. На reduce-шаге для каждого чтения имеется некоторое множество позиций в нем, на которых лежат общие k-меры. При этом для каждого такого k-мера может быть несколько вариантов расположения в образце. Каждый k-мер покрывает некоторую часть образца. Задача reducer'а - объединить все покрытия в группы. Для этого для каждого покрытия вычисляется позиция, в которой находилось бы чтение, если бы все чтение до начала k-мера полностью совпадало с образцом. Производится объединение близких по этому параметру покрытий «жадным» алгоритмом.
На заключительном этапе работы алгоритма производится окончательное выравнивание чтений. Каждое имеющееся покрытие дополнено чтением. Для того, чтобы произвести выравнивание, нужно иметь ту часть образца, в которой по предположению находится чтение. На map-шаге образец разбивается на блоки, каждый из которых выводится с ключом, равным номеру блока. Все имеющиеся сгруппированные покрытия выводятся с ключом, сформированным по тому же правилу. На reduce-шаге имеется блок из образца и множество чтений с покрытиями, для каждого из которых производится выравнивание непокрытых частей чтения. Для этого используется алгоритм Нидлмана-Вунша. Если расстояние Левенштейна между чтением и образцом превышает указанный в параметрах алгоритма максимум, выравнивание отбрасывается. Если требуется для каждого чтения найти максимум одно выравнивание, возможен еще один дополнительный этап, на котором для каждого чтения находится лучшее выравнивание.
Текущие результаты
Алгоритм имеет определенные ограничения в использовании. При слишком малом значении длины k-меров на втором этапе генерируется огромное число покрытий, которые могут потребовать больших затрат памяти жесткого диска. При этом на значение длины налагается ограничение параметром (максимальное расстояние Левенштейна между чтением и образцом) следующего вида:
,
где - длина чтения. Таким образом, для некоторых значений параметра и при определенных длинах чтения и образца выравнивание данным алгоритмом осуществить затруднительно.
Производился тестовый запуск алгоритма на машине с 4-ядерным процессором Core i5 2.80 GHz и 4 гигабайтами оперативной памяти. В качестве образца использовалось ДНК Escherichia coli, размер которой примерно 4 миллиона пар оснований. Производилось выравнивание 4-ех миллионов чтений длиной 36 пар оснований каждое. Для каждого чтения находилось лучшее выравнивание, т.е. производился и дополнительный четвертый этап. На каждом этапе запускалось 2 mapper'а и один reducer.
В результате удалось произвести выравнивание 95,431% чтений за 8 минут при и . При и удалось произвести выравнивание 97,512% чтений менее чем за 15 минут. Планируется произвести сравнение с уже имеющимися алгоритмами выравнивания как при работе с короткими, так и с длинными чтениями.
Заключение
В данной работе были рассмотрены существующие распределенные алгоритмы выравнивания последовательностей ДНК для модели MapReduce. Также был представлен 3-ех этапный алгоритм выравнивания последовательностей ДНК, при построении которого были учтены проблемы уже имеющихся алгоритмов. Разработанный алгоритм был протестирован на реальных данных и показал высокую скорость выравнивания чтений.
Литература
1. Liu C.-M., Lam T.-W., Wong T., Wu E., Yiu S.-M., Li Z., Luo R., Wang B., Yu C., Chu X., Zhao K., Li R. Soap3: GPU-Based Compressed Indexing and Ultra-Fast Parallel Alignment of Short Reads. Third Workshop Massive Data Algorithmics, June 2011.
2. Schatz M.C. CloudBurst: highly sensitive read mapping with MapReduce. [Электронный ресурс]. Режим доступа http://bioinformatics.oxfordjournals.org/content/25/11/1363.full.pdf свободный. Яз. англ. (дата обращения 19.04.13).
3. Schatz M.C. BlastReduce: High Performance Short Read Mapping with MapReduce. [Электронный ресурс]. Режим доступа http://www.cs.umd.edu/Grad/scholarlypapers/papers/MichaelSchatz.pdf свободный. Яз. англ. (дата обращения 19.04.13).
4. Langmead B., Schatz M.C., Lin J., Pop M., Salzberg S.L. Searching for SNPs with cloud computing. [Электронный ресурс]. Режим доступа http://genomebiology.com/content/pdf/gb-2009-10-11-r134.pdf свободный. Яз. англ. (дата обращения 19.04.13).
Размещено на Allbest.ru
...Подобные документы
Методы косвенного анализа структуры знаковых последовательностей на основе состава. Анализ строя цепей событий. Выравнивание аминокислотных и нуклеотидных последовательностей. Обоснование выбора средств разработки. Программные средства разработки.
дипломная работа [3,2 M], добавлен 21.06.2013Построение модели прецедентов, модели пригодности для прецедента. Описание атрибутов и операций классов системы. Проектирование с применением методологии ICONIX. Построение диаграммы пригодности, диаграммы последовательностей и диаграмма классов.
курсовая работа [949,5 K], добавлен 25.05.2015Описание формальной модели алгоритма на основе рекурсивных функций. Разработка аналитической и программной модели алгоритма для распознающей машины Тьюринга. Разработка аналитической модели алгоритма с использованием нормальных алгоритмов Маркова.
курсовая работа [1,5 M], добавлен 07.07.2013Построение концептуальной модели и метод имитационного моделирования. Определение переменных уравнений математической модели и построение моделирующего алгоритма. Описание возможных улучшений системы и окончательный вариант модели с результатами.
курсовая работа [79,2 K], добавлен 25.06.2011Понятие модели данных как отображения непрерывных последовательностей реального мира в набор дискретных объектов. Типы моделей: растровая, векторная, преимущества и недостатки. Увеличение потребностей в генерализации в зависимости от уменьшения масштаба.
презентация [310,4 K], добавлен 26.11.2013Понятие математической модели, свойства и классификация. Характеристика элементов системы Mathcad. Алгоритмический анализ задачи: описание математической модели, графическая схема алгоритма. Реализация базовой модели и описание исследований MathCAD.
реферат [1,0 M], добавлен 20.03.2014Разработка модели лифта, алгоритма и программы на языке JavaScript. Возможность использования модели при проектировании промышленных лифтов и отладки управляющих программ. Основные принципы построения модели лифта, выполнение вычислительного эксперимента.
курсовая работа [495,8 K], добавлен 09.06.2013Анализ современного состояния общей проблемы синтеза моделей многофакторного оценивания и подходов к ее решению. Разработка математической модели метода компараторной идентификации модели многофакторного оценивания. Описание генетического алгоритма.
дипломная работа [851,7 K], добавлен 11.09.2012Модели развертывания и облачные модели. Анализ существующих методов информационной безопасности. Обеспечение надежного шифрования данных при передаче их от пользователя к провайдеру услуг по хранению данных. Минимизация нагрузки на облачные сервисы.
дипломная работа [839,1 K], добавлен 17.09.2013Процесс "Работа с клиентами в туристической фирме", его декомпозиция. Формирование пакета дополнительных услуг. Диаграммы последовательностей работ. Процесс "Расчет конечной стоимости тура". Затраты на обслуживание клиентов в туристической фирме.
курсовая работа [1,1 M], добавлен 25.12.2012Алгоритм симплекс-метода. Задача на определение числа и состава базисных и свободных переменных, построение математической модели. Каноническая задача линейного программирования. Графический метод решения задачи. Разработки математической модели в Excel.
курсовая работа [1,1 M], добавлен 18.05.2013Анализ существующих алгоритмов обработки информации человеком и современных моделей памяти. Разработка алгоритмов и математической модели ассоциативного мышления. Имитационная модель обработки информации. Компьютерный эксперимент по тестированию модели.
курсовая работа [2,3 M], добавлен 19.11.2014Формализованное описание закона Pearson Type V. Характеристика методов получения выборки с распределением Pearson Type V. Исследование временных рядов с шумом заданным Rayleigh. Экспериментальное исследование средней трудоемкости Pirson Type V и Rayleigh.
курсовая работа [4,5 M], добавлен 20.06.2010Основные модели вычислений. Оценки эффективности параллельных алгоритмов, их коммуникационная трудоемкость. Последовательный алгоритм, каскадная схема и способы ее улучшения. Модифицированная каскадная схема. Передача данных, классификация операций.
презентация [1,3 M], добавлен 10.02.2014Специфика работы терапевтического отделения. Разработка имитационной модели в среде AnyLogic. Выбор средств моделирования. Описание схемы моделирующего алгоритма. Организация вычислительного эксперимента над математической моделью, анализ его результатов.
курсовая работа [1,2 M], добавлен 10.06.2015Разработка клиент-серверного приложения на основе TCP\IP соединения. Организация работы удаленного генератора псевдослучайных последовательностей. Описание основных функциональных модулей. Интерфейс пользователя, сетевое взаимодействие и алгоритм.
курсовая работа [223,6 K], добавлен 18.10.2013Расчет тепловой схемы с применением методов математического моделирования. Разработка алгоритма реализации модели. Составление программы для ПЭВМ, ее отладка и тестирование. Проведение численного исследования и параметрическая оптимизация системы.
курсовая работа [2,8 M], добавлен 01.03.2013Составление математической модели насосной станции. Исследование алгоритма каскадно-частотного регулирования в пакете программ Matlab Simulink. Решение проблемы обеспечения устойчивой работы насосных агрегатов и выбор ширины зоны нечувствительности.
курсовая работа [1,7 M], добавлен 15.01.2012Анализ существующих решений системы поддержки принятия решений для корпоративной сети. Многоагентная система. Разработка концептуальной модели. Структура базы знаний. Разработка модели многоагентной системы на базе сетей Петри. Методика тестирования.
дипломная работа [5,1 M], добавлен 19.01.2017Терминологическая база для построения модели, имитирующей работу маршрутных микроавтобусов. Обоснование выбора программного средства. Алгоритм работы имитационной модели, особенности ее функционирования. Анализ результатов работы имитационной модели.
курсовая работа [1,1 M], добавлен 29.04.2014