Биоинформатика стала важной частью многих областей биологии. Инструменты биоинформатики помогают в сравнении генетических и геномных данных и, в целом, в понимании эволюционных аспектов молекулярной биологии. Изучение генома человека и других живых существ имеет важное прикладное значение. На основании результатов сборки генома конкретного человека возможна реализация персонифицированной медицины определения предрасположенности человека к различным болезням, создание индивидуальных лекарств и т.д. Именно биоинформатика изучает математические методы компьютерного анализа в сравнительной геномике [ 1 ].
Еще одно важное приложение исследования ДНК генетические заболевания. У особей, зараженных одним генетическим заболеванием, наблюдаются одинаковые изменения в ДНК, это можно использовать в медицине, как для теоретического исследования заболевания, так и для лечения от него.
Процесс получения и анализа генома можно разбить на три основных этапа:
- секвенирование молекул ДНК, содержащих информацию о геноме, при помощи специальных устройств секвенаторов;
- сборка геномной последовательности, при помощи специальных компьютерных программ;
- анализ и сравнение геномов, при помощи специальных компьютерных программ.
Задача разработки методов сборки геномных последовательностей является, в определенном смысле, центральной среди всех задач биоинформатики. Это объясняется тем, что без ее решения нельзя приступить к детальному изучению генома живого существа и его анализу.
В результате работы была разработана программа для сравнения и объединения длинных контигов. Алгоритм Смита-Ватермана применяемый для определения перекрытий контигов, был успешно реализован на архитектуре CUDA. Реализация алгоритма показала свое быстродействие в ходе экспериментов.
Созданное ПО, позволяет сократить расходы времени на ассемблирование длинных контигов. Также программа является единственным, в своем роде, решением для сборки больших геномов хвойных растений.
Все поставленные задачи выполнены успешно в результате выполнения настоящей дипломной работы.
1. Несговорова, Г. П. Биоинформатика: пути развития и перспективы / Г. П. Несговорова // Информатика в науке и образовании : сб. науч. тр. / Новосибирск. Ин-т систем информатики им. А. П. Ершова. - Новосибирск, 2012.-С. 70-90.
2. Кирьянов, К. Г. Почему биологические алфавиты имеют 4 и 20 букв ? / К. Г. Кирьянов, О. Л. Лебедев // Биофизика. - 1995. - № 40. - С. 536-538 с.
3. Сетубал, Ж. Введение в вычислительную молекулярную биологию / Ж. Сетубал, Ж. Мейданис. - Москва-Ижевск: НИЦ «Регулярная и хаотическая динамика», Институт компьютерных исследований, 2007. - 420 с.
4. Mount, D. W. Bioinformatics: Sequence and Genome Analysis / D. W. Mount. - Cold Spring Harbor, NY : Cold Spring Harbor Laboratory Press, 2004. - 547 p.
5. Illumina, Inc. [сайт]. - Режим доступа: http://wwwTllumina.com
6. Глик, Б. Молекулярная биотехнология. Принципы и применение / Б. Глик, Дж. Пастернак - Москва: Мир, 2002. - 589 с.
7. Александров, А. В. Метод сборки контигов геномных последовательностей на основе совместного применения графов де Брюйна и графов перекрытий / А. В. Александров, С. В. Казаков, С. В. Мельников, А. А. Сергушичев // Научно-технический вестник информационных технологий, механики и оптики. - 2012. - No 6. - С. 93-98.
8. The National Center for Biotechnology Information, NCBI [сайт]. - Режим доступа: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC310812.html.
9. Левенштейн, В. И. Двоичные коды с исправлением выпадений, вставок и замещений символов / В. И. Левенштейн // Доклады Академий Паук СССР. - 1965. - С. 845-848.
10. Wagner, R. A. The string-to-string correction problem / R. A. Wagner, M. J. Fischer // Journal of the АСМ. - 1974. - № 21. - P. 168-173.
11. Smith, T. Identification of common molecular subsquenses / T. Smith, M. Waterman // Journal Molecular Biology. - 1981. - № 147. - P. 195-197.
12. Боресков, А. В. Параллельные вычисления на GPU. Архитектура и программная модель CUDA : учеб, пособие / А. В. Боресков. - Москва : Издательство Московского университета, 2012. - 336 с.
13. Ершов, Ю. Л. Теория нумераций / Ю. Л. Ершов. - Москва, 1977. - 416 с.
14. Линьков, В. М. Нумерационные методы проектирования систем управления данными : Монография / В. М. Линьков. - Пенза : Издательство Пензенского государственного технического университета, 1994. - 156 с.
15. A performance study of general-purpose pplications on graphics processors using cuda. [сайт]. - Режим доступа: http://citeseerx.ist.psu.edu/viewdoc/summary?oi=l 0.1.1.143.4849
16. Боресков, А. В. Основы работы с технологией CUDA : учебное пособие / А. В. Боресков, А. А. Харламов. - Москва : ДМК Пресс, 2010. - 230 с.
17. Гергель, В. П. Современные языки и технологии параллельного программирования : учебник для студентов вузов / В. П. Гергель. - Москва : Издательство Московского университета, 2012. - 406 с.
18. Касьянов, В. Н. Графы в программировании: обработка, визуализация, применение : монография / В. Н. Касьянов, В. А. Евстигнеев. - Санкт-Петербург : БХВ-Петербург, 2003. - 1104 с.
19. Практикум по методам параллельных вычислений : учебник для студентов вузов / А. В. Старченко [и др.] ; ред. А. В. Старченко. - Москва : Изд- во МГУ, 2010.-199 с.
20. Волков, Р. GPGPU-технологии - сравнительный анализ и краткое описание достоинств и недостатков / Р. Волков, И. Починок // Мир компьютерной автоматизации. - 2014. - № 1. - С.34-41.
21. Langmead, В. Fast gapped-read alignment with Bowtie 2 / В. Langmead, S. Salzberg // Nature Methods. - 2012. - № 9. - P. 357-359.
22. Сандерс, Дж. Технология CUDA в примерах: введение в программирование графических процессоров / Дж. Сандерс, Э. Кэндрот; перевод с англ. А. А. Слинкина, научные редактор А. В. Боресков. - Москва : ДМК Пресс, 2011.- 232 с.