Upload
cs-center
View
987
Download
1
Embed Size (px)
Citation preview
Сравнение строкНиколай Вяххи
Computer Science ClubСанкт-Петербург, 2013
воскресенье, 3 марта 13 г.
12 лекций по воскресеньям
Квизы для самопроверки
Домашние задания и вопросы онлайн
http://rosalind.info/classes/enroll/ff45302de4/
Формат обучения
воскресенье, 3 марта 13 г.
Ответы на квиз1. 20 (ACDEFGHIKLMNPQRSTVWY)
2. ACGT
3. ДНК → РНК
4. РНК → белок
5. Вся ДНК организма
6. Около 3х миллиардов
7. Секвенирование фрагментов и сборка
8. α-спираль / β-лист
воскресенье, 3 марта 13 г.
ОмикиГеном — все ДНК организма.
Транскриптом — все РНК организма.
Протеом — все белки организма.
воскресенье, 3 марта 13 г.
СегодняРедакционное расстояние
Глобальное и локальное выравнивание
Аффинная модель вставки
Линейная память и 4 русских
Множественное выравнивание
FASTA, BLAST
Геномные перестройки
воскресенье, 3 марта 13 г.
Подстроки
Строка = Последовательность
НО
Подстрока ≠ Подпоследовательность
Substring ≠ Subsequence -
воскресенье, 3 марта 13 г.
Расстояние Хэмминга
Число замен, необходимых для преобразования первой
строки во вторую.
CCAGAGACCCAAGGCT
воскресенье, 3 марта 13 г.
Расстояние ЛевенштейнаЧисло замен, вставок и удалений,
необходимых для преобразования первой строки во вторую.
CCAGAGAC-CCA-AGGCT
воскресенье, 3 марта 13 г.
Расстояние ЛевенштейнаЧисло замен, вставок и удалений,
необходимых для преобразования первой строки во вторую.
CCAGAGAC-CCA-AGGCT
выравнивание (alignment)редакционное предписание
воскресенье, 3 марта 13 г.
Расстояние ЛевенштейнаЧисло замен, вставок и удалений,
необходимых для преобразования первой строки во вторую.
CCAGAGAC-CCA-AGGCT
Алгоритм Вагнера — ФишераАлгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
Динамическое программирование — способ решения сложных задач путём
разбиения их на более простые подзадачи.
воскресенье, 3 марта 13 г.
Алгоритм Нидлмана — Вунша
S1 длины N
S2 длины M
D(X,Y) — редакционное расстояние для подстрок S1[1..X] и S2[1..Y]
воскресенье, 3 марта 13 г.
C C A G A G A C
CCAAGGCT
D(X,Y) — редакционное расстояние для подстрок S1[1..X] и S2[1..Y]
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
C C A G A G A C
CCAAGGCT
0
D(X,Y) — редакционное расстояние для подстрок S1[1..X] и S2[1..Y]
D(0,0) = 0
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
C C A G A G A C
CCAAGGCT
012345678
D(X,Y) — редакционное расстояние для подстрок S1[1..X] и S2[1..Y]
D(0,0) = 0
D(i,0) = i
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
D(X,Y) — редакционное расстояние для подстрок S1[1..X] и S2[1..Y]
D(0,0) = 0
D(i,0) = i
D(0,j) = j
C C A G A G A C
CCAAGGCT
0 1 2 3 4 5 6 7 812345678
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
D(i-1,j) + 1D(i,j) = min D(i,j-1) + 1 D(i-1,j-1) + 1 при S[i]≠S[j] D(i-1,j-1) + 0 при S[i]=S[j]
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
D(i-1,j) + 1D(i,j) = min D(i,j-1) + 1 D(i-1,j-1) + (S[i]≠S[j])
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
C C A G A G A C
CCAAGGCT
0 1 2 3 4 5 6 7 812345678
D(i-1,j) + 1D(i,j) = min D(i,j-1) + 1 D(i-1,j-1) + (S[i]≠S[j])
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
D(i-1,j) + 1D(i,j) = min D(i,j-1) + 1 D(i-1,j-1) + (S[i]≠S[j])
C C A G A G A C
CCAAGGCT
0 1 2 3 4 5 6 7 81 02345678
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
D(i-1,j) + 1D(i,j) = min D(i,j-1) + 1 D(i-1,j-1) + (S[i]≠S[j])
C C A G A G A C
CCAAGGCT
0 1 2 3 4 5 6 7 81 02 1345678
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
D(i-1,j) + 1D(i,j) = min D(i,j-1) + 1 D(i-1,j-1) + (S[i]≠S[j])
C C A G A G A C
CCAAGGCT
0 1 2 3 4 5 6 7 81 02 13 24 35 46 57 68 7
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
D(i-1,j) + 1D(i,j) = min D(i,j-1) + 1 D(i-1,j-1) + (S[i]≠S[j])
C C A G A G A C
CCAAGGCT
0 1 2 3 4 5 6 7 81 0 12 1 03 2 14 3 25 4 36 5 47 6 58 7 6
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
D(i-1,j) + 1D(i,j) = min D(i,j-1) + 1 D(i-1,j-1) + (S[i]≠S[j])
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
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
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
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
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
- T
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
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
C- CT
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
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
AC- GCT
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
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
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
Сложность алгоритма?
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
Алгоритм Нидлмана — Вунша
воскресенье, 3 марта 13 г.
Оценка
Введём веса у операций редактирования.
D(i-1,j) + SCORE(S[i],–)D(i,j) = min D(i,j-1) + SCORE(–,S[j]) D(i-1,j-1) + SCORE(S[i],S[j])
воскресенье, 3 марта 13 г.
Оценка
Введём веса у операций редактирования.
Заменим минимум на максимум.
D(i-1,j) + SCORE(S[i],–)D(i,j) = max D(i,j-1) + SCORE(–,S[j]) D(i-1,j-1) + SCORE(S[i],S[j])
воскресенье, 3 марта 13 г.