20121006 algorithmsinbioinformatics vyahhi_lecture02
TRANSCRIPT
Сравнение Последовательностей
Николай Вяххи[email protected]
Computer Science клубЕкатеринбург, 2012
суббота, 6 октября 12 г.
Центральная Догма
суббота, 6 октября 12 г.
Омики
суббота, 6 октября 12 г.
Домашнее задание
http://rosalind.info
• DNA
• RNA
• REVC
• PROT
• HAMM
http://rosalind.info/classes/enroll/171da3d314a0b07e00883287cd2b6ddeeeba225b/
суббота, 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 г.
Домашнее задание
http://rosalind.info
• EDIT
• EDTA
• GLOB
• LOCA
• MULT
http://rosalind.info/classes/enroll/171da3d314a0b07e00883287cd2b6ddeeeba225b/
суббота, 6 октября 12 г.