Метод сборки генома на основе совместного применения графов де Брёина и графов перекрытий Лаборатория «Алгоритмы сборки геномных последовательностей» Национального исследовательского университета информационных технологий, механики и оптики 16 ноября 2012
68
Embed
Доклад на семинаре в лаборатории алгоритмической биологии АУ
Слайды доклада 16.11.2012 на семинаре в лаборатории алгоритмической биологии АУ
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Метод сборки генома на основе совместного
применения графов де Брёина и графов перекрытий
Лаборатория «Алгоритмы сборки геномных последовательностей»
Национального исследовательского университета информационных технологий, механики и оптики
16 ноября 2012
2
Лаборатория «Алгоритмы сборки геномных последовательностей» НИУ ИТМО
• Создана в 2010 году• Нынешний состав лаборатории – с начала
– Курс «Genome Assembly Algorithms» в летней школе университета г. Ювяскюля (Финляндия) http://en.ifmo.ru/index.php?option=com_content&view=article&id=888:genome-assembly-algorithms&catid=167&Itemid=405
– Первое использование системы Rosalind в рамках учебного курса
Теоретические исследования в области сборки генома
• Доказана NP-трудность задачи De Bruijn Superwalk with Multiplicities (задача сформулирована на конференции RECOMB-AB) – подана доклад на RECOMB 2013
5
Финансирование работ
• ФЦП «Научные и научно-педагогические кадры инновационной России на 2009-2013 годы»:– Разработка метода сборки геномных последовательностей на
основе восстановления фрагментов по парным чтениям– Разработка методов сборки генома, сборки транскриптома и
динамического анализа протеома• ФЦП «Исследования и разработки по приоритетным
направлениям развития научно-технологического комплекса России на 2007—2013 годы»:– Разработка алгоритмов сборки геномных
последовательностей для вычислительных систем экзафлопсного уровня производительности
6
Сборка контигов
• Цель – разработать программное средство для сборки больших геномов (несколько миллиардов нуклеотидов) с использованием небольшого объема оперативной памяти (32-64 гигабайта)
Исходные данные
Разработка алгоритмов сборки геномных последовательностей для вычислительных систем экзафлопсного уровня производительности
Парные чтения геномной последовательности (длина порядка 100 символов), геном покрыт чтениями несколько десятков раз
Необходимо: восстановить как можно больше непрерывных фрагментов геномной последовательности (контигов)
Геном
Фрагмент (~500 нуклеотидов)
Парные чтения (риды) (по ~100 нуклеотидов)
8
Проект dnGASP
• dnGASP = de novo Genome Assembly Assessment Project (http://cnag.bsc.es)
• Организован Национальным центром геномного анализа (Барселона, Испания)
• Сборка искусственного генома размеров 1.8 Гб
• Начало: 15 декабря 2010 года, конец: 01 марта 2011 года
• 14 искусственных хромосом– 11 – на основе реальных живых организмов– 3 – полностью искусственные с разными
типами повторов• Было смоделировано чтение генома
машиной второго поколения– Известно распределение длин фрагментов
10
Исходные данные для сборки генома
• Заданы 4 библиотеки ридов– Длина ридов: 114, длина фрагмента ~500,
покрытие – 44 раза– Длина ридов: 36, длина фрагмента ~3000,
покрытие – 8 раз– Длина ридов: 36, длина фрагмента ~5000,
покрытие – 8 раз– Длина ридов: 36, длина фрагмента ~10000,
покрытие – 4 раза
11
Алгоритм
Исправление ошибок
Сборка квази-
контигов
Сборка контигов
Сборка скэффолдов
Граф де Брюина
Подход OLC
OLC = overlap-layout-consensus
12
Исправление ошибок: обрезка ридов
• Сканируем начиная с начала каждый рид до тех пор, пока не найдем нуклеотид с качеством меньшим 90%
• Обрезаем рид начиная с этой позиции
>90% >90% >90% >90% >90% >90% <90%
>90% >90% >90% >90% >90% >90%
>90%
>90%
13
Исправление ошибок: частотный анализ
• Рассмотрим все 30-символьные подстроки ридов и обратно-комплементарные к ним
• Вычислим число вхождений для каждой из них– Редко встречается – есть ошибка– Часто встречается – является «доверенным»
• Граница выбирается автоматически
14
Исправление ошибок: распределение
• < 4 вхождений – «недоверенные»• Другие 30-меры – «доверенные»
15
Исправление ошибок: корзины
• Память:– Каждая подстрока - 64-битное число– Число вхождений – 32-битное число– ~6·109 различных 30-меров во всех ридах – 72 Гб
(а есть только 24)• Распределение 30-меров по корзинам в
соответствии с префиксами• Префикс длины k → 4k корзин
16
Исправление ошибок
• Каждая корзина обрабатывается отдельно• Рассмотрим «недоверенный» 30-мер
– Меняем один символ в нем: 3·(30-k) способов– Если ровно один 30-мер «доверенный», исправляем
соответствующее чтение• Для исправления ошибок в префиксах, можно загрузить еще
3k корзин в память или... • Не загружать – рассмотрим обратно-комплементарный 30-
мер
A CATG TA
A ATGT TC
17
Исправление ошибок: результаты на данных dnGASP
• Использовался компьютер с 24 ядрами и 24 Гб оперативной памяти в течение 24 часов
• Число различных 30-меров:– До: – После: (~40% меньше)
• Число «доверенных» 30-меров:– До: – После: ~10% больше)
18
СБОРКА КВАЗИКОНТИГОВ
19
Парные чтения
ДНК
Фрагмент (180–500 оснований)
Парные чтения (30–120 оснований)
20
Цель сборки квазиконтигов
??? GTCCATGC
ATGCATGCAGTG GTCCATGC
Граф де Брёйна для множества строк S:● V = ● E =
21
Граф де Брёйна
22
Пример графа де Брёйна (1)
23
Пример графа де Брёйна (2)
AGT GTG
GTC TCA CAT ATC TCC
CCA
CAA
AACACA
CAC
CAGAGGGGAGAG
24
Пример графа де Брёйна (3)
25
Пример графа де Брёйна (4)
Уникальные пути (1)
Уникальные пути (2)
Уникальные пути преобразуются в квазиконтиги
29
Алгоритм
● Для каждой пары чтений найдем путь, соединяющий первый k-мер r1 и обратно-комплементарный первый k-мер r2.
● Длина пути должна укладываться в априорные границы.
● Путь должен быть единственным.
30
Поиск путей
● Два одновременных обхода в ширину навстречу друг другу.
● На каждом шаге поддерживается два множества вершин: удаленных от начала на l1 и удаленных от конца на l2.
● Если эти множества пересекаются, то есть путь длины l1+l2.
● Если в множествах становится слишком много вершин, прерываемся.
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.
32
GapFiller● Используют подход seed-and-extend для
восстановления фрагментов.● Первое чтение в паре – seed, затем оно постепенно
продолжается в сторону второго чтения на основе перекрытий, используя другие чтения.
● Если нашли второе чтение в паре – хорошо.
Nadalin F., Vezzi F., Policriti A. GapFiller: a de novo assembly approach to fill the gap within paired reads. // BMC Bioinformatics. 2012. Vol. 13 (Supl. 14).
33
Результаты● Геном E. Coli (4.5 Mbp), библиотека SRR001665
(160-кратное покрытие, размер фрагмента ~200, длина чтений – 36).
● Наш сборщик: 1 CPU час, из квазиконтигов картировались на референс не идеально, 1.2% генома было не покрыто.
● Если использовать «N» – 0.4%● GapFiller: 20 CPU часов, из не идеальны, 0.3%
генома не покрыто.
34
Сборка квазиконтигов для dnGASP
• 24 ядра и 64 GB RAM• Сборка квазиконтигов из всех чтений – 48
часов• Вершины – 30-меры• Длина квазиконтигов: от 330 до 550• 67% чтений преобразовано в квазиконтиги• ~27% – не единственный путь• ~6% – не найдено пути
35
Распределение длин
0,00E+00
2,00E-03
4,00E-03
6,00E-03
8,00E-03
1,00E-02
1,20E-02
1,40E-02
264
272
280
288
296
304
312
320
328
336
344
352
360
368
376
384
392
400
408
416
424
432
440
448
456
464
472
480
488
496
504
512
520
528
536
544
Розовый – априорное распределение
Синий – длины квазиконтигов
СБОРКА КОНТИГОВ
37
Overlap-Layout-Consensus● Удаляем лишние квазиконтиги.● Добавление обратно-комплементарных копий.● Поиск перекрытий.● Удаление транзитивных перекрытий.● Упрощение графа перекрытий.● Вывод первого приближения контигов.● Микросборка.
38
Поиск перекрытий● Построим строку
S = “<Квазиконтиг1>$<Квазиконтиг2>$...$”● Построим для нее суффиксный массив (bucket-sort
+ quicksort).● Для каждого квазиконтига двоичным поиском
ищем все его префиксы.● Делаем поиск сразу для группы с одинаковыми
префиксами.● Поиск префиксов с неточными совпадениями.
39
Удаление транзитивных ребер
● Использование центрального сдвига.● Все перекрытия загружаются в память и
● Пути без ветвлений.● На E. Coli: ● В 1 ГБ памяти, около 15 минут.
43
Сборка генома Opistorchis Felineus (1)
• Исходные данные– 350 миллионов пар чтений– Длина чтения – 72 основания – Общий размер: 50 Гбаз
• Секвенирован в центре «Биоинженерия» РАН
44
Opistorchis Felineus : квазиконтиги
• 63% парных чтений были преобразованы в квазиконтиги
45
Сборка генома Opistorchis Felineus (2)
• Число контигов: 962013• Суммарная длина: 1061744060• Максимальная длина: 29392• Минимальная длина: 48• Средняя длина: 1104• N50: 1906 (у ABySS: ~1000)• N90: 412
46
Микросборка
• Есть парные чтения концы которых расположенны на разных контигах
• Промежуток между контигам покрыт чтениями, парными к расположенным на обоих контигах
47
Микросборка
● Чтения (a1, a2) соединяют контиги A и B● Чтения (b1, b2) и (c1, c2) используются для
заполнения промежутка● Картирование с помощью Bowtie
48
Алгоритм микросборки
• Найдем позиции парных чтений в контигах
• Найдем пары контигов таких, что их соединяет достаточно большое число чтений
• Построим граф де Брёйна из парных чтений, как минимум одно из которых расположено в одном из этих контигов
• Воспользуемся алгоритмом сборки квазиконтигов для заполнения промежутка
49
Результаты микросборки
• Геном E. Coli• До микросборки – 537 контигов с N50 =
15039• После микросборки – 213 контигов с N50 =
50716• Почему-то не работает для больших
геномов
50
РАСПРЕДЕЛЕННЫЙ АЛГОРИТМ СБОРКИ ГЕНОМА
51
Производительность секвенаторов и компьютеров
• Производительность суперкомпьютеров удваивается каждые 18 месяцев
• Стоимость секвенирования падает в 10 раз каждые 18 месяцев
Особенность задачи сборки генома относительно высокопроизводительных вычислений
• Задача является «ориентированной на данные» (data intensive), что отличает ее от задач численного моделирования, решения систем линейных уравнений и т.д.– Большую часть времени занимают
операции с исходными данными, а не вычисления
– Распараллеливание по данным
Разработка алгоритмов сборки геномных последовательностей для вычислительных систем экзафлопсного уровня производительности
Технологии разработки сверхмасштабируемых приложений
• MPI, OpenMP, ParalleX, HPX – для computation intensive задач
• CUDA – не ясно, как использовать для сборки генома• MapReduce – считается перспективной для data
intensive задач– «Challenges on the Path to Exaflop/s Computing» (