1 of 76

Расшифровка ДНК как египетские иероглифы

Чем занимается сравнительная геномика

На основе материалов майнора 2022-23 года Антонова Ивана

И моих материалах для магистров АДБМ

2 of 76

Египетские пирамиды

3 of 76

Египетские иероглифы

3

4 of 76

Все известные последовательности ДНК находятся здесь

4

5 of 76

Участок ДНК

5

6 of 76

Поиск повторений в египетских текстах

6

7 of 76

Некоторые повторения в египетских текстах

7

“язык”

8 of 76

Некоторые повторения в египетских текстах

8

“исчезнуть”

9 of 76

Некоторые повторения в египетских текстах

9

“красивые девушки”

10 of 76

Биологические повторы

10

A G G A G G

A G G A G G

“Сайт связывания с рибосомой”

11 of 76

Повторы могут немного отличаться друг от друга

11

Египетские пирамиды

ДНК

Развитие египетского языка

Эволюция

Опечатки, которые допустил древний египтянин

Случайные мутации

Наши ошибки при чтении иероглифов

Ошибки секвенатора

12 of 76

Повторы могут немного отличаться друг от друга

12

Египетские пирамиды

ДНК

Развитие египетского языка

Эволюция

Опечатки, которые допустил древний египтянин

Случайные мутации

Наши ошибки при чтении иероглифов

Ошибки секвенатора

A G G A G G

A G G A G T

13 of 76

Программа MEME – ищет повторы

13

A G G A G G

A G G A G T

A G G A G G

A G G A G G

MEME

MEME

14 of 76

Розетский камень

14

15 of 76

Jean-Francois Champollion

15

Твое

Фото

Может

Быть

Здесь

16 of 76

AB INITIO ПРЕДСКАЗАНИЕ БЕЛОК-КОДИРУЮЩИХ ГЕНОВ

Рамка считывания

17 of 76

Как таблица генетического кода помогает найти потенциальные гены?

17

18 of 76

Как фотография хранится в памяти компьютера?

19 of 76

Фотография состоит из пикселей

20 of 76

Трансляция

00000001011101010101000011111010 … 010101011111

Black

Dark red

Red

Red

Новая строка

ATGAAACCCGGGGTTTACCCCATGG … TGA

M

STOP!

A

C

G

W

N

Q

M

21 of 76

Вернемся к ДНК!

Фотография в компьютере

ДНК в клетке

Название «участка»

Бит

Кодон

Размер «участка»

8

3

Алфавит

1/0

A/C/G/T

Что кодирует один «участка»

Цвет пикселя

Аминокислота в белке

Количество разных «участков»

255 (28-1) цветов

64 разных кодонов

(20 разных аминокислот)

Специальный «участок»

Новая строка

Стоп кодон

Конечный результат

Фотография

Последовательность белка

22 of 76

Таблицы конвертации

22

Black

Dark red

Red

White

Новая строка

00000000

01110101

01010000

11111111

01010101

Метионит (M)

Глутамин (Q)

Валин (V)

Цистеин (C)

Стоп-кодон

ATG

CAG

GTG

TGT

TGA

TAA

TAG

Стоп-кодон

Стоп-кодон

23 of 76

Генетический код: кодон => аминокислота

23

24 of 76

Рамка считывания

00000001011101010101000011111010 … 010101011111

Black

Dark red

Red

Red

Новая строка

Что еще важно, чтобы получить правильную фотографию?

00000001011101010101000011111010 … 010101011111

Green

Dark green

Gray

New Line

New Line

25 of 76

Та же картинка, прочитанная в рамке +1

Много байтов «новая строка» + преждевременный байт окончания файла

26 of 76

Трансляция ДНК в 3х рамках считывания

C T A A C T C T T A A T A T G A A A G A T …

Leu

Thr

Leu

Asn

Ser

Asp

Основная рамка:

Glu

Stop

Leu

Рамка +1:

Leu

Ile

Stop

Lys

Рамка +2:

Asn

Ser

Stop

Tyr

Glu

Arg

Открытая рамка считывания

Open reading frame (ORF)

27 of 76

Кодирующий потенциал

28 of 76

AB INITIO ПРЕДСКАЗАНИЕ БЕЛОК-КОДИРУЮЩИХ ГЕНОВ

Алгоритм GeneMark

29 of 76

СКРЫТЫЕ�Модели Маркова�����

Hidden Markov�Models

30 of 76

31 of 76

Hidden Markov Models - HMM

31

H1

H2

HL-1

HL

X1

X2

XL-1

XL

Hi

Xi

Hidden variables

Observed data

32 of 76

Пример: Нечестное казино

32

Собственно, что скрыто в данной модели?

33 of 76

Пример: Нечестное казино

33

Часто говорят, что P(x) – вероятность того, что x сгенерирован данной моделью

p1=p2=p3=p4=p5=p6=1/6

P6=1/2

p1=p2=p3=p4=p5=1/10

  • Известно:
    • Структура модели
    • Вероятности переходов
  • Скрыто: Что делает казино
    • FFFFFLLLLLLLFFFF...
  • Наблюдаемые: последовательность бросков кости
    • 3415256664666153...
  • Что нам нужно вычислить?:
    • Когда использовалась честная кость?
    • Когда использовалась нечестная кость?
      • Ответ представляет собой последовательность�FFFFFFFLLLLLLFFF...

34 of 76

  • Модель присваивает вероятность каждому объяснению наблюдений:� P(326|FFL) � = P(3|F)·P(F→F)·P(2|F)·P(F→L)·P(6|L)� = 1/6 · 0.99 · 1/6 · 0.01 · ½

  • Максимальное правдоподобие: нахождение более вероятного объяснения
    • Найти путь, который с наибольшей вероятностью сгенерирует наблюдаемую последовательность
  • Полная вероятность: вероятность, что наблюдаемая последовательность была сгенерирована HMM
    • Рассмотреть все пути, которые могли бы сгенерировать наблюдаемую последовательность

Имея модель, мы можем сгенерировать последовательность: первое состояние выбирается из распределения вероятностей состояний - a,

  • в этом состоянии наблюдение генерируется (испускается, emitted) по вероятностям e

35 of 76

One path

All paths

Scoring x, one path

P(x,π)

Prob of a path, emissions

Scoring x, all paths

P(x) = Σπ P(x,π)

Prob of emissions, over all paths

Viterbi decoding

π* = argmaxπ P(x,π)

Most likely path

Posterior decoding

π^ = {πi | πi =argmaxk ΣπP(πi =k|x)}

Path containing the most likely state at any time point.

5. Supervised learning, given

π Λ* = argmaxΛ P(x,π|Λ)

6. Unsupervised learning.

Λ* = argmaxΛ maxπP(x,π|Λ)

Viterbi training, best path

6. Unsupervised learning

Λ* = argmaxΛ ΣπP(x,π|Λ)

Baum-Welch training, over all paths

36 of 76

A parse of a sequence

1

2

K

1

2

K

1

2

K

1

2

K

x1

x2

x3

xL

2

1

K

2

0

0

Совместная вероятность последовательности наблюдений x и последовательности состояний π

37 of 76

Нечестное казино

38 of 76

Как GeneMark предсказывает гены?

X = WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW

2 модели: честная или шулерская кость

X = GATGGGATTGGGGTTTTCCCCTCCCATGTGCTCAAGACTGGCGCTAAAAGTTTTGAGCTTCTCAAAAGTC

2 модели: белок-кодирующая область или некодирующая

39 of 76

  • We can now evaluate any path through hidden states, given the emitted sequences
  • How do we find the best path?

– Try all possibilities? Not practical, exponential number of paths

– 1 human gene ~ 100,000 nucleotides 2100,000 paths for 2 states!

  • Instead: Dynamic programming Viterbi algortithm

– Store partial computation (max score to position i through state k)

Define Vk(i) = Probability of most likely path through state πi =k

– Use it to compute max score to position i+1 through each state k’

Compute Vk’(i+1) as a function of maxk { Vk(i) }

– Simple computation, just include emission score + cost of transition

Vk(i+1) = ek(xi+1) * maxj ajk Vj (i)

DP works because of optimal sub-structure

Best path through a given state is:

  • Best path to previous state
  • Best transition from previous state to this state
  • Best path to the end state

Finding the optimal path

40 of 76

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

Наиболее вероятный путь π* удовлетворяет

Чтобы найти π*, рассмотрим все возможные пути у которые могут испускать x

Пусть

Тогда

41 of 76

The Viterbi Algorithm

  • Инициализация (i = 0)��
  • Рекурсия (i = 1, . . . , L): Для каждого k��
  • Остановка:

To find π*, use trace-back, as in dynamic programming

42 of 76

Viterbi: пример

1

π

x

0

0

6

2

6

ε

(1/6)×(1/2)

= 1/12

0

(1/2)×(1/2)

= 1/4

(1/6)×max{(1/12)×0.99,

(1/4)×0.2}

= 0.01375

(1/10)×max{(1/12)×0.01,

(1/4)×0.8}

= 0.02

B

F

L

0

0

(1/6)×max{0.01375×0.99,

0.02×0.2}

= 0.00226875

(1/2)×max{0.01375×0.01,

0.02×0.8}

= 0.08

43 of 76

The Viterbi Algorithm

sequence

states

(i,k)

k

k-1

. . .

k-2

k+1

. . .

. . .

44 of 76

Viterbi: Обратный проход

T( T( T( ... T( T(i, L-1), L-2) ..., 2), 1), 0) = 0

45 of 76

Viterbi gets it right more often than not

46 of 76

Вероятность испускания по всем путям

• Каждый путь ассоциирован с некой вероятностью

– некоторые пути более вероятны чем другие: суммирование по ним даст полную вероятность испускания последовательности

– Viterbi наиболее вероятный путь

•Сколько вероятности от полной он в себе содержит?

•решение

– рассчитать сумму

• P(x) = Σπ P(x,π)

– можно использовать динамическое программирование

• аппроксимация

–рассчитать вероятность наиболее вероятного пути (Viterbi) π*

– может хорошо приближать, но, в целом, неправильно

47 of 76

Легко перейти к нуклеотидам

48 of 76

Байесовский подход

48

Чем отличается P(x|𝜋) от P(𝜋|x)?

Как они связаны?

49 of 76

Предсказание генов

Белок-Кодирующая

Некодирующая

P(A) = 20.5%

P(C) = 29.6%

P(G) = 35.4%

P(T) = 14.5%

P(A) = 20.4%

P(C) = 28.3%

P(G) = 32.8%

P(T) = 18.4%

Участок ДНК:

x = GATGGGATTGGGGTTTTCCCCTCCCATGTGCTCAAGACTGGCGCTAAAAGTTTTGAG

Теорема Байеса

50 of 76

Третья позиция кодона – особенная

51 of 76

Кодирующая область vs. Некодирующая

Nucleotide frequency patterns �in non-coding DNA (left half of the picture) and protein-coding DNA (right half) �

visualization of alignment of 1000+ E. coli sequences with length 120 nt; �each sequence contains a gene start in the middle

52 of 76

Учет кодонов

Белок-Кодирующая

Некодирующая

Позиция в кодоне

1 2 3

P(A) 19.3% 28.8% 13.2%

P(C) 24.1% 33.4% 31.5%

P(G) 45.8% 19.3% 41.2%

P(T) 10.8% 18.4% 14.1%

P(A) = 20.4%

P(C) = 28.3%

P(G) = 32.8%

P(T) = 18.4%

Участок ДНК:

x = GCG

Можем ли мы сказать, белок-кодирующий он или нет?

53 of 76

Вероятность белок-кодирующего гена?

COD1 – белок-кодирующая последовательность в рамке 0

COD2 – белок-кодирующая последовательность в рамке +1

COD3 – белок-кодирующая последовательность в рамке +2

NON - некодирующая последовательность

x = G C G

P(x|COD1) = ?

P(x|COD2) = ?

P(x|COD3) = ?

P(x|NON) = ?

Постериорные вероятности:

P(COD1|x) = ?

P(COD2|x) = ?

P(COD3|x) = ?

P(NON|x) = ?

54 of 76

Как улучшить предсказание?

54

55 of 76

Что мы можем измерить ,чтобы использовать в модели?

  • Большинство того, что мы знаем о последовательностях относится к белок-кодирующим характеристикам
    • ORF (Open Reading Frame)/ОРС (открытая рамка считывания): последовательность определяемая по AUG и стоп кодон, что в свою очередь определяет последовательность аминокислот.
    • Codon Usage/Использование кодонов: наиболее часто измеряется в CAI (Codon Adaptation Index/индекс адаптации кодонов)
  • Другие явления
    • Частоты и корреляции нуклеотидов:
    • Функциональные сайты:
      • сайты сплайсинга, промотеры, НТО, сайты полиаденилирования

56 of 76

Метод «Скользящего окна»

1 2 2 3 4 5 6 6 6 5 4 2 1 3 4 4 6 6 6 6 5 5 4 3 2 1 5 6 5 4 3 2 2 1 1 1 6 6 6 6 6 6 1 1 2 4 5 3 4 5 6 2 3 4 1 2 2 3 4 5 6 6 6 5 4 2 1 3 4 4 6 6 6 6 5 5 4 3 2 1 5 6 5 4 3 2 2 1 1 1 6 6 6 6 6 6 1 1 2 4 5 3 4 5 6 2 3 4 1 2 2 3 4 5 6 6 6 5 4 2 1 3 4 4 6 6 6 6 5 5 4 3 2 1 5 6 5 4 3 2 2 1 1 1 6 6 6 6 6 6 1 1 2 4 5 3 4 5 6 2 3 4 1 2 2 3 4 5 6 6 6 5 4 2 1 3 4 4 6 6 6 6 5 5 4 3 2 1 5 6 5 4 3 2 2 1 1 1 6 6 6 6 6 6 1 1 2 4 5 3 4 5 6 2 3 4 1 2 2 3 4 5 6 6 6 5 4 2 1 3 4 4 6 6 6 6 5 5 4 3 2 1 5 6 5 4 3 2 2 1 1 1 6 6 6 6 6 6 1 1 2 4 5 3 4 5 6 2 3 4 1 2 2 3 4 5 6 6 6 5 4 2 1 3 4 4 6 6 6 6 5 5 4 3 2 1 5 6 5 4 3 2 2 1 1 1 6 6 6 6 6 6 1 1 2 4 5 3 4 5 6 2 3 4 1 2 2 3 4 5 6 6 6 5 4 2 1 3 4 4 6 6 6 6 5 5 4 3 2 1 5 6 5 4 3 2 2 1 1 1 6 6 6 6 6 6 1 1 2 4 5 3 4 5 6 2 3 4 1 2 2 3 4 5 6 6 6 5 4 2 1 3 4 4 6 6 6 6 5 5 4 3 2 1 5 6 5 4 3 2 2 1 1 1 6 6 6 6 6 6 1 1 2 4 5 3 4 5 6 2 3 4 1 2 2 3 4 5 6 6 6 5 4 2 1 3 4 4 6 6 6 6 5 5 4 3 2 1 5 6 5 4 3 2 2 1 1 1 6 6 6 6 6 6 1 1 2 4 5 3 4 5 6 2 3 4 1 2 2 3 4 5 6 6 6 5 4 2 1 3 4 4 6 6 6 6 5 5 4 3 2 1 5 6 5 4 3 2 2 1 1 1 6 6 6 6 6 6 1 1 2 4 5 3 4 5 6 2 3 4 1 2 2 3 4 5 6 6 6 5 4 2 1 3 4 4 6 6 6 6 5 5 4 3 2 1 5 6 5 4 3 2 2 1 1 1 6 6 6 6 6 6 1 1 2 4 5 3 4 5 6 2 3 4 1 2 2 3 4 5 6 6 6 5 4 2 1 3 4 4 6 6 6 6 5 5 4 3 2 1 5 6 5 4 3 2 2 1 1 1 6 6 6 6 6 6 1 1 2 4 5 3 4 5 6 2 3 4 1 2 2 3 4 5 6 6 6 5 4 2 1 3 4 4 6 6 6 6 5 5 4 3 2 1 5 6 5 4 3 2 2 1 1 1 6 6 6 6 6 6 1 1 2 4 5 3 4 5 6 2 3 4 1 2 2 3 4 5 6 6 6 5 4 2 1 3 4 4 6 6 6 6 5 5 4 3 2 1 5 6 5 4 3 2 2 1 1 1 6 6 6 6 6 6 1 1 2 4 5 3 4 5 6 2 3 4 1 2 2 3 4 5 6 6 6 5 4 2 1 3

57 of 76

Учет кодонов

Белок-Кодирующая

Некодирующая

Позиция в кодоне

1 2 3

P(A) 19.3% 28.8% 13.2%

P(C) 24.1% 33.4% 31.5%

P(G) 45.8% 19.3% 41.2%

P(T) 10.8% 18.4% 14.1%

P(A) = 20.4%

P(C) = 28.3%

P(G) = 32.8%

P(T) = 18.4%

Участок ДНК:

x = GCG

Можем ли мы сказать, белок-кодирующий он или нет?

58 of 76

Учет предыдущего нуклеотида – модель 1го порядка

Белок-Кодирующая

Некодирующая

Позиция в кодоне

1 2 3

P(A|A)

P(A|C)

P(A|G)

P(A|T)

P(C|A)

P(C|C)

P(C|G)

P(C|T)

P(A|A)

P(A|C)

P(A|G)

P(A|T)

P(C|A)

P(C|C)

P(C|G)

P(C|T)

59 of 76

Выдача программы GeneMark

60 of 76

Выдача программы GeneMark для 6 рамок

61 of 76

Что мы можем измерить ,чтобы использовать в модели?

  • Большинство того, что мы знаем о последовательностях относится к белок-кодирующим характеристикам
    • ORF (Open Reading Frame)/ОРС (открытая рамка считывания): последовательность определяемая по AUG и стоп кодон, что в свою очередь определяет последовательность аминокислот.
    • Codon Usage/Использование кодонов: наиболее часто измеряется в CAI (Codon Adaptation Index/индекс адаптации кодонов)
  • Другие явления
    • Частоты и корреляции нуклеотидов:
    • Функциональные сайты:
      • сайты сплайсинга, промотеры, НТО, сайты полиаденилирования

62 of 76

Статистика кодирующей последовательности

  • Неравное использование кодонов в кодирующих областях – универсальная характеристика геномов.

    • Неравное использование аминокислот в существующих белках
    • Неравное использование синонимичных кодонов (коррелирует с избытком соответствующих tRNAs)

  • Эти характеристики могут быть использованы для разделения между кодирующими и некодирующими областями генома.

  • Статистика кодирования – функция, которая для данной ДНК последовательности вычисляет правдоподобие (условную вероятность) того, что последовательность является кодирующей для белка

62

63 of 76

An Example of Coding Statistics

63

64 of 76

An Intron

3 splice site

5 splice site

revcomp(CT)=AG

revcomp(AC)=GT

GT: signals start of intron

AG: signals end of intron

65 of 76

Как нужно поменять модель чтобы предсказывать гены эукариот?

65

66 of 76

66

E0

E1

E2

E2

E1

E0

N

P

Eterm

P

Einit

polyA

5 UTR

I0

I1

I2

I0

I1

I2

Esngl

Esngl

Einit

Eterm

forward strand

backward strand

3 UTR

5 UTR

3 UTR

polyA

E- exons

I- introns

single exon

5 UTRs

3 UTRs

P- promoter region polyA site N- intergenic region

Для эукариот всё сложно.

67 of 76

Interpolated Markov Models (IMM)

  • Introduced in Glimmer 1.0�Salzberg, Delcher, Kasif & White, NAR 26, 1998.
  • Probability of the target position depends on a variable number of previous positions (sometimes 2 bases, sometimes 3, 4, etc.)
  • How many is determined by the specific context.
  • E.g., for context ggtta the next position might depend on previous 3 bases tta .

But for context catta all 5 bases might be used.

68 of 76

Real IMMs

  • Model has additional probabilities, λ, that determine which parts of the context to use.
  • E.g., the probability of g occurring after context atca is:

69 of 76

Real IMMs

  • Result is a linear combination of different Markov orders:����where�
  • Can view this as interpolating the results of different-order models.
  • The probability of a sequence is still the probability of the bases in the sequence.

70 of 76

IMMs vs Fixed-Order Models

  • Performance
    • IMM generally should do at least as well as a fixed-order model.
    • Some risk of overtraining.
  • IMM result can be stored and used like a fixed-order model.
  • IMM will be somewhat slower to train and will use more memory.

Target

Variable-Length�Context

71 of 76

GLIMMER-HMM

Nth-order interpolated Markov models (IMM) (N=8)

72 of 76

Какие гены существуют помимо генов кодирующих белок?

72

73 of 76

PGAP

73

74 of 76

Практика

Для генома бледной трепонемы

(возбудитель какой болезни?)

NC_000919.1

Запустить:

  • Genemark
  • обученный на e coli
  • Обученный на трипаносоме
  • Самообучающийся
  • Glimmer

75 of 76

Практика

Для генома бледной трепонемы NC_000919.1

Запустить:

  • Genemark
  • обученный на e coli
  • Обученный на трипаносоме
  • Самообучающийся
  • Glimmer

76 of 76

76

Другие программы и методы. Обзорные статьи