SlideShare uma empresa Scribd logo
1 de 68
Метод сборки генома на
     основе совместного
применения графов де Брёина
    и графов перекрытий
   Лаборатория «Алгоритмы сборки
   геномных последовательностей»
  Национального исследовательского
    университета информационных
    технологий, механики и оптики
           16 ноября 2012
Лаборатория «Алгоритмы сборки геномных
     последовательностей» НИУ ИТМО
• Создана в 2010 году
• Нынешний состав лаборатории – с начала
  2011 года
• Сейчас в лаборатории работают восемь
  человек
• Работа начиналась в сотрудничестве с
  центром «Биоинженерия» РАН


                                           2
Направления работы
•   Сборка контигов
•   Сборка скэффолдов
•   Сборка транскриптома
•   Распределенный алгоритм сборки генома
•   Обучение алгоритмам сборки генома
    – Курс «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
Теоретические исследования в
      области сборки генома
• Доказана NP-трудность задачи De Bruijn
  Superwalk with Multiplicities (задача
  сформулирована на конференции RECOMB-
  AB) – подана доклад на RECOMB 2013




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

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




                                            6
Исходные данные
 Парные чтения геномной последовательности
  (длина порядка 100 символов), геном покрыт
  чтениями несколько десятков раз
 Необходимо: восстановить как можно больше
  непрерывных фрагментов геномной
  последовательности (контигов)
                                           Геном

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

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

    Разработка алгоритмов сборки геномных последовательностей для вычислительных систем
                          экзафлопсного уровня производительности
Проект dnGASP
• dnGASP = de novo Genome Assembly
  Assessment Project (http://cnag.bsc.es)
• Организован Национальным центром
  геномного анализа (Барселона, Испания)
• Сборка искусственного генома размеров
  1.8 Гб
• Начало: 15 декабря 2010 года, конец: 01
  марта 2011 года
• Аналогичные проекты: Assemblathon,
  Assemblathon 2
                                            8
Искусственный геном
• 14 искусственных хромосом
  – 11 – на основе реальных живых организмов
  – 3 – полностью искусственные с разными
    типами повторов
• Было смоделировано чтение генома
  машиной второго поколения
  – Известно распределение длин фрагментов



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

• Заданы 4 библиотеки ридов
  – Длина ридов: 114, длина фрагмента ~500,
    покрытие – 44 раза
  – Длина ридов: 36, длина фрагмента ~3000,
    покрытие – 8 раз
  – Длина ридов: 36, длина фрагмента ~5000,
    покрытие – 8 раз
  – Длина ридов: 36, длина фрагмента ~10000,
    покрытие – 4 раза

                                               10
Алгоритм

        Граф де                             Подход
        Брюина                               OLC



                   Сборка
Исправление                       Сборка           Сборка
                   квази-
  ошибок                         контигов       скэффолдов
                  контигов



    OLC = overlap-layout-consensus

                                                         11
Исправление ошибок: обрезка
                ридов
• Сканируем начиная с начала каждый рид до тех
  пор, пока не найдем нуклеотид с качеством
  меньшим 90%
• Обрезаем рид начиная с этой позиции


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




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



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

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



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




• < 4 вхождений – «недоверенные»
• Другие 30-меры – «доверенные»
                                     14
Исправление ошибок: корзины
• Память:
  – Каждая подстрока - 64-битное число
  – Число вхождений – 32-битное число
  – ~6·109 различных 30-меров во всех ридах – 72 Гб
    (а есть только 24)
• Распределение 30-меров по корзинам в
  соответствии с префиксами
• Префикс длины k → 4k корзин

                                                  15
Исправление ошибок
• Каждая корзина обрабатывается отдельно
• Рассмотрим «недоверенный» 30-мер
   – Меняем один символ в нем: 3·(30-k) способов
   – Если ровно один 30-мер «доверенный», исправляем
     соответствующее чтение
• Для исправления ошибок в префиксах, можно загрузить еще
  3k корзин в память или...
• Не загружать – рассмотрим обратно-комплементарный 30-
  мер

                    A G T A C A T


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




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


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

              ДНК



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



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


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

 ATGC      ???     GTCC




 ATGC ATGCATGCAGTG GTCC


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




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




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

      GTC   TCA   CAT   ATC   TCC

AGT   GTG                     CCA
                        CAC   CAA
GAG   GGA   AGG   CAG   ACA   AAC



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




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




                             25
Уникальные пути (1)
Уникальные пути (2)
Уникальные пути преобразуются в
         квазиконтиги
Алгоритм




           29
Поиск путей
●   Два одновременных обхода в ширину навстречу
    друг другу.
●   На каждом шаге поддерживается два множества
    вершин: удаленных от начала на l1 и удаленных
    от конца на l2.
●   Если эти множества пересекаются, то есть путь
    длины l1+l2.
●   Если в множествах становится слишком много
    вершин, прерываемся.
                                                    30
Хранение графа
●   Открытая хеш-таблица ребер: 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
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).


                                                                                            32
Результаты




             33
Сборка квазиконтигов для dnGASP
• 24 ядра и 64 GB RAM
• Сборка квазиконтигов из всех чтений – 48
  часов
• Вершины – 30-меры
• Длина квазиконтигов: от 330 до 550
• 67% чтений преобразовано в квазиконтиги
• ~27% – не единственный путь
• ~6% – не найдено пути

                                             34
Распределение длин
1,40E-02




1,20E-02
           Розовый – априорное
           распределение
           Синий – длины
1,00E-02




8,00E-03
           квазиконтигов

6,00E-03




4,00E-03




2,00E-03




0,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
СБОРКА КОНТИГОВ
Overlap-Layout-Consensus
●   Удаляем лишние квазиконтиги.
●   Добавление обратно-комплементарных
    копий.
●   Поиск перекрытий.
●   Удаление транзитивных перекрытий.
●   Упрощение графа перекрытий.
●   Вывод первого приближения контигов.
●   Микросборка.
                                          37
Поиск перекрытий
● Построим строку
 S = “<Квазиконтиг1>$<Квазиконтиг2>$...$”
● Построим для нее суффиксный массив

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

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

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



                                          38
Удаление транзитивных ребер
●   Использование центрального сдвига.
●   Все перекрытия загружаются в память и
    сортируются по сдвигу.
                           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
Упрощение графа (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, 2
CCGTA            GTACGG              TACAG            CGGCAT              AGCAT           ATACG




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



                      ...




                      ...

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




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

• Исходные данные
  – 350 миллионов пар чтений
  – Длина чтения – 72 основания
  – Общий размер: 50 Гбаз
• Секвенирован в центре «Биоинженерия»
  РАН



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




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

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

                                             45
Микросборка



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

                     46
Микросборка
●   Чтения (a1, a2) соединяют контиги A и B
●   Чтения (b1, b2) и (c1, c2) используются для
    заполнения промежутка
●   Картирование с помощью Bowtie




                                                  47
Алгоритм микросборки
• Найдем позиции парных чтений в контигах
• Найдем пары контигов таких, что их
  соединяет достаточно большое число чтений
• Построим граф де Брѐйна из парных чтений,
  как минимум одно из которых расположено в
  одном из этих контигов
• Воспользуемся алгоритмом сборки
  квазиконтигов для заполнения промежутка


                     48
Результаты микросборки
• Геном E. Coli
• До микросборки – 537 контигов с N50 =
  15039
• После микросборки – 213 контигов с N50 =
  50716
• Почему-то не работает для больших
  геномов


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

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




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

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

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


 Разработка алгоритмов сборки геномных последовательностей для вычислительных систем
                       экзафлопсного уровня производительности
Технологии разработки
        сверхмасштабируемых приложений
• 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)




 Разработка алгоритмов сборки геномных последовательностей для вычислительных систем
                       экзафлопсного уровня производительности
Подходы к распределенной
           сборке генома
• AbySS – MPI, Граф де Брюина
  – Распределенная хеш-таблица для хранения графа
• Phusion
  – Разбиение чтений на части на одном компьютере
  – Сборка на нескольких компьютерах
• Contrail – MapReduce, Граф де Брюина
  – Параллельное рандомизированное ранжирование
    списков
  – Параллельный поиск шаблонов в сети


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

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

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

        Граф де                            Граф
        Брюина                          перекрытий



                   Сборка
Исправление                   Сборка
                   квази-                       Контиги
  ошибок                     контигов
                  контигов




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



 Исправление
                  Кластеризация      Сборка       Кластеризация
ошибок в данных                                                   Сборка контигов
                     чтений       квазиконтигов   квазиконтигов
секвенирования




                                                                            57
Исправление ошибок (1)
• Подсчет частот k-меров (строк длины k)
  – Модификация классического MapReduce-алгоритма
    подсчета частот слов
  – Распределение k-меров по вычислительным узлам в
    зависимости от префикса
• Исправление «ненадежных» k-меров (редкие) на
  похожие «надежные» (частые)




                                                      58
Исправление ошибок (2)
• Поиск исправлений:
  – Ключ – префикс чтения
  – Map – для каждого k-мера в чтении выводим
    <префикс, k-мер, позиция>
  – Reduce – группируем по префиксу, выводим
    <чтение, исправление ошибки>
• Применение исправлений:
  – Map – для каждого чтения выводим
    <чтение, исправление ошибки>
  – Reduce – группируем по чтению, выводим
    исправленное чтение

                                                59
Сборка квазиконтигов
• Входные данные – набор парных чтений
• Цель – заполнить промежутки между концами
  чтений

            ATGC     ???     GTCC




            ATGC ATGCATGCAGTG GTCC

                                          60
Заполнение промежутков
• У перекрывающихся чтений есть общие 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
Распределенная сборка
                квазиконтигов
• Кластеризация – разделение чтений по группам
  для распределенной обработки.
• Критерий для кластеризации – число общих
  k-меров
                               Часть     Квази-
                               чтений   контиги

    Все                        Часть     Квази-
               Кластеризация
   чтения                      чтений   контиги

                               Часть     Квази-
                               чтений   контиги


                                                  62
Кластеризация на MapReduce




                             63
Экспериментальные исследования (1)
• E. Coli
   – 4.5 миллиона нуклеотидов
   – 0.5 ГБ входных данных
• Кластер НИИ НКТ НИУ ИТМО
   – 10 узлов по 8 ядер, 24 ГБ RAM
• Сборка контигов распределенным сборщиком
   – N50 равно 4718 нуклеотидов
   – 93% генома покрыто контигами
   – 97% генома покрыто квазиконтигами
• Сборщик Contrail
   – N50 равно 672 нуклеотидов
   – 95% генома покрыто контигами


                                             64
Экспериментальные исследования (2)
• Синтетический геном
  – 1.8 млрд. нуклеотидов
  – 172 ГБ входных данных
• Суперкомпьютер «Ломоносов»
  МГУ им. М.В. Ломоносова
  – 3900 узлов по 8 ядер, 12 ГБ RAM, Lustre FS
• Поиск ошибок
  – 10 минут чтение и map-фаза
  – 2 ТБ промежуточных данных (результат map-фазы)
  – 5 минут передача промежуточных результатов (от map к
    reduce)
  – 9000 потоков записи результата reduce-фазы вывели из
    строя Lustre FS 

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




                                         66
Сборка скэффолдов
• Начали работу в середине 2012 года
• Применяем принцип максимального
  правдоподобия
• Первые результаты будут представлены на
  конференции «Постгеномные методы
  анализа в биологии, лабораторной и
  клинической медицине» (22.11-24.11,
  Казань)
Спасибо за внимание!

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

Mais conteúdo relacionado

Destaque

On NP-Hardness of the Paired de Bruijn Sound Cycle Problem
On NP-Hardness of the Paired de Bruijn Sound Cycle ProblemOn NP-Hardness of the Paired de Bruijn Sound Cycle Problem
On NP-Hardness of the Paired de Bruijn Sound Cycle ProblemFedor Tsarev
 
Maximum Likelihood Scaffold Assembly
Maximum Likelihood Scaffold AssemblyMaximum Likelihood Scaffold Assembly
Maximum Likelihood Scaffold AssemblyAlexey Sergushichev
 
De Bruijn Superwalk with Multiplicities Problem is NP-hard
De Bruijn Superwalk with Multiplicities Problem is NP-hardDe Bruijn Superwalk with Multiplicities Problem is NP-hard
De Bruijn Superwalk with Multiplicities Problem is NP-hardAlexey Sergushichev
 
Automated NP-completeness proof for 2D problems
Automated NP-completeness proof for 2D problemsAutomated NP-completeness proof for 2D problems
Automated NP-completeness proof for 2D problemsMikhail Dvorkin
 
Выпуск 2012а, ФТШ
Выпуск 2012а, ФТШВыпуск 2012а, ФТШ
Выпуск 2012а, ФТШMikhail Dvorkin
 
ЕГЭ 2016 по математике: профильный вариант от 06 июня
ЕГЭ 2016 по математике: профильный вариант от 06 июняЕГЭ 2016 по математике: профильный вариант от 06 июня
ЕГЭ 2016 по математике: профильный вариант от 06 июняNewtonew
 

Destaque (6)

On NP-Hardness of the Paired de Bruijn Sound Cycle Problem
On NP-Hardness of the Paired de Bruijn Sound Cycle ProblemOn NP-Hardness of the Paired de Bruijn Sound Cycle Problem
On NP-Hardness of the Paired de Bruijn Sound Cycle Problem
 
Maximum Likelihood Scaffold Assembly
Maximum Likelihood Scaffold AssemblyMaximum Likelihood Scaffold Assembly
Maximum Likelihood Scaffold Assembly
 
De Bruijn Superwalk with Multiplicities Problem is NP-hard
De Bruijn Superwalk with Multiplicities Problem is NP-hardDe Bruijn Superwalk with Multiplicities Problem is NP-hard
De Bruijn Superwalk with Multiplicities Problem is NP-hard
 
Automated NP-completeness proof for 2D problems
Automated NP-completeness proof for 2D problemsAutomated NP-completeness proof for 2D problems
Automated NP-completeness proof for 2D problems
 
Выпуск 2012а, ФТШ
Выпуск 2012а, ФТШВыпуск 2012а, ФТШ
Выпуск 2012а, ФТШ
 
ЕГЭ 2016 по математике: профильный вариант от 06 июня
ЕГЭ 2016 по математике: профильный вариант от 06 июняЕГЭ 2016 по математике: профильный вариант от 06 июня
ЕГЭ 2016 по математике: профильный вариант от 06 июня
 

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

Об одном подходе к реализации генетического алгоритма для решения сложных зад...
Об одном подходе к реализации генетического алгоритма для решения сложных зад...Об одном подходе к реализации генетического алгоритма для решения сложных зад...
Об одном подходе к реализации генетического алгоритма для решения сложных зад...Victor Balabanov
 
Приближенный метод решения практических задач рационального раскроя на основе...
Приближенный метод решения практических задач рационального раскроя на основе...Приближенный метод решения практических задач рационального раскроя на основе...
Приближенный метод решения практических задач рационального раскроя на основе...Victor Balabanov
 
Эволюционный подход к оптимизации раскроя рулонных материалов
Эволюционный подход к оптимизации раскроя рулонных материаловЭволюционный подход к оптимизации раскроя рулонных материалов
Эволюционный подход к оптимизации раскроя рулонных материаловVictor Balabanov
 
Caching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in JavaCaching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in JavaAndrei Pangin
 
Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес...
 Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес... Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес...
Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес...BioinformaticsInstitute
 
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Alexey Paznikov
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Mikhail Kurnosov
 
Построение рациональных планов продольного раскроя рулонных материалов на осн...
Построение рациональных планов продольного раскроя рулонных материалов на осн...Построение рациональных планов продольного раскроя рулонных материалов на осн...
Построение рациональных планов продольного раскроя рулонных материалов на осн...Victor Balabanov
 
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013Unigine Corp.
 
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...Ontico
 
Методы поиска уязвимостей
Методы поиска уязвимостейМетоды поиска уязвимостей
Методы поиска уязвимостейsolertia
 
Методы поиска уязвимостей в программах
Методы поиска уязвимостей в программахМетоды поиска уязвимостей в программах
Методы поиска уязвимостей в программахVasiliy Shapovalov
 
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаЗадача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаAlex Dainiak
 
Реактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/musicРеактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/musicVadim Tsesko
 
Alexander Shigin Slides
Alexander Shigin SlidesAlexander Shigin Slides
Alexander Shigin Slidesguest092df8
 
Не бойся, это всего лишь данные... просто их много
Не бойся, это всего лишь данные... просто их многоНе бойся, это всего лишь данные... просто их много
Не бойся, это всего лишь данные... просто их многоRoman Dvornov
 

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

Об одном подходе к реализации генетического алгоритма для решения сложных зад...
Об одном подходе к реализации генетического алгоритма для решения сложных зад...Об одном подходе к реализации генетического алгоритма для решения сложных зад...
Об одном подходе к реализации генетического алгоритма для решения сложных зад...
 
Приближенный метод решения практических задач рационального раскроя на основе...
Приближенный метод решения практических задач рационального раскроя на основе...Приближенный метод решения практических задач рационального раскроя на основе...
Приближенный метод решения практических задач рационального раскроя на основе...
 
Эволюционный подход к оптимизации раскроя рулонных материалов
Эволюционный подход к оптимизации раскроя рулонных материаловЭволюционный подход к оптимизации раскроя рулонных материалов
Эволюционный подход к оптимизации раскроя рулонных материалов
 
Caching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in JavaCaching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in Java
 
2020 03-31-lection
2020 03-31-lection2020 03-31-lection
2020 03-31-lection
 
Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес...
 Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес... Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес...
Биоинформатический анализ данных полноэкзомного секвенирования: анализ качес...
 
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
Кулагин И.И., Пазников А.А., Курносов М.Г. Оптимизация информационных обменов...
 
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)Семинар 5. Многопоточное программирование на OpenMP (часть 5)
Семинар 5. Многопоточное программирование на OpenMP (часть 5)
 
Построение рациональных планов продольного раскроя рулонных материалов на осн...
Построение рациональных планов продольного раскроя рулонных материалов на осн...Построение рациональных планов продольного раскроя рулонных материалов на осн...
Построение рациональных планов продольного раскроя рулонных материалов на осн...
 
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
Низкоуровневые оптимизации. Андрей Аксенов. Unigine Open Air 2013
 
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
 
Методы поиска уязвимостей
Методы поиска уязвимостейМетоды поиска уязвимостей
Методы поиска уязвимостей
 
Методы поиска уязвимостей в программах
Методы поиска уязвимостей в программахМетоды поиска уязвимостей в программах
Методы поиска уязвимостей в программах
 
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—ШпильманаЗадача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
Задача о ближайшем кодовом слове. Коды Галлагера—Сипсера—Шпильмана
 
Реактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/musicРеактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/music
 
Alexander Shigin Slides
Alexander Shigin SlidesAlexander Shigin Slides
Alexander Shigin Slides
 
Не бойся, это всего лишь данные... просто их много
Не бойся, это всего лишь данные... просто их многоНе бойся, это всего лишь данные... просто их много
Не бойся, это всего лишь данные... просто их много
 
Vvedenie v bioinformatiku_2
Vvedenie v bioinformatiku_2Vvedenie v bioinformatiku_2
Vvedenie v bioinformatiku_2
 
L06 detection
L06 detectionL06 detection
L06 detection
 
Pre - Diploma Work
Pre - Diploma WorkPre - Diploma Work
Pre - Diploma Work
 

Mais de Fedor Tsarev

We are the champions: programming world champions from Russia. Why and what for?
We are the champions: programming world champions from Russia. Why and what for?We are the champions: programming world champions from Russia. Why and what for?
We are the champions: programming world champions from Russia. Why and what for?Fedor Tsarev
 
Becoming a World Champion in Programming: Keep Calm and Compete
Becoming a World Champion in Programming: Keep Calm and CompeteBecoming a World Champion in Programming: Keep Calm and Compete
Becoming a World Champion in Programming: Keep Calm and CompeteFedor Tsarev
 
Talk at dnGASP workshop, April 5, 2011
Talk at dnGASP workshop, April 5, 2011Talk at dnGASP workshop, April 5, 2011
Talk at dnGASP workshop, April 5, 2011Fedor Tsarev
 
Problem solving on acm international collegiate programming contest
Problem solving on acm international collegiate programming contestProblem solving on acm international collegiate programming contest
Problem solving on acm international collegiate programming contestFedor Tsarev
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программированиеFedor Tsarev
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программированиеFedor Tsarev
 
04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепцииFedor Tsarev
 
01 линейные структуры данных
01 линейные структуры данных01 линейные структуры данных
01 линейные структуры данныхFedor Tsarev
 
03 двоичные деревья поиска и очередь с приоритетами
03 двоичные деревья поиска и очередь с приоритетами03 двоичные деревья поиска и очередь с приоритетами
03 двоичные деревья поиска и очередь с приоритетамиFedor Tsarev
 
02 сортировка и поиск
02 сортировка и поиск02 сортировка и поиск
02 сортировка и поискFedor Tsarev
 

Mais de Fedor Tsarev (10)

We are the champions: programming world champions from Russia. Why and what for?
We are the champions: programming world champions from Russia. Why and what for?We are the champions: programming world champions from Russia. Why and what for?
We are the champions: programming world champions from Russia. Why and what for?
 
Becoming a World Champion in Programming: Keep Calm and Compete
Becoming a World Champion in Programming: Keep Calm and CompeteBecoming a World Champion in Programming: Keep Calm and Compete
Becoming a World Champion in Programming: Keep Calm and Compete
 
Talk at dnGASP workshop, April 5, 2011
Talk at dnGASP workshop, April 5, 2011Talk at dnGASP workshop, April 5, 2011
Talk at dnGASP workshop, April 5, 2011
 
Problem solving on acm international collegiate programming contest
Problem solving on acm international collegiate programming contestProblem solving on acm international collegiate programming contest
Problem solving on acm international collegiate programming contest
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программирование
 
05 динамическое программирование
05 динамическое программирование05 динамическое программирование
05 динамическое программирование
 
04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции04 динамическое программирование - основные концепции
04 динамическое программирование - основные концепции
 
01 линейные структуры данных
01 линейные структуры данных01 линейные структуры данных
01 линейные структуры данных
 
03 двоичные деревья поиска и очередь с приоритетами
03 двоичные деревья поиска и очередь с приоритетами03 двоичные деревья поиска и очередь с приоритетами
03 двоичные деревья поиска и очередь с приоритетами
 
02 сортировка и поиск
02 сортировка и поиск02 сортировка и поиск
02 сортировка и поиск
 

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

  • 1. Метод сборки генома на основе совместного применения графов де Брёина и графов перекрытий Лаборатория «Алгоритмы сборки геномных последовательностей» Национального исследовательского университета информационных технологий, механики и оптики 16 ноября 2012
  • 2. Лаборатория «Алгоритмы сборки геномных последовательностей» НИУ ИТМО • Создана в 2010 году • Нынешний состав лаборатории – с начала 2011 года • Сейчас в лаборатории работают восемь человек • Работа начиналась в сотрудничестве с центром «Биоинженерия» РАН 2
  • 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. Теоретические исследования в области сборки генома • Доказана NP-трудность задачи De Bruijn Superwalk with Multiplicities (задача сформулирована на конференции RECOMB- AB) – подана доклад на RECOMB 2013 4
  • 5. Финансирование работ • ФЦП «Научные и научно-педагогические кадры инновационной России на 2009-2013 годы»: – Разработка метода сборки геномных последовательностей на основе восстановления фрагментов по парным чтениям – Разработка методов сборки генома, сборки транскриптома и динамического анализа протеома • ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007—2013 годы»: – Разработка алгоритмов сборки геномных последовательностей для вычислительных систем экзафлопсного уровня производительности 5
  • 6. Сборка контигов • Цель – разработать программное средство для сборки больших геномов (несколько миллиардов нуклеотидов) с использованием небольшого объема оперативной памяти (32-64 гигабайта) 6
  • 7. Исходные данные  Парные чтения геномной последовательности (длина порядка 100 символов), геном покрыт чтениями несколько десятков раз  Необходимо: восстановить как можно больше непрерывных фрагментов геномной последовательности (контигов) Геном Фрагмент (~500 нуклеотидов) Парные чтения (риды) (по ~100 нуклеотидов) Разработка алгоритмов сборки геномных последовательностей для вычислительных систем экзафлопсного уровня производительности
  • 8. Проект dnGASP • dnGASP = de novo Genome Assembly Assessment Project (http://cnag.bsc.es) • Организован Национальным центром геномного анализа (Барселона, Испания) • Сборка искусственного генома размеров 1.8 Гб • Начало: 15 декабря 2010 года, конец: 01 марта 2011 года • Аналогичные проекты: Assemblathon, Assemblathon 2 8
  • 9. Искусственный геном • 14 искусственных хромосом – 11 – на основе реальных живых организмов – 3 – полностью искусственные с разными типами повторов • Было смоделировано чтение генома машиной второго поколения – Известно распределение длин фрагментов 9
  • 10. Исходные данные для сборки генома • Заданы 4 библиотеки ридов – Длина ридов: 114, длина фрагмента ~500, покрытие – 44 раза – Длина ридов: 36, длина фрагмента ~3000, покрытие – 8 раз – Длина ридов: 36, длина фрагмента ~5000, покрытие – 8 раз – Длина ридов: 36, длина фрагмента ~10000, покрытие – 4 раза 10
  • 11. Алгоритм Граф де Подход Брюина OLC Сборка Исправление Сборка Сборка квази- ошибок контигов скэффолдов контигов OLC = overlap-layout-consensus 11
  • 12. Исправление ошибок: обрезка ридов • Сканируем начиная с начала каждый рид до тех пор, пока не найдем нуклеотид с качеством меньшим 90% • Обрезаем рид начиная с этой позиции >90% >90% >90% >90% >90% >90% >90% <90% >90% >90% >90% >90% >90% >90% >90% 12
  • 13. Исправление ошибок: частотный анализ • Рассмотрим все 30-символьные подстроки ридов и обратно-комплементарные к ним • Вычислим число вхождений для каждой из них – Редко встречается – есть ошибка – Часто встречается – является «доверенным» • Граница выбирается автоматически 13
  • 14. Исправление ошибок: распределение • < 4 вхождений – «недоверенные» • Другие 30-меры – «доверенные» 14
  • 15. Исправление ошибок: корзины • Память: – Каждая подстрока - 64-битное число – Число вхождений – 32-битное число – ~6·109 различных 30-меров во всех ридах – 72 Гб (а есть только 24) • Распределение 30-меров по корзинам в соответствии с префиксами • Префикс длины k → 4k корзин 15
  • 16. Исправление ошибок • Каждая корзина обрабатывается отдельно • Рассмотрим «недоверенный» 30-мер – Меняем один символ в нем: 3·(30-k) способов – Если ровно один 30-мер «доверенный», исправляем соответствующее чтение • Для исправления ошибок в префиксах, можно загрузить еще 3k корзин в память или... • Не загружать – рассмотрим обратно-комплементарный 30- мер A G T A C A T A T G T A C T 16
  • 19. Парные чтения ДНК Фрагмент (180–500 оснований) Парные чтения (30–120 оснований) 19
  • 20. Цель сборки квазиконтигов ATGC ??? GTCC ATGC ATGCATGCAGTG GTCC 20
  • 22. Пример графа де Брёйна (1) 22
  • 23. Пример графа де Брёйна (2) GTC TCA CAT ATC TCC AGT GTG CCA CAC CAA GAG GGA AGG CAG ACA AAC 23
  • 24. Пример графа де Брёйна (3) 24
  • 25. Пример графа де Брёйна (4) 25
  • 30. Поиск путей ● Два одновременных обхода в ширину навстречу друг другу. ● На каждом шаге поддерживается два множества вершин: удаленных от начала на l1 и удаленных от конца на l2. ● Если эти множества пересекаются, то есть путь длины l1+l2. ● Если в множествах становится слишком много вершин, прерываемся. 30
  • 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. 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). 32
  • 34. Сборка квазиконтигов для dnGASP • 24 ядра и 64 GB RAM • Сборка квазиконтигов из всех чтений – 48 часов • Вершины – 30-меры • Длина квазиконтигов: от 330 до 550 • 67% чтений преобразовано в квазиконтиги • ~27% – не единственный путь • ~6% – не найдено пути 34
  • 35. Распределение длин 1,40E-02 1,20E-02 Розовый – априорное распределение Синий – длины 1,00E-02 8,00E-03 квазиконтигов 6,00E-03 4,00E-03 2,00E-03 0,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
  • 37. Overlap-Layout-Consensus ● Удаляем лишние квазиконтиги. ● Добавление обратно-комплементарных копий. ● Поиск перекрытий. ● Удаление транзитивных перекрытий. ● Упрощение графа перекрытий. ● Вывод первого приближения контигов. ● Микросборка. 37
  • 38. Поиск перекрытий ● Построим строку S = “<Квазиконтиг1>$<Квазиконтиг2>$...$” ● Построим для нее суффиксный массив (bucket-sort + quicksort). ● Для каждого квазиконтига двоичным поиском ищем все его префиксы. ● Делаем поиск сразу для группы с одинаковыми префиксами. ● Поиск префиксов с неточными совпадениями. 38
  • 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. Упрощение графа (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, 2 CCGTA GTACGG TACAG CGGCAT AGCAT ATACG 40
  • 43. Сборка генома Opistorchis Felineus (1) • Исходные данные – 350 миллионов пар чтений – Длина чтения – 72 основания – Общий размер: 50 Гбаз • Секвенирован в центре «Биоинженерия» РАН 43
  • 44. Opistorchis Felineus : квазиконтиги • 63% парных чтений были преобразованы в квазиконтиги 44
  • 45. Сборка генома Opistorchis Felineus (2) • Число контигов: 962013 • Суммарная длина: 1061744060 • Максимальная длина: 29392 • Минимальная длина: 48 • Средняя длина: 1104 • N50: 1906 (у ABySS: ~1000) • N90: 412 45
  • 46. Микросборка • Есть парные чтения концы которых расположенны на разных контигах • Промежуток между контигам покрыт чтениями, парными к расположенным на обоих контигах 46
  • 47. Микросборка ● Чтения (a1, a2) соединяют контиги A и B ● Чтения (b1, b2) и (c1, c2) используются для заполнения промежутка ● Картирование с помощью Bowtie 47
  • 48. Алгоритм микросборки • Найдем позиции парных чтений в контигах • Найдем пары контигов таких, что их соединяет достаточно большое число чтений • Построим граф де Брѐйна из парных чтений, как минимум одно из которых расположено в одном из этих контигов • Воспользуемся алгоритмом сборки квазиконтигов для заполнения промежутка 48
  • 49. Результаты микросборки • Геном E. Coli • До микросборки – 537 контигов с N50 = 15039 • После микросборки – 213 контигов с N50 = 50716 • Почему-то не работает для больших геномов 49
  • 51. Производительность секвенаторов и компьютеров • Производительность суперкомпьютеров удваивается каждые 18 месяцев • Стоимость секвенирования падает в 10 раз каждые 18 месяцев 51
  • 52. Особенность задачи сборки генома относительно высокопроизводительных вычислений • Задача является «ориентированной на данные» (data intensive), что отличает ее от задач численного моделирования, решения систем линейных уравнений и т.д. – Большую часть времени занимают операции с исходными данными, а не вычисления – Распараллеливание по данным Разработка алгоритмов сборки геномных последовательностей для вычислительных систем экзафлопсного уровня производительности
  • 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. Подходы к распределенной сборке генома • AbySS – MPI, Граф де Брюина – Распределенная хеш-таблица для хранения графа • Phusion – Разбиение чтений на части на одном компьютере – Сборка на нескольких компьютерах • Contrail – MapReduce, Граф де Брюина – Параллельное рандомизированное ранжирование списков – Параллельный поиск шаблонов в сети 54
  • 55. MapReduce • Map – к каждому элементу входных данных применим функцию, возвращающую пару <ключ, значение> • Reduce – сгруппируем элементы по ключу, применим к каждой группе результирующую функцию Отличный способ распределенной обработки данных! 55
  • 56. Параллельный метод сборки Граф де Граф Брюина перекрытий Сборка Исправление Сборка квази- Контиги ошибок контигов контигов 56
  • 57. Распределенный метод сборки Исправление Кластеризация Сборка Кластеризация ошибок в данных Сборка контигов чтений квазиконтигов квазиконтигов секвенирования 57
  • 58. Исправление ошибок (1) • Подсчет частот k-меров (строк длины k) – Модификация классического MapReduce-алгоритма подсчета частот слов – Распределение k-меров по вычислительным узлам в зависимости от префикса • Исправление «ненадежных» k-меров (редкие) на похожие «надежные» (частые) 58
  • 59. Исправление ошибок (2) • Поиск исправлений: – Ключ – префикс чтения – Map – для каждого k-мера в чтении выводим <префикс, k-мер, позиция> – Reduce – группируем по префиксу, выводим <чтение, исправление ошибки> • Применение исправлений: – Map – для каждого чтения выводим <чтение, исправление ошибки> – Reduce – группируем по чтению, выводим исправленное чтение 59
  • 60. Сборка квазиконтигов • Входные данные – набор парных чтений • Цель – заполнить промежутки между концами чтений ATGC ??? GTCC ATGC ATGCATGCAGTG GTCC 60
  • 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. Распределенная сборка квазиконтигов • Кластеризация – разделение чтений по группам для распределенной обработки. • Критерий для кластеризации – число общих k-меров Часть Квази- чтений контиги Все Часть Квази- Кластеризация чтения чтений контиги Часть Квази- чтений контиги 62
  • 64. Экспериментальные исследования (1) • E. Coli – 4.5 миллиона нуклеотидов – 0.5 ГБ входных данных • Кластер НИИ НКТ НИУ ИТМО – 10 узлов по 8 ядер, 24 ГБ RAM • Сборка контигов распределенным сборщиком – N50 равно 4718 нуклеотидов – 93% генома покрыто контигами – 97% генома покрыто квазиконтигами • Сборщик Contrail – N50 равно 672 нуклеотидов – 95% генома покрыто контигами 64
  • 65. Экспериментальные исследования (2) • Синтетический геном – 1.8 млрд. нуклеотидов – 172 ГБ входных данных • Суперкомпьютер «Ломоносов» МГУ им. М.В. Ломоносова – 3900 узлов по 8 ядер, 12 ГБ RAM, Lustre FS • Поиск ошибок – 10 минут чтение и map-фаза – 2 ТБ промежуточных данных (результат map-фазы) – 5 минут передача промежуточных результатов (от map к reduce) – 9000 потоков записи результата reduce-фазы вывели из строя Lustre FS  65
  • 66. Сборка транскриптома • Начали работу в июне 2012 года • Применяем подход, аналогичный сборке квазиконтигов 66
  • 67. Сборка скэффолдов • Начали работу в середине 2012 года • Применяем принцип максимального правдоподобия • Первые результаты будут представлены на конференции «Постгеномные методы анализа в биологии, лабораторной и клинической медицине» (22.11-24.11, Казань)