63
Сравнение Последовательностей Николай Вяххи [email protected] Computer Science клуб Екатеринбург, 2012 суббота, 6 октября 12 г.

20121006 algorithmsinbioinformatics vyahhi_lecture02

Embed Size (px)

Citation preview

Page 1: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Сравнение Последовательностей

Николай Вяххи[email protected]

Computer Science клубЕкатеринбург, 2012

суббота, 6 октября 12 г.

Page 2: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Центральная Догма

суббота, 6 октября 12 г.

Page 3: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Омики

суббота, 6 октября 12 г.

Page 5: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Подстроки

Строка == Последовательность

НО

Подстрока != Подпоследовательность

суббота, 6 октября 12 г.

Page 6: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Расстояние Хэмминга

Число замен, необходимых для преобразования первой

строки во вторую.

CCAGAGAC

CCAAGGCT

суббота, 6 октября 12 г.

Page 7: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Редакционное расстояние

Число замен, вставок и удалений, необходимых для преобразования первой

строки во вторую.

CCAGAGAC-

CCA-AGGCT

(выравнивание)

суббота, 6 октября 12 г.

Page 8: 20121006 algorithmsinbioinformatics vyahhi_lecture02

ДинамикаC C A G A G A C

CCAAGGCT

суббота, 6 октября 12 г.

Page 9: 20121006 algorithmsinbioinformatics vyahhi_lecture02

ДинамикаC C A G A G A C

CCAAGGCT ?

суббота, 6 октября 12 г.

Page 10: 20121006 algorithmsinbioinformatics vyahhi_lecture02

ДинамикаC C A G A G A C

CCAAGGCT

0

?

суббота, 6 октября 12 г.

Page 11: 20121006 algorithmsinbioinformatics vyahhi_lecture02

ДинамикаC C A G A G A C

CCAAGGCT

0 1 2 3 4 5 6 7 812345678 ?

суббота, 6 октября 12 г.

Page 12: 20121006 algorithmsinbioinformatics vyahhi_lecture02

ДинамикаC C A G A G A C

CCAAGGCT

0 1 2 3 4 5 6 7 81 ?2345678 ?

суббота, 6 октября 12 г.

Page 13: 20121006 algorithmsinbioinformatics vyahhi_lecture02

ДинамикаC C A G A G A C

CCAAGGCT

0 1 2 3 4 5 6 7 81 02 ?345678 ?

суббота, 6 октября 12 г.

Page 14: 20121006 algorithmsinbioinformatics vyahhi_lecture02

ДинамикаC C A G A G A C

CCAAGGCT

0 1 2 3 4 5 6 7 81 02 13 ?45678 ?

суббота, 6 октября 12 г.

Page 15: 20121006 algorithmsinbioinformatics vyahhi_lecture02

ДинамикаC C A G A G A C

CCAAGGCT

0 1 2 3 4 5 6 7 81 02 13 ?45678 ?

d[i-1][j] + 1

d[i][j] = MIN d[i][j-1] + 1

d[i-1][j-1] + (s1[i] != s2[j])

суббота, 6 октября 12 г.

Page 16: 20121006 algorithmsinbioinformatics vyahhi_lecture02

ДинамикаC C A G A G A C

CCAAGGCT

0 1 2 3 4 5 6 7 81 0 1 2 3 4 5 6 72 1 0 1 2 3 4 5 63 2 1 0 1 2 3 4 54 3 2 1 1 1 2 3 45 4 3 2 1 2 1 2 36 5 4 3 2 2 2 2 37 6 5 4 3 3 3 3 28 7 6 5 4 4 4 4 3

d[i-1][j] + 1

d[i][j] = MIN d[i][j-1] + 1

d[i-1][j-1] + (s1[i] != s2[j])

суббота, 6 октября 12 г.

Page 17: 20121006 algorithmsinbioinformatics vyahhi_lecture02

ДинамикаC C A G A G A C

CCAAGGCT

0 1 2 3 4 5 6 7 81 0 1 2 3 4 5 6 72 1 0 1 2 3 4 5 63 2 1 0 1 2 3 4 54 3 2 1 1 1 2 3 45 4 3 2 1 2 1 2 36 5 4 3 2 2 2 2 37 6 5 4 3 3 3 3 28 7 6 5 4 4 4 4 3

d[i-1][j] + 1

d[i][j] = MIN d[i][j-1] + 1

d[i-1][j-1] + (s1[i] != s2[j])

суббота, 6 октября 12 г.

Page 18: 20121006 algorithmsinbioinformatics vyahhi_lecture02

ДинамикаC C A G A G A C

CCAAGGCT

0 1 2 3 4 5 6 7 81 0 1 2 3 4 5 6 72 1 0 1 2 3 4 5 63 2 1 0 1 2 3 4 54 3 2 1 1 1 2 3 45 4 3 2 1 2 1 2 36 5 4 3 2 2 2 2 37 6 5 4 3 3 3 3 28 7 6 5 4 4 4 4 3

CCAGAGAC-

CCA-AGGCT

суббота, 6 октября 12 г.

Page 19: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Динамика

A B R A C

ADABRA

суббота, 6 октября 12 г.

Page 20: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Динамика

A B R A C

ADABRA

-ABRACA

DABR--A

суббота, 6 октября 12 г.

Page 21: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Редакционное расстояние

Память: O( ? )

Время: O( ? )

суббота, 6 октября 12 г.

Page 22: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Редакционное расстояние

Память: O(N2)

Время: O(N2)

суббота, 6 октября 12 г.

Page 23: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Редакционное расстояние

Если нам нужно только расстояние, но не выравнивание, можно ли использовать меньше памяти?

C C A G A G A C

CCAAGGCT

0 1 2 3 4 5 6 7 81 0 1 2 3 4 5 6 72 1 0 1 2 3 4 5 63 2 1 0 1 2 3 4 54 3 2 1 1 1 2 3 45 4 3 2 1 2 1 2 36 5 4 3 2 2 2 2 37 6 5 4 3 3 3 3 28 7 6 5 4 4 4 4 3

суббота, 6 октября 12 г.

Page 24: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Редакционное расстояние

Если нам нужно только расстояние, но не выравнивание, можно ли использовать меньше памяти?

C C A G A G A C

CCAAGGCT

0 1 2 3 4 5 6 7 81 0 1 2 3 4 5 6 72 1 0 1 2 3 4 5 63 2 1 0 1 2 3 4 54 3 2 1 1 1 2 3 45 4 3 2 1 2 1 2 36 5 4 3 2 2 2 2 37 6 5 4 3 3 3 3 28 7 6 5 4 4 4 4 3

Да. Храним только 2 колонки.

суббота, 6 октября 12 г.

Page 25: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Оценка

Минимизируем расстояние → максимизируем оценку (score)

суббота, 6 октября 12 г.

Page 26: 20121006 algorithmsinbioinformatics vyahhi_lecture02

T C A G

T

C

A

G

3 -2 -1 -2

-2 3 -2 -1

-1 -2 3 -2

-2 -1 -2 3

T

C

A

G

T C A G

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

Минимизируем расстояние → максимизируем оценку (score)

Оценка

суббота, 6 октября 12 г.

Page 27: 20121006 algorithmsinbioinformatics vyahhi_lecture02

T C A G

T

C

A

G

3 -2 -1 -2

-2 3 -2 -1

-1 -2 3 -2

-2 -1 -2 3

T

C

A

G

T C A G

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

GAP = -3GAP = 0

Минимизируем расстояние → максимизируем оценку (score)

Оценка

суббота, 6 октября 12 г.

Page 28: 20121006 algorithmsinbioinformatics vyahhi_lecture02

d[i-1][j] + GAP

d[i][j] = MAX d[i][j-1] + GAP

d[i-1][j-1] + SCORE[s1[i]][s2[j]]

Минимизируем расстояние → максимизируем оценку (score)

Оценка

суббота, 6 октября 12 г.

Page 29: 20121006 algorithmsinbioinformatics vyahhi_lecture02

BLOSUM, PAM

суббота, 6 октября 12 г.

Page 30: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Локальное выравнивание

суббота, 6 октября 12 г.

Page 31: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Локальное выравнивание

суббота, 6 октября 12 г.

Page 32: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Локальное выравнивание

суббота, 6 октября 12 г.

Page 33: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Локальное выравнивание

суббота, 6 октября 12 г.

Page 34: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Локальное выравнивание

суббота, 6 октября 12 г.

Page 35: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Локальное выравнивание

суббота, 6 октября 12 г.

Page 36: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Локальное выравнивание

суббота, 6 октября 12 г.

Page 37: 20121006 algorithmsinbioinformatics vyahhi_lecture02

O(N6)

Локальное выравнивание

суббота, 6 октября 12 г.

Page 38: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Локальное выравнивание

O(N6)

O(N4)

суббота, 6 октября 12 г.

Page 39: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Локальное выравнивание

O(N6)

O(N4)

Как быстрее?

суббота, 6 октября 12 г.

Page 40: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Локальное выравнивание

O(N6)

O(N4)

Как быстрее?

суббота, 6 октября 12 г.

Page 41: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Локальное выравнивание

0 ← изменилось тут

d[i-1][j] + GAP

d[i][j] = MAX d[i][j-1] + GAP

d[i-1][j-1] + SCORE[s1[i]][s2[j]]суббота, 6 октября 12 г.

Page 42: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Локальное выравнивание

O(N6)

O(N4)

Как быстрее?

O(N2) 0 ← изменилось тут

d[i-1][j] + GAP

d[i][j] = MAX d[i][j-1] + GAP

d[i-1][j-1] + SCORE[s1[i]][s2[j]]суббота, 6 октября 12 г.

Page 43: 20121006 algorithmsinbioinformatics vyahhi_lecture02

A B R A C

ADABRA

Локальное выравнивание

0 ← изменилось тут

d[i-1][j] + GAP

d[i][j] = MAX d[i][j-1] + GAP

d[i-1][j-1] + SCORE[s1[i]][s2[j]]

A B C D R -ABCDR-

3 -2 -2 -2 -1 -3-2 3 -2 -2 -2 -3-2 -2 4 -1 -2 -3-2 -2 -1 4 -2 -3-1 -2 -2 -2 3 -3-3 -3 -3 -3 -3 -3

суббота, 6 октября 12 г.

Page 44: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Множественное выравнивание

Число замен, вставок и удалений, необходимых для преобразования

K строк к одной.

суббота, 6 октября 12 г.

Page 45: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Множественное выравнивание

суббота, 6 октября 12 г.

Page 46: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Множественное выравнивание

суббота, 6 октября 12 г.

Page 47: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Профиль

суббота, 6 октября 12 г.

Page 48: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Множественное выравнивание

Число замен, вставок и удалений, необходимых для преобразования

K строк к одной.

O(NK)

суббота, 6 октября 12 г.

Page 49: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Множественное выравнивание

Число замен, вставок и удалений, необходимых для преобразования

K строк к одной.

O(2KNK)

суббота, 6 октября 12 г.

Page 50: 20121006 algorithmsinbioinformatics vyahhi_lecture02

ClustalW

O(K2N2)

суббота, 6 октября 12 г.

Page 51: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Аффинная модель

Удаление X букв подряд вероятнее, чем удаление X букв по отдельности.

суббота, 6 октября 12 г.

Page 52: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Удаление X букв подряд вероятнее, чем удаление X букв по отдельности.

Аффинная модель

суббота, 6 октября 12 г.

Page 53: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Удаление X букв подряд вероятнее, чем удаление X букв по отдельности.

GAP(X) =

GAP_OPENING +

X * GAP_EXTENSION

Аффинная модель

суббота, 6 октября 12 г.

Page 54: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Аффинная модель

суббота, 6 октября 12 г.

Page 55: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Аффинная модель

O(N3)

суббота, 6 октября 12 г.

Page 56: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Аффинная модель

O(N3)

Быстрее?

суббота, 6 октября 12 г.

Page 57: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Аффинная модель

суббота, 6 октября 12 г.

Page 58: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Аффинная модель

O(N2)

суббота, 6 октября 12 г.

Page 59: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Геномные перестройки

Крупные мутации:

реверсии

транслокации

слияния

расщепления

суббота, 6 октября 12 г.

Page 60: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Геномные перестройки

суббота, 6 октября 12 г.

Page 61: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Геномные перестройки

суббота, 6 октября 12 г.

Page 62: 20121006 algorithmsinbioinformatics vyahhi_lecture02

Что мы узнали

• Редакционное расстояние• Глобальное и локальное выравнивание• Аффинная модель вставки• Всё за O(N2)

• Множественное выравнивание• Геномные перестройки

суббота, 6 октября 12 г.