第3回 2019/4/22
- 講師:浅井 潔
前回の復習
割愛
The scoring model for biological sequences
- メモリ: \(O(L^2)\)
- 計算時間: \(O(L^2)\)
大域アラインメント | 局所アラインメント |
---|---|
Needleman-Wuncsh, 1970 | Smith-Waterman, 1981 |
$$F_{i,j} = \max\begin{cases}F_{i-1, j-1}+s\left(x_{i}, y_{j}\right), \\F_{i-1, j}-d, \\F_{i, j-1}-d\end{cases}\\$$
|
$$F_{i,j} = \min\begin{cases}0,\\F_{i-1, j-1}+s\left(x_{i}, y_{j}\right), \\F_{i-1, j}-d, \\F_{i, j-1}-d\end{cases}\\$$
|
\(F(i,j)\): \(x_1,\ldots,x_i\) と \(y_1,\ldots,y_j\) の最適アラインメントのスコア | \(x_i\) と \(y_i\) で終わる最適局所アラインメントのスコア |
\(s(x_i,y_j)\): スコア行列(置換行列) | \(s(x_i,y_j)\): スコア行列(置換行列) |
\(d\): ギャップペナルティ(線形) | \(d\): ギャップペナルティ(線形) |
初期条件 $$\begin{aligned}&F(0,0) = 0\\&F(i,0) = -id\\&F(o,j) = -jd\end{aligned}$$
|
初期条件 $$F(i,0)=F(0,j)=0$$
|
アラインメントのスコア
ギャップなしアラインメント
- 2本の配列が進化的に関係があるモデル \(M_C\) (Correlated)
同じ文字が \(a\) と \(b\) に変異する確率(\(a\) と \(b\) が整列する確率)が \(p_{ab} = p_{ba}\)
$$P(x,y|M_c) = \prod_ip_{x_iy_i}$$
- 2本の配列に関係がないモデル \(M_R\) (Random)
文字 \(a\) が現れる確率が \(q_a\)
$$P(x,y|M_R) = \prod_iq_{x_i}\prod_iq_{y_i}$$
置換行列(Substitution Matrix)は通常、進化的に共通祖先を持つモデル \(M_C\) と、無関係なモデル \(M_R\) の対数尤度比(以下)で定義される。
したがって、これを用いるとアラインメントのスコアは以下で表される。
ギャップありアラインメント
アラインメント \(A\) で \(x_i\) と \(y_j\) が整列することを \((i,j)\in A\) と表すことで、アラインメントのスコアは以下で表される。
The Bayesian approach: model comparison
確率の基本定理
ベイズの定理
ベイズモデル比較
モデルの事後分布 \(p\left(\mathcal{M}_{i} | \mathcal{D}\right)\) は、
- \(p(\mathcal{M}_{i})\): モデルの事前分布(どのモデルが良いかの好み)
- \(p\left(\mathcal{D} | \mathcal{M}_{i}\right)\): 周辺尤度(モデル \(\mathcal{M}_{i}\) の下でのデータ \(\mathcal{D}\) の出やすさ)
の積に比例する。(モデルの事前分布はわからないことが多い)
ここで、モデル \(M,R\) を比較する場合、\(p(M|x,y)\) と \(p(R|x,y)\) を比較することになるので、
より、
となる。この時右辺の第1項は対数オッズ比(モデル \(R\) に対するモデル \(M\) のエビデンス比)と言い、ベイズ因子とも呼ばれる。なお、第2項は「モデル選択の事前分布」である。
アミノ酸間の類似度マトリックス
プリン塩基間、ピリミジン塩基間の方が変異が起こりやすいのと同じように、アミノ酸間にも「電気的な性質」「水に対する溶解性」「体積」などの理由から変異の起こりやすさが異なる。したがって、それらを考慮した類似度マトリックスが考察されている。
区分的線形ギャップコスト(Piecewise Linear Gap)
ギャップの長さによってギャップの伸長ペナルティが変化していく(大抵は傾きが緩くなっていく、ペナルティが小さくなる)場合を考える。
General Gap Cost
一般的な(ギャップが連続していようがいまいが関係ない)場合を考える。
Affine Gap
区間線形ギャップの前に、その特殊な場合(一段階だけ)であるアフィンギャップ
の場合の漸化式を一つ上の漸化式から導く。
式(4)の \(g(k)\) を式(2),(3)に代入すると、
ここで、式(1)と合わせて考えて、
Piecewise Linear Gap
式(2)における \(g(k)\) を、\(L\) 個の区間
ごとに以下の線形関数をとる区間線形関数とする。
ここで、\(g_{\alpha}(k)\) は、\(g(k) = g_{\alpha}(k)\) となる区間では \(L\) 個の線形関数の中で最小となる(グラフをイメージすればわかる)から、以下が成り立つ。
式(7)の \(g(k)\) を式(2)に代入すると、(\(i>K_{L-1}\) と仮定)
ここで、式(8)から、各区間 \(K_{\alpha-1} \leq k \leq K_{\alpha}\) 内では、その区間で最小となる線形ギャップ関数 \(g_{\alpha}(k)\) を用いたものが最小となるので、以下のように内側の \(\min\) の範囲を \([1,i]\) にして良い。
同様に、
ここで、以下を定義する。
すると、\(F_{\alpha}(i,j),G_{\alpha}(i,j)\) に関して以下の漸化式が成り立つ。
これを式(1)と統合して、
Hirschbergアルゴリズム
- 漸化式で参照する値は限られている。 直前の列だけ記憶してメモリを \(O(L)\) に抑える。
- バックトラックするのには \(O(L^2)\) のメモリ? 部分問題に分割して再帰的アルゴリズムで克服(必ず通る場所がわかると計算量が減る性質を利用。小さなブロックに分けていく。)