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

68
Метод сборки генома на основе совместного применения графов де Брёина и графов перекрытий Лаборатория «Алгоритмы сборки геномных последовательностей» Национального исследовательского университета информационных технологий, механики и оптики 16 ноября 2012

Upload: fedor-tsarev

Post on 26-Jun-2015

5.318 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

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

Метод сборки генома на основе совместного

применения графов де Брёина и графов перекрытий

Лаборатория «Алгоритмы сборки геномных последовательностей»

Национального исследовательского университета информационных технологий, механики и оптики

16 ноября 2012

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

2

Лаборатория «Алгоритмы сборки геномных последовательностей» НИУ ИТМО

• Создана в 2010 году• Нынешний состав лаборатории – с начала

2011 года• Сейчас в лаборатории работают восемь

человек• Работа начиналась в сотрудничестве с

центром «Биоинженерия» РАН

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

3

Направления работы

• Сборка контигов• Сборка скэффолдов• Сборка транскриптома• Распределенный алгоритм сборки генома• Обучение алгоритмам сборки генома

– Курс «Genome Assembly Algorithms» в летней школе университета г. Ювяскюля (Финляндия) http://en.ifmo.ru/index.php?option=com_content&view=article&id=888:genome-assembly-algorithms&catid=167&Itemid=405

– Первое использование системы Rosalind в рамках учебного курса

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

4

Теоретические исследования в области сборки генома

• Доказана NP-трудность задачи De Bruijn Superwalk with Multiplicities (задача сформулирована на конференции RECOMB-AB) – подана доклад на RECOMB 2013

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

5

Финансирование работ

• ФЦП «Научные и научно-педагогические кадры инновационной России на 2009-2013 годы»:– Разработка метода сборки геномных последовательностей на

основе восстановления фрагментов по парным чтениям– Разработка методов сборки генома, сборки транскриптома и

динамического анализа протеома• ФЦП «Исследования и разработки по приоритетным

направлениям развития научно-технологического комплекса России на 2007—2013 годы»:– Разработка алгоритмов сборки геномных

последовательностей для вычислительных систем экзафлопсного уровня производительности

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

6

Сборка контигов

• Цель – разработать программное средство для сборки больших геномов (несколько миллиардов нуклеотидов) с использованием небольшого объема оперативной памяти (32-64 гигабайта)

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

Исходные данные

Разработка алгоритмов сборки геномных последовательностей для вычислительных систем экзафлопсного уровня производительности

Парные чтения геномной последовательности (длина порядка 100 символов), геном покрыт чтениями несколько десятков раз

Необходимо: восстановить как можно больше непрерывных фрагментов геномной последовательности (контигов)

Геном

Фрагмент (~500 нуклеотидов)

Парные чтения (риды) (по ~100 нуклеотидов)

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

8

Проект dnGASP

• dnGASP = de novo Genome Assembly Assessment Project (http://cnag.bsc.es)

• Организован Национальным центром геномного анализа (Барселона, Испания)

• Сборка искусственного генома размеров 1.8 Гб

• Начало: 15 декабря 2010 года, конец: 01 марта 2011 года

• Аналогичные проекты: Assemblathon, Assemblathon 2

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

9

Искусственный геном

• 14 искусственных хромосом– 11 – на основе реальных живых организмов– 3 – полностью искусственные с разными

типами повторов• Было смоделировано чтение генома

машиной второго поколения– Известно распределение длин фрагментов

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

10

Исходные данные для сборки генома

• Заданы 4 библиотеки ридов– Длина ридов: 114, длина фрагмента ~500,

покрытие – 44 раза– Длина ридов: 36, длина фрагмента ~3000,

покрытие – 8 раз– Длина ридов: 36, длина фрагмента ~5000,

покрытие – 8 раз– Длина ридов: 36, длина фрагмента ~10000,

покрытие – 4 раза

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

11

Алгоритм

Исправление ошибок

Сборка квази-

контигов

Сборка контигов

Сборка скэффолдов

Граф де Брюина

Подход OLC

OLC = overlap-layout-consensus

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

12

Исправление ошибок: обрезка ридов

• Сканируем начиная с начала каждый рид до тех пор, пока не найдем нуклеотид с качеством меньшим 90%

• Обрезаем рид начиная с этой позиции

>90% >90% >90% >90% >90% >90% <90%

>90% >90% >90% >90% >90% >90%

>90%

>90%

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

13

Исправление ошибок: частотный анализ

• Рассмотрим все 30-символьные подстроки ридов и обратно-комплементарные к ним

• Вычислим число вхождений для каждой из них– Редко встречается – есть ошибка– Часто встречается – является «доверенным»

• Граница выбирается автоматически

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

14

Исправление ошибок: распределение

• < 4 вхождений – «недоверенные»• Другие 30-меры – «доверенные»

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

15

Исправление ошибок: корзины

• Память:– Каждая подстрока - 64-битное число– Число вхождений – 32-битное число– ~6·109 различных 30-меров во всех ридах – 72 Гб

(а есть только 24)• Распределение 30-меров по корзинам в

соответствии с префиксами• Префикс длины k → 4k корзин

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

16

Исправление ошибок

• Каждая корзина обрабатывается отдельно• Рассмотрим «недоверенный» 30-мер

– Меняем один символ в нем: 3·(30-k) способов– Если ровно один 30-мер «доверенный», исправляем

соответствующее чтение• Для исправления ошибок в префиксах, можно загрузить еще

3k корзин в память или... • Не загружать – рассмотрим обратно-комплементарный 30-

мер

A CATG TA

A ATGT TC

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

17

Исправление ошибок: результаты на данных dnGASP

• Использовался компьютер с 24 ядрами и 24 Гб оперативной памяти в течение 24 часов

• Число различных 30-меров:– До: – После: (~40% меньше)

• Число «доверенных» 30-меров:– До: – После: ~10% больше)

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

18

СБОРКА КВАЗИКОНТИГОВ

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

19

Парные чтения

ДНК

Фрагмент (180–500 оснований)

Парные чтения (30–120 оснований)

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

20

Цель сборки квазиконтигов

??? GTCCATGC

ATGCATGCAGTG GTCCATGC

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

Граф де Брёйна для множества строк S:● V = ● E =

21

Граф де Брёйна

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

22

Пример графа де Брёйна (1)

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

23

Пример графа де Брёйна (2)

AGT GTG

GTC TCA CAT ATC TCC

CCA

CAA

AACACA

CAC

CAGAGGGGAGAG

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

24

Пример графа де Брёйна (3)

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

25

Пример графа де Брёйна (4)

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

Уникальные пути (1)

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

Уникальные пути (2)

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

Уникальные пути преобразуются в квазиконтиги

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

29

Алгоритм

● Для каждой пары чтений найдем путь, соединяющий первый k-мер r1 и обратно-комплементарный первый k-мер r2.

● Длина пути должна укладываться в априорные границы.

● Путь должен быть единственным.

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

30

Поиск путей

● Два одновременных обхода в ширину навстречу друг другу.

● На каждом шаге поддерживается два множества вершин: удаленных от начала на l1 и удаленных от конца на l2.

● Если эти множества пересекаются, то есть путь длины l1+l2.

● Если в множествах становится слишком много вершин, прерываемся.

Page 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.

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

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).

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

33

Результаты● Геном E. Coli (4.5 Mbp), библиотека SRR001665

(160-кратное покрытие, размер фрагмента ~200, длина чтений – 36).

● Наш сборщик: 1 CPU час, из квазиконтигов картировались на референс не идеально, 1.2% генома было не покрыто.

● Если использовать «N» – 0.4%● GapFiller: 20 CPU часов, из не идеальны, 0.3%

генома не покрыто.

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

34

Сборка квазиконтигов для dnGASP

• 24 ядра и 64 GB RAM• Сборка квазиконтигов из всех чтений – 48

часов• Вершины – 30-меры• Длина квазиконтигов: от 330 до 550• 67% чтений преобразовано в квазиконтиги• ~27% – не единственный путь• ~6% – не найдено пути

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

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

Розовый – априорное распределение

Синий – длины квазиконтигов

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

СБОРКА КОНТИГОВ

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

37

Overlap-Layout-Consensus● Удаляем лишние квазиконтиги.● Добавление обратно-комплементарных копий.● Поиск перекрытий.● Удаление транзитивных перекрытий.● Упрощение графа перекрытий.● Вывод первого приближения контигов.● Микросборка.

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

38

Поиск перекрытий● Построим строку

S = “<Квазиконтиг1>$<Квазиконтиг2>$...$”● Построим для нее суффиксный массив (bucket-sort

+ quicksort).● Для каждого квазиконтига двоичным поиском

ищем все его префиксы.● Делаем поиск сразу для группы с одинаковыми

префиксами.● Поиск префиксов с неточными совпадениями.

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

39

Удаление транзитивных ребер

● Использование центрального сдвига.● Все перекрытия загружаются в память и

сортируются по сдвигу.

Квазиконтиг A

Квазиконтиг C

GTCA CGT GA G

CAGC GA GT T

CenterShiftAB

C

GGTT CG CG AAКвазиконтиг B

CenterShiftBC

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

40

Упрощение графа (1)

AGCAT

CCGTA ATACG

TACAG3, 2

3, 2

3, 2

CGGCATGTACGG3, 3

3.5, 22.5, 3

CCGTA ATACGGTACGG TACAG CGGCAT AGCAT2.5, 3 0.5, 5 3, 20.5, 52.5, 3

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

41

Упрощение графа (2)

...

...

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

42

Первая версия контигов

● Пути без ветвлений.● На E. Coli: ● В 1 ГБ памяти, около 15 минут.

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

43

Сборка генома Opistorchis Felineus (1)

• Исходные данные– 350 миллионов пар чтений– Длина чтения – 72 основания – Общий размер: 50 Гбаз

• Секвенирован в центре «Биоинженерия» РАН

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

44

Opistorchis Felineus : квазиконтиги

• 63% парных чтений были преобразованы в квазиконтиги

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

45

Сборка генома Opistorchis Felineus (2)

• Число контигов: 962013• Суммарная длина: 1061744060• Максимальная длина: 29392• Минимальная длина: 48• Средняя длина: 1104• N50: 1906 (у ABySS: ~1000)• N90: 412

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

46

Микросборка

• Есть парные чтения концы которых расположенны на разных контигах

• Промежуток между контигам покрыт чтениями, парными к расположенным на обоих контигах

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

47

Микросборка

● Чтения (a1, a2) соединяют контиги A и B● Чтения (b1, b2) и (c1, c2) используются для

заполнения промежутка● Картирование с помощью Bowtie

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

48

Алгоритм микросборки

• Найдем позиции парных чтений в контигах

• Найдем пары контигов таких, что их соединяет достаточно большое число чтений

• Построим граф де Брёйна из парных чтений, как минимум одно из которых расположено в одном из этих контигов

• Воспользуемся алгоритмом сборки квазиконтигов для заполнения промежутка

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

49

Результаты микросборки

• Геном E. Coli• До микросборки – 537 контигов с N50 =

15039• После микросборки – 213 контигов с N50 =

50716• Почему-то не работает для больших

геномов

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

50

РАСПРЕДЕЛЕННЫЙ АЛГОРИТМ СБОРКИ ГЕНОМА

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

51

Производительность секвенаторов и компьютеров

• Производительность суперкомпьютеров удваивается каждые 18 месяцев

• Стоимость секвенирования падает в 10 раз каждые 18 месяцев

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

Особенность задачи сборки генома относительно высокопроизводительных вычислений

• Задача является «ориентированной на данные» (data intensive), что отличает ее от задач численного моделирования, решения систем линейных уравнений и т.д.– Большую часть времени занимают

операции с исходными данными, а не вычисления

– Распараллеливание по данным

Разработка алгоритмов сборки геномных последовательностей для вычислительных систем экзафлопсного уровня производительности

Page 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/5a69e1303968011ca300915e.html)

Разработка алгоритмов сборки геномных последовательностей для вычислительных систем экзафлопсного уровня производительности

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

54

Подходы к распределеннойсборке генома

• AbySS – MPI, Граф де Брюина– Распределенная хеш-таблица для хранения графа

• Phusion – Разбиение чтений на части на одном компьютере– Сборка на нескольких компьютерах

• Contrail – MapReduce, Граф де Брюина– Параллельное рандомизированное ранжирование

списков– Параллельный поиск шаблонов в сети

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

55

MapReduce

• Map – к каждому элементу входных данных применим функцию, возвращающую пару <ключ, значение>

• Reduce – сгруппируем элементы по ключу, применим к каждой группе результирующую функцию

Отличный способ распределенной обработки данных!

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

56

Параллельный метод сборки

Исправление ошибок

Сборка квази-

контигов

Сборка контигов

Контиги

Граф де Брюина

Граф перекрытий

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

57

Распределенный метод сборки

Исправление ошибок в данных секвенирования

Кластеризация чтений

Сборка квазиконтигов

Кластеризация квазиконтигов

Сборка контигов

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

58

Исправление ошибок (1)

• Подсчет частот k‑меров (строк длины k)– Модификация классического MapReduce-алгоритма

подсчета частот слов– Распределение k‑меров по вычислительным узлам в

зависимости от префикса

• Исправление «ненадежных» k‑меров (редкие) на похожие «надежные» (частые)

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

59

Исправление ошибок (2)• Поиск исправлений:

– Ключ – префикс чтения– Map – для каждого k‑мера в чтении выводим

<префикс, k‑мер, позиция>– Reduce – группируем по префиксу, выводим

<чтение, исправление ошибки>• Применение исправлений:

– Map – для каждого чтения выводим <чтение, исправление ошибки>

– Reduce – группируем по чтению, выводим исправленное чтение

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

60

Сборка квазиконтигов

??? GTCCATGC

• Входные данные – набор парных чтений

• Цель – заполнить промежутки между концами чтений

ATGCATGCAGTG GTCCATGC

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

61

Заполнение промежутков

???A CCGT G G T CA TC

??? CC G T CA T AGTC

GTCA CGT GA CG T CTCAG CT A TC A

C

??? CC G T AT C ACAG T

• У перекрывающихся чтений есть общие k‑меры• Если есть общие k‑меры, то чтения, возможно,

перекрываются в геноме • Если есть несколько перекрывающихся чтений, то

можно заполнить промежутки

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

62

Распределенная сборка квазиконтигов

Все чтения

Часть чтений

Часть чтений

Часть чтений

Кластеризация

Квази-контиги

Квази-контиги

Квази-контиги

• Кластеризация – разделение чтений по группам для распределенной обработки.

• Критерий для кластеризации – число общих k‑меров

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

63

Кластеризация на MapReduce• Построим граф чтений:

– Вершины – чтения– Ребра – общие k меры‑

• Выберем 1% чтений• Разобьем все чтения на группы начиная с

выбранных чтений– Reduce – шаг обхода в ширину, принимающий

<вершина, группы этой вершины, соседниевершины>, возвращающий <сосед, его группы>

– Число шагов обхода в ширину:

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

64

Экспериментальные исследования (1)

• E. Coli– 4.5 миллиона нуклеотидов– 0.5 ГБ входных данных

• Кластер НИИ НКТ НИУ ИТМО– 10 узлов по 8 ядер, 24 ГБ RAM

• Сборка контигов распределенным сборщиком– N50 равно 4718 нуклеотидов– 93% генома покрыто контигами– 97% генома покрыто квазиконтигами

• Сборщик Contrail– N50 равно 672 нуклеотидов– 95% генома покрыто контигами

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

65

Экспериментальные исследования (2)

• Синтетический геном– 1.8 млрд. нуклеотидов– 172 ГБ входных данных

• Суперкомпьютер «Ломоносов»МГУ им. М.В. Ломоносова– 3900 узлов по 8 ядер, 12 ГБ RAM, Lustre FS

• Поиск ошибок– 10 минут чтение и map-фаза– 2 ТБ промежуточных данных (результат map-фазы)– 5 минут передача промежуточных результатов (от map к

reduce) – 9000 потоков записи результата reduce-фазы вывели из

строя Lustre FS

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

66

Сборка транскриптома

• Начали работу в июне 2012 года• Применяем подход, аналогичный сборке

квазиконтигов

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

Сборка скэффолдов

• Начали работу в середине 2012 года• Применяем принцип максимального

правдоподобия• Первые результаты будут представлены на

конференции «Постгеномные методы анализа в биологии, лабораторной и клинической медицине» (22.11-24.11, Казань)

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

Спасибо за внимание!

http://genome.ifmo.ru/ruhttp://genome.ifmo.ru/en