Mikhail Roytberg - Sequence Analysis (from Biology to Linguistics) Part2
-
Upload
uralcsclub -
Category
Technology
-
view
299 -
download
4
Transcript of Mikhail Roytberg - Sequence Analysis (from Biology to Linguistics) Part2
Анализ Анализ символьных последовательностейсимвольных последовательностей
отот биоинформатик и биоинформатик и до лингвистики до лингвистики
М.А. Ройтберг
Занятие 2
Екатеринбург 22 апреля 2011
2
Это осталось на сегодня…Это осталось на сегодня…
0. Задача про триангуляцию – правильное решение1. Динамическое программирование на графах. 1.1. Вычисление рангов для графов и гиперграфов 1.2. Совместный алгоритм (накопление результата) 1.3. Подсчет специальных сумм Больцмана для всех точек2. Построение оптимального выравнивания. 2.1. Биологическое введение. 2.2. Глобальное выравнивание: алгоритм для простейшего случая (повторение) 2.3. Удаление фрагментов 2.4. Качество выравниваний (сравнение с эталоном) 2.5* Другие варианты постановок задач (субоптималь- ные выравнивания, суммы Больцмана, векторные веса, веса удалений концов)
3
Это осталось на сегодня-завтраЭто осталось на сегодня-завтра
3. Построение всех «разумных» сходств3.1. Постановка задачи 3.2. Использование затравок (seed)3.3. Избирательность и чувствительность3.4. Типы затравок (seed model) 4. Гиперграфы4.1. Пример 1: РНК 4.2. Пример 2: КС-грамматики4.3. Специальные суммы Больцмана для гиперграфов. 5. Скрытые марковские модели
1.1. Вычисление рангов вершин 1.2. Совместный алгоритм
(накопление результата) 1.3. Подсчет сумм Больцмана для всех точек
Раздел 1. Динамическое программирование на графах.
ДАНО: Ориентированный ациклический граф с весами на ребрах G =< V, E, W; A, Z>
ЗАДАЧА 1 Найти оптимальный полный путь, т.е. полный путь, имеющий минимальный (максимальный) возможный вес. ЗАДАЧА 2 Найти сумму мультипликативных весов всех полных путей.
A
C
Z
B
EF
D
5 23
7
113
14
6
5
76
7
Определение полукольца. Полукольцо A – это множество, на котором определены
две бинарные всюду определенные операции + и * , удовлетворяющие следующим свойствам:
операции + и * ассоциативны; операция + коммутативна, коммутативность операции *
не обязательна; в A есть левый нейтральный элемент относительно
операции *; операция дистрибутивна относительно операции : a, b, c ∈ A ( (a + b) c = (a * c) +(b * c) ) a, b, c ∈ A ( c*(a + b) = (c * a) +(c * b) ) Операции и обычно называют сложением и
умножением.
Примеры полуколец. Ниже первая операция – аналог сложения («целевая операция»), вторая – аналог умножения («соединяющая операция»):
на числах: {+, x}, {max, +}; {max, min}; на множествах: {∪, ∩} на множествах слов: {∪, •} на матрицах: {+, x}.
7
ДАНО: Ориентированный ациклический граф с весами на ребрах G =< V, E, W; A, Z>
ЗАДАЧА 1 (задача Беллмана) Найти оптимальный полный путь, т.е. полный путь, имеющий минимальный (максимальный) возможный вес.
A
C
Z
B
EF
D
5 23
7
113
14
6
5
76
7
8
РангВершина
Исх. ребра
Вес ребра
Вес след. верш.
Лучш вес для
ребра
Лучш вес для
верш
Куда идти
0 Z xxx 0 0 0 0 xxx1 F Z 7 0 7 7 Z1 E Z 5 0 5 5 Z
E 7 5 12Z 6 0 6E 3 5 8F 2 7 9C 11 8 19D 6 6 12 E 7 5 12B 3 12 15C 5 8 13D 14 6 20
3 B
4 A
2 D
2 C
6 Z
8 E
12 D, E
13 C
A
C
Z
B
EF
D
5 2 3
7
113
14
6
5
7
6
7
BestW(B) = = min{ W(BC) + BestW(C), W(BD) + BestW(D), W(BE) + BestW(E), }
Best Weight: 13Best Path: ACEZ
9
A
C
Z
B
E
F
D
5 2 3
7
113
14
6
5
7
6
7
Ранг вершины T - это длина (количество ребер) в самом длинном пути из T в сток Z. Обозначение: Rank(T)
Верш. Ранг КудаZ 0 xxxD ? Z, EE 1 ZF 1 Z
Для любого T: Rank (T) = =1+Max {Rank(N1),...,Rank(Nt) }где N1, ..., Nt - наследники вершины T Rank (D) = 1+ max {(Rank(E), Rank(Z)}
10
A
C
Z
B
E
F
D
5 2 3
7
113
14
6
5
7
6
7
Ранг вершины T - этоколичество ребер в самом длинном пути из T в сток Z. Обозначение: Rank(T)
Для любого T: Rank (T) = =1+Max {Rank(N1),...,Rank(Nt) }где N1, ..., Nt - наследники вершины T Rank (D) = 1+ max {(Rank(E), Rank(Z)}
Упражнение 1.1. Найти ранги всех вершин данного графа G.
11
typedef VertexPlus = record begin int InDegree; int OutDegree;
EdgeList InEdges;int Rank=0; // рангint Worked=0; // кол-во обработанных наследников
endtypedef GraphPlus = record begin
int NVertex; VertexPlus array [1.. NVertex] RealVertexend
GraphList G;
int list Result = ☺; // Результат: вершины в // топологическом порядке.
// очередь вершин, ждущих обработки предшественниковint queue Wait = {Num(Sink)} // начинаем со стока int K, KP; Vertex V, VP;
Решение упражнения 1.1 Данные
12
while Wait ≠ do begin☺K:= first(Wait); // K – номер очередной вершиныV:= G.RealVertex[K]; // V – сама вершинаResult := Result+{K}; // включаем в список-результатfor all E from V.InEdges do begin KP := E.Start; // VP – очередной предшественник V VP:=RealVertex[KP];// KP – его номер if (VP.Rank < V.Rank+1)
then VP.Rank := V.Rank+1; endif;
// количество обработанных наследников VP VP.Worked := VP.Worked+1;
// все исходящие ребра VP обработаны if (VP.Worked = VP.OutDegree) then Wait := Wait+VP // добавить в очередь endifend
// убрать из очереди обработанную вершинуWait := Wait – V;
end
Решение упражнения 1.1. Алгоритм
13
Отличие алгоритма Беллмана от Отличие алгоритма Беллмана от алгоритма с накоплением результатаалгоритма с накоплением результата
АБ: Заранее известен топологический порядок на множестве вершин. Каждая вершина просматривается один раз, при этом результаты для наследников уже известны. Результат для данной вершины вычисляется при обработке вершины.
НР: Порядок обработки вершин определяется динамически. Результат для вершины известен ДО начала ее обработки. При обработке вершины перевычисляются временные результаты для ее предшественников (идет накопление результата).
14
Упражнение 1.2. Таким образом, поиск оптимального пути в
графе общего вида ведется в два этапа:1) определяем ранги вершин;2) обрабатываем вершины в порядке возрастания
рангов.Придумайте, как объединить эти два прохода в один.
Упражнение 1.3. Та же задача – для вычисления суммы
мультипликативных весов полных путей.
15
Сходство алгоритма Беллмана и Сходство алгоритма Беллмана и алгоритма с накоплением результатаалгоритма с накоплением результата
В обоих алгоритмах каждое ребро обрабатывается один раз.
Время работы для обоих алгоритмов T ~ количество ребер
Расход памяти для обоих алгоритмов S ~ количество вершин
Алгоритм с накоплением для гиперграфов
Упражнение 1.4. Написать алгоритм, вычисляющий сумму Больцмана для заданного гиперграфа при неизвестном порядке просмотра вершин (аналог алгоритма с накоплением результата для графов)
Рассмотрим на следующем занятии
17
ВыводВывод
Если топологический порядок на множестве вершин известен –
алгоритм Беллмана Если нет –
сначала алгоритм с одновременным определением рангов.
2.1. Немного биологии
Тема 2. Выравнивание
ДНК: 2 нити; L ~ 105 – 109
нуклеотиды (4)
An Example: t-RNA
From Paul Higgs
РНК: 1 нить; L ~ 102 – 103
нуклеотиды (4)
Белки: 1 нить; L ~ 102 – 103
аминокислоты (20)
PDB ID: 2act E.N. Baker, E.J. Dodson (1980): The structure of actinidin at 1.7 Ångstroms
…Gly + Ala… = …GA…
ИСТОРИЯ и ДЛИНЫ
tRNA - (1964) - 75 bases (old, slow, complicated method) First complete DNA genome: X174 DNA (1977) - 5386 bases human mitochondrial DNA (1981) - 16,569 bases tobacco chloroplast DNA (1986) - 155,844 bases First complete bacterial genome (H. Influenzae)(1995) - 1.9
x 10^6 bases Yeast genome (eukaryote at ~ 1.5 x 10^7) completed in
1996 Several archaebacteria E. coli -- 4 x 10^6 bases [1998] Several pathogenic bacterial genomes sequenced
– Helicobacter pyloris, Treponema pallidium, Borrelia burgdorferi, Chlamydia trachomatis, Rickettsia prowazekii, Mycobacterium tuberculosis
Nematode C. elegans ( ~ 4 x 10^8) - December 1998 Human genome (rough draft completed 2000) - 3 x 10^9
base 2010 – rat, mouse, pig, fugu, etc, full genomes 50 x 10^9 ~2015 – individual human genomes (“$1000 per genome”)
2.2. Немного повторения
Тема 2. Выравнивание
27
Варианты Варианты выравниванийвыравниваний
Выровнять две символьные последовательности – удалить из них несколько фрагментов так, чтобы оставшиеся последовательности имели одинаковую длину.
--ПОДБЕРЕЗОВИК ПОДБЕРЕЗОВИК-- ПРЕДОСИНОВИЧКИ ПРЕДОСИНОВИЧКИ
ПО-ДБЕРЕЗОВИК-- П-ОДБЕРЕЗОВИК-- ПРЕДОСИН-ОВИЧКИ ПРЕД-ОСИНОВИЧКИ
ПО-ДБЕРЕЗОВИ-К-ПРЕД-ОСИНОВИЧКИ
28
Какой вариант выбрать?
А) Б)--ПОДБЕРЕЗОВИК ПОДБЕРЕЗОВИК-- ПРЕДОСИНОВИЧКИ ПРЕДОСИНОВИЧКИ
В) Г) Д)ПО-ДБЕРЕЗОВИК-- П-ОДБЕРЕЗОВИК-- ПО-ДБЕРЕЗОВИ-К-ПРЕДОСИН-ОВИЧКИ ПРЕД-ОСИНОВИЧКИ ПРЕД-ОСИНОВИЧКИ
Предполагается: последовательности были получены редактированием» («эволюцией») из общего предка.
Требуется: установить соответствующие друг другу участки
29
Какой вариант выбрать?
Нужно «знать» что-нибудь про эволюцию
А) Б)
--ПОДБЕРЕЗОВИК ПОДБЕРЕЗОВИК-- ПРЕДОСИНОВИЧКИ ПРЕДОСИНОВИЧКИ
В) Г) Д)ПО-ДБЕРЕЗОВИК-- П-ОДБЕРЕЗОВИК-- ПО-ДБЕРЕЗОВИ-К-ПРЕДОСИН-ОВИЧКИ ПРЕД-ОСИНОВИЧКИ ПРЕД-ОСИНОВИЧКИ
Предположим: Две одинаковые буквы скорее имеют общего предка,
чем две разные буквыДве буквы «одинаковой гласности» скорее имеют
общего предка, чем две буквы «разные гласности»
30
Две одинаковые буквы скорее имеют общего предка, чем две разные буквы
Две буквы «одинаковой гласности» скорее имеют общего предка, чем две буквы «разные
гласности»А) Б)
--ПОДБЕРЕЗОВИК ПОДБЕРЕЗОВИК-- ПРЕДОСИНОВИЧКИ ПРЕДОСИНОВИЧКИ
В) Г) Д)ПО-ДБЕРЕЗОВИК-- П-ОДБЕРЕЗОВИК-- ПО-ДБЕРЕЗОВИ-К-ПРЕДОСИН-ОВИЧКИ ПРЕД-ОСИНОВИЧКИ ПРЕД-ОСИНОВИЧКИ
Г) лучше, чем В); Б) [немного] лучше А)??? Верно ли, что
Г ) лучше, чем Б )
31
Две одинаковые буквы скорее имеют общего предка, чем две разные буквы
Две буквы «одинаковой гласности» скорее имеют общего предка, чем две буквы «разные
гласности»А) Б)
--ПОДБЕРЕЗОВИК ПОДБЕРЕЗОВИК-- ПРЕДОСИНОВИЧКИ ПРЕДОСИНОВИЧКИ
В) Г) Д)ПО-ДБЕРЕЗОВИК-- П-ОДБЕРЕЗОВИК-- ПО-ДБЕРЕЗОВИ-К-ПРЕДОСИН-ОВИЧКИ ПРЕД-ОСИНОВИЧКИ ПРЕД-ОСИНОВИЧКИ
??? Верно ли, что Г ) лучше, чем Б )
=== НЕИЗВЕСТНО. Мы ничего не предположили о механизме удалений/вставок (насколько они вероятны по сравнению с заменами)
32
Вес выравнивания A T – V V I — - T G S G S M V L L E F S G T 0+2 +3+2+3 +2+7+2= 21 -1 -2 = -3 Score = Σ m(i,j)-GapPen = 21 - 3 = 18
PAM250 matrix recommended by Gonnet et al. Science, June 5, 1992Values rounded to nearest integerC S T P A G N D E Q H R K M I L V F Y W
C 12 0 0 -3 0 -2 -2 -3 -3 -2 -1 -2 -3 -1 -1 -2 0 -1 0 -1S 0 2 2 0 1 0 1 0 0 0 0 0 0 -1 -2 -2 -1 -3 -2 -3T 0 2 2 0 1 -1 0 0 0 0 0 0 0 -1 -1 -1 0 -2 -2 -4P -3 0 0 8 0 -2 -1 -1 0 0 -1 -1 -1 -2 -3 -2 -2 -4 -3 -5A 0 1 1 0 2 0 0 0 0 0 -1 -1 0 -1 -1 -1 0 -2 -2 -4G -2 0 -1 -2 0 7 0 0 -1 -1 -1 -1 -1 -4 -4 -4 -3 -5 -4 -4N -2 1 0 -1 0 0 4 2 1 1 1 0 1 -2 -3 -3 -2 -3 -1 -4D -3 0 0 -1 0 0 2 5 3 1 0 0 0 -3 -4 -4 -3 -4 -3 -5E -3 0 0 0 0 -1 1 3 4 2 0 0 1 -2 -3 -3 -2 -4 -3 -4Q -2 0 0 0 0 -1 1 1 2 3 1 2 2 -1 -2 -2 -2 -3 -2 -3H -1 0 0 -1 -1 -1 1 0 0 1 6 1 1 -1 -2 -2 -2 0 2 -1R -2 0 0 -1 -1 -1 0 0 0 2 1 5 3 -2 -2 -2 -2 -3 -2 -2K -3 0 0 -1 0 -1 1 0 1 2 1 3 3 -1 -2 -2 -2 -3 -2 -4M -1 -1 -1 -2 -1 -4 -2 -3 -2 -1 -1 -2 -1 4 2 3 2 2 0 -1I -1 -2 -1 -3 -1 -4 -3 -4 -3 -2 -2 -2 -2 2 4 3 3 1 -1 -2L -2 -2 -1 -2 -1 -4 -3 -4 -3 -2 -2 -2 -2 3 3 4 2 2 0 -1V 0 -1 0 -2 0 -3 -2 -3 -2 -2 -2 -2 -2 2 3 2 3 0 -1 -3F -1 -3 -2 -4 -2 -5 -3 -4 -4 -3 0 -3 -3 2 1 2 0 7 5 4Y 0 -2 -2 -3 -2 -4 -1 -3 -3 -2 2 -2 -2 0 -1 0 -1 5 8 4W -1 -3 -4 -5 -4 -4 -4 -5 -4 -3 -1 -2 -4 -1 -2 -1 -3 4 4 14
Матрица весов замен m(a, b)
Штраф за удаление символа δ = -1GapPen – сумма щтрафов за удаления
Вес выравнивания A T – V V I — - T G S G S M V L L E F S G T 0+2 +3+2+3 +2+7+2= 21 -1 -2 = -3 Штраф за удаление символа: δ =-1 Матрица весов замен: m(a,b)
Score = Σ m(i,j)-GapPen = 21 - 3 = 18GapPen – сумма штрафов за удаления.
Score -> MAXIMUM
Рекурсия для глобального выравнивания (δ(L)=kL)
v, w - слова; a, b – буквы S(v, w) – вес оптимального выравнивания v, w.
S(va, wb) = max{S(v, w) + m(a,b), // сопоставление последних букв
S(v, wb) – k; // удаление посл. буквы в 1-м слове S(va, w) - k // удаление посл. буквы в 2-м слове}
M I Y C VI 2 4 -1 -1 3V 2 3 -1 0 3G -4 -3 -4 -2 -3W -1 -2 -2 -1 -3Y 0 -1 7 0 -1C -1 -1 -1 12 0
ГрафВеса ребер
a) диагонали
-1c) горизонтали
b) вертикали
M I Y C VIVG WYC
Порядок обхода вершин очевиден. Вычислять ранги не нужно!
Вес диагонального ребра W(i, j) = m[u[i], v[j])Алгоритм допускает произвольные веса сопоставлений W(i, j)
2.3. Удаление фрагментов
Тема 2. Выравнивание
37
Две одинаковые буквы скорее имеют общего предка, чем две разные буквы
Две буквы «одинаковой гласности» скорее имеют общего предка, чем две буквы «разные
гласности» Г) Д) П-ОДБЕРЕЗОВИК-- ПО-ДБЕРЕЗОВИ-К- ПРЕД-ОСИНОВИЧКИ ПРЕД-ОСИНОВИЧКИ
При любом штрафе за удаление символа Д) лучше, чем Г)
Д) – «неправильно» («эволюционно»)ПОД -БЕРЕЗ-ОВИ-К ПРЕД-ОСИН –ОВИ-КПРЕД-ОСИН –ОВИ-Ч-ЕКПРЕД-ОСИН –ОВИ-Ч- К-И
38
Две одинаковые буквы скорее имеют общего предка, чем две разные буквы
Две буквы «одинаковой гласности» скорее имеют общего предка, чем две буквы «разные
гласности» Г) Д) П-ОДБЕРЕЗОВИК-- ПО-ДБЕРЕЗОВИ-К- ПРЕД-ОСИНОВИЧКИ ПРЕД-ОСИНОВИЧКИ
При любом штрафе за удаление символа Д) лучше, чем Г)
Д) – «неправильно»(«эволюционно»)ПОД -БЕРЕЗ-ОВИ-К ПРЕД-ОСИН –ОВИ-КПРЕД-ОСИН –ОВИ-Ч-ЕКПРЕД-ОСИН –ОВИ-Ч- К-И
НУЖНО МЕНЯТЬ ОПРЕДЕДЕНИЕ ВЕСА ВЫРАВНИВАНИЯ
Упражнение 2.1. Вес выравнивания задается следующими параметрами: сопоставление одинаковых гласных букв: 10; сопоставление одинаковых согласных букв: 7; сопоставление различных гласных букв: -3; сопоставление различных согласных букв: -5; сопоставление гласной и согласной букв: -10; удаление буквы: -d (d >0). А. Какие из указанных ниже выравниваний являются оптимальными при некоторых значениях параметра d? Укажите эти значения. Б.* Как нужно изменить определение веса выравнивания, чтобы выравнивание (Г) могло стать оптимальным?
А. --ПОДБЕРЕЗОВИК Б.ПОДБЕРЕЗОВИК-- ПРЕДОСИНОВИЧКИ ПРЕДОСИНОВИЧКИ
В.ПО-ДБЕРЕЗОВИК-- Г.ПО-ДБЕРЕЗОВИК-- Д. ПО-ДБЕРЕЗОВИ-К- ПРЕДОСИН-ОВИЧКИ ПРЕД-ОСИНОВИЧКИ ПРЕД-ОСИНОВИЧКИ
Вес выравнивания A T – V V I — - T G S G S M V L L E F S G T 0+2 +3+2+3 +2+7+2= 21 -5-1 -5-2 = -13
Штраф за удаление фрагмента δ(L) Примеры: δ(L)=kL;
δ(L)= s+kL Матрица весов замен: m(a,b)
Score = Σ m(i,j)-GapPen = 21 - 13 = 18GapPen – сумма штрафов за удаления.
Рекурсия для глобального выравнивания (δ(L)=g+kL), слайд 1 (из 4-х): ДАННЫЕ
Алгоритм Смита-Ватермана (SW)
v1, v2 - слова; SM[i, j] – вес оптимального
выравнивания v1[1:i], v2[1:j] G1[i, j] – вес оптимального
выравнивания v1[1:i], v2[1:j]среди выравниваний «с открытой делецией» в v1.
G2[i, j] – вес оптимального выравнивания v1[1:i], v2[1:j]
среди выравниваний «с открытой делецией» в v2.
}
Рекурсия для глобального выравнивания (δ(L)=g+kL) , слайд 2 (из 4-х): ИНИЦИАЛИЗАЦИЯ
SM[0, 0]=0; SM[0, i] = SM[i, 0] = -g-k•i (i >0)
G1[i, 0] = -g-k•i; G1[0, j] = -2g-k•j (j >0); G2[i, 0] = -2g-k•i (i>0);
G2[0, j] = -g-k•j;
Рекурсия для глобального выравнивания (δ(L)=g+kL) , слайд 3 (из 4-х): РЕКУРСИЯ для S
SM(i, j) = max{SM(i-1, j-1) + m(v1[i], v2[j])//сопоставление букв v1[i], v2[j]
G1(i-1, j) – k; // удаление буквы v1[i] G2(j, i-1) - k // удаление буквы v2[j]
}
Рекурсия для глобального выравнивания (δ(L)=g+kL) , слайд 4 (из 4-х): РЕКУРСИЯ для S
G1(i, j) = max{SM(i, j) – g // подготовка к началу делеции
G1(i-1, j) – k; // продолжение делеции }
G2(i, j) = max{SM(i, j) – g // подготовка к началу делеции
G2(i, j-1) – k; // продолжение делеции }
- линейный δ(L)=kL - аффинный δ(L)=g+kL - произвольный δ(L) - выпуклый монотонный пример: log(L+2)
монотонность: удалить меньший кусок легче
выпуклость: δ(L1+L2) < δ(L1)+ δ(L2)
(удалять фрагмент лучше сразу).
Различные штрафы за делецию
Различные штрафы за делецию
- произвольная функция
– выпуклая функция
– линейная f(L) = a + bL
– линейная f(L) = kL
- нулевая f(L) = 0
~ L4
~ L3
~ L2
~ L2
~ L2
Штраф за делецию f(L) Время работы
Тема 2. Выравнивания.2.4. Точность и достоверность
выравниваний.
48
Две одинаковые буквы скорее имеют общего предка, чем две разные буквы
Две буквы «одинаковой гласности» скорее имеют общего предка, чем две буквы «разные
гласности» Г) Д) П-ОДБЕРЕЗОВИК-- ПО-ДБЕРЕЗОВИ-К- ПРЕД-ОСИНОВИЧКИ ПРЕД-ОСИНОВИЧКИ
При любом штрафе за удаление символа Д) лучше, чем Г)
Д) – «неправильно» («эволюционно»)ПОД -БЕРЕЗ-ОВИ-К ПРЕД-ОСИН –ОВИ-КПРЕД-ОСИН –ОВИ-Ч-ЕКПРЕД-ОСИН –ОВИ-Ч- К-И
ASVVLDFTGT ASVVLDFTGT AS-VVLDFTGTATVVI—-TGS GSMVLLEFSGTAS-VVLDFTGT AS-VVLDFTGTAT-VVI—-TGS GSMVLLEFSGT AS-VVLDFTGT
AT-VVI—-TGS GSMVLLEFSGT
Эталон: эволюционное выравнивание
Приближение: структурные выравнивания
Структурное и алгоритмическое выравнивания
Str) 40 сопоставлений lkCnqli...PPFWKTCPKGKNLCYKmtmraapmvPVKRGCidv riCfnhqssqPQTTKTCSPGESSCYHkqwsdfrgtIIERGCg.. * **************** ****** 1 16 6 AlgSW) 1 16 6 * **************** ****** lk..C...nqliPPFWKTCPKGKNLCYK...mtmraapmvPVKRGCidv ..riCfnhqssqPQTTKTCSPGESSCYHkqwsdfrgt...IIERGC..g 35 сопоставлений
Str) lkCnqli...PPFWKTCPKGKNLCYKmtmraapmvPVKRGCidv riCfnhqssqPQTTKTCSPGESSCYHkqwsdfrgtIIERGCg.. * **************** ****** 1 16 6 AlgSW) 1 16 6 * **************** ****** lk..C...nqliPPFWKTCPKGKNLCYK...mtmraapmvPVKRGCidv ..riCfnhqssqPQTTKTCSPGESSCYHkqwsdfrgt...IIERGC..g
S = 40 I = 23 A= 35 Точность Acc = I/S= 23/40=0.58 Достоверность Conf = I/A= 23/35=0.66
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
%ID
Точн
ость
алг. С
мита-
Уотер
мана
%ID SW точность(acc)
< 0,1 0,037
0,1-0,3 0,306
0,3-0,4 0,818
>0,4 0,893
Алгоритм Смита-Уотермана (SW)не может восстановитьструктурное выр-ниепри ID< 0.3
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
%ID
Точн
ость
алг. С
мита-
Уотер
мана
Str) lkCnqli...PPFWKTCPKGKNLCYKmtmraapmvPVKRGCidv riCfnhqssqPQTTKTCSPGESSCYHkqwsdfrgtIIERGCg.. ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Остров1 Остров 2
Острова – безделеционные фрагменты выравниваний.
Вес острова – сумма весов сопоставлений
Причины плохого качества выравниваний SW
Гистограммы весов островов
0.0
2.0
4.0
6.0
8.0
10.0
12.0
14.0
16.0
18.0
20.0
-20
-10 -5 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 90 100
120
150
200
300
500
900
SW выравнивания
структурные выравнивания
Вес острова
% островов
Причины плохого качества выравниваний SW
Тема 2. Выравнивания.2.5. Нулевые штрафы
на краях последовательностей
δ1(L), δ2(L) – штрафы за удаления L букв внутри 1-го (2-го) слова
b1(L), b2(L) – штрафы за удаления L букв в начале 1-го (2-го) слова
e1(L), e2(L) – штрафы за удаления L букв в конце 1-го (2-го) слова
1.Оптимальное глобальное выравнивание: b1(L) = e1(L) = b2(L) = δ(L) [ можно ввести различные δ1 и δ2]
2. ??? Что мы найдем (говоря неформально) при b1=e1=b2=e2=0
1.Оптимальное глобальное выравнивание: b1(L) = e1(L) = b2(L) = δ(L) [ можно ввести различные δ1 и δ2]
2. ??? Что мы найдем (говоря неформально) при b1=e1=b2=e2=0
Оптимальное локальное выравнивание (одно!)
b1 (b2) – штраф удаления в начале слова e1 (e2) – штраф удаления в конце слова
1. Глобальное выравнивание - так же, как везде 2. Локальное выравнивание: b1=e1=b2=e2=0
3. ??? b1 = e1 = 0; b2, e2 – как везде
4 . ??? b1 = e2 = 0; b2, e1 – как везде
b1 (b2) – штраф удаления в начале слова e1 (e2) – штраф удаления в конце слова
1. Глобальное выравнивание - так же, как везде 2. Локальное выравнивание: b1=e1=b2=e2=0
3. Вложение 2-го слова b1 = e1 = 0; в 1-е b2, e2 – как везде
4 . Перекрытие конца b1 = e2 = 0; 1-го слова с началом b2, e1 – как везде 2-го слова
Алгоритм построения оптимального локального выравнивания (слайд 1 из 4)
M I Y C VIVG WYC
Граф для случая глобальноговыравнивания
Алгоритм построения оптимального локального выравнивания (слайд 2 из 4)
M I Y C VIVG WYC
Граф для случая локальноговыравнивания
В левый верхний угол из каждой вершину ведет ребро нулевого веса (эти ребра соответствуют удалениям на левых концах)Из правого нижнего угла в каждую вершину ведет ребро нулевого веса (эти ребра соответствуют удалениям на правых концах)
Алгоритм построения оптимального локального выравнивания (слайд 3 из 4)
Глобальное выравнивание: Рекурсия: max {S(u,v)+m(a,b), S(u,vb)-k, S(ua,v)-k} Инициализация: S(☺, v) = S(v, ☺) = -k•L(v) ☺ - пустое слово
Целевая функция: S(U, V)
Локальное выравнивание: Рекурсия: ???
Инициализация: ??? Целевая функция: ???
Алгоритм построения оптимального локального выравнивания (слайд 4 из 4)
1. Локальное выравнивание: b1=e1=b2=e2=0
Глобальное выравнивание: Рекурсия: max {S(u,v)+m(a,b), S(u,vb)-k, S(ua,v)-k} Инициализация: S(☺, v) = S(v, ☺) = -k•L(v) Целевая функция: S(U, V)
Локальное выравнивание: Рекурсия:
max {0, S(u,v)+m(a,b), S(u,vb)-k, S(ua,v)-k} Инициализация: S(☺, v) = S(v, ☺) = 0 Целевая функция:
max {S(U[1:i], V[1:j] | i=1..|V|, j = 1, |U|)
Упражнение 2.2. А. Написать рекуррентные уравнения, уравнения инициализации и уравнения вычисления результата для задач поиска оптимального вложения одного отрезка в другой и оптимального перекрытия отрезков.Б. Построить графы, к анализу которых сводится решение этих задач.
3.1. Введение 3.2. Использование затравок (seed) 3.3. Избирательность и чувствительность 3.4. Типы затравок (seed model)
Раздел 3. Поиск всех разумных локальных сходств
Три вещи, которые нужно уточнить,решая содержательную задачу
1. ФОРМАЛЬНАЯ ПОСТАНОВКА ЗАДАЧИ.
2. АЛГОРИТМ РЕШЕНИЯ
3. ПРОВЕРКА – АДЕКВАТНО ЛИ ТО, ЧТО
ПОЛУЧАЕТСЯ (ИСХОДНОЙ СОДЕРЖАТЕЛЬНОЙ ЗАДАЧЕ).
Как правило, уточнение этих вещейпроисходит взаимосвязано и
итеративно
Локальные сходства
Выравнивание на основе локальных сходств
Цепь «не конфликтующих» локальных сходств
Глобальное выравнивание
ДНК: иерархическое геномное выравнивание
- отказ от глобальной оптимизации какой-либо весовой весовой функции;
- разрешение конфликта между сходствами производится локально
- иерархическая процедураВремя определяется принятым уровнем значимости
(а не минимальным допустимым весом сходства)
8. ДНК: иерархическое геномное выравнивание
8. ДНК: иерархическое геномное выравнивание
8. ДНК: иерархическое геномное выравнивание
Поиск локальных сходств
– Использование затравок (seed)
– Избирательность и чувствительность
– Типы затравок (seed model)
Dot plot
ctcgactcgggctcacgctcgcaccgggttacagcggtcgattgctaggcctcgggct cgcgctcgcgcg ctagacaccggg ttacagcgt
Detected local similarity
Затравки: фильтрация пространства поиска
Сначала ищем небольшие и легко диагностируемые участки сходства («затравочные сходства», seed similarities).
Далее ищем сходства только в окрестностях затравочных сходств (одного или нескольких).
Detected seeds
«Классическая затравка» (пример: 6 совпадений подряд)
Точные совпадения :
Затравка («затравочное слово», описание затравочных сходств) : ######
Вес : 6 [количество #]
Пример : 16 совпадений из 20
ATCAGT||||||ATCAGT
######ATCAGTGCAATGCTCATGAA|||.|.|||||||:||.|||ATCGGCGCAATGCGCAAGAA
Затравка ловит сходство(затавка соответствует сходству)
Затравка ##### seed Затравочное сходство (… выравнивание)
ATGCAA
ATGCAA
Затравка соответствует сходству в позиции 10 Затравка не соответствует сходству в позиции 1
Затравка ловит сходство
###### ###### 1 10
ctcgactcgggctcacgctcgcaccgggttacagcggtcgattgctaggcctcgggct cgcgctcgcgcg ctagacaccggg ttacagcgt
Detected local similarity
Недостатки подхода
Найденные затравки
СлучайноеСлучайное сходствосходство
Пропущенное Пропущенное сходство: не сходство: не содержит содержит затравокзатравок
######ATCAGTGCAATGCTCATGAA::|::::||||||:::..::CCCGACACAATGCGTGACCC
##### [16 of 20!]ATCAGTGCGATGCTCATGAA|||.|||||:|||:||.|||ATCGGTGCGGTGCGCAAGAA
Две проблемы
“Избирательность”Затравка может НЕ быть частью важного (для нас) сходства
“Чувствительность” Важное (для нас) сходство может
НЕ содержать ни одной затравки
Нужно уточнить:• Что такое «важное сходство»?
Что может быть мерой избирательности и чувствительности
Избирательность затравки: ~ 4-weight
вероятность ее обнаружения при сравнении независимых случайных последовательностей
Чувствительность затравки: вероятность того, что затравка попадет в
важное сходство.
Нужно уточнить:• Что такое «важное сходство»?• Каково распределение вероятностей
для важных сходств?
Множество важных [целевых] выравниваний и их вероятности
Выравнивания фиксированной длины без удалений
L=18
Вероятностная модель: Бернулли ;Случайные вырaвнивания: Prob(match) =0.25 Целевые выравнивания: Prob(match) >> 0.25
Обобщения: Марковские модели, скрытые марковские модели (сегодня не рассматриваем)
GCTACGACTTCGAGCTGC...CTCAGCTATGACCTCGAGCGGCCTATCTA...
Разреженные затравки Ma, Tromp, Li 2002 (PatternHunter)
Затравка: ###--#-## ‘#’ : должно быть совпадение
‘-’ : «джокер» (“все равно, что” )
Вес : 6 [количество #] Пример:
###--#-##ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA
ATCAGTGCAATGCTCAAGA|||||||||||||||||||ATCAGTGCAATGCTCAAGA
###--#-##ATCAGTGCAATGCTCAAGA|||||||||||||||||||ATCAGTGCAATGCTCAAGA
######ATCAGTGCAATGCTCAAGA|||||||||||||||||||ATCAGTGCAATGCTCAAGA###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-##
###--#-##ATCAGTGCAATGCTCAAGA|||||||||||||||||||ATCAGTGCAATGCTCAAGA###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ######
######ATCAGTGCAATGCTCAAGA|||||||||||||||||||ATCAGTGCAATGCTCAAGA
###--#-##ATCAGTGCAATGCTCAAGA|||||||||||||||||||ATCAGTGCAATGCTCAAGA
######ATCAGTGCAATGCTCAAGA|||||.|||||||||||||ATCAGCGCAATGCTCAAGA
###--#-##ATCAGTGCAATGCTCAAGA|||||.|||||||||||||ATCAGCGCAATGCTCAAGA
######ATCAGTGCAATGCTCAAGA|||||.|||||||||||||ATCAGCGCAATGCTCAAGA###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-##
###--#-##ATCAGTGCAATGCTCAAGA|||||.|||||||||||||ATCAGCGCAATGCTCAAGA###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ######
######ATCAGTGCAATGCTCAAGA|||||.|||||||||||||ATCAGCGCAATGCTCAAGA###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-##
###--#-##ATCAGTGCAATGCTCAAGA|||||.|||||||||||||ATCAGCGCAATGCTCAAGA###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ######
######ATCAGTGCAATGCTCAAGA|||||.|||||||||||||ATCAGCGCAATGCTCAAGA
###--#-##ATCAGTGCAATGCTCAAGA|||||.|||||||||||||ATCAGCGCAATGCTCAAGA
######ATCAGTGCAATGCTCAAGA|||||.|||||||:|||||ATCAGCGCAATGCGCAAGA
###--#-##ATCAGTGCAATGCTCAAGA|||||.|||||||:|||||ATCAGCGCAATGCGCAAGA
######ATCAGTGCAATGCTCAAGA|||||.|||||||:|||||ATCAGCGCAATGCGCAAGA###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-##
###--#-##ATCAGTGCAATGCTCAAGA|||||.|||||||:|||||ATCAGCGCAATGCGCAAGA###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ######
######ATCAGTGCAATGCTCAAGA|||||.|||||||:|||||ATCAGCGCAATGCGCAAGA###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-##
###--#-##ATCAGTGCAATGCTCAAGA|||||.|||||||:|||||ATCAGCGCAATGCGCAAGA###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ######
######ATCAGTGCAATGCTCAAGA|||||.|||||||:|||||ATCAGCGCAATGCGCAAGA
###--#-##ATCAGTGCAATGCTCAAGA|||||.|||||||:|||||ATCAGCGCAATGCGCAAGA
######ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA
###--#-##ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA
######ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-##
###--#-##ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ######
######ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-##
###--#-##ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ######
######ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-## ###--#-##
###--#-##ATCAGTGCAATGCTCAAGA|||||.||.||||:|||||ATCAGCGCGATGCGCAAGA ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ###### ######
######
Разреженные затравки: в чем преимущество?
For spaced seeds, hits at subsequent positions are “more independent events”
For contiguous vs. spaced seeds of the same weight, the expected number of hits is (basically) the same but the probabilities of having at least one hit are very different
Sensitivity: PH weight 11 seed vs BLAST 11 & 10[after Ma, Tromp and Li]