20121006 algorithmsinbioinformatics vyahhi_lecture02

Post on 12-Jul-2015

311 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Николай Вяххиvyahhi@bioinf.spbau.ru

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

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

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

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

Омики

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

Подстроки

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

НО

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

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

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

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

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

CCAGAGAC

CCAAGGCT

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

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

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

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

CCAGAGAC-

CCA-AGGCT

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

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

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

CCAAGGCT

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

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

CCAAGGCT ?

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

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

CCAAGGCT

0

?

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

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

CCAAGGCT

0 1 2 3 4 5 6 7 812345678 ?

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

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

CCAAGGCT

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

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

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

CCAAGGCT

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

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

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

CCAAGGCT

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

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

Динамика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 г.

Динамика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 г.

Динамика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 г.

Динамика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 г.

Динамика

A B R A C

ADABRA

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

Динамика

A B R A C

ADABRA

-ABRACA

DABR--A

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

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

Память: O( ? )

Время: O( ? )

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

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

Память: O(N2)

Время: O(N2)

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

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

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

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 г.

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

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

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 г.

Оценка

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

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

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 г.

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 г.

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 г.

BLOSUM, PAM

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

O(N6)

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

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

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

O(N6)

O(N4)

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

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

O(N6)

O(N4)

Как быстрее?

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

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

O(N6)

O(N4)

Как быстрее?

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

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

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 г.

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

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 г.

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 г.

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

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

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

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

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

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

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

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

Профиль

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

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

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

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

O(NK)

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

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

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

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

O(2KNK)

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

ClustalW

O(K2N2)

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

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

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

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

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

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

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

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

GAP(X) =

GAP_OPENING +

X * GAP_EXTENSION

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

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

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

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

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

O(N3)

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

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

O(N3)

Быстрее?

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

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

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

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

O(N2)

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

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

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

реверсии

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

слияния

расщепления

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

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

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

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

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

Что мы узнали

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

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

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

top related