Первичный анализ
данных иммунома
человека
Дмитрий Болотин
Лаборатория геномики адаптивного иммунитета,
Институт биоорганической химии им. академиков М.М. Шемякина
и Ю.А. Овчинникова РАН

Яндекс, 2013
Клетки адаптивного
иммунитета
Клетки адаптивного
иммунитета
Распознают герпес

Распознают ангину

Распознают грипп
Распознают другое
Клетки адаптивного
иммунитета
Распознают герпес

Распознают ангину

Клон
Распознают другое

Распознают грипп
Т-клеточный рецептор
Т-клеточный рецептор
Т-клеточный рецептор
определяет
специфичность данной
клетки к определенному
антигену
Т-клеточный рецептор
Т-клеточный рецептор
определяет
специфичность данной
клетки к определенному
антигену
Т-клеточный рецептор
Т-клеточный рецептор
определяет
специфичность данной
клетки к определенному
антигену

Правила сборки
рецептора записаны в
гене этого рецептора
Ген рецептора
•

Клетки с одной специфичностью имеют одинаковый ген Т-клеточного
рецептора.
Ген рецептора
•

Клетки с одной специфичностью имеют одинаковый ген Т-клеточного
рецептора.

ДНК

GTAGCTCCCCCCAAGGCTCATGAAGTTCGCATTCAGATCATTGCTACCTC
Ген рецептора
•

Клетки с одной специфичностью имеют одинаковый ген Т-клеточного
рецептора.

Всегда постоянный

ДНК

GTAGCTCCCCCCAAGGCTCATGAAGTTCGCATTCAGATCATTGCTACCTC
Ген рецептора
•

Клетки с одной специфичностью имеют одинаковый ген Т-клеточного
рецептора.
Выбирается из набора
(~100 вариантов)

Выбирается из набора
(~40 вариантов)
Всегда постоянный

ДНК

GTAGCTCCCCCCAAGGCTCATGAAGTTCGCATTCAGATCATTGCTACCTC
Ген рецептора
•

Клетки с одной специфичностью имеют одинаковый ген Т-клеточного
рецептора.
Выбирается из набора
(~100 вариантов)

Выбирается из набора
(~40 вариантов)

Случайные буквы

Всегда постоянный

ДНК

GTAGCTCCCCCCAAGGCTCATGAAGTTCGCATTCAGATCATTGCTACCTC
Ген рецептора
•

Клетки с одной специфичностью имеют одинаковый ген Т-клеточного
рецептора.
Выбирается из набора
(~100 вариантов)

Выбирается из набора
(~40 вариантов)

Случайные буквы

CDR3

Всегда постоянный
Ген рецептора
•

Клетки с одной специфичностью имеют одинаковый ген Т-клеточного
рецептора.
Выбирается из набора
(~100 вариантов)

Выбирается из набора
(~40 вариантов)

Случайные буквы

Всегда постоянный

CDR3

Может служить идентификатором данного гена,
а следовательно и данной группы клеток (клона)
Данные
Пробоподготовка и
секвенирование
CDR3

CDR3

CDR3
CDR3

CDR3

CDR3
CDR3
CDR3
Данные
Пробоподготовка и
секвенирование

@HWI-ST1155:154:D1M89ACXX:1:1101:14372:1976 1:N:0:
GGCGCGAAAGCAGTGGTATCAACGCAGAGTTCACTGCAATTCAGTCTTGGGGAGCCCCAAGCTAGG
+
#1:BDDDDFDDH>GEGE:C?FGGI>G<DF@GDBDG@DHIEGGGGIGGGIFHIIIDD<?CCCCBCCC
@HWI-ST1155:154:D1M89ACXX:1:1101:14296:1979 1:N:0:
AAAGTGTCCCTGGCCCGAAGAACTGCTCATTGCCCACTTTGGTGGCACAGAGGTACTGAGAGGTAT
+
#4=DDDFFHHHHHJIJJJJIJJJJJJJJJJJJHIJJJJJJJJJHIJIJJIJIJJFHIJIHIHHHAE
@HWI-ST1155:154:D1M89ACXX:1:1101:14454:1981 1:N:0:
CACTGGTGCCTTGTCCAAAGAAAGCTTCAGCCCTTAGGGCCTGTCGTGGTCGACTGCTGGCACAGA
+
#1:A;DDDFFFDFFFIGFIEIBF;AECFDHIIFEFIFEFFFFGIBFF?DF8=@FFEFDEEIE>?C@
@HWI-ST1155:154:D1M89ACXX:1:1101:14499:1984 1:N:0:
CTGGCCCGAAGAACTGCTCATTTTGCCCCCCTTTATCGAGGGTGGCGCAGAGATACAGGGCTGAGT
+
#1:BDDDBFHHHHIIIIIGIGHAGIGGIIIHIIIIGGHGFGII(;AADEDDDBCCDCDDCDD?B@D
@HWI-ST1155:154:D1M89ACXX:1:1101:14251:1993 1:N:0:
TATTGGTCCCCGAACCGAAGGTGTAGCCATACCCCCCGTGTACTTCAACGCTGCAGAGATATATGC
+
#4=DFFFFHHHHHJJJJJJJJJCGHHJIIJJJIGJJJJJHHHBEHFFFFFFDDDDDDDDCCCEEEE
@HWI-ST1155:154:D1M89ACXX:1:1101:14379:1996 1:N:0:
TCAGGGTTCCACTGCCAAAAAACAGTTTTTCATTAGTTCCCCCCCCTCCAGGGCTGCTGGCACAGA
+
#1:DDDFDHFFFHHFIIIIIEHIIIIDGGIIIGHIGIHIDHIIGIHHFFFEEEDBBBD>CC?CCDD
@HWI-ST1155:154:D1M89ACXX:1:1101:14330:1996 1:N:0:
TTATATTCAGTGGTATCAACGCAGAGTCGTATAGGACTCGTCTCTTGGGGACTACAGAGACACCAG
+
#1=DDDDFHHHFHIJJJJJJJIIJJJJHIJGHIIJIJJIJIIJJJJJIJJJIJJJJIHIIHHHGHF
@HWI-ST1155:154:D1M89ACXX:1:1101:14469:1999 1:N:0:
NTGAGCAGTAAGCAGTGGTATCAACGCAGAGTAGTTTGACGTATGCTCTTGGGGCTCTGTCTCCTG
+
#1=DDFFDFFHHHGIIIIAFHIHIHIJJGIJIIIJJJIIJJIBFGIJIJJIJJJJJJJJJJIJJHH
@HWI-ST1155:154:D1M89ACXX:1:1101:14550:1926 1:N:0:
NTAAGGTCAGTGGTATCAACGCAGAGTCCTTTGTTTTCGAGTCTTGGGGAGAATATTCCACATCTG
+
#1BDDFEFGGHHHIJIJJJJJJJJJJGIJJJJJHJJJJJHJIIJJJJJJIJJGGGIJGIJJHHHHH
@HWI-ST1155:154:D1M89ACXX:1:1101:14602:1928 1:N:0:
NCAGTGGTATCAACGCAGAGTTGCATATAATACTTTCTTGGGGGATGCTCACAGAGGGCCTGGTCT
+
#1=DDFFDHHFFHIJJJJIJHHHIJJJIIJJIJJJJGIGIJJIJIGIJJIIIJJJJJHHHFFFFEE
Данные
•

“Сырые” данные представляют собой последовательности
длинной от 100 до 250 нуклеотидов (букв)

@HWI-ST1155:154:D1M89ACXX:1:1101:14372:1976 1:N:0:
GGCGCGAAAGCAGTGGTATCAACGCAGAGTTCACTGCAATTCAGTCTTGGGGAGCCCCAAGCTAGGAGATCCTGCCATGGGCTTCA
+
#1:BDDDDFDDH>GEGE:C?FGGI>G<DF@GDBDG@DHIEGGGGIGGGIFHIIIDD<?CCCCBCCCBCCBCCCCCCBCCCCBBCBC
@HWI-ST1155:154:D1M89ACXX:1:1101:14296:1979 1:N:0:
AAAGTGTCCCTGGCCCGAAGAACTGCTCATTGCCCACTTTGGTGGCACAGAGGTACTGAGAGGTATGTGAGGGCCTGGCAGACTCC
+
#4=DDDFFHHHHHJIJJJJIJJJJJJJJJJJJHIJJJJJJJJJHIJIJJIJIJJFHIJIHIHHHAEEFFFFFEDDABDDDDDDDDD
@HWI-ST1155:154:D1M89ACXX:1:1101:14454:1981 1:N:0:
CACTGGTGCCTTGTCCAAAGAAAGCTTCAGCCCTTAGGGCCTGTCGTGGTCGACTGCTGGCACAGAAGTACACAGCTGAGTCCCTG
+
#1:A;DDDFFFDFFFIGFIEIBF;AECFDHIIFEFIFEFFFFGIBFF?DF8=@FFEFDEEIE>?C@BDD;;@ACCAB>;;?;>BB(
@HWI-ST1155:154:D1M89ACXX:1:1101:14499:1984 1:N:0:
CTGGCCCGAAGAACTGCTCATTTTGCCCCCCTTTATCGAGGGTGGCGCAGAGATACAGGGCTGAGTCTTCTGGCTGCAGGGCGTGT
+
#1:BDDDBFHHHHIIIIIGIGHAGIGGIIIHIIIIGGHGFGII(;AADEDDDBCCDCDDCDD?B@DDDDEDD<CD?BBCDBB?@>B
@HWI-ST1155:154:D1M89ACXX:1:1101:14251:1993 1:N:0:
TATTGGTCCCCGAACCGAAGGTGTAGCCATACCCCCCGTGTACTTCAACGCTGCAGAGATATATGCTGCTGTCTTCAGGGCTCATG
+
#4=DFFFFHHHHHJJJJJJJJJCGHHJIIJJJIGJJJJJHHHBEHFFFFFFDDDDDDDDCCCEEEEDEDDDDDDDACDDDDDDDDD
@HWI-ST1155:154:D1M89ACXX:1:1101:14379:1996 1:N:0:
TCAGGGTTCCACTGCCAAAAAACAGTTTTTCATTAGTTCCCCCCCCTCCAGGGCTGCTGGCACAGAGATACAGGGCCGAGTCTTCT
Данные
•

“Сырые” данные представляют собой последовательности
длинной от 100 до 250 нуклеотидов (букв)

@HWI-ST1155:154:D1M89ACXX:1:1101:14372:1976 1:N:0:
GGCGCGAAAGCAGTGGTATCAACGCAGAGTTCACTGCAATTCAGTCTTGGGGAGCCCCAAGCTAGGAGATCCTGCCATGGGCTTCA
+
#1:BDDDDFDDH>GEGE:C?FGGI>G<DF@GDBDG@DHIEGGGGIGGGIFHIIIDD<?CCCCBCCCBCCBCCCCCCBCCCCBBCBC
@HWI-ST1155:154:D1M89ACXX:1:1101:14296:1979 1:N:0:
AAAGTGTCCCTGGCCCGAAGAACTGCTCATTGCCCACTTTGGTGGCACAGAGGTACTGAGAGGTATGTGAGGGCCTGGCAGACTCC
+
#4=DDDFFHHHHHJIJJJJIJJJJJJJJJJJJHIJJJJJJJJJHIJIJJIJIJJFHIJIHIHHHAEEFFFFFEDDABDDDDDDDDD
@HWI-ST1155:154:D1M89ACXX:1:1101:14454:1981 1:N:0:
CACTGGTGCCTTGTCCAAAGAAAGCTTCAGCCCTTAGGGCCTGTCGTGGTCGACTGCTGGCACAGAAGTACACAGCTGAGTCCCTG
+
#1:A;DDDFFFDFFFIGFIEIBF;AECFDHIIFEFIFEFFFFGIBFF?DF8=@FFEFDEEIE>?C@BDD;;@ACCAB>;;?;>BB(
@HWI-ST1155:154:D1M89ACXX:1:1101:14499:1984 1:N:0:
CTGGCCCGAAGAACTGCTCATTTTGCCCCCCTTTATCGAGGGTGGCGCAGAGATACAGGGCTGAGTCTTCTGGCTGCAGGGCGTGT
+
#1:BDDDBFHHHHIIIIIGIGHAGIGGIIIHIIIIGGHGFGII(;AADEDDDBCCDCDDCDD?B@DDDDEDD<CD?BBCDBB?@>B
@HWI-ST1155:154:D1M89ACXX:1:1101:14251:1993 1:N:0:
TATTGGTCCCCGAACCGAAGGTGTAGCCATACCCCCCGTGTACTTCAACGCTGCAGAGATATATGCTGCTGTCTTCAGGGCTCATG
+
#4=DFFFFHHHHHJJJJJJJJJCGHHJIIJJJIGJJJJJHHHBEHFFFFFFDDDDDDDDCCCEEEEDEDDDDDDDACDDDDDDDDD
@HWI-ST1155:154:D1M89ACXX:1:1101:14379:1996 1:N:0:
TCAGGGTTCCACTGCCAAAAAACAGTTTTTCATTAGTTCCCCCCCCTCCAGGGCTGCTGGCACAGAGATACAGGGCCGAGTCTTCT
Задача первичной
обработки
•

Восстановить какие клоны и в каком
количестве находились в образце

@HWI-ST1155:154:D1M89ACXX:1:1101:14372:1976 1:N:0:
GGCGCGAAAGCAGTGGTATCAACGCAGAGTTCACTGCAATTCAGTCTTGGGGAGCCCCAAGCTAGGAGATCCTGCCATGGGCTTCAGGCTCCTCTGCTG
+
#1:BDDDDFDDH>GEGE:C?FGGI>G<DF@GDBDG@DHIEGGGGIGGGIFHIIIDD<?CCCCBCCCBCCBCCCCCCBCCCCBBCBCCCCCBBBACCCCCC
@HWI-ST1155:154:D1M89ACXX:1:1101:14296:1979 1:N:0:
AAAGTGTCCCTGGCCCGAAGAACTGCTCATTGCCCACTTTGGTGGCACAGAGGTACTGAGAGGTATGTGAGGGCCTGGCAGACTCCAGGGTCAGGGGAA
+
#4=DDDFFHHHHHJIJJJJIJJJJJJJJJJJJHIJJJJJJJJJHIJIJJIJIJJFHIJIHIHHHAEEFFFFFEDDABDDDDDDDDDDDDDDCDDDDDDBD
@HWI-ST1155:154:D1M89ACXX:1:1101:14454:1981 1:N:0:
CACTGGTGCCTTGTCCAAAGAAAGCTTCAGCCCTTAGGGCCTGTCGTGGTCGACTGCTGGCACAGAAGTACACAGCTGAGTCCCTGGGTTCTGAGGGCT
+
#1:A;DDDFFFDFFFIGFIEIBF;AECFDHIIFEFIFEFFFFGIBFF?DF8=@FFEFDEEIE>?C@BDD;;@ACCAB>;;?;>BB(:?B5<@B@AA@B##
@HWI-ST1155:154:D1M89ACXX:1:1101:14499:1984 1:N:0:
CTGGCCCGAAGAACTGCTCATTTTGCCCCCCTTTATCGAGGGTGGCGCAGAGATACAGGGCTGAGTCTTCTGGCTGCAGGGCGTGTAGGTGAAGGTTTA
+
#1:BDDDBFHHHHIIIIIGIGHAGIGGIIIHIIIIGGHGFGII(;AADEDDDBCCDCDDCDD?B@DDDDEDD<CD?BBCDBB?@>B@DDDAC@AAC3:@?
@HWI-ST1155:154:D1M89ACXX:1:1101:14251:1993 1:N:0:
TATTGGTCCCCGAACCGAAGGTGTAGCCATACCCCCCGTGTACTTCAACGCTGCAGAGATATATGCTGCTGTCTTCAGGGCTCATGTTGCTCACAGTCA
+
#4=DFFFFHHHHHJJJJJJJJJCGHHJIIJJJIGJJJJJHHHBEHFFFFFFDDDDDDDDCCCEEEEDEDDDDDDDACDDDDDDDDDDDDDDDDDDDDDDD
@HWI-ST1155:154:D1M89ACXX:1:1101:14379:1996 1:N:0:
TCAGGGTTCCACTGCCAAAAAACAGTTTTTCATTAGTTCCCCCCCCTCCAGGGCTGCTGGCACAGAGATACAGGGCCGAGTCTTCTGGCTGCAGGGTGT
+
#1:DDDFDHFFFHHFIIIIIEHIIIIDGGIIIGHIGIHIDHIIGIHHFFFEEEDBBBD>CC?CCDDDD?CCDDDCBBB@BD<ACDDCCDDDDDACBB3<>
@HWI-ST1155:154:D1M89ACXX:1:1101:14330:1996 1:N:0:
TTATATTCAGTGGTATCAACGCAGAGTCGTATAGGACTCGTCTCTTGGGGACTACAGAGACACCAGCCCCAAGCTAGGAGATCCTGCCATGGGCTTCAG
+
#1=DDDDFHHHFHIJJJJJJJIIJJJJHIJGHIIJIJJIJIIJJJJJIJJJIJJJJIHIIHHHGHFFFDDDDDBDDDDDDDDCDDDDDDDDDDDDDDDDD
@HWI-ST1155:154:D1M89ACXX:1:1101:14469:1999 1:N:0:
NTGAGCAGTAAGCAGTGGTATCAACGCAGAGTAGTTTGACGTATGCTCTTGGGGCTCTGTCTCCTGGGAGCAGAACTCACAGAAGCTGGAGTTGCCCAGT
+
#1=DDFFDFFHHHGIIIIAFHIHIHIJJGIJIIIJJJIIJJIBFGIJIJJIJJJJJJJJJJIJJHHHHHFFFEEDCEDCDDDDDDDDDDDBCCCDDDDD@
@HWI-ST1155:154:D1M89ACXX:1:1101:14550:1926 1:N:0:
NTAAGGTCAGTGGTATCAACGCAGAGTCCTTTGTTTTCGAGTCTTGGGGAGAATATTCCACATCTGCTCTCACTCTGCCATGGACTCCTGGACCTTCTGC
+
#1BDDFEFGGHHHIJIJJJJJJJJJJGIJJJJJHJJJJJHJIIJJJJJJIJJGGGIJGIJJHHHHHHFFFFFFEEEEEEDDDDDDDDDDDDDDDDDDDDD
@HWI-ST1155:154:D1M89ACXX:1:1101:14602:1928 1:N:0:
NCAGTGGTATCAACGCAGAGTTGCATATAATACTTTCTTGGGGGATGCTCACAGAGGGCCTGGTCTAGAATATTCCACATCTGCTCTCACTCTGCCATGG
+
#1=DDFFDHHFFHIJJJJIJHHHIJJJIIJJIJJJJGIGIJJIJIGIJJIIIJJJJJHHHFFFFEEEEEEEDEEDDFDDDDDDDDDDDDDDDDDDDDDDD
Основная сложность ошибки в данных

ATTAGACA
Основная сложность ошибки в данных
ATTACACA
ATTAGACA
Основная сложность ошибки в данных
ATTACACA
ATTAGACA

AT-AGACA
Основная сложность ошибки в данных
ATTACACA
ATTAGACA

AT-AGACA
ATTACGACA
Чем плохи ошибки?
•

Создают искусственное разнообразие

Реальность:

Данные:

ATTAGACA

ATTAGACA
ATTACACA
ATGAGACA
ATTA-ACA
ATTACGACA
Один массив
•

от 1 - 100 млн. входных последовательностей

•

100 - 250 нуклеотидов каждая

•

~ 100 Гб входных данных

•

~1 млн. вариантов CDR3

•

отдельные клоны занимают от 20% до <0.0001%
образца
Схема MiTCR
CDR3

Разметка последовательности

...

TRBV12-2
TRBJ1-3

Деление по
качеству

Хорошие

Сырые данные

Формирование
клонов

Плохие

Объединение
данных

Результат

!

Кластеризация
Схема MiTCR
CDR3

Разметка последовательности

...

TRBV12-2
TRBJ1-3

Деление по
качеству

Хорошие

Сырые данные

Формирование
клонов

Плохие

Объединение
данных

Результат

!

Кластеризация
Разметка
последовательности

@HWI-ST1155:154:D1M89ACXX:1:1101:14372:1976 1:N:0:
GGCGCGAAAGCAGTGGTATCAACGCAGAGTTCACTGCAATTCAGTCTTGGGGAGCCCCAAGCTAGGAGATCCTGCCATGGGCTTC
+
1:BDDDDFDDH>GEGE:C?FGGI>G<DF@GDBDG@D#IEGGGGIGGGIFHIIIDD<?CCCCBCCCBCCBCCCCCCBCCCCBBCBC

CDR3
Схема обработки
CDR3

Разметка последовательности

...

TRBV12-2
TRBJ1-3

Деление по
качеству

Хорошие

Сырые данные

Формирование
клонов

Плохие

Объединение
данных

Результат

!

Кластеризация
Формирование первичных
клонотипов
GGCGCGAAAGCAGTGGTATCAACGCAGAGTTCACTGCAATTCAGTCTTGGGGAGCCCCAAGCTAGGAGATCCTGCCATGGGCTTC

Информация о численности
последовательностей с
одинаковыми CDR3-ими
хранится в префиксном дереве

•

AACGC

•

Такая структура данных
позволяет осуществлять
нечеткий поиск
соответствующих записей

A
G
C

ATTAG

T
ATTTC
Качество
@HWI-ST1155:154:D1M89ACXX:1:1101:14372:1976 1:N:0:
GGCGCGAAAGCAGTGGTATCAACGCAGAGTTCACTGCAATTCAGTCTTGGGGAGCCCCAAGCTAGGAGATCCTGCCATGGGCTTC
+
1:BDDDDFDDH>GEGE:C?FGGI>G<DF@GDBDG@D#IEGGGGIGGGIFHIIIDD<?CCCCBCCCBCCBCCCCCCBCCCCBBCBC
Качество
@HWI-ST1155:154:D1M89ACXX:1:1101:14372:1976 1:N:0:
GGCGCGAAAGCAGTGGTATCAACGCAGAGTTCACTGCAATTCAGTCTTGGGGAGCCCCAAGCTAGGAGATCCTGCCATGGGCTTC
+
1:BDDDDFDDH>GEGE:C?FGGI>G<DF@GDBDG@D#IEGGGGIGGGIFHIIIDD<?CCCCBCCCBCCBCCCCCCBCCCCBBCBC

•

Для каждого прочитанного нуклеотида (буквы) секвенатор дает
значение качества, определяющее вероятность ошибки секвенирован
в данной позиции

•

Качество (Q) - это число от 0 до 50. log(-Q/10) ~ Pошибки

•

Буквы с качеством ниже заданного порога мы называем “плохими”

•

CDR3 с такими буквами мы тоже называем “плохими”
Качество
@HWI-ST1155:154:D1M89ACXX:1:1101:14372:1976 1:N:0:
GGCGCGAAAGCAGTGGTATCAACGCAGAGTTCACTGCAATTCAGTCTTGGGGAGCCCCAAGCTAGGAGATCCTGCCATGGGCTTC
+
1:BDDDDFDDH>GEGE:C?FGGI>G<DF@GDBDG@D#IEGGGGIGGGIFHIIIDD<?CCCCBCCCBCCBCCCCCCBCCCCBBCBC

•

Для каждого прочитанного нуклеотида (буквы) секвенатор дает
значение качества, определяющее вероятность ошибки секвенирован
в данной позиции

•

Качество (Q) - это число от 0 до 50. log(-Q/10) ~ Pошибки

•

Буквы с качеством ниже заданного порога мы называем “плохими”

•

CDR3 с такими буквами мы тоже называем “плохими”
Схема MiTCR
CDR3

Разметка последовательности

...

TRBV12-2
TRBJ1-3

Деление по
качеству

Хорошие

Сырые данные

Формирование
клонов

Плохие

Объединение
данных

Результат

!

Кластеризация
Кластеризация клонотипов
Число
последовательностей

56567
210

•

CDR3
TGTGCCAGCAGTTTGGGGATTCAT
TGTGCCGGCAGTTTGGGGATTCAT

Клонотипы, отличающиеся на одну букву от клонотипов,
превосходящих их по концентрации более чем в N раз, удаляются
из образца, т.к. они могут быть результатом ошибки
Кластеризация клонотипов
Число
последовательностей

56567
210

•

CDR3
TGTGCCAGCAGTTTGGGGATTCAT
TGTGCCGGCAGTTTGGGGATTCAT

Клонотипы, отличающиеся на одну букву от клонотипов,
превосходящих их по концентрации более чем в N раз, удаляются
из образца, т.к. они могут быть результатом ошибки
Кластеризация клонотипов
Число
последовательностей

56567
210

•

CDR3
TGTGCCAGCAGTTTGGGGATTCAT
TGTGCCGGCAGTTTGGGGATTCAT

Клонотипы, отличающиеся на одну букву от клонотипов,
превосходящих их по концентрации более чем в N раз, удаляются
из образца, т.к. они могут быть результатом ошибки
Результаты
•

Извлекает CDR3 из 98% входных
последовательностей

•

Корректирует более 95% ошибок
(искусственного разнообразия) при этом
сокращая естественное разнообразее менее чем
на 2%
Схема MiTCR
CDR3

Разметка последовательности

...

TRBV12-2
TRBJ1-3

Деление по
качеству

Хорошие

Сырые данные

Формирование
клонов

Плохие

Работают параллельно
Объединение
данных

Результат

!

Кластеризация
Производительность
•

Обрабатывает 50 000 последовательностей в секунду
(AMD Phenom II X4 955 @ 3.2 GHz)

•

Потребляет ~ 5 кбайт на хранение одного клонотипа

•

Этого достаточно, чтобы за 20 минут обработать
самый сложный (разнообразный) массив из нашего
опыта на машине с 16 Гб ОЗУ
MiTCR
•

Pure Java

•

Open source
https://bitbucket.org/milaboratory/mitcr

•

API для встраивания и автоматизированного
анализа через Groovy скрипты

•

Опубликована в Maven Central

•

Ubuntu PPA, Windows Installer, cross platform jar file
База данных
иммуномов
Мотивация
1. Возможна диагностика заболеваний по иммуномным данным
2. Для диагностики будут нужны паттерны иммунного ответа
3. Для вычисления этих паттернов необходимы большие
выборки образцов здоровых доноров и пациентов
4. Объединение в одном месте данных из многих источников
позволит набрать необходимые выборки образцов с
известными заболеваниями
5. База как таковая сможет служить хорошим источником
контрольных данных
Задачи
•

Хранение данных иммуномов человека с
сопутствующей мета-информацией об истории
болезни

•

Обеспечение разграничения прав доступа к
различным массивам (публичные и приватные
массивы)

•

Поиск новых паттернов и уточнение старых

•

Распознавание паттернов в поступающих данных
Мотивация пользователя
•

Простой интерфейс для обработки данных
(MiTCR или его преемник будут осуществлять
обработку на серверной стороне)

•

Интерфейс (Web и API) для простого анализа и
сравнения образцов, к которым имеется доступ

•

Share your immunome
Доставка данных
Amazon
S3
OpenStack
Swift

Специализированные
облачные сервисы
Другие облачные
сервисы

•

Входными данными могут служить как сырые данные
секвенирования так и уже обработанные массивы
Примерная структура
Amazon
S3
OpenStack
Swift

?

BackUp / хранение
обработанных
массивов

“Сырые”
данные
Web GUI / API
Характерные запросы на
низком уровне
•

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

•

Найти все клоны, встречающиеся в группе
массивов

•

Различные нечеткие поиски и группировки
Прототип

Clones

DataSets

ATTAGACA

Int[] datasets

ID

Name

{1,3,30,40}

1

Control_1

40

String CDR3

Flu_1

Indexed using GiST or GIN
Производительность прототипа
•

На входе:
•
‣

Результат:

112 массивов
‣
‣

‣
•

CDR3 ключей 26 млн
Суммарный объем данных
с ключами: ~70 Гб

‣

Запрос “все клоны из 2-х
массивов”:
latency ~ 150ms;
throughput ~ 50 op/sec

суммарно 45 млн клонов

Железо:
‣

Core i7-2600 @ 3.8 GHz

‣

16 Gb RAM

‣

Soft. RAID1 2xSSD 128 Gb
Заключение
•

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

•

База сразу будет полезна для текущей работы
исследователей, что должно помочь ее
наполнению

•

Реализация такой базы существенно упрощается
за счет существующих облачных сервисов
Спасибо за внимание

bolotin.dmitriy@gmail.com
http://milaboratory.com/

Ya.mi tcr.final