Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Доклад на семинаре в лаборатории алгоритмической биологии АУ

6,842 views

Published on

Слайды доклада 16.11.2012 на семинаре в лаборатории алгоритмической биологии АУ

Доклад на семинаре в лаборатории алгоритмической биологии АУ

  1. 1. Метод сборки генома на основе совместногоприменения графов де Брёина и графов перекрытий Лаборатория «Алгоритмы сборки геномных последовательностей» Национального исследовательского университета информационных технологий, механики и оптики 16 ноября 2012
  2. 2. Лаборатория «Алгоритмы сборки геномных последовательностей» НИУ ИТМО• Создана в 2010 году• Нынешний состав лаборатории – с начала 2011 года• Сейчас в лаборатории работают восемь человек• Работа начиналась в сотрудничестве с центром «Биоинженерия» РАН 2
  3. 3. Направления работы• Сборка контигов• Сборка скэффолдов• Сборка транскриптома• Распределенный алгоритм сборки генома• Обучение алгоритмам сборки генома – Курс «Genome Assembly Algorithms» в летней школе университета г. Ювяскюля (Финляндия) http://en.ifmo.ru/index.php?option=com_content&vi ew=article&id=888:genome-assembly- algorithms&catid=167&Itemid=405 – Первое использование системы Rosalind в рамках учебного курса 3
  4. 4. Теоретические исследования в области сборки генома• Доказана NP-трудность задачи De Bruijn Superwalk with Multiplicities (задача сформулирована на конференции RECOMB- AB) – подана доклад на RECOMB 2013 4
  5. 5. Финансирование работ• ФЦП «Научные и научно-педагогические кадры инновационной России на 2009-2013 годы»: – Разработка метода сборки геномных последовательностей на основе восстановления фрагментов по парным чтениям – Разработка методов сборки генома, сборки транскриптома и динамического анализа протеома• ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007—2013 годы»: – Разработка алгоритмов сборки геномных последовательностей для вычислительных систем экзафлопсного уровня производительности 5
  6. 6. Сборка контигов• Цель – разработать программное средство для сборки больших геномов (несколько миллиардов нуклеотидов) с использованием небольшого объема оперативной памяти (32-64 гигабайта) 6
  7. 7. Исходные данные Парные чтения геномной последовательности (длина порядка 100 символов), геном покрыт чтениями несколько десятков раз Необходимо: восстановить как можно больше непрерывных фрагментов геномной последовательности (контигов) Геном Фрагмент (~500 нуклеотидов) Парные чтения (риды) (по ~100 нуклеотидов) Разработка алгоритмов сборки геномных последовательностей для вычислительных систем экзафлопсного уровня производительности
  8. 8. Проект dnGASP• dnGASP = de novo Genome Assembly Assessment Project (http://cnag.bsc.es)• Организован Национальным центром геномного анализа (Барселона, Испания)• Сборка искусственного генома размеров 1.8 Гб• Начало: 15 декабря 2010 года, конец: 01 марта 2011 года• Аналогичные проекты: Assemblathon, Assemblathon 2 8
  9. 9. Искусственный геном• 14 искусственных хромосом – 11 – на основе реальных живых организмов – 3 – полностью искусственные с разными типами повторов• Было смоделировано чтение генома машиной второго поколения – Известно распределение длин фрагментов 9
  10. 10. Исходные данные для сборки генома• Заданы 4 библиотеки ридов – Длина ридов: 114, длина фрагмента ~500, покрытие – 44 раза – Длина ридов: 36, длина фрагмента ~3000, покрытие – 8 раз – Длина ридов: 36, длина фрагмента ~5000, покрытие – 8 раз – Длина ридов: 36, длина фрагмента ~10000, покрытие – 4 раза 10
  11. 11. Алгоритм Граф де Подход Брюина OLC СборкаИсправление Сборка Сборка квази- ошибок контигов скэффолдов контигов OLC = overlap-layout-consensus 11
  12. 12. Исправление ошибок: обрезка ридов• Сканируем начиная с начала каждый рид до тех пор, пока не найдем нуклеотид с качеством меньшим 90%• Обрезаем рид начиная с этой позиции >90% >90% >90% >90% >90% >90% >90% <90% >90% >90% >90% >90% >90% >90% >90% 12
  13. 13. Исправление ошибок: частотный анализ• Рассмотрим все 30-символьные подстроки ридов и обратно-комплементарные к ним• Вычислим число вхождений для каждой из них – Редко встречается – есть ошибка – Часто встречается – является «доверенным»• Граница выбирается автоматически 13
  14. 14. Исправление ошибок: распределение• < 4 вхождений – «недоверенные»• Другие 30-меры – «доверенные» 14
  15. 15. Исправление ошибок: корзины• Память: – Каждая подстрока - 64-битное число – Число вхождений – 32-битное число – ~6·109 различных 30-меров во всех ридах – 72 Гб (а есть только 24)• Распределение 30-меров по корзинам в соответствии с префиксами• Префикс длины k → 4k корзин 15
  16. 16. Исправление ошибок• Каждая корзина обрабатывается отдельно• Рассмотрим «недоверенный» 30-мер – Меняем один символ в нем: 3·(30-k) способов – Если ровно один 30-мер «доверенный», исправляем соответствующее чтение• Для исправления ошибок в префиксах, можно загрузить еще 3k корзин в память или...• Не загружать – рассмотрим обратно-комплементарный 30- мер A G T A C A T A T G T A C T 16
  17. 17. Исправление ошибок: результаты на данных dnGASP 17
  18. 18. СБОРКА КВАЗИКОНТИГОВ 18
  19. 19. Парные чтения ДНК Фрагмент (180–500 оснований)Парные чтения (30–120 оснований) 19
  20. 20. Цель сборки квазиконтигов ATGC ??? GTCC ATGC ATGCATGCAGTG GTCC 20
  21. 21. Граф де Брёйна 21
  22. 22. Пример графа де Брёйна (1) 22
  23. 23. Пример графа де Брёйна (2) GTC TCA CAT ATC TCCAGT GTG CCA CAC CAAGAG GGA AGG CAG ACA AAC 23
  24. 24. Пример графа де Брёйна (3) 24
  25. 25. Пример графа де Брёйна (4) 25
  26. 26. Уникальные пути (1)
  27. 27. Уникальные пути (2)
  28. 28. Уникальные пути преобразуются в квазиконтиги
  29. 29. Алгоритм 29
  30. 30. Поиск путей● Два одновременных обхода в ширину навстречу друг другу.● На каждом шаге поддерживается два множества вершин: удаленных от начала на l1 и удаленных от конца на l2.● Если эти множества пересекаются, то есть путь длины l1+l2.● Если в множествах становится слишком много вершин, прерываемся. 30
  31. 31. Хранение графа● Открытая хеш-таблица ребер: 8 байт на (k+1)-мер и около 4 байт на пропуск (коэффициент заполнения 0.7).● Только «надежные» (k+1)-меры.● ~40 GB для генома человека, ~100 MB для RAM для бактериальных геномов.● Еще меньше памяти с помощью фильтров Блума (5.7 GB для генома человека): R. Chikhi, G. Rizk. Space-efficient and exact de Bruijn graph representation based on a Bloom filter, WABI 2012. 31
  32. 32. GapFiller● Используют подход seed-and-extend для восстановления фрагментов.● Первое чтение в паре – seed, затем оно постепенно продолжается в сторону второго чтения на основе перекрытий, используя другие чтения.● Если нашли второе чтение в паре – хорошо.Nadalin F., Vezzi F., Policriti A. GapFiller: a de novo assembly approach to fill the gapwithin paired reads. // BMC Bioinformatics. 2012. Vol. 13 (Supl. 14). 32
  33. 33. Результаты 33
  34. 34. Сборка квазиконтигов для dnGASP• 24 ядра и 64 GB RAM• Сборка квазиконтигов из всех чтений – 48 часов• Вершины – 30-меры• Длина квазиконтигов: от 330 до 550• 67% чтений преобразовано в квазиконтиги• ~27% – не единственный путь• ~6% – не найдено пути 34
  35. 35. Распределение длин1,40E-021,20E-02 Розовый – априорное распределение Синий – длины1,00E-028,00E-03 квазиконтигов6,00E-034,00E-032,00E-030,00E+00 4 2 0 8 6 4 2 0 8 6 4 2 0 8 6 4 2 0 8 6 4 2 0 8 6 4 2 0 8 6 4 2 0 8 6 4 26 27 28 28 29 30 31 32 32 33 34 35 36 36 37 38 39 40 40 41 42 43 44 44 45 46 47 48 48 49 50 51 52 52 53 54 35
  36. 36. СБОРКА КОНТИГОВ
  37. 37. Overlap-Layout-Consensus● Удаляем лишние квазиконтиги.● Добавление обратно-комплементарных копий.● Поиск перекрытий.● Удаление транзитивных перекрытий.● Упрощение графа перекрытий.● Вывод первого приближения контигов.● Микросборка. 37
  38. 38. Поиск перекрытий● Построим строку S = “<Квазиконтиг1>$<Квазиконтиг2>$...$”● Построим для нее суффиксный массив (bucket-sort + quicksort).● Для каждого квазиконтига двоичным поиском ищем все его префиксы.● Делаем поиск сразу для группы с одинаковыми префиксами.● Поиск префиксов с неточными совпадениями. 38
  39. 39. Удаление транзитивных ребер● Использование центрального сдвига.● Все перекрытия загружаются в память и сортируются по сдвигу. CenterShiftAB Квазиконтиг A A T G C A G C T G G Квазиконтиг B T G C A G C T G G A Квазиконтиг C C A G C T G G A C T CenterShiftBC 39
  40. 40. Упрощение графа (1) 3, 2 TACAG AGCAT 3, 2 3, 2 CCGTA ATACG 2.5, 3 3.5, 2 3, 3 GTACGG CGGCAT 2.5, 3 0.5, 5 2.5, 3 0.5, 5 3, 2CCGTA GTACGG TACAG CGGCAT AGCAT ATACG 40
  41. 41. Упрощение графа (2) ... ... 41
  42. 42. Первая версия контигов 42
  43. 43. Сборка генома Opistorchis Felineus (1)• Исходные данные – 350 миллионов пар чтений – Длина чтения – 72 основания – Общий размер: 50 Гбаз• Секвенирован в центре «Биоинженерия» РАН 43
  44. 44. Opistorchis Felineus : квазиконтиги• 63% парных чтений были преобразованы в квазиконтиги 44
  45. 45. Сборка генома Opistorchis Felineus (2)• Число контигов: 962013• Суммарная длина: 1061744060• Максимальная длина: 29392• Минимальная длина: 48• Средняя длина: 1104• N50: 1906 (у ABySS: ~1000)• N90: 412 45
  46. 46. Микросборка• Есть парные чтения концы которых расположенны на разных контигах• Промежуток между контигам покрыт чтениями, парными к расположенным на обоих контигах 46
  47. 47. Микросборка● Чтения (a1, a2) соединяют контиги A и B● Чтения (b1, b2) и (c1, c2) используются для заполнения промежутка● Картирование с помощью Bowtie 47
  48. 48. Алгоритм микросборки• Найдем позиции парных чтений в контигах• Найдем пары контигов таких, что их соединяет достаточно большое число чтений• Построим граф де Брѐйна из парных чтений, как минимум одно из которых расположено в одном из этих контигов• Воспользуемся алгоритмом сборки квазиконтигов для заполнения промежутка 48
  49. 49. Результаты микросборки• Геном E. Coli• До микросборки – 537 контигов с N50 = 15039• После микросборки – 213 контигов с N50 = 50716• Почему-то не работает для больших геномов 49
  50. 50. РАСПРЕДЕЛЕННЫЙ АЛГОРИТМСБОРКИ ГЕНОМА 50
  51. 51. Производительность секвенаторов и компьютеров• Производительность суперкомпьютеров удваивается каждые 18 месяцев• Стоимость секвенирования падает в 10 раз каждые 18 месяцев 51
  52. 52. Особенность задачи сборки генома относительно высокопроизводительных вычислений• Задача является «ориентированной на данные» (data intensive), что отличает ее от задач численного моделирования, решения систем линейных уравнений и т.д. – Большую часть времени занимают операции с исходными данными, а не вычисления – Распараллеливание по данным Разработка алгоритмов сборки геномных последовательностей для вычислительных систем экзафлопсного уровня производительности
  53. 53. Технологии разработки сверхмасштабируемых приложений• MPI, OpenMP, ParalleX, HPX – для computation intensive задач• CUDA – не ясно, как использовать для сборки генома• MapReduce – считается перспективной для data intensive задач – «Challenges on the Path to Exaflop/s Computing» (http://www.zettaflops.org/fec07/presentations/Monday-1330- Simon7Challenges.pdf) – «The Challenges of Exascale Computing for Astroinformatics Apps»(http://wenku.baidu.com/view/5a69e1303968011ca300915 e.html) Разработка алгоритмов сборки геномных последовательностей для вычислительных систем экзафлопсного уровня производительности
  54. 54. Подходы к распределенной сборке генома• AbySS – MPI, Граф де Брюина – Распределенная хеш-таблица для хранения графа• Phusion – Разбиение чтений на части на одном компьютере – Сборка на нескольких компьютерах• Contrail – MapReduce, Граф де Брюина – Параллельное рандомизированное ранжирование списков – Параллельный поиск шаблонов в сети 54
  55. 55. MapReduce• Map – к каждому элементу входных данных применим функцию, возвращающую пару <ключ, значение>• Reduce – сгруппируем элементы по ключу, применим к каждой группе результирующую функциюОтличный способ распределенной обработкиданных! 55
  56. 56. Параллельный метод сборки Граф де Граф Брюина перекрытий СборкаИсправление Сборка квази- Контиги ошибок контигов контигов 56
  57. 57. Распределенный метод сборки Исправление Кластеризация Сборка Кластеризацияошибок в данных Сборка контигов чтений квазиконтигов квазиконтиговсеквенирования 57
  58. 58. Исправление ошибок (1)• Подсчет частот k-меров (строк длины k) – Модификация классического MapReduce-алгоритма подсчета частот слов – Распределение k-меров по вычислительным узлам в зависимости от префикса• Исправление «ненадежных» k-меров (редкие) на похожие «надежные» (частые) 58
  59. 59. Исправление ошибок (2)• Поиск исправлений: – Ключ – префикс чтения – Map – для каждого k-мера в чтении выводим <префикс, k-мер, позиция> – Reduce – группируем по префиксу, выводим <чтение, исправление ошибки>• Применение исправлений: – Map – для каждого чтения выводим <чтение, исправление ошибки> – Reduce – группируем по чтению, выводим исправленное чтение 59
  60. 60. Сборка квазиконтигов• Входные данные – набор парных чтений• Цель – заполнить промежутки между концами чтений ATGC ??? GTCC ATGC ATGCATGCAGTG GTCC 60
  61. 61. Заполнение промежутков• У перекрывающихся чтений есть общие k-меры• Если есть общие k-меры, то чтения, возможно, перекрываются в геноме• Если есть несколько перекрывающихся чтений, то можно заполнить промежутки A T G C A G ??? C T G T C C C A G C T G ??? T C CT A C C T G G A C ??? T A CC A T A T G C A G C T G G A C T G T C C T A C C A T 61
  62. 62. Распределенная сборка квазиконтигов• Кластеризация – разделение чтений по группам для распределенной обработки.• Критерий для кластеризации – число общих k-меров Часть Квази- чтений контиги Все Часть Квази- Кластеризация чтения чтений контиги Часть Квази- чтений контиги 62
  63. 63. Кластеризация на MapReduce 63
  64. 64. Экспериментальные исследования (1)• E. Coli – 4.5 миллиона нуклеотидов – 0.5 ГБ входных данных• Кластер НИИ НКТ НИУ ИТМО – 10 узлов по 8 ядер, 24 ГБ RAM• Сборка контигов распределенным сборщиком – N50 равно 4718 нуклеотидов – 93% генома покрыто контигами – 97% генома покрыто квазиконтигами• Сборщик Contrail – N50 равно 672 нуклеотидов – 95% генома покрыто контигами 64
  65. 65. Экспериментальные исследования (2)• Синтетический геном – 1.8 млрд. нуклеотидов – 172 ГБ входных данных• Суперкомпьютер «Ломоносов» МГУ им. М.В. Ломоносова – 3900 узлов по 8 ядер, 12 ГБ RAM, Lustre FS• Поиск ошибок – 10 минут чтение и map-фаза – 2 ТБ промежуточных данных (результат map-фазы) – 5 минут передача промежуточных результатов (от map к reduce) – 9000 потоков записи результата reduce-фазы вывели из строя Lustre FS  65
  66. 66. Сборка транскриптома• Начали работу в июне 2012 года• Применяем подход, аналогичный сборке квазиконтигов 66
  67. 67. Сборка скэффолдов• Начали работу в середине 2012 года• Применяем принцип максимального правдоподобия• Первые результаты будут представлены на конференции «Постгеномные методы анализа в биологии, лабораторной и клинической медицине» (22.11-24.11, Казань)
  68. 68. Спасибо за внимание!http://genome.ifmo.ru/ruhttp://genome.ifmo.ru/en

×