guests 2011-10-04-pevzner-assembly
Post on 11-May-2015
604 Views
Preview:
TRANSCRIPT
Реконструкция генома:пазл с миллиардом частей
Филлип Компо и Павел Певзнер,Калифорнийский университет, Сан-Диего
Вопрос Номер 1: Кто Эти Люди?
Содержание
1. Введение в секвенирование генома
2. Задача о газете
3. ДНК-чипы: первая попытка секвенирования короткими ридами
4. Два математических обхода
5. Введение в теорию графов
6. Теорема Эйлера
7. Эйлеров цикл против гамильтонова цикла и алгоритмическая сложность
8. От Эйлера и Гамильтона — к сборке фрагментов
9. Де Брюйн и итоговое решение для сборки фрагментов
10. Обобщая сборку фрагментов
Часть 1: Введение в секвенирование генома
Что такое секвенирование генома?
• Геном можно рассматривать как книгу, написанную при помощи алфавита, содержащего лишь 4 буквы — это нуклеотиды: A, T, G и C.
• В человеческом геноме содержится около 3 миллиардов нуклеотидов.
• Секвенирование генома — процесс выявления последовательности нуклеотидов, составляющих геном.
...CTGATGATGGACTACGCTACTACTGCTAGCTGTATTACGATCAGCTACCACATCGTAGCTACGATGCATTAGCAAGCTATCGATCGATCGATCGATTATCTACGATCGATCGATCGATCACTATACGAGCTACTACGTACGTACGATCGCGGGACTATTATCGACTACAGATAAAACATGCTAGTACAACAGTATACATAGCTGCGGGATACGATTAGCTAATAGCTGACGATATATAGCCGAGCGGCTACGATGATGCTAGCTGTACAGCTGATGATCTAGCTATCGATGCGATCGATGCGCGAGTGCGATCGATCACTTCGAGCTAGCTGATCGATCGATGCTAGCTAGCTGACTGATCATGGCGTTAGCTAGCTAGCTGATCGTCGATCGTACGTAGCTGATTACGATCGTCCGATCGTGCTATGACGTACGAGGCGGCTACGTAGCATGCTAGCTGACTGATGTAGCTAGCTATACGATACTATATATTCGATCGATTTATTACCATGACTGACGCGCATCGCTGTACACGTACTAGCTGATCGATGCTAGTCGATCGATCGATCATGTTATATATCGCGGCGCATCGATCGACTGCTCGATTATCGATACGTCGATCGCTGTATATACGTCTTTATAGCTAGGAGCATAGCGACGCGCTATCGATCGATCGTCTAGTCGACTGATCGTACTAGCTGACGCTGACGACTAGCTAGCTATCGACGATCGTAGTGCGATTACTAGCTAGGATCCTACTGTACGTCAGTCAGTCTGATCGATAGCGAGGAAAGCGAGACTGATCGTTCTCTAGATGTAGCTGATGTGACTACTATACTACTGGCAGCGATCGGGA…
Что такое секвенирование генома?
• Разные люди имеют слегка различные геномы: у всех людей общие 99.9% генетического кода.
• Разница в 0.1% касается роста, цвета глаз, склонности к высокому уровню холестерина и т. д.
CTGATGATGGACTACGCTACTACTGCTAGCTGTATTACGATCAGCTACCACATCGTAGCTACGATGCATTAGCAAGCTATCGATCGATCGATCGATTATCTACGATCGATCGATCGATCACTATACGAGCTACTACGTACGTACGATCGCGGGACTATTATCGACTACAGATAAAACATGCTAGTACAACAGTATACATAGCTGCGGGATACGATTAGCTAATAGCTGACGATATCCGAT
CTGATGATGGACTACGCTACTACTGCTAGCTGTATTACGATCAGCTACAACATCGTAGCTACGATGCATTAGCAAGCTATCGATCGATCGATCGATTATCTACGATCGATCGATCGATCACTATACGAGCTACTACGTACGTACGATCGCGTGACTATTATCGACTACAGATGAAACATGCTAGTACAACAGTATACATAGCTGCGGGATACGATTAGCTAATAGCTGACGATATCCGAT
Видовое и индивидуальное секвенирование
• Видовое секвенирование: определить «общий геном» всего вида.
Видовое и индивидуальное секвенирование
• Индивидуальное секвенирование: определить, насколько индивидуум отличается от вида.
Видовое cеквенирование генома:
• Сравнить различные виды (например, человек и шимпанзе), чтобы понять, как функционируют их гены(например, какие геныважны для развитияголовного мозга).
• Выявить эволюционноеродство между видами.
• Определить генетический состав нашихэволюционных предков.
Зачем мы хотим секвенировать геном?
Зачем мы хотим секвенировать геном?
Индивидуальное секвенирование генома:
• Открытие генетической основы многих заболеваний;
• Судебные исследования.
Пример: в 2010 г. 6-летний Николас Волкер стал первым человеком,которого удалось спасти благодаря секвенированию генома.
• Доктора не могли диагностировать его состояние, вызывавшее странные инфекции; он побывал в сотне врачебных кабинетов.
• Последовательность генома выявила редкуюмутацию в гене, ведущую к дефекту в егоиммунной системе.
• Это подтолкнуло врачей к использованиюболее глубокой иммунотерапии,что и спасло ребёнка.
Краткая история секвенирования генома
• Конец 1970-х: Уолтер Гилберт и Фредерик Сэнгер развивают независимые методы секвенирования.
• 1980: Они получают Нобелевскую премию по химии.
• Однако их методы выявления последовательности были слишком дороги для больших геномов: при расходах в 1 доллар на нуклеотид расшифровка человеческого генома стоила бы 3 миллиарда долларов.
Уолтер Гилберт
Фредерик Сэнгер
Краткая история секвенирования генома
• 1990: Общественный проект «Человеческий геном», возглавляемый Фрэнсисом Коллинзом, задаётся целью расшифровать человеческий геном.
• 1997: Крейг Вентер основывает частную фирму «Celera Genomics» с той же целью.
Фрэнсис Коллинз
Крейг Вентер
Краткая история секвенирования генома
• 2000: Черновой вариант человеческого генома одновременно завершён (общественным) проектом «Человеческий геном» и (частной) Celera Genomics.
Краткая история секвенирования генома
• 2000-е: расшифровывается всё большее число геномов млекопитающих.
Начало персональной геномики
• 2000-е: Многие компании запускают проекты, ставящие целью на порядок уменьшить затраты на секвенирование.
• 2010: Рождается рынок приборов, секвенирующих геном:• Illumina уменьшает стоимость секвенирования индивидуального
человеческого генома с 3 миллиардов долларов до 10 тысяч.
• Complete Genomics строит в Кремниевой долине предприятие по секвенированию с производительностью сотни геномов в месяц.
• Пекинский институт по исследованию геномов заказывает сотни секвенирующих машин, становясь крупнейшим центром в мире.
• 23andMe предлагает частичное чтение последовательности генома за 499 долларов.
• Многие университеты вводят новые курсы, на которых студенты будут изучать свои собственные геномы.
Будущее секвенировнания генома
• 2010-е?: Секвенирование генома будет, надеемся, продолжать развиваться.
• Секвенирование человеческого генома за 1000 долларов может стать реальностью уже в 2012 году.
• Вероятно, секвенирование индивидуального генома вскоре станет таким же рутинным делом, как рентгеновский снимок.
Что делает секвенирование генома трудным?
• Когда мы читаем книгу, мы можем прочесть её всю по букве от начала до конца.
• Однако современные машины по расшифровке не могут прочесть весь геном нуклеотид за нуклеотидом от начала до конца. Они могут читать лишь короткие отрывки, вырезанные из генома.
• Поэтому мы можем идентифицировать очень короткие фрагменты ДНК (длиной примерно в 100 нуклеотидов), называемые риды (reads).
• Но у нас нет подсказки, из какой части генома данный рид!• Мы должны выяснить, как составить риды вместе, чтобы
получился геном.
Часть 2: Задача о газете и секвенирование генома
Задача о газете
Задача о газете
Задача о газете
Задача о газете
Задача о газете
Задача о газете
Задача о газете как «пазл с наложениями»
• Задача о газете — не то же самое,что обычный пазл:
• У нас есть множество копийодного и того же издания газеты.
• Некоторые листы газетыразлетелись на мелкие клочки.
• Мы должны использовать клочки бумаги, накладывающиеся друг на друга,чтобы восстановить, что говорилось в газете.
• Это даёт нам гигантский пазл с наложениями!
• В задаче о газете на нас работают правила языка и здравый смысл (например, «убийство» и «подозреваемый» скорее встретятся в газете рядом друг с другом).
• Однако «язык» ДНК остаётся по большей части неясным.
Секвенирование сложнее задачи о газете
Секвенирование сложнее задачи о газете
• В каждом геноме есть много повторяющихся подстрок (50% человеческого генома — повторения).
• Пример: GCTT встречается четыре раза в строке
AAGCTTCTATTGCTTAATTGGCTTGCTTCGCTTTG
• Аналогия: треугольный пазлсодержит множествоповторяющихся фигур.Это сильно затрудняет егорешение (даже с 16 кусочками).
Секвенирование: лаборатория + вычисления
• Генерация ридов (лабораторная):Считать множество ридов из многих копий одного генома.
• Сборка фрагментов (вычислительная):Собрать геном из этих ридов с помощью эффективного алгоритма.
Секвенирование генома: иллюстрация
Много копий генома
Секвенирование генома: иллюстрация
Много копий генома
Чтение ридов
Секвенирование генома: иллюстрация
Много копий генома
Риды
Чтение ридов
Секвенирование генома: иллюстрация
Много копий генома
Риды
Чтение ридов
Сборка фрагментов
Секвенирование генома: иллюстрация
Много копий генома
Риды
Собранный геном
…GGCATGCGTCAGAAACTATCATAGCTAGATCGTACGTAGCC…
Чтение ридов
Сборка фрагментов
Часть 3: ДНК-чипы — первая попытка секвенирования
с помощью коротких ридов
ДНК-чипы: от идеи до новой индустрии
• 1989: Радое Дрманач, Андрей Мирзабеков и Эдвин Саутерн независимо друг от друга вводят понятие ДНК-чипов (матриц) для чтения ридов.
• Ключевая идея: считать все k-меры* генома в надежде, что из них может быть собран геном.
• 1989: журнал Science пишет: «Использование ДНК-матриц для определения последовательности было бы всего лишь заменой одной безнадежной задачи на другую.»
• 2000: Матрицы ‒ индустрия с миллиардами долларов.
Саутерн
Мирзабеков
Дрманач
k-мер: Строка длины k (над алфавитом из четырех нуклеотидов)
ДНК-чипы: реализация
1. Синтезировать все k-меры в каждой из 4k ячеек матрицы.
2. Покрыть матрицу многими копиями флуоресцентно помеченного фрагмента неизвестной ДНК.
3. ДНК гибридизирует с k-мером,если они дополняют друг друга.
4. Использовать спектроскоп, чтобыопределить, какие ячейкиизлучают свет — дополненияк этим ячейкам выявят k-мерынеизвестного фрагмента ДНК.Это и есть искомые риды!
ДНК-чипы: иллюстрация
ДНК-чипы: пример
• Прочитанные риды: AAA AGA CAA CGA GAA GGA TAA TGA
AAC AGC CAC CGC GAC GGC TAC TGC
AAG AGG CAG CGG GAG GGG TAG TGG
AAT AGT CAT CGT GAT GGT TAT TGT
ACA ATA CCA CTA GCA GTA TCA TTA
ACC ATC CCC CTC GCC GTC TCC TTC
ACG ATG CCG CTG GCG GTG TCG TTG
ACT ATT CCT CTT GCT GTT TCT TTT
CAC CGC TGC
CAT
CCA GCA
GCC
ACG TTG
ATT
ДНК-чипы: пример
• Прочитанные риды:
CAT
ДНК-чипы: пример
• Прочитанные риды:
CAT|||
ATG
CAC CGC TGC
CAT
CCA GCA
GCC
ACG TTG
ATT
ДНК-чипы: пример
• Прочитанные риды:
CAT
ATG
CAC CGC TGC
CAT
CCA GCA
GCC
ACG TTG
ATT
ДНК-чипы: пример
• Прочитанные риды:
CAT
ATG
CAC CGC TGC
CAT
CCA GCA
GCC
ACG TTG
ATT
ДНК-чипы: пример
• Прочитанные риды:
CAT
ATG
CAC CGC TGC
CAT
CCA GCA
GCC
ACG TTG
ATT
ДНК-чипы: пример
• Прочитанные риды:
CAT
ATG
CAC CGC TGC
CAT
CCA GCA
GCC
ACG TTG
ATT
ДНК-чипы: пример• Прочитанные риды:
• Значит, 3-мер ATG встречается где-тов геноме!
ATG
CAC CGC TGC
ATG
CCA GCA
GCC
ACG TTG
ATT
Красные 3-меры точно присутствуют в геноме
• Прочитанные риды:
CAC GTGCGC GCG•CAT ATGTGC GCAACG CGTATT AATCCA TGGGCA TGCGCC GGCTTG CAA
CAC CGC TGC
ATG
CCA GCA
GCC
ACG TTG
ATT
Красные 3-меры точно присутствуют в геноме
• Прочитанные риды:
• CACCGC GCG• CAT ATG
CAC CGC TGC
ATG
CCA GCA
GCC
ACG TTG
ATT
Красные 3-меры точно присутствуют в геноме
• Прочитанные риды:
• CAC GTGCGC GCG• CAT ATG
GTG CGC TGC
ATG
CCA GCA
GCC
ACG TTG
ATT
Красные 3-меры точно присутствуют в геноме
GTG CGC TGC
ATG
CCA GCA
GCC
ACG TTG
ATT
• Прочитанные риды:
• CAC GTG• CGC• CAT ATG• TGC GCA• ACG CGT• ATT AAT• CCA TGG• GCA TGC• GCC GGC• TTG CAA
Красные 3-меры точно присутствуют в геноме
GTG GCG TGC
ATG
CCA GCA
GCC
ACG TTG
ATT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC GCA• ACG CGT• ATT AAT• CCA TGG• GCA TGC• GCC GGC• TTG CAA
Красные 3-меры точно присутствуют в геноме
GTG GCG TGC
ATG
CCA GCA
GCC
ACG TTG
ATT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC
Красные 3-меры точно присутствуют в геноме
GTG GCG GCA
ATG
CCA GCA
GCC
ACG TTG
ATT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC GCA
Красные 3-меры точно присутствуют в геноме
GTG GCG GCA
ATG
CCA GCA
GCC
ACG TTG
ATT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC GCA• ACG
Красные 3-меры точно присутствуют в геноме
GTG GCG GCA
ATG
CCA GCA
GCC
CGT TTG
ATT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC GCA• ACG CGT
Красные 3-меры точно присутствуют в геноме
GTG GCG GCA
ATG
CCA GCA
GCC
CGT TTG
ATT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC GCA• ACG CGT• ATT
Красные 3-меры точно присутствуют в геноме
GTG GCG GCA
ATG
CCA GCA
GCC
CGT TTG
AAT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC GCA• ACG CGT• ATT AAT
Красные 3-меры точно присутствуют в геноме
GTG GCG GCA
ATG
CCA GCA
GCC
CGT TTG
AAT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC GCA• ACG CGT• ATT AAT• CCA
Красные 3-меры точно присутствуют в геноме
GTG GCG GCA
ATG
TGG GCA
GCC
CGT TTG
AAT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC GCA• ACG CGT• ATT AAT• CCA TGG
Красные 3-меры точно присутствуют в геноме
GTG GCG GCA
ATG
TGG GCA
GCC
CGT TTG
AAT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC GCA• ACG CGT• ATT AAT• CCA TGG• GCA
Красные 3-меры точно присутствуют в геноме
GTG GCG GCA
ATG
TGG TGC
GCC
CGT TTG
AAT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC GCA• ACG CGT• ATT AAT• CCA TGG• GCA TGC
Красные 3-меры точно присутствуют в геноме
GTG GCG GCA
ATG
TGG TGC
GCC
CGT TTG
AAT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC GCA• ACG CGT• ATT AAT• CCA TGG• GCA TGC• GCC
Красные 3-меры точно присутствуют в геноме
GTG GCG GCA
ATG
TGG TGC
GGC
CGT TTG
AAT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC GCA• ACG CGT• ATT AAT• CCA TGG• GCA TGC• GCC GGC
Красные 3-меры точно присутствуют в геноме
GTG GCG GCA
ATG
TGG TGC
GGC
CGT TTG
AAT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC GCA• ACG CGT• ATT AAT• CCA TGG• GCA TGC• GCC GGC• TTG
Красные 3-меры точно присутствуют в геноме
GTG GCG GCA
ATG
TGG TGC
GGC
CGT CAA
AAT
• Прочитанные риды:
• CAC GTG• CGC GCG• CAT ATG• TGC GCA• ACG CGT• ATT AAT• CCA TGG• GCA TGC• GCC GGC• TTG CAA
От биологических данных к вычислительной задаче
GTG GCG GCA
ATG
TGG TGC
GGC
CGT CAA
AAT
• Цель: построитьнаиболее короткийгеном, содержащийвсе имеющиеся риды.
• Теперь этовычислительнаязадача!
Часть 4: Два математических обхода
Кенигсбергские мосты
• Жители Кенигсберга в Пруссии (ныне Калининград в России) любили гулять.
Кенигсбергские мосты
• Можно ли пройти по городу, проходя по каждому мосту ровно один раз и вернуться туда, откуда начался путь?
Кенигсбергские мосты
• 1735: Леонард Эйлер развивает подход к задаче для любого города, даже для города с миллионом островов.
• Мы вскоре обсудим метод Эйлера, а равно и то, какое он имеет отношение к секвенированию генома.
Леонард Эйлер
Икосаэдрическая (Icosian) игра
• Проходит более столетия...
• 1857: Ирландский математик Уильям Гамильтон разрабатывает игру на доске с 20 «островами», соединёнными «мостами».
• Цель: найти путь, посещающий каждый остров ровно один раз и возвращающийся в начальную точку.
Уильям Гамильтон
Икосаэдрическая игра
Похожие задачи с очень разными судьбами
• Эти две задачи формулируются в целом похоже:
• Найти путь, который проходит через каждый мост лишь один раз (Кёнигсбергие мосты)
• Найти путь, который проходит через каждый остров лишь один раз (Икосаэдрическая игра)
• Эйлер решил первую задачу (даже для города с миллионом мостов), но математики до сих пор не знают, как решить вторую задачу, даже для города с небольшим количеством островов.
• Однако причем же тут геномы?!
Часть 5: Введение в теорию графов
Графы
• Граф — это сеть из двух типов объектов:
• Вершины: каждая вершина представлена точкой.
• Рёбра: каждое ребро представлено отрезком, соединяющим две вершины.
• Теория графов может применятьсяк самым различным задачам:
• Транспортные сети;
• Эпидемиология;
• Компьютерные вирусы,распространяющиеся по интернету;
• И да… секвенирование генома!
Граф Кенигсбергских мостов
• Для задачи о Кёнигсбергских мостах мы создаём граф:
• Вершины = 4 участка земли;
• Рёбра = 7 мостов, соединяющих участки земли.
Замечание: нам не нужно знать точное расположение вершин, как и форму мостов.
Граф Икосаэдрической игры
• Для Икосаэдрической игры мы создаём граф:
• Вершины = острова;
• Рёбра = мосты, соединяющие острова.
Эйлеров и Гамильтонов циклы
• Рассмотрим муравья, стоящего на вершине графа G.
• Муравей может ходить от вершины к вершиневдоль рёбер G.
• Если муравей вернётся туда, откуда он начал путь, последовательность его ходов сформирует цикл в графе G.
Эйлеров и Гамильтонов циклы
• Рассмотрим муравья, стоящего на вершине графа G.
• Муравей может ходить от вершины к вершиневдоль рёбер G.
• Если муравей вернётся туда, откуда он начал путь, последовательность его ходов сформирует цикл в графе G.
“Here I go!”
Эйлеров и Гамильтонов циклы
• Рассмотрим муравья, стоящего на вершине графа G.
• Муравей может ходить от вершины к вершиневдоль рёбер G.
• Если муравей вернётся туда, откуда он начал путь, последовательность его ходов сформирует цикл в графе G.
“…He wakes up in the morning…”
Эйлеров и Гамильтонов циклы
• Рассмотрим муравья, стоящего на вершине графа G.
• Муравей может ходить от вершины к вершиневдоль рёбер G.
• Если муравей вернётся туда, откуда он начал путь, последовательность его ходов сформирует цикл в графе G.
“…goes to visit his mommy…”
Эйлеров и Гамильтонов циклы
• Рассмотрим муравья, стоящего на вершине графа G.
• Муравей может ходить от вершины к вершиневдоль рёбер G.
• Если муравей вернётся туда, откуда он начал путь, последовательность его ходов сформирует цикл в графе G.
“…when all the little ants are marching…”
Эйлеров и Гамильтонов циклы
• Рассмотрим муравья, стоящего на вершине графа G.
• Муравей может ходить от вершины к вершиневдоль рёбер G.
• Если муравей вернётся туда, откуда он начал путь, последовательность его ходов сформирует цикл в графе G.
“…they all do it the same way…”
Эйлеров и Гамильтонов циклы
• Рассмотрим муравья, стоящего на вершине графа G.
• Муравей может ходить от вершины к вершиневдоль рёбер G.
• Если муравей вернётся туда, откуда он начал путь, последовательность его ходов сформирует цикл в графе G.
“Oh no! I’m back where I started!”
Эйлеров и Гамильтонов циклы
• Два вопроса:
1. Существует ли в G цикл, в котором муравей проходит каждое ребро точно один раз?
2. Существует ли в G цикл, в котором муравей проходит каждую вершину точно один раз?
“???!!!”
Эйлеров и Гамильтонов циклы
• Два вопроса:
1. Существует ли в G цикл, в котором муравей проходит каждое ребро точно один раз? Эйлеров цикл.
2. Существует ли в G цикл, в котором муравей проходит каждую вершину точно один раз? Гамильтонов цикл.
“I wish someone would name a cycle after me…I’m the one doing all the walking here!”
Эйлеров цикл
• Эйлеров цикл — это цикл, проходящий по каждому ребру ровно один раз.
• Граф, содержащий такой цикл, называется эйлеровым.
• Если бы было решение для задачи оКёнигсбергских мостах, то мы моглибы найти эйлеров цикл в этом графе.
• Однако такого цикла не существует.
Эйлеров цикл
• Эйлеров цикл — это цикл, проходящий по каждому ребру ровно один раз.
• Граф, содержащий такой цикл, называется эйлеровым.
• Если бы было решение для задачи оКёнигсбергских мостах, то мы моглибы найти эйлеров цикл в этом графе.
• Однако такого цикла не существует.
• Если добавить два ребра, такой цикл появится, видите?
Эйлеров цикл
1
• Эйлеров цикл — это цикл, проходящий по каждому ребру ровно один раз.
• Граф, содержащий такой цикл, называется эйлеровым.
• Если бы было решение для задачи оКёнигсбергских мостах, то мы моглибы найти эйлеров цикл в этом графе.
• Однако такого цикла не существует.
• Если добавить два ребра, такой цикл появится, видите?
• Эйлеров цикл — это цикл, проходящий по каждому ребру ровно один раз.
• Граф, содержащий такой цикл, называется эйлеровым.
• Если бы было решение для задачи оКёнигсбергских мостах, то мы моглибы найти эйлеров цикл в этом графе.
• Однако такого цикла не существует.
• Если добавить два ребра, такой цикл появится, видите?
Эйлеров цикл
1
2
• Эйлеров цикл — это цикл, проходящий по каждому ребру ровно один раз.
• Граф, содержащий такой цикл, называется эйлеровым.
• Если бы было решение для задачи оКёнигсбергских мостах, то мы моглибы найти эйлеров цикл в этом графе.
• Однако такого цикла не существует.
• Если добавить два ребра, такой цикл появится, видите?
Эйлеров цикл
1
23
• Эйлеров цикл — это цикл, проходящий по каждому ребру ровно один раз.
• Граф, содержащий такой цикл, называется эйлеровым.
• Если бы было решение для задачи оКёнигсбергских мостах, то мы моглибы найти эйлеров цикл в этом графе.
• Однако такого цикла не существует.
• Если добавить два ребра, такой цикл появится, видите?
Эйлеров цикл
1
23
4
• Эйлеров цикл — это цикл, проходящий по каждому ребру ровно один раз.
• Граф, содержащий такой цикл, называется эйлеровым.
• Если бы было решение для задачи оКёнигсбергских мостах, то мы моглибы найти эйлеров цикл в этом графе.
• Однако такого цикла не существует.
• Если добавить два ребра, такой цикл появится, видите?
Эйлеров цикл
1
23
45
• Эйлеров цикл — это цикл, проходящий по каждому ребру ровно один раз.
• Граф, содержащий такой цикл, называется эйлеровым.
• Если бы было решение для задачи оКёнигсбергских мостах, то мы моглибы найти эйлеров цикл в этом графе.
• Однако такого цикла не существует.
• Если добавить два ребра, такой цикл появится, видите?
Эйлеров цикл
1
23
45
6
• Эйлеров цикл — это цикл, проходящий по каждому ребру ровно один раз.
• Граф, содержащий такой цикл, называется эйлеровым.
• Если бы было решение для задачи оКёнигсбергских мостах, то мы моглибы найти эйлеров цикл в этом графе.
• Однако такого цикла не существует.
• Если добавить два ребра, такой цикл появится, видите?
Эйлеров цикл
1
23
45
6
7
• Эйлеров цикл — это цикл, проходящий по каждому ребру ровно один раз.
• Граф, содержащий такой цикл, называется эйлеровым.
• Если бы было решение для задачи оКёнигсбергских мостах, то мы моглибы найти эйлеров цикл в этом графе.
• Однако такого цикла не существует.
• Если добавить два ребра, такой цикл появится, видите?
Эйлеров цикл
1
23
45
6
78
Эйлеров цикл
1
23
45
6
78
9
• Эйлеров цикл — это цикл, проходящий по каждому ребру ровно один раз.
• Граф, содержащий такой цикл, называется эйлеровым.
• Если бы было решение для задачи оКёнигсбергских мостах, то мы моглибы найти эйлеров цикл в этом графе.
• Однако такого цикла не существует.
• Если добавить два ребра, такой цикл появится, видите?
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, называется гамильтоновым.
• Например, граф, соответствующий Икосаэдрической игре — гамильтонов.
• Это означает, что Икосаэдрическаяигра имеет решение!
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 2
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
4
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
8
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
8
9
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
8
9
10
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
8
9
10
11
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
8
9
10
11
12
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
8
9
10
11
1213
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
8
9
10
11
1213
14
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
8
9
10
11
1213
14
15
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
8
9
10
11
1213
14
15
16
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
8
9
10
11
1213
14
15
1617
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
8
9
10
11
1213
14
15
1617
18
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
8
9
10
11
1213
14
15
1617
1819
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
8
9
10
11
1213
14
15
1617
1819
20
Гамильтонов цикл
• Гамильтонов цикл — это цикл, проходящий через каждую вершину ровно один раз.
• Граф, содержащий такой цикл, — гамильтонов.
1 23
45
6
7
8
9
10
11
1213
14
15
1617
1819
20
Поиск Эйлерова цикла и Гамильтонова цикла
• Если нам дан граф G, то возникают два вопроса насчёт G:
• Задача об эйлеровом цикле (ECP): найтиэйлеров цикл в G или доказать, что G — не эйлеров.
• Задача о гамильтоновом цикле (HCP): найти гамильтонов цикл в G или доказать, что G — не гамильтонов.
Часть 6: Теорема Эйлера
Теорема Эйлера
• А теперь посмотрим, как Эйлер решил задачу о Кёнигсбергских мостах.
• Вы можете предположить: он использовал теорию графов!
• Это не совсем корректно. Лучше было бы сказать: он изобрёл теорию графов!
Ориентированные графы
• Ориентированный граф — граф, в котором каждое ребро имеет направление (представленное стрелкой).
• Возможно, проще представить ориентированные ребра как «мосты с односторонним движением».
Неориентированный граф Ориентированный граф
Эйлеров цикл в ориентированном графе
• Эйлеров цикл в ориентированном графе ‒ это цикл, который проходит все рёбра в правильном направлении.
• Ориентированный граф ‒ эйлеров,если он содержит эйлеров цикл.
• Этот граф ‒ эйлеров? Почему?
входящая степень(v) = число ребер, ведущих в вершину v.
исходящая степень(v) = число ребер, ведущих из вершины v.
• Если входящая степень(v) = исходящая степень(v)для каждой вершины v, тограф сбалансирован.
• Этот граф несбалансирован,т. к. у некоторых вершинне равны входящая иисходящая степени.
Сбалансированные графы
(1, 2)
(2, 1)
(1, 0)
(2, 1)
(1, 1)
(0, 2)(1, 1)
входящая степень(v) = число ребер, ведущих к вершине v.
исходящая степень(v) = число ребер, ведущих из вершины v.
• Если входящая степень(v) = исходящая степень(v)для каждой вершины v, тограф сбалансирован.
• Добавлением несколькихребер, этот графможно сбалансировать.
Сбалансированные графы
(2, 2)
(2, 2)
(1, 1)
(2, 2)
(1, 1)
(2, 2)(1, 1)
Теорема Эйлера
• Теорема Эйлера: ориентированный граф G эйлеровтогда и только тогда, когда G связен и сбалансирован.
• Граф — связный, если для каждой пары вершин муравей может пройти от одной вершины к другой.
(2, 2)
(2, 2)
(1, 1)
(2, 2)
(1, 1)
(2, 2)(1, 1)
Несвязный Связный+
Сбалансированный
= Эйлеров
Proof of Euler’s Theorem: Eulerian Balanced
• Every time an Eulerian cycle passes through a vertex v, it must enter v by a new edge and exit v by a new edge.
• Therefore, indegree(v)=outdegree(v) for every vertex v
Proof of Euler’s Theorem: Balanced Eulerian• Put an ant in an arbitrary vertex v of the graph and
let him walk along edges in any legal direction. The ant is not allowed to walk along the previously traversed edges.
Proof of Euler’s Theorem: Balanced Eulerian• Put an ant in an arbitrary vertex v of the graph and
let him walk along edges in any legal direction. The ant is not allowed to walk along the previously traversed edges.
Proof of Euler’s Theorem: Balanced Eulerian• Put an ant in an arbitrary vertex v of the graph and
let him walk along edges in any legal direction. The ant is not allowed to walk along the previously traversed edges.
Proof of Euler’s Theorem: Balanced Eulerian• Put an ant in an arbitrary vertex v of the graph and
let him walk along edges in any legal direction. The ant is not allowed to walk along the previously traversed edges.
Proof of Euler’s Theorem: Balanced Eulerian• Put an ant in an arbitrary vertex v of the graph and
let him walk along edges in any legal direction. The ant is not allowed to walk along the previously traversed edges.
Proof of Euler’s Theorem: Balanced Eulerian• Put an ant in an arbitrary vertex v of the graph and
let him walk along edges in any legal direction. The ant is not allowed to walk along the previously traversed edges.
Proof of Euler’s Theorem: Balanced Eulerian• Put an ant in an arbitrary vertex v of the graph and
let him walk along edges in any legal direction. The ant is not allowed to walk along the previously traversed edges.
Proof of Euler’s Theorem: Balanced Eulerian• Put an ant in an arbitrary vertex v of the graph and
let him walk along edges in any legal direction. The ant is not allowed to walk along the previously traversed edges.
Proof of Euler’s Theorem: Balanced Eulerian
• Where will the ant stop? Can it stop in a vertex w different from v?
• Put an ant in an arbitrary vertex v of the graph and let him walk along edges in any legal direction. The ant is not allowed to walk along the previously traversed edges.
3
2
4
6
5
1
7
Proof of Euler’s Theorem: Balanced Eulerian
• Where will the ant stop? Can it stop in a vertex w different from v?
• Since indegree(w)=outdegree(w), there exists an edge out of w that the ant has not traversed yet!
• Put an ant in an arbitrary vertex v of the graph and let him walk along edges in any legal direction. The ant is not allowed to walk along the previously traversed edges.
3
2
4
6
5
1
7
Proof of Euler’s Theorem: Balanced Eulerian
• After this random walk, the ant cannot get stuck in an intermediate vertex and thus will return to the vertex where he started!
Proof of Euler’s Theorem: The Second Ant
Has the ant traversed all edges? If YES, then G is Eulerian. If NO, then 1.remove edges traversed by the ant
Proof of Euler’s Theorem: The Second Ant
Has the ant traversed all edges? If YES, then G is Eulerian. If NO, then 1.remove edges traversed by the ant2.let the second ant randomly walk in the resulting (smaller) balanced graph
Proof of Euler’s Theorem: The Second Ant
Has the ant traversed all edges? If YES, then G is Eulerian. If NO, then 1.remove edges traversed by the ant2.let the second ant randomly walk in the resulting (smaller) balanced graph
Proof of Euler’s Theorem: The Second Ant
Has the ant traversed all edges? If YES, then G is Eulerian. If NO, then 1.remove edges traversed by the ant2.let the second ant randomly walk in the resulting (smaller) balanced graph
Proof of Euler’s Theorem: The Second Ant
Has the ant traversed all edges? If YES, then G is Eulerian. If NO, then 1.remove edges traversed by the ant2.let the second ant randomly walk in the resulting (smaller) balanced graph until it returns where it started
Proof of Euler’s Theorem: The Second Ant
Has the ant traversed all edges? If YES, then G is Eulerian. If NO, then 1.remove edges traversed by the ant2.let the second ant randomly walk in the resulting (smaller) balanced graph3.It is important that the second ant starts in a vertex traversed by the first ant
Can Red and Green Ants Combine Their Cycles Into a Single One?
Changing the Starting Vertex of the Red Ant
Now Red and Green Ant Start at the Same Vertex
Since Red and Green Ants Now Start at the Same Vertex, Their Walks Can be Combined into a Single Superwalk!
If two ants still leave some edges non-traversed, bring in 3rd, 4th, 5th… ant
Часть 7: Эйлеров цикл против гамильтонова цикла и
алгоритмическая сложность
Решение задачи об эйлеровом цикле
• По теореме Эйлера для выяснения того, содержит ли связный граф G эйлеров цикл, нужно лишь выяснить, сбалансирован ли G.
• Так что мы просто подходим к каждой вершине и осуществляем эту простую проверку:
• Если каждая вершина сбалансирована, то G должен содержать эйлеров цикл.
• Если какая-то вершина не сбалансирована, то G не может содержать эйлеров цикл.
Связный + Сбалансированный = Эйлеров
(1, 2)
(2, 1)
(1, 0)
(1, 1)
(0, 2)(1, 1)
• Вернёмся к ориентированному графу из примера.
• Здесь граф не сбалансирован, следовательно, не эйлеров.
(2, 1)
• Вернёмся к ориентированному графу из примера.
• Здесь граф не сбалансирован, следовательно, не эйлеров.
• После добавления рёбер ибалансировки графа,эйлеров циклбудет существовать.
Связный + Сбалансированный = Эйлеров
(2, 2)
(2, 2)
(1, 1)
(1, 1)
(2, 2)(1, 1)
1
2
3
7
65
4
89
10
11
(2, 2)
Поиск эффективного алгоритма решения HCP • Никто не знает столь же
эффективного теста дляопределения, гамильтонов ли граф.
• Конечно, мы можем исследоватьвсе возможные прохождениямуравья по графу.
• Однако этот грубый подход простонеэффективен: даже по графус 1000 вершин существуетбольше вариантов прохождений,чем атомов во вселенной!
NP-полные задачи
• Задача о гамильтоновом цикле классифицируетсякак NP-полная.
• Изъясняясь непрофессиональным языком, это значит, что задача гамильтонова цикла относится к тысячам вычислительных задач, которые не могут быть решены быстро для больших входных данных.
• NP-полные проблемы эквивалентны друг другу: найдя эффективное решение для одной из них, вы получите эффективное решение для всех.
NP-полные задачи
«Я не могу найти эффективного алгоритма, наверное, я просто слишком глуп.»
Из Гэри и Джонсон. Компьютеры и трудность. 1979
• Попытка решить любую NP-полную задачу сложна.
NP-полные задачи
«Я не могу найти эффективного алгоритма, потому что такого алгоритма не может быть.»
• Попытка решить любую NP-полную задачу сложна.
• Остаётся надеяться, что мы терпим неудачу потому, что эффективного алгоритма для NP-полных задач —не существует.
Из Гэри и Джонсон. Компьютеры и трудность. 1979
NP-полные задачи
«Я не могу найти эффективного алгоритма, но и все эти великие люди тоже не могут.»
• Попытка решить любую NP-полную задачу сложна.
• Остаётся надеяться, что мы терпим неудачу потому, что эффективного алгоритма для NP-полных задач —не существует.
• Текущее состояние дел — где-то посередине.
Из Гэри и Джонсон. Компьютеры и трудность. 1979
NP-полнота задачи о гамильтоновом цикле
• Вопрос, могут ли NP-полные задачи (в т. ч. задачи гамильтонова цикла) быть эффективно решены, —одна из семи математических задач тысячелетия.
• Найдите эффективный алгоритм для задачи о гамильтоновом цикле или докажите, что такого алгоритма не существует, и вы получите миллион долларов.
• Однако если вы станете математиком,есть вероятность, что вы занимаетесьнаукой не ради $$$... недавноГригорий Перельман решил одну иззадач тысячелетия, ноотказался от премии.
Григорий Перельман, легенда
Часть 8: От Эйлера и Гамильтона
к сборке фрагментов
Несколько упрощений
1. Каждый k-мер, встречающийся в геноме, встречается хотя бы в одном риде.
2. Считывания безошибочны.
3. Каждый k-мер, встречающийся в геноме, встречается в нем ровно один раз.
4. Исследуемый геном — одна кольцевая хромосома.
В финальной части мы откажемся от этих предположений.
Первый подход: граф H
• Создадим в графе H вершины,соответствующие всем k-мерам,найденным с помощью ДНК-чипа.
GTGGCG GCA
ATG
TGG TGC
GGC
CGT CAA
AAT
Первый подход: граф H
• Создадим в графе H вершины,соответствующие всем k-мерам,найденным с помощью ДНК-чипа.
GTGGCG GCA
ATG
TGG TGC
GGC
CGT CAA
AAT
GTG
Первый подход: граф H
• Создадим в графе H вершины,соответствующие всем k-мерам,найденным с помощью ДНК-чипа.
GCG GCA
ATG
TGG TGC
GGC
CGT CAA
AAT
GTG GCG
Первый подход: граф H
• Создадим в графе H вершины,соответствующие всем k-мерам,найденным с помощью ДНК-чипа.
GCA
ATG
TGG TGC
GGC
CGT CAA
AAT
GTG GCGGCA
Первый подход: граф H
• Создадим в графе H вершины,соответствующие всем k-мерам,найденным с помощью ДНК-чипа.
ATG
TGG TGC
GGC
CGT CAA
AAT
GTG GCGGCAATG
Первый подход: граф H
• Создадим в графе H вершины,соответствующие всем k-мерам,найденным с помощью ДНК-чипа.
TGG TGC
GGC
CGT CAA
AAT
GTG GCGGCAATG TGG
Первый подход: граф H
• Создадим в графе H вершины,соответствующие всем k-мерам,найденным с помощью ДНК-чипа.
TGC
GGC
CGT CAA
AAT
GTG GCGGCAATG TGG TGC
Первый подход: граф H
• Создадим в графе H вершины,соответствующие всем k-мерам,найденным с помощью ДНК-чипа.
GGC
CGT CAA
AAT
GTG GCGGCAATG TGG TGCGGC
Первый подход: граф H
• Создадим в графе H вершины,соответствующие всем k-мерам,найденным с помощью ДНК-чипа.
CGT CAA
AAT
GTG GCGGCAATG TGG TGCGGCCGT
Первый подход: граф H
• Создадим в графе H вершины,соответствующие всем k-мерам,найденным с помощью ДНК-чипа.
CAA
AAT
GTG GCGGCAATG TGG TGCGGCCGT CAA
Первый подход: граф H
• Создадим в графе H вершины,соответствующие всем k-мерам,найденным с помощью ДНК-чипа.
AAT
GTG GCGGCAATG TGG TGCGGCCGT CAAAAT
Первый подход: граф H
• Создадим в графе H вершины,соответствующие всем k-мерам,найденным с помощью ДНК-чипа.
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Первый подход: граф H
• Создадим в графе H вершины,соответствующие всем k-мерам,найденным с помощью ДНК-чипа.
• Префикс — это первые k – 1 нуклеотидов k-мера (CAA)
• Суффикс — последние k – 1 нуклеотидов k-мера(CAA)
• Разные 3-меры могут иметь общий префикс/суффикс: ATG, TGA, CTG
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Первый подход: граф H
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
• Создавая ребра графа H, соединим вершину v и вершину w ориентированным ребром,если суффикс v совпадает с префиксом w.
Первый подход: граф H
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
• Создавая ребра графа H, соединим вершину v и вершину w ориентированным ребром,если суффикс v совпадает с префиксом w.
Первый подход: граф H
• Создавая ребра графа H, соединим вершину v и вершину w ориентированным ребром,если суффикс v совпадает с префиксом w.
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Первый подход: граф H
• Создавая ребра графа H, соединим вершину v и вершину w ориентированным ребром,если суффикс v совпадает с префиксом w.
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Первый подход: граф H
• Создавая ребра графа H, соединим вершину v и вершину w ориентированным ребром,если суффикс v совпадает с префиксом w.
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Первый подход: граф H
• Создавая ребра графа H, соединим вершину v и вершину w ориентированным ребром,если суффикс v совпадает с префиксом w.
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Первый подход: граф H
• Создавая ребра графа H, соединим вершину v и вершину w ориентированным ребром,если суффикс v совпадает с префиксом w.
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Первый подход: граф H
• Создавая ребра графа H, соединим вершину v и вершину w ориентированным ребром,если суффикс v совпадает с префиксом w.
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Первый подход: граф H
• Создавая ребра графа H, соединим вершину v и вершину w ориентированным ребром,если суффикс v совпадает с префиксом w.
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Первый подход: граф H
• Создавая ребра графа H, соединим вершину v и вершину w ориентированным ребром,если суффикс v совпадает с префиксом w.
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Первый подход: граф H
• Создавая ребра графа H, соединим вершину v и вершину w ориентированным ребром,если суффикс v совпадает с префиксом w.
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
ATG CGT GGC AAT GTG TGG TGC CAA GCA GCG
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
ATG
ATGГеном:
T
G
A
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
ATG TGG
ATGGГеном:
T
G
G
A
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
ATG TGG GGC
ATGGCГеном:
T
G
G
C
A
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
ATG TGG GGC GCG
ATGGCGГеном:
T
G
G
CG
A
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
ATG TGG GGC GCG CGT
ATGGCGTГеном:
T
G
G
CG
T
A
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
ATG TGG GGC GCG CGT GTG
ATGGCGTG Геном:
T
G
G
CG
T
G
A
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
ATG TGG GGC GCG CGT GTG TGC
ATGGCGTGC Геном:
T
G
G
CG
T
G
C
A
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
ATG TGG GGC GCG CGT GTG TGC GCA
ATGGCGTGCAГеном:
T
G
G
CG
T
G
C
AA
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
ATG TGG GGC GCG CGT GTG TGC GCA CAA
ATGGCGTGCAAГеном:
AT
G
G
CG
T
G
C
A
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT
ATGGCGTGCAATГеном:
AT
G
G
CG
T
G
C
A
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATGATGGCGTGCAATGГеном:
AT
G
G
CG
T
G
C
A
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATGATGGCGTGCAATGГеном:
AT
G
G
CG
T
G
C
A
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATGATGGCGTGCAATGГеном:
AT
G
G
CG
T
G
C
A
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
Геном:
AT
G
G
CG
T
G
C
A
Гамильтонов цикл в графе H
• В графе H есть гамильтонов цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT ATG
Геном:
AT
G
G
CG
T
G
C
A
Проблема с графом H
• Итак, мы должны найтигамильтонов цикл в графе H, чтобынайти искомую последовательность.
• На этой идее базировался метод сборки человеческого генома из 50 миллионов (долгих и дорогих) ридов в 2000 г., но вычислительная нагрузка была непомерно высока: секвенирование человеческого генома заняло несколько компьютеро-месяцев (в круглосуточном режиме работы).
• С новейшими технологиями секвенируются миллиарды (коротких и недорогих) ридов: нужна новая идея.
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TGTGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GCTGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CATGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CAATTGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CAATTGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CAATTGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CAAT
GG
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CAAT
GG
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CAAT
GG
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CAAT
GG
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CAAT
GG
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CAAT
GG
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CAAT
GG
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CAAT
GG
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CAAT
GG
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CAAT
GG
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
GT
TG GC
CG
CAAT
GG
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
CAGC
CG
TG
GT
GG
AT
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
• Соединим вершины v и wориентированным ребром,если есть k-мер, в которомпрефикс — это v, асуффикс — это w.
CAGC
CG
TG
GT
GG
AT
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
• Соединим вершины v и wориентированным ребром,если есть k-мер, в которомпрефикс — это v, асуффикс — это w.
CAGC
CG
TG
GT
GG
AT
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
GTG
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
• Соединим вершины v и wориентированным ребром,если есть k-мер, в которомпрефикс — это v, асуффикс — это w.
CAGC
CG
TG
GT
GG
AT
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
GCGGTG
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
• Соединим вершины v и wориентированным ребром,если есть k-мер, в которомпрефикс — это v, асуффикс — это w.
CAGC
CG
TG
GT
GG
AT
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
GCGGTG
GCA
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
• Соединим вершины v и wориентированным ребром,если есть k-мер, в которомпрефикс — это v, асуффикс — это w.
CAGC
CG
TG
GT
GG
AT
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
ATG
GCGGTG
GCA
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
• Соединим вершины v и wориентированным ребром,если есть k-мер, в которомпрефикс — это v, асуффикс — это w.
CAGC
CG
TG
GT
GG
AT
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
ATG
TGGGCGGTG
GCA
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
• Соединим вершины v и wориентированным ребром,если есть k-мер, в которомпрефикс — это v, асуффикс — это w.
CAGC
CG
TG
GT
GG
AT
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
ATG
TGGGCGGTG
TGC GCA
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
• Соединим вершины v и wориентированным ребром,если есть k-мер, в которомпрефикс — это v, асуффикс — это w.
CAGC
CG
TG
GT
GG
AT
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
ATG
TGG GGCGCGGTG
TGC GCA
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
• Соединим вершины v и wориентированным ребром,если есть k-мер, в которомпрефикс — это v, асуффикс — это w.
CAGC
CG
TG
GT
GG
AT
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
• Соединим вершины v и wориентированным ребром,если есть k-мер, в которомпрефикс — это v, асуффикс — это w.
CAGC
CG
TG
GT
GG
AT
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAA
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
• Соединим вершины v и wориентированным ребром,если есть k-мер, в которомпрефикс — это v, асуффикс — это w.
CAGC
CG
TG
GT
GG
AT
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
Второй подход: граф E
• Сформируем иной граф E следующим образом:
• Вершины = все префиксы и суффиксы всех k-меров.
• Соединим вершины v и wориентированным ребром,если есть k-мер, в которомпрефикс — это v, асуффикс — это w.
CAGC
CG
TG
GT
GG
AT
AA
TGCGGCCGTCAAAAT
GTGGCGGCAATGTGG
Риды
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
• ATG
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
• ATG TGG
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
• ATG TGG GGC
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
• ATG TGG GGC GCG
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
• ATG TGG GGC GCG CGT
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
• ATG TGG GGC GCG CGT GTG
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
• ATG TGG GGC GCG CGT GTG TGC
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
9
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
910
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
910
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT
• Эта та же последовательность3-меров, что и в графе H!
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT• Эта та же последовательность
3-меров, что и в графе H!• Значит, мы получим тот же геном.
Геном:
A TG
GCGT
G
CA
Эйлеров цикл в графе E
• В графе E есть эйлеров цикл:
• ATG TGG GGC GCG CGT GTG TGC GCA CAA AAT• Эта та же последовательность
3-меров, что и в графе H!• Значит, мы получим тот же геном.
Геном:
A TG
GCGT
G
CA
Анализ графа E
Хорошая новость: Теперь нам только остаётся найти эйлеров цикл в графе E, что можно сделать на этом компьютере.
Плохая новость:
1. Может существовать более чем один эйлеров цикл в E.
• Эту беду здесь обсуждать не будем, но это решаемо.
2. Как мы узнаем, что граф E имеет эйлеров цикл?
• По теореме Эйлера нам нужно лишь показать, что E — сбалансированный граф.
• Чтобы сделать это, нам нужен ещё один фрагмент математической истории…
Часть 9: Де Брюйн исборка фрагментов
Вопрос Де Брюйна
• 1946: голландский математик Николаас де Брюйн задаётся вопросом: как создать циклическую строку минимальной длины, которая содержала бы любую строку длины k из нулей и единиц?
• Например, k = 3. Круговая строка «00011101» содержит все 8 двоичных строк длины 3. (На иллюстрации — подстроки 000 и 110).
Николаас де Брюйн
Вопрос Де Брюйна
• Де Брёйн ввёл специальный граф B(n, k):
• Вершины = все nk – 1 возможных (k – 1)-меров надn-буквенным алфавитом.
• Ребро идет из v в w,если есть k-мер, чейпрефикс = v, асуффикс = w.
• Справа приведен B(2, 4)
• Подразумеваетсяалфавит {0, 1}
Вопрос Де Брюйна
• При любых n и k, B(n, k) является сблансированным и связным, а значит, эйлеровым.
• Почему? Потому чтовходящая и исходящаястепень каждой вершиныравняется n — размеруалфавита.
• Красные числапоказывают порядокрёбер в эйлеровом цикле.
Вопрос Де Брюйна
• Рассмотренный нами граф E содержится в B(4, k).
• n = 4 — это количество возможных нуклеотидов.
• Граф E тоже должен бытьсбалансированным/эйлеровым!
• Входящая и исходящаястепени любой вершиныравны числу появленийсоответствующего(k – 1)-мерав геноме.
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
910
Геном:
Вопрос Де Брюйна
• Рассмотренный нами граф E содержится в B(4, k).
• n = 4 — это количество возможных нуклеотидов.
• Граф E тоже должен бытьсбалансированным/эйлеровым!
• Входящая и исходящаястепени любой вершиныравны числу появленийсоответствующего(k – 1)-мерав геноме.
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
910
Геном:
Вопрос Де Брюйна
• Рассмотренный нами граф E содержится в B(4, k).
• n = 4 — это количество возможных нуклеотидов.
• Граф E тоже должен бытьсбалансированным/эйлеровым!
• Входящая и исходящаястепени любой вершиныравны числу появленийсоответствующего(k – 1)-мерав геноме.
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
910
Геном:
Вопрос Де Брюйна
• Рассмотренный нами граф E содержится в B(4, k).
• n = 4 — это количество возможных нуклеотидов.
• Граф E тоже должен бытьсбалансированным/эйлеровым!
• Входящая и исходящаястепени любой вершиныравны числу появленийсоответствующего(k – 1)-мерав геноме.
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
910
Геном:
Вопрос Де Брюйна
• Рассмотренный нами граф E содержится в B(4, k).
• n = 4 — это количество возможных нуклеотидов.
• Граф E тоже должен бытьсбалансированным/эйлеровым!
• Входящая и исходящаястепени любой вершиныравны числу появленийсоответствующего(k – 1)-мерав геноме.
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
910
Геном:
Вопрос Де Брюйна
• Рассмотренный нами граф E содержится в B(4, k).
• n = 4 — это количество возможных нуклеотидов.
• Граф E тоже должен бытьсбалансированным/эйлеровым!
• Входящая и исходящаястепени любой вершиныравны числу появленийсоответствующего(k – 1)-мерав геноме.
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
910
Геном:
Вопрос Де Брюйна
• Рассмотренный нами граф E содержится в B(4, k).
• n = 4 — это количество возможных нуклеотидов.
• Граф E тоже должен бытьсбалансированным/эйлеровым!
• Входящая и исходящаястепени любой вершиныравны числу появленийсоответствующего(k – 1)-мерав геноме.
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
910
Геном:
Вопрос Де Брюйна
• Рассмотренный нами граф E содержится в B(4, k).
• n = 4 — это количество возможных нуклеотидов.
• Граф E тоже должен бытьсбалансированным/эйлеровым!
• Входящая и исходящаястепени любой вершиныравны числу появленийсоответствующего(k – 1)-мерав геноме.
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
910
Геном:
Вопрос Де Брюйна
• Рассмотренный нами граф E содержится в B(4, k).
• n = 4 — это количество возможных нуклеотидов.
• Граф E тоже должен бытьсбалансированным/эйлеровым!
• Входящая и исходящаястепени любой вершиныравны числу появленийсоответствующего(k – 1)-мерав геноме.
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
910
Геном:
Вопрос Де Брюйна
• Рассмотренный нами граф E содержится в B(4, k).
• n = 4 — это количество возможных нуклеотидов.
• Граф E тоже должен бытьсбалансированным/эйлеровым!
• Входящая и исходящаястепени любой вершиныравны числу появленийсоответствующего(k – 1)-мерав геноме.
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
910
Геном:
Вопрос Де Брюйна
• Рассмотренный нами граф E содержится в B(4, k).
• n = 4 — это количество возможных нуклеотидов.
• Граф E тоже должен бытьсбалансированным/эйлеровым!
• Входящая и исходящаястепени любой вершиныравны числу появленийсоответствующего(k – 1)-мерав геноме.
3
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGC GCA
CAAAAT
1
2
4
5
6
7 8
910
Геном:
Часть 10: Обобщая сборку фрагментов
Используемые упрощения
• Вспомним предположения, которые мы использовали:
1. Каждый k-мер, встречающийся в геноме, встречается хотя бы в одном риде.
2. Считывания безошибочны.
3. Каждый k-мер, встречающийся в геноме, встречается в нем ровно один раз.
4. Исследуемый геном — одна кольцевая хромосома.
• Наша цель — отринуть каждое из этих предположений и определить, как изменится задача.
Упрощение 1: Чтение (почти) всех k-меров
• 100-нуклеотидные риды, сгенерированные по технологии Illumina, охватывают лишь небольшую часть 100-меров из генома, тем самым нарушая ключевое упрощение.
• Но если разбить эти риды на более короткие k-меры, тоk-меры, полученные в результате, зачастую будут представлять почти все k-меры из генома(при достаточно малом k).
• Например, современные сборщики часто разбивают100-нуклеотидное риды на 46 накладывающихся друг на друга 55-меров, а далее собирают полученные 55-меры, используя графы де Брюйна.
• Пример: рассмотрим геном ATGCAAGCTAGCT и следующие риды длины 6:
• Далеко не все 6-меры генома прочитаны как риды, однако все 3-меры генома присутствуют в ридах как подстроки.
Упрощение 1: Чтение (почти) всех k-меров
ATGCAAGCTAGCT
ATGCAA CAAGCT CTAGCTATGC CT
Риды
Геном
• Пример: рассмотрим геном ATGCAAGCTAGCT и следующие риды длины 6:
• Далеко не все 6-меры генома прочитаны как риды, однако все 3-меры генома присутствуют в ридах как подстроки.
Упрощение 1: Чтение (почти) всех k-меров
ATGCAAGCTAGCT
ATGCAA CAAGCT CTAGCTATGC CT
Риды
Геном
• Пример: рассмотрим геном ATGCAAGCTAGCT и следующие риды длины 6:
• Далеко не все 6-меры генома прочитаны как риды, однако все 3-меры генома присутствуют в ридах как подстроки.
Упрощение 1: Чтение (почти) всех k-меров
ATGCAAGCTAGCT
ATGCAA CAAGCT CTAGCTATGC CT
Риды
Геном
• Пример: рассмотрим геном ATGCAAGCTAGCT и следующие риды длины 6:
• Далеко не все 6-меры генома прочитаны как риды, однако все 3-меры генома присутствуют в ридах как подстроки.
Упрощение 1: Чтение (почти) всех k-меров
ATGCAAGCTAGCT
ATGCAA CAAGCT CTAGCTATGC CT
Риды
Геном
• Пример: рассмотрим геном ATGCAAGCTAGCT и следующие риды длины 6:
• Далеко не все 6-меры генома прочитаны как риды, однако все 3-меры генома присутствуют в ридах как подстроки.
Упрощение 1: Чтение (почти) всех k-меров
ATGCAAGCTAGCT
ATGCAA CAAGCT CTAGCTATGC CT
Риды
Геном
• Пример: рассмотрим геном ATGCAAGCTAGCT и следующие риды длины 6:
• Далеко не все 6-меры генома прочитаны как риды, однако все 3-меры генома присутствуют в ридах как подстроки.
Упрощение 1: Чтение (почти) всех k-меров
ATGCAAGCTAGCT
ATGCAA CAAGCT CTAGCTATGC CT
Риды
Геном
• Пример: рассмотрим геном ATGCAAGCTAGCT и следующие риды длины 6:
• Далеко не все 6-меры генома прочитаны как риды, однако все 3-меры генома присутствуют в ридах как подстроки.
Упрощение 1: Чтение (почти) всех k-меров
ATGCAAGCTAGCT
ATGCAA CAAGCT CTAGCTATGC CT
Риды
Геном
• Пример: рассмотрим геном ATGCAAGCTAGCT и следующие риды длины 6:
• Далеко не все 6-меры генома прочитаны как риды, однако все 3-меры генома присутствуют в ридах как подстроки.
Упрощение 1: Чтение (почти) всех k-меров
ATGCAAGCTAGCT
ATGCAA CAAGCT CTAGCTATGC CT
Риды
Геном
• Пример: рассмотрим геном ATGCAAGCTAGCT и следующие риды длины 6:
• Далеко не все 6-меры генома прочитаны как риды, однако все 3-меры генома присутствуют в ридах как подстроки.
Упрощение 1: Чтение (почти) всех k-меров
ATGCAAGCTAGCT
ATGCAA CAAGCT CTAGCTATGC CT
Риды
Геном
• Пример: рассмотрим геном ATGCAAGCTAGCT и следующие риды длины 6:
• Далеко не все 6-меры генома прочитаны как риды, однако все 3-меры генома присутствуют в ридах как подстроки.
Упрощение 1: Чтение (почти) всех k-меров
ATGCAAGCTAGCT
ATGCAA CAAGCT CTAGCTATGC CT
Риды
Геном
• Пример: рассмотрим геном ATGCAAGCTAGCT и следующие риды длины 6:
• Далеко не все 6-меры генома прочитаны как риды, однако все 3-меры генома присутствуют в ридах как подстроки.
Упрощение 1: Чтение (почти) всех k-меров
ATGCAAGCTAGCT
ATGCAA CAAGCT CTAGCTATGC CT
Риды
Геном
• Пример: рассмотрим геном ATGCAAGCTAGCT и следующие риды длины 6:
• Далеко не все 6-меры генома прочитаны как риды, однако все 3-меры генома присутствуют в ридах как подстроки.
Упрощение 1: Чтение (почти) всех k-меров
ATGCAAGCTAGCT
ATGCAA CAAGCT CTAGCTATGC CT
Риды
Геном
• Пример: рассмотрим геном ATGCAAGCTAGCT и следующие риды длины 6:
• Далеко не все 6-меры генома прочитаны как риды, однако все 3-меры генома присутствуют в ридах как подстроки.
Упрощение 1: Чтение (почти) всех k-меров
ATGCAAGCTAGCT
ATGCAA CAAGCT CTAGCTATGC CT
Риды
Геном
• Пример: рассмотрим геном ATGCAAGCTAGCT и следующие риды длины 6:
• Далеко не все 6-меры генома прочитаны как риды, однако все 3-меры генома присутствуют в ридах как подстроки.
Упрощение 1: Чтение (почти) всех k-меров
ATGCAAGCTAGCT
ATGCAA CAAGCT CTAGCTATGC CT
Риды
Геном
Упрощение 2: Ошибки в ридах
• Что случится с графом E, если в ридах будут ошибки?
• Пример: пусть граф E для генома ATGGCGTGCAATG выглядит следующим образом.
Упрощение 2: Ошибки в ридах
• Что случится с графом E, если в ридах будут ошибки?
• Пример: пусть граф E для генома ATGGCGTGCAATG выглядит следующим образом.
• Если рид TGGCGTG будет ошибочно прочитан как TGGAGTG , то граф будет выглядеть по-другому.
• Это называется выступом (bulge) в графе E.
Упрощение 2: Ошибки в ридах
• Большинство ридов в реальных данных содержат ошибки, что дает в итоге миллионы выступов в графе E.
• 2004: Певзнер и др. создали алгоритм удаления выступов.
Упрощение 3: Повторяющиеся k-меры
• Пример: в геноме ACGTACGT только четыре различных3-мера — ACG, CGT, GTA, and TAC.
• Получается приведенный на рисунке граф E, а геном восстанавливается как ACGT.
• Иными словами,повторяющиеся k-мерыне представимы в графе!
AC CG
GTTA
TAC
ACG
CGT
GTA
Упрощение 3: Повторяющиеся k-меры
• Определим кратность k-мера как количество его появлений в геноме.
• Создадим новый граф E*, клонировав ребра графа E в соответствии с их кратностью.
• Эйлеров цикл в E* всё ещё даёт возможный геном.
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Пусть кратности 3-меров в ридах таковы:
• Кратность 1: ATG, GGC, AAT, TGG, CAA, CAA, GCA• Кратность 2: GCG, CGT,GTG, TGC
• Е* сбалансирован, так каквходящие и исходящиестепени вершин равны
• Возможный геном:CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
ATGCGTGGCGTGCA
Упрощение 3: Повторяющиеся k-меры
• Как определить кратность k-мера в геноме?
• Кратность k-мерапропорциональначастоте появленияэтого k-мера в ридах.
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
Упрощение 4: От кольцевых — к линейным
• Геномы всех сложных организмов разбиты на определённое число линейных хромосом (46 у человека).
• Чтобы секвенироватьчеловеческий геном,генетики секвенироваливсе эти линейные хромосомы.
• Вопрос: как собратьлинейный сегмент ДНК?
Упрощение 4: От кольцевых — к линейным
• Пусть линейный сегмент ДНК — ATGCGTGGCGTGCA.
• Тогда 3-меры из этого сегмента ‒ те же самые, что и для кольцевого сегмента за исключением двух 3-меров:
Упрощение 4: От кольцевых — к линейным
• Пусть линейный сегмент ДНК — ATGCGTGGCGTGCA.
• Тогда 3-меры из этого сегмента ‒ те же самые, что и для кольцевого сегмента за исключением двух 3-меров:
• CAA
Упрощение 4: От кольцевых — к линейным
• Пусть линейный сегмент ДНК — ATGCGTGGCGTGCA.
• Тогда 3-меры из этого сегмента ‒ те же самые, что и для кольцевого сегмента за исключением двух 3-меров:
• CAA• AAT
Упрощение 4: От кольцевых — к линейным
• Пропажа 3-меров CAA и AAT ведет к удалению соответствующих ребер графа E*.
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
Упрощение 4: От кольцевых — к линейным
• Пропажа 3-меров CAA и AAT ведет к удалению соответствующих ребер графа E*.
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
CAAAAT
Упрощение 4: От кольцевых — к линейным
• Пропажа 3-меров CAA и AAT ведет к удалению соответствующих ребер графа E*.
• А также вершины AA.
CAGC
CG
TG
GT
GG
AT
AA
ATG
TGG GGCGCG
CGT
GTG
TGCGCA
Упрощение 4: От кольцевых — к линейным
• Пропажа 3-меров CAA и AAT ведет к удалению соответствующих ребер графа E*.
• А также вершины AA.
CAGC
CG
TG
GT
GG
ATATG
TGG GGCGCG
CGT
GTG
TGCGCA
Упрощение 4: От кольцевых — к линейным
• Пропажа 3-меров CAA и AAT ведет к удалению соответствующих ребер графа E*.
• А также вершины AA.
• Итак, для сборки строкиATGCGTGGCGTGCA,надо найти путь вE*, которыйначинается в AT,заканчивается в CA и проходит по всем ребрам.
CAGC
CG
TG
GT
GG
ATATG
TGG GGCGCG
CGT
GTG
TGCGCA
Упрощение 4: От кольцевых — к линейным
• Эйлеров путь в ориентированном графе G — это путь, проходящий по каждому ребру ровно один раз.
• Как эйлеров цикл, только необязательно стартовать и заканчивать путь в одной и той же вершине.
• К счастью, теорема Эйлера обобщается на этот случай.
• Вторая теорема Эйлера: связный ориентированный граф имеет эйлеров путь именно тогда, когда либо все вершины сбалансированы, либо ровно две вершины не сбалансированы на единицу.
Упрощение 4: От кольцевых — к линейным
• Значит, граф E* должен содержать эйлеров путь, потому что AT и CA (концы нашего сегмента) — единственные две несбалансированные вершины.
• Выходит, мы разгадалинаш гигантский пазлв общем случае!
CAGC
CG
TG
GT
GG
ATATG
TGG GGCGCG
CGT
GTG
TGCGCA
Что дальше?
Персональная геномика: миллионы геномов
• Расшифровка персональногогенома началась с геномовнескольких учёных в 2009 г.,и вскоре затронет миллионыиндивидуумов.
• Тысячи геномов больных раком уже определены, и определениепоследовательности генома вскорестанет рутинной техникой в медицине.
• В сердце этого революционного процесса — биоинформатики, которые должны точно и эффективно анализировать всё возрастающие объемы данных.
10 учёных и предпринимателей, сделавших свои геномы досто-
янием общественности в 2009 г.
Геном 10 тысяч и далее
• 2010: учёные запускаютамбициозный проект посеквенированию геномов10000 видов живых существ.
• 201x?: возможно, мы сможемвоссоздать «древо жизни» исобрать геномы предков,которые жили миллионы лет назад.
• 20xx?: возможно, всего лишь возможно, мы узнаем, почему у жирафов идёт рост шеи, а у людей — мозга.
top related