2. 2
Это было вчераЭто было вчера
0. Задача про триангуляцию – правильное решение
1. Динамическое программирование на графах.
1.1. Вычисление рангов для графов и гиперграфов
1.2. Совместный алгоритм (накопление результата)
1.3. Подсчет сумм Больцмана для всех точек
2. Построение оптимального выравнивания.
2.1. Биологическое введение.
2.2. Глобальное выравнивание: алгоритм для
простейшего случая (повторение)
2.3. Удаление фрагментов
2.4. Качество выравниваний (сравнение с эталоном)
2.5* Другие варианты постановок задач (субоптималь-
ные выравнивания, суммы Больцмана, векторные
веса, веса удалений концов)
3. 3
Это будет сегодняЭто будет сегодня
1. Построение всех «разумных» сходств
1.1. Постановка задачи
1.2. Использование затравок (seed)
1.3. Избирательность и чувствительность
3.4. Типы затравок (seed model)
2. Скрытые марковские модели
3. Предсказание вторичной структуры РНК
4. РНК и гиперграфы
5. Суммы Больцмана для всех вершин гиперграфа
0. Задача про триангуляцию
4. Раздел 1. Поиск локальных сходств
Немного повторения.
– Использование затравок (seed)
– Избирательность и чувствительность
– Типы затравок (seed model)
6. «Классическая затравка»
(пример: 6 совпадений подряд)
Точные совпадения :
Затравка («затравочное слово», описание
затравочных сходств) : ######
Вес : 6 [количество #]
Пример : 16 совпадений из 20
ATCAGT
||||||
ATCAGT
######
ATCAGTGCAATGCTCATGAA
|||.|.|||||||:||.|||
ATCGGCGCAATGCGCAAGAA
7. Затравка ловит сходство
(затавка соответствует сходству)
Затравка ##### seed
Затравочное сходство (… выравнивание)
ATGCAA
ATGCAA
Затравка соответствует сходству в позиции 10
Затравка не соответствует сходству в позиции 1
Затравка ловит сходство
###### ######
1 10
8. Скорость поиска затравочных сходств
(точных сходств)
T~ L1+L2 + R
L1, L2 – длины последовательностей
R – количество найденных сходств
10. Две проблемы
“Избирательность”
Затравка может НЕ быть частью
важного (для нас) сходства
“Чувствительность”
Важное (для нас) сходство может
НЕ содержать ни одной затравки
11. Что может быть мерой
избирательности и чувствительности
Избирательность затравки: ~ 4-weight
вероятность ее обнаружения при
сравнении независимых случайных
последовательностей
Чувствительность затравки:
вероятность того, что затравка попадет в
важное сходство.
Нужно уточнить:
• Что такое «важное сходство»?
• Каково распределение вероятностей
для важных сходств?
12. Множество важных [целевых]
выравниваний и их вероятности
Выравнивания фиксированной длины без
удалений
L=18
Вероятностная модель: Бернулли ;
Случайные вырaвнивания: Prob(match) =0.25
Целевые выравнивания: Prob(match) >> 0.25
Обобщения: Markov models, HMM
{not in this talk}
GCTACGACTTCGAGCTGC
...CTCAGCTATGACCTCGAGCGGCCTATCTA...
13. Разреженные затравки
Ma, Tromp, Li 2002 (PatternHunter)
Затравка: ###--#-##
‘#’ : должно быть совпадение
‘-’ : «джокер» (“все равно, что” )
Вес : 6 [количество #]
Пример:
###--#-##
ATCAGTGCAATGCTCAAGA
|||||.||.||||:|||||
ATCAGCGCGATGCGCAAGA
14. Spaced Seeds: the background
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
17. single filter based on several distinct
seed patterns
each seed pattern detects a part of
interesting similarities but together
they detect [almost] all of them
Li, Ma, Kisman, Tromp 2004 (PatternHunter II)
Kucherov, Noe, Roytberg, 2005
Sun, Buhler, RECOMB 2004
Семейства затравок
18. Пример: ВСЕ (18,3)
ОбнаружитьОбнаружить всевсе сходства длинысходства длины 1818,,
в которых не болеев которых не более 33 несовпаденийнесовпадений
Чувствительность = 1.0
Избирательность
(вероятность случайного появления
затравочного сходства) -> MIN
19. Пример: ВСЕ (18,3)
ОбнаружитьОбнаружить всевсе сходства длинысходства длины 1818,,
в которых не болеев которых не более 33 несовпаденийнесовпадений
Множественная затравка F решает проблему
ВСЕ(18, 3)
Затравка F состоит из двух простых затравок,
каждая из них имеет вес 7
##-#-####
###---#--##-#
F
22. ДАЛЬШЕ НЕ
СМОТРЕЛ
А – примеры белков и заголовков
В, С – перевести слайд про преимущества
разреж. затравок
23. Different mutational events have different
probabilities
Transitions are usually over-represented.
ATCAGTGCAATGCTCAAGA
|||||.||.||||:|||||
ATCAGCGCGATGCGCAAGA
Subset seeds
A T
G C
transitions
transversions
.
: ATCAGTGCAATGCTCAAGA
|||||.||.||||:|||||
ATCAGCGCGATGCGCAAGA
24. Extended seed alphabet
seed: ##@#-#@-###
‘#’ : obligatory match position
‘-’ : joker position (“don’t care”
position)
‘@’ : transition-constrained position
position that corresponds to either a match or a transition.
##@#-#@-###
ATCAGTGCAATGCTCAAGA
|||||.||.||||:|||||
ATCAGCGCGATGCGCAAGA
25. Subset letters and seeds
Seed letter is a subset of aligned pairs.
# = {(A,A), (C,C), (G,G), (T,T)}
@ = { (A,A), (C,C), (G,G), (T,T),
(A,G), (G,A), (T,C), (C,T)}
- = {all pairs}
##@#-#@-###
ATCAGTGCAATGCTCAAGA
|||||.||.||||:|||||
ATCAGCGCGATGCGCAAGA
26. Weight of subset seed
Selectivity: probability of random
occurrences of a seed
Match-mismatch case:
weight – number of #;
S = 4-weight
General case:
S = 4-weight
(by definition)
seed: ##@#-#@-###
Weight : 8[number of # + half number of @]
@ carries 1 bit of information whereas # carries 2 bits.
28. BLASTP: vector seeds
Seed alignment: any 3-letter alignment
with total score exceeding a given cut-off
N L C
S S C
1+1+12 = 14
G D I
G Q V
7+1+3 = 11
P C P
P K P
8-3+8 = 13
An amino-acid triple T has a lot of neighbors,
i.e. other triples forming a seed alignment
with T
30. Partition subset seeds
Partition subset seeds: each subset letter
can be described by a partition of the set
of aminoacid letters
DNA:
@=<[A,G];[T,C]>={(A,A), (A,G), (G,A), (G,G),
(T,T), (T,C), (C,T), (C,C)}
Proteins:
1)[C] [G] [P] [IVLM] [AST] [HWFY] [NDRKQE]
2)[C] [G] [P] [IV] [LM] [A] [ST] [H] [WFY]
[N] [D] [RK] [QE]
3)[C] [G] [P] [IV] [LM] [A] [S] [T] [H] [W]
[FY] [N] [D] [RK] [QE]
31. Partition subset seeds (cont)
Motivation: In case of vector (BLAST-like)
and general subset seeds each amino-acid
triple T has a lot of neighbors, i.e. other
triples forming a seed alignment with T
Partition seeds significantly decrease the
number of neighbors of an amino-acid
tuple
33. Затравки. Выводы.
Классические заправки не оптимальны
Применяя затравки, разберитесь, насколько
они адекватны интересующему Вас классу
сходств.
О чем мы не говорили:
Как строить хорошие затравки?
Как вычислить чувствительность затравки?
И еще о многом…
34. Раздел 2.
Скрытые Марковские модели (СMM)
Hidden Markov Models
(HMM)
1. Все модели порождают слова (=символьные
последовательности) в некотором алфавите А.
2. Каждое слово w порождается с некоторой
вероятностью Prob(w)
3. Для любой длины L суммарная вероятность
всех слов длины L равна 1.
4. Вероятность слова определяется как
произведение вероятностей его букв.
35. 2.0. Повторение
Бернуллиевская модель:
вероятность буквы зависит только от
самой буквы и не зависит ни от
номера позиции буквы в слове, ни от
других букв в слове.
Prob(‘aba’) = p(a)*p(b)*p(a)
1. Все модели порождают слова (=символьные
последовательности) в некотором алфавите А.
2. Каждое слово w порождается с некоторой
вероятностью Prob(w)
3. Для любой длины L суммарная вероятность
всех слов длины L равна 1.
4. Вероятность слова определяется как
произведение вероятностей его букв.
36. Повторение
Марковская модель: вероятность буквы
зависит от K предшествующих букв. Для слов
длины не более K вероятность задается
отдельно.
Пример. А = {0, 1}
P(0|1) = P(1|0) = 0
P(0|0) = P(1|1) = 1
P(‘0’) = P(‘1’) = 0.5
Распределение вероятностей для слов длины 5?
37. Повторение
Марковская модель: вероятность буквы
зависит от K предшествующих букв. Для слов
длины не более K вероятность задается
отдельно.
Пример. А = {0, 1}
P(0|1) = P(1|0) = 0; P(0|0) = P(1|1) = 1
P(‘0’) = P(‘1’) = 0.5
Распределение вероятностей для слов длины 5?
== P(‘00000’) = P(‘11111’) =0.5
Для остальных слов w: P(w)=0
38. 2.1. Определение
скрытой марковской модели
A - алфавит
Q – множество состояний; Q = {1,…, N }
φ: ({0}ỤQ) x Q -> [0, 1]
– вероятность перехода из i в j (i > 0);
- вероятность старта в состоянии j (i = 0).
Σj=1.. N φ(i, j) = 1
σ: QxA -> [0, 1] – вероятность порождения символа
Σa € Aσ(i, a) = 1
39. ПРИМЕР (временами фальшивая монета, ВФМ)
– Прямоугольники означают состояниясостояния
– Кружки означают результат бросания
(эмиссииэмиссии)
– Стрелки – возможные переходыпереходы между
состояниями
– Числа около кружков – вероятности эмиссии σi
– числа около стрелок – вероятности переходов
между состояниями φik
0
1
0.5
0.5
0
1
0.9
0.1
0.9
0.1
0.8
0.2
•Сумма весов исходящих
стрелок равна 1
•Сумма весов эмиссии в
каждом состоянии рана 1
40.
41. Вероятности
Вероятность порождения слова v = a1…аm
при условии прохождения по траектории состояний
t = {q0=0, q1 , …, qm}:
P(v|t) = Πi=1.. n φ(qi-1, qi)▪σ (qi, ai)
Вероятность порождения слова v = a1…аm
P(v) = Σt P(v|t)
* Утв. СММ задает распределение вероятностей на
словах данной длины m:
Σv – слово длины m P(v) = 1
Упражнение 4.1. Доказать !!!
42. Эквивалентные СММ
СММ H1 и H2 называются
эквивалентными, если они задают
одно и то же распределение
вероятностей.
Пример – «раздвоение» состояний
43. 2.2. Графы, связанные с СММ
Пусть дана СММ H = <A, Q, φ, σ >.
Основной граф.
Множество вершин Q = {0, 1, …, N}.
Множество ребер E = {(i, j, a)} - для каждой пары
вершин есть |A| ребер, ведущих из i в j; каждое из
ребер помечено своей буквой.
Вероятности: Каждому ребру (i, j, a) приписана
вероятность
p(i, j, a) = φ(i, j)▪ σ(j, a)
* Ребра, имеющие вероятность 0, можно опускать
Основной граф, как правило, содержит циклы.
44. Графы, связанные с СММ
Пусть дана СММ H = <A, Q, φ, σ >.
Граф m-траекторий Tr(H, m) –
развернутый граф.
Множество вершин: {0} + Qx{1,…, m}.
Множество ребер: {(i, j, a, k)};
ребро (i, j, a, k) ведет из (i, k) в (j, k+1) и
помечено буквой a;
Вероятности: Каждому ребру (i, j, a, k) приписана
вероятность
p(i, j, a, k) = φ(i, j)▪ σ(j,a)
* Развернутый граф – ациклический!
* В развернутом графе ~ N▪m▪|A| ребер
45. Задачи на развернутом графе
Вероятности.
1. Найти вероятность данного слова v = a1…аm .
Решение. Рассмотрим граф Tr(H, m, v) –
редукцию развернутого графа, в котором для
каждой тройки (i, j, k) оставлено только ребро
(i, j, аk, k). Решаем задачу Больцмана для
Tr(H, m, v)
Время ~ N▪m
2. Дан набор V слов длины m. Найти суммарную
вероятность слов из набора V.
Время ~ N▪m▪|V|
3.* Набор слов V длины m задан конечным
автоматом с r состояниями. Найти суммарную
вероятность слов из набора V.
Время - ?
46. Вероятности
3.* Набор слов V длины m задан конечным
автоматом с r состояниями. Найти суммарную
вероятность слов из набора V.
Время - ?
Пример. Набор V задается профилем
(позиционно-зависимой системой весов).
Напомним: Для любого конечного множества слов
можно построить автомат, допускающий это
множество и содержащий ~ L состояний, где L –
суммарная длина слов (автомат Ахо-Корасик).
47. Задачи на развернутом графе.
Разметка
Дано слово v = a1…аm.
4. Найти траекторию t = {q0, q1, …, qm} для
которой вероятность P(v|t) максимальна.
– Решение. Задача Беллмана на графе Tr(H, m, v).
[Viterby]
Обозначение: TrMaxGlob(v).
TrMaxGlob(v) = argmax{t| P(v, t)}
Обозначение: T(v, k) – вершина k-го слоя, через
которую проходит траектория TrMaxGlob(v)
TrMaxGlob(v) = = {0, B(v, 1), …, B(v, m)}
**Варианты: все наилучшие траектории, все
траектории, которые ненамного отличаются от
лучшей.
48. Задачи на развернутом графе
Разметка
Дано слово v = a1…аm.
5. Для каждой вершины (i, k) найти P(i,k | v) –
сумму вероятностей P(v|t) по всем траекториям,
проходящим через вершину (i,k).
- Решение. Задача о вероятности прохождении
через вершину для графа вероятностей
Tr(H, m, v) – вычисление сумм Больцмана для
всех вершин [forward-backward]
Термин: апостериорная вероятность вершины (i, k).
Обозначение: B(v, k) = argmax{i|P(i,k | v)}.
(вершина, имеющая максимальную ап.в. в своем
слое).
Обозначение: TrMaxLoc(v) =
= {0, B(v, 1), …, B(v, m)}
49. 2.3. Оценка параметров CMM
Есть две постановки задачи.
1)Обучающая выборка - множество пар <v, t>
(v – слово, t – траектория).
2) Обучающая выборка - множество слов
(траектории неизвестны).
В обоих случаях предполагается известными
сами модели,
т.е. конечные автоматы описаны, но неизвестны
вероятности переходов и вероятности эмиссии
букв.
* В крайнем случае, можно считать, что все
переходы допустимы. Это увеличивает
множество параметров, а значит и требует
50. Оценка параметров СMM при известных
траекториях
Используется техника оценки параметров методом
наибольшего правдоподобия.
Пусть дан набор независимых наблюдений
{x1
, …, xn
}; все xi –
независимые наблюдения.
Пусть вероятность наблюдения x задаются формулой
Prob(x) = P(x|θ), зависящей от параметра θ.
Наша цель:
Найти значение параметра θ, которое «наиболее
соответствует» наблюдениям {x1
, …, xn
};
– ..
51. Метод наибольшего правдоподобия
Пусть дан набор наблюдений {x1
, …, xn
};
все xi –
независимые наблюдения.
Пусть вероятность наблюдения x задаются формулой
Prob(x) = P(x|θ), зависящей от параметра θ.
Наша цель:
Найти значение параметра θ, которое «наиболее
соответствует» наблюдениям {x1
, …, xn
}.
ИДЕЯ:
θθ**
=argmax=argmax θθ l(l(xx11
… x… xnn
|| θθ) =) =
argmaxargmax θθ {∑{∑ jj log P(log P(xxjj
|| θθ)})}
Неформально: ищем такой наборНеформально: ищем такой набор
параметров, при котором обучающаяпараметров, при котором обучающая
выборка имеет максимальную вероятность.выборка имеет максимальную вероятность.
52. Можно показать, что при большом количестве
наблюдений справедливы оценки
aaklkl = A= Aklkl // ∑∑l'l'AAkl'kl' ; e; ekk(b) = E(b) = Ekk(b) /(b) / ∑∑b'b'EEkk(b);(b);
– AAklkl – наблюденное количество переходов из
состояния k в состояние j;
– EEkk(b)(b) – количество символов b, порожденных в
состоянии k.
* При малых размерах выборки используют
технику псовдоотсчетов, добавляя к
наблюденным значениям поправку, связанную с
априорной гипотезой о вероятностях.
53. Если параметры неизвестны
Итеративный алгоритм Баума-Велча.
1. Выберем некоторые наборы параметров СMM
(обычно они генерируются случайно).
2. Найдем для них оптимальные пути во всех
представленных примерах
3. По найденным оптимальным путям
определим новые параметры
4. Перейдем к шагу 2.
Показано, что алгоритм сходится (отношение
правдоподобия растет на каждой итерации)
Есть опасность нахождения локального, а не глобального
экстремума.
54. Перевычисление параметров по Бауму-Велчу-1
Перелистнем…
Пусть дана СММ H = <A, Q, φ, σ > c N состояниями и
набор слов v1,…, vR . Положим:
F(s, t) – это оценка количества переходов из
состояния s в состояние t (исходя из выборки слов v1,
…, vR.при заданной СММ H = <A, Q, φ, σ >);
E(s, b) – оценка количества эмиссий символа b,
когда СММ находилась в состоянии s (исходя из
выборки слов v1, …, vR.при заданной СММ H = <A, Q,
φ, σ >).
55. Перевычисление параметров по Бауму-Велчу-2
Перелистнем…
F(s, t) – это оценка количества переходов из
состояния s в состояние t (исходя из выборки слов v1, …,
vR.при заданной СММ H = <A, Q, φ, σ >);
E(s, b) – оценка количества эмиссий символа b,
когда СММ находилась в состоянии s (исходя из выборки
слов v1, …, vR.при заданной СММ H = <A, Q, φ, σ >).
Сведение к оценкам по одному слову:
F(s,t) = Σj=1,…,R F1(s, t, vj);
E(s,b)= Σj=1,…,R E1(s, b, vj).
56. Перевычисление параметров по Бауму-Велчу-3
Перелистнем…
Оценки по одному слову:
F1(s,t;v) = (1/Pr(v))•
• (Σk=0,…,m-1 Pr(v;πk=s, πk+1=t) )
E1(s,t;v) = (1/Pr(v))• (Σk: xk=b Pr(v;πk=s) )
59. СЕГМЕНТАЦИЯ ПОСЛЕДОВАТЕЛЬНОСТЕЙ. Примеры.
Дан текст, в котором перемежаются фрагменты на двух
языках с одинаковым алфавитом. Определить границы
фрагментов.
Дана аминокислотная последовательность
трансмембранного белка. Известно, что частоты
встречаемости аминокислот в трансмембранных и
в растворимых частях белка различаются (аналог
разных монет). Определить по
последовательности где находятся
трансмембранные участки.
Дана геномная последовательность.
Статистические свойства кодирующих областей
отличаются от свойств некодирующих областей.
Найти кодирующие области.
• • •
• • •
60. ПОДХОД к РЕШЕНИЮ ЗАДАЧИ
Дана СММ H = {A, Q, φ, σ}, причем
Q = Q1+Q2+…+Qk ,
причем
(*) вероятности перехода между состояниями,
лежащими в различных классах Qj,
существенно меньше, чем вероятности
переходов внутри одного класса.
Пусть дана символьная последовательность v,
предположительно описываемая данной СММ.
Восстановим по v траекторию состояний (одним из
двух способов – как Trmaxglob(v) или Trmaxloс(v)).
В этих траекториях состояния из одного класса будут
идти блоками (см. (*) ). Это и будет искомая
сегментация (разбиение на блоки).
61. УТОЧНЕНИЕ ГРАНИЦ
Обычно, классы Q1, Q2,…,Qk описывают основные
«состояния» процесса (текста).
В то же время, вблизи границ свойства процесса
(текста) могут меняться.
Чтобы учесть это, приходится вводить новые
состояния модели, что увеличивает ее сложность.
Альтернатива: грубо предсказать положение
границ с помощью основной модели, а потом
уточнять их локально (например, перебором
вариантов максимизируя некоторый критерий).
62. Оценка качества сегментации
Дано: тестовая выборка пар (слово, траектория).
Однородные классы:
Q(v) = Ncorr/L(v)
Неоднородные классы.
Positive – редкий, Negative – частый (P, N).
предсказано реально обозн.кол-ва
P P TP
P N FP
N P FN
N N TN
Чувствительность: Acc(v) = TP/(TP+FN)
Достоверность: Conf(v) = TP/(TP+FP)
63. Предсказание кодирующих областей в прокариотах
Реальная схема HMM для поиска кодирующих областей
сложнее. Например, она учитывает неравномерность
следования кодонов друг за другом.
A
C
G
T
eA
eC
eG
eT
A T
1 1
A A C
A A G
A A T
A A A
1 1
Кодоны
pAAA
G
1
1
1
T G A
1 1
T A A
T A G
Стоп
pstart
pstop
1
1-pstart
Старт
некодирующая
последовательность
pAAT
64. Скрытые марковские модели
Выводы
1. СММ – удобный и наиболее общий из
используемых сейчас способов задавать
вероятности.
Алгоритмически – это задачи ДП на
ациклическом графе (графе траекторий)
Польза от СММ – точка зрения, которая
подсказывает, как подбирать параметры
65. An Example: t-
RNA
From Paul Higgs
Раздел 3.
Предсказание вторичной структуры РНК.
3.1. История
66. C A
G A
G A
C G
| |
C G
| G
C G
| |
A U
/
G
| A
A
/
G C
| |
C G
| |
A U
/ /
C C G
C-A / | |
A G-C-A-A-G G C
A G-G-U-U-C | |
U-G C G
U |
/ A
G C |
| | U
A U |
| | C
G U |
| | A
C G /
A G A
Элементы вторичной структуры
Петля-шпилька
Внутреняя петля
Выпячивание
Множественная петляСпирали
Псевдоузел
67. Представление вторичной структуры без псевдоузлов.
"Скобочная структура"
gggctaTAGCTCAGcTGGGAGAGCgcctgcTTtgcACgcaggagGTCtgcGGTTCGAtCCCgcatagctccaCCA
((((((( (((( )))) ((((( ))))) ((((( )))))))))))
68. Предсказание вторичной структуры РНК,
свободной от псевдоузлов
Задача 1. Найти скобочную структуру,
содержащую максимально возможное
количество скобок.
T = O(L3
)
69. Уточнение постановки задачи – 1
(согласование с экспериментом)
1а. Разрешать связи, отличные от A-T, G-C.
1б. Считать не количество связей, а их
суммарную энергию, энергия каждой возможной
пары считается известной.
С алгоритмической точки зрения задача
практически не меняется.
70. Уточнение постановки задачи – 2
(согласование с экспериментом)
Учитывать вклад нуклеотидов, не участвующих в
образовании водородных связей (“Nearest
Neighbor model”).
Приводит к существенному усложне-нию
алгоритма, однако порядок сложности не
меняется T = O(L3
)
71. Уточнение постановки задачи – 3
(согласование с экспериментом)
Молекула РНК может принимать не ту структуру,
которой мы приписали оптимальную энергию, а
несколько иную, например, из-за того, что мы не знаем
точных значений энергетических параметров. Поэтому
полезно не искать одну «оптимальную» структуру, а
проанализировать все возможные структуры и оценить
вероятность образования каждой отдельной связи
(«статистический вес» связи). Это также можно решить
методом динамического программирования.
72. Уточнение постановки задачи – 4
(согласование с экспериментом)
многие авторы пытаются выяснить вторичную
структуру РНК, не сводя ее к какой-либо
алгоритмической оптимизационной задаче, а
путем моделирования реального процесса
«сворачивания» молекулы РНК (т. е.
установления и исчезновения водородных
связей).
73. C A
G A
G A
C G
| |
C G
| G
C G
| |
A U
/
G
| A
A
/
G C
| |
C G
| |
A U
/ /
C C G
C-A / | |
A G-C-A-A-G G C
A G-G-U-U-C | |
U-G C G
U |
/ A
G C |
| | U
A U |
| | C
G U |
| | A
C G /
A G A
Элементы вторичной структуры
Петля-шпилька
Внутреняя петля
Выпячивание
Множественная петляСпирали
Псевдоузел
74. 3a. Предсказание вторичной структуры РНК
(внутренние петли, неветвящиеся
структуры)
Время работы алгоритма:
Время: O(M•log(L)).
L – длина РНК
M – число возможных
спариваний (M < L
2
)
78. Графы и гиперграфы
Основные понятия
Вершина
Ребро Гиперребро
Вершина-источник
Тупиковая вершина (сток)
Путь Гиперпуть
Инициальный (гипер)путь
Терминальный (гипер)путь
Полный (гипер) путь:
Начальная вершина – источник;
Конечные вершины - тупиковые
79. Графы и гиперграфы
Основные понятия
Вес гипер(ребра)
«Умножение»: как вычислять вес (гипер)пути
«Сложение»: целевая функция [коммутат.]
Дистрибутивность:
a*(b+c) = a*b+a*c; (b+c)*a = b*a+c*a
Вес пути Вес гиперпути
ПРОБЛЕМА:
НАЙТИ «СУММУ» ВЕСОВ
ВСЕХ ПОЛНЫХ (ГИПЕР)ПУТЕЙ
85. ВТОРИЧНАЯ СТРУКТУРА
строки P[1..N]
Множество пар S= {(i_1, j_1),…., (i_K, j_K)} такое,
что
(iа) 1 <=i_r <j_r <=N (r = l, ..., K);
(ib) все пары в S разрешены
(ii) если (i,j) ∈ S и ( i ' , j ' ) ∈ S, то отрезки
[i, j] и [i’, j’] либо вложены один в другой,
либо не пересекаются
Вес структуры S – количество пар в ней.
W(S) = K
86. ОПТИМАЛЬНАЯ ВТОРИЧНАЯ СТРУКТУРА
строки P[1..N]
Оптимальная вторичная структура для
строки P – вторичная структура для P,
имеющая наибольший возможный вес.
W(P) = max{W(S)| S – структура для P}
W(P) = 0, если длина P равна 0 или 1
ЗАДАЧА: Найти оптимальную структуру
для данной строки
92. Задачи*.
Слайдов не было
1. Набор слов V длины m задан конечным
автоматом с r состояниями. Найти суммарную
вероятность слов из набора V.
2. Дано: слово v, конечный автомат R.
Найти ближайшее к v слово, которое
допускается автоматом R.
3. Дано слово v и КС-грамматика Г. Найти вывод
слова v в Г (или доказать, что вывода нет).
4. Дано слово v и КС-грамматика Г. Найти
ближайшее к v слово, выводимое в Г.