奈良女子大集中講義 バイオインフォマティクス (6) モチーフ発見・隠れマルコフモデル 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター 講義予定 • 9月5日 – – – – 分子生物学概観 分子生物学データベース 配列アラインメント 実習1(データベース検索と配列アラインメント) • 9月6日 – – – – モチーフ発見 隠れマルコフモデル カーネル法 進化系統樹推定 • 9月7日 – – – – – RNA二次構造予測 タンパク質立体構造予測 ネットワーク推定 スケールフリーネットワーク 実習2(構造予測) 内容 • • • • • • 配列モチーフ 最尤推定、ベイズ推定、MAP推定 隠れマルコフモデル(HMM) Viterbiアルゴリズム EMアルゴリズム Baum-Welchアルゴリズム – 前向きアルゴリズム、後向きアルゴリズム • プロファイルHMM モチーフ発見 • 配列モチーフ : 同じ機能を持つ遺伝子配列などに見 られる共通の文字列パターン 正規表現など文法表現を用いるもの 例: ロイシンジッパーモチーフ L-x(6)-L-x(6)-L-x(6)-L ジンクフィンガーモチーフ C-x(2,4)-C-x(3)-[LIVMFYWC]-x(8)-H-x(3,5)-H 人間にとってわかりやすいが表現力が弱い 確率的な表現法を用いるもの 重み行列(プロファイル) HMM (隠れマルコフモデル) 人間にとってわかりにくいが 一般に表現力は高い A 3.8 -3.5 1.2 2.3 C 1.5 1.3 -0.3 -4.6 G T -1.5 -2.9 4.2 3.1 0.2 -4.1 3.7 -1.3 A C G G A score= 3.8 + 1.3 + 4.2 + 3.1 C モチーフの例 • ジンクフィンガーモチーフ C-x(2,4)-C-x(3)-[LIVMFYWC]-x(8)-H-x(3,5)-H • ロイシンジッパーモチーフ L-x(6)-L-x(6)-L-x(6)-L 局所マルチプルアラインメント • 複数配列と長さ L が与えられた時、スコア最大と なるように各配列から長さ L の部分列を抽出 • モチーフ発見などに有用 Sequence 1 Sequence 2 Sequence 3 A A T C G G T A A T C C G T A T T C G G A 相対エントロピースコアのもとでの 局所マルチプルアラインメント • 相対エントロピースコアの定義 – fj(a): (モチーフ領域の)j列目におけるaの出現頻度 – p(a): aの出現頻度(事前確率) – L: モチーフ領域の長さ score Lj1a f j (a) log 実用的アルゴリズム Gibbsサンプリング, EM f j (a) p(a) 相対エントロピースコア score L j 1a f j (a) log f j (a) p(a) ti A A T C G G T s1 s2 s3 • • • • A A T C C G T A T T C G G A L=7 f1(A)=1, f1(C)=f1(G)=f1(T)=0 f2(A)=2/3, f2(T)=1/3, f2(C)=f2(G)=0, … p(A)=p(C )=p(G)=p(T)=1/4 Gibbs サンプリング 1. 各配列 xj からランダム に部分配列 tj を選ぶ 2. 1個の配列 xi をランダム に選ぶ 3. xi の部分列 ti’ を Step 1 x1 x2 x3 Step 2-3 Probabilistic Search f j (t 'i[ j]) j 1 p(t 'i[ j ]) ( ti[j]: 部分列ti のj列目の文字 ) t2 t3 L に比例する確率で選ぶ 4. ti をti’ でおきかえる 5. ステップ2-4を十分な回 数だけ繰り返す t1 x2 t2’ Step 4 x1 x2 x3 t1 t2’ t3 バイオインフォマティクスにおける確率統計 • 重要なのはデータからのモデル(もしくはパラ メータ)の推定 – 最尤法 – ベイズ推定 – 最大事後確率推定(MAP) 最尤推定 • P(D|θ) (尤度) – モデルパラメータ θ のもとでのデータ D の出現確 率 • 最尤法 – P(D|θ) を最大化する θ を選ぶ • 例 – コインを5回投げて、表が3回出た後、裏が2回出た – p(表)=a, p(裏)=1-a とすると、P(D|θ)=a3(1-a)2 – a=3/5の時、 P(D|θ) は最大 – 一般に表が出る頻度を f とすると a=f で尤度は最大 ベイズ推定とMAP推定 • ベイズ推定:尤度とモデル(パラメータ)の事前確率 から、ベイズの定理により、事後確率を推定 P( D | θ ) P(θ ) P(θ | D) P( D) ただし、 P( D) P( D | θ' ) P(θ' ) ( θが連続値の時) θ' • 最大事後確率(MAP)推定 – P(D|θ)P(θ) を最大化する θ を計算 – P(θ) が一様分布なら最尤推定と同じ 不正サイコロのベイズ推定 • 公正サイコロと不正サイコロ – 公正: P(i|公正)=1/6 – 不正: P(6|不正)=1/2, P(i|不正)=1/10 for i≠6 – P(公正)=0.99, P(不正)=0.01 • 6が3回続けて出た場合の事後確率 P(666| 不正) P(不正) P(不正 | 666) P(666) (0.5)3 (0.01) 0.21 3 1 3 (0.5) (0.01) ( 6 ) (0.99) 隠れマルコフモデル(HMM) • HMM≒有限オートマトン+確率 • 定義 – 出力記号集合Σ – 状態集合 S={1,2,…n} – 遷移確率(k→l) 0.4 0.3 akl 1 – 出力確率 ek(b) – (開始状態= 終了状態= 0) 2 0.5 0.5 A: 0.2 B: 0.8 0.6 3 0.7 A: 0.1 B: 0.9 A: 0.7 B: 0.3 HMMにおける基本アルゴリズム • Viterbiアルゴリズ ム 0.4 BABBBAB – 出力記号列から パラメータを推定 – 学習 0.3 1 0.5 0.7 A: 0.2 B: 0.8 0.6 A: 0.1 B: 0.9 A: 0.7 B: 0.3 0.5 – 出力記号列から 状態列を推定 – 構文解析 • Baum-Welchアル ゴリズム (EMアルゴリズム) 2 3 2312131 2 1 0.4 0.3 3 BABBBAB ABBABBAAB BBBABBABAB BAABBBBA 2 1 0.5 0.7 0.5 A: 0.2 B: 0.8 0.6 3 A: 0.1 B: 0.9 A: 0.7 B: 0.3 時々いかさまをするカジノ サイコロの出目だけが観測可能、どちらのサイコロを振ってい るかは観測不可能 サイコロの出目から、どちらのサイコロを振っているかを推定 6,2,6,6,3,6,6,6, 0.95 0.9 4,6,5,3,6,6,1,2 →不正サイコロ 1: 1/6 0.05 1: 1/10 2: 1/6 2: 1/10 6,1,5,3,2,4,6,3, 3: 1/6 3: 1/10 2,2,5,4,1,6,3,4 4: 1/6 4: 1/10 5: 1/6 5: 1/10 0.1 →公正サイコロ 6: 1/6 6: 1/2 6,6,3,6,5,6,6,1, 不正サイコロ 公正サイコロ 5,4,2,3,6,1,5,2 →途中で公正サイコロに交換 Viterbi アルゴリズム(1) • 観測列(出力配列データ) x=x1…xLと状態列π=π1…πLが与えら れた時、その同時確率は P(x,π)=a0 π1Πeπi (xi)aπiπi+1 但し、πL+1=0 • x が与えられた時、最も尤もらしい状態列は π*=argmaxπ P(x,π) • 例:どちらのサイコロがいつ使われたかを推定 0.95 x1=4 公 0.05 不 0.9 0.5 0.1 公 x2=3 0.95 公 0.05 0 不 0.95 公 0.05 0.1 0.5 x3=2 0 0.1 0.9 不 0.9 不 max P( x1 x2 x3 , π) P( x1 x2 x3 , 公公公 ) 0.5 16 0.95 16 0.95 16 π Viterbiアルゴリズム(2) • x から、π*=argmaxπ P(x,π) を計算 • そのためには x1…xi を出力し、状態 k に至る確 率最大の状態列の確率 vk(i) を計算 v (i) max k π i 1 a0π1 eπ j( x j)a π j π j 1 j 1 • vk(i)は以下の式に基づき動的計画法で計算 v (i 1) e ( x l l ) i 1 max (v k k (i ) a kl ) Viterbiアルゴリズム(3) 0.95 i-1 i i+1 4 6 1 公 0.05 0.1 公 v 公 0.95 公 0.05 不 公 0.05 0.1 不 0.9 0.95 0.1 0.9 (i 1) max{ e公 (1) 0.95 v公 (i), 不 e 公 0.9 不 (1) 0.1 v不 (i) } EM(Expectation Maximization)アルゴリズム • 「欠けているデータ」のある場合の最尤推定のた めの一般的アルゴリズム x : 観測データ、 y : 欠けているデータ、 θ : パラメータ集合 目標: log P( x|θ ) log P( x,y|θ ) の最大化 y • 最大化は困難であるので、反復により尤度を単 調増加させる(θtよりθt+1を計算) • HMMの場合、「欠けているデータ」は状態列 EMアルゴリズムの導出 log P( x | θ) log P( x, y | θ) log P( y | x, θ) 両辺にP( y | x, θ t )をかけて yについての和をとり、 log P( x | θ) P( y | x, θ t ) log P( x, y | θ) P( y | x,θ t ) log P( y | x, θ) y y 右辺第1項を Q(θ | θ t )とおくと、 log P( x | θ) log P( x | θ t ) t P ( y | x , θ ) t t t t Q(θ | θ ) Q(θ | θ ) P( y | x, θ ) log P ( y | x, θ ) y 最後の項は相対エント ロピーで常に正なので 、 log P( x | θ) log P( x | θ t ) Q(θ | θ t ) Q(θ t | θ t ) よって、 θ t 1 arg maxQ(θ | θ t ) とすれば尤度は増大 θ EMアルゴリズムの一般形 1. 初期パラメータ Θ0 を決定。t=0とする 2. Q(θ|θt)=∑P(y|x, θt) log P(x,y|θ) を計算 3. Q(θ|θt)を最大化するθ*を計算し、 θt+1 = θ* とする。t=t+1とする 4. Qが増大しなくなるまで、2,3を繰り返す 前向きアルゴリズム • 配列 x の生成確率 P(x)=∑P(x,π) を計 算 • Viterbiアルゴリズ ムと類似 • fk(i)=P(x1…xi,πi=k) をDPにより計算 f 0 (0) 1, f k (0) 0 f l (i ) el ( xi ) f k (i 1) akl k P ( x ) k f k ( L ) a k 0 1 a11 2 3 a21 a31 1 2 3 f 1 (i ) e1 ( xi ) ( f 1 (i 1) a11 f 2 (i 1) a 21 f 3 (i 1) a 31) Viterbi と前向きアルゴリズムの比較 Pr( x, π | θ) aπ n i 1 e π πi, xi i 1 i a11 • Viterbiアルゴリズム max Pr( x,π|θ) π • Forwardアルゴリズム Pr( x,π|θ) π e1,A 1 e1,B A B a12 a21 a22 2 e2,A e2,C A C Π for “BACA”= { 1121, 1122, 1221,1222 } 後向きアルゴリズム • bk(i)= P(xi+1…xL|πi=k) をDPにより計算 • P(πi=k|x) = fk(i)bk(i)/P(x) b ( L) a b (i) a e ( x ) b (i 1) P( x) a e ( x ) b (1) k k0 k k k 1 2 3 kl 0l a11 1 a12 a13 2 3 i 1 l l 1 k l b (i) (a e ( x ) b (i 1) a e ( x ) b (i 1) a e ( x ) b (i 1)) 1 1 i 1 1 12 2 i 1 2 13 3 i 1 3 11 HMMに対するEMアルゴリズム (Baum-Welchアルゴリズム) j Akl: a が使われる回数の期待 値 x : j番目の配列 E k (b) : 文字bが状態kから現れる回数の期待 値 kl Akl j Ek (b) 1 P( x j f ) j k i 1 P( j (i) akl el ( xi 1) bl (i 1) j j j j f k (i) bk (i ) x ) x j i| j j b パラメータの更新式 ˆa A A kl kl l' kl ' (b) E eˆ (b) (b' ) E k k b' k Baum-WelchのEMによる解釈 M P ( x, π | θ ) k 1 b E k ( b ,π ) e (b) k M M Akl ( π ) および akl k 0 l 1 Q(θ | θ t ) P (π | x, θ t ) log P ( x, π | θ ) より、 π M M M Q (θ | θ ) P (π | x, θ ) E k (b, π ) log ek (b) Akl (π ) log a kl π k 0 l 1 k 1 b t t M M M E k (b) log ek (b) Akl log a kl k 1 b ここで k 0 l 1 p log q は q p の時、最大より、 (b) E A ( b ) , e a ( b ' ) E A i i i i i k kl kl k k b' l' kl 配列アラインメント • 2個もしくは3個以上の配列の類似性の判定に利用 – 2個の場合:ペアワイズアラインメント – 3個以上の場合:マルチプルアラインメント • 文字間の最適な対応関係を求める(最適化問題) • 配列長が同じになるよう、ギャップ記号を挿入 HBA_HUMAN HBB_HUMAN MYG_PHYCA GLB5_PETMA LGB2_LUPLU GLB1_GLYDI VGAHAGEY VNVDEV VEADVAGH VYSTYETA FNANIPKH IAGADNGAGV HBA_HUMAN HBB_HUMAN MYG_PHYCA GLB5_PETMA LGB2_LUPLU GLB1_GLYDI V V V V F I G E Y N A A A S A G A D H N D T N N A V V Y I G G D A E P A E E G T K G Y V H A H V プロファイルHMM(1) • 配列をアラインメントするためのHMM • タンパク質配列分類やドメイン予測などに有用 – 例:ドメインの種類ごとにHMMを作る • PFAM(http://pfam.wustl.edu/) • 一致状態(M)、欠失状態(D)、挿入状態(I)を持つ D D D I I I I BEGIN M M M END プロファイルHMM(2) マルチプル アラインメント プロファイル HMM M M ・ ・ ・ M D D D I I I I BEGIN M M M こうもり A G - - - C ラット A -A G -C ネコ A G -A A - ハエ --A A A C ヤギ A G ---C END プロファイルHMM(3) • 各配列ファミリーごとに HMM を作成 • スコア最大のHMMのファミリーに属すると予測 win ! Known Seq. (Training Data) Score= 19.5 EM class 1 HMM1 Viterbi EM class 2 New Seq. (Test Data) Viterbi HMM2 Score= 15.8 まとめ • HMMによる配列解析 – – – – – 最尤推定、ベイズ推定、MAP推定 隠れマルコフモデル(HMM) Viterbiアルゴリズム EMアルゴリズム Baum-Welchアルゴリズム • 前向きアルゴリズム、後向きアルゴリズム – プロファイルHMM • 参考文献 – 阿久津、浅井、矢田 訳: バイオインフォマティクス -確率モデルによる 遺伝子配列解析―、医学出版、2001 – 阿久津:バイオインフォマティクスの数理とアルゴリズム、共立出版、 2007
© Copyright 2024 ExpyDoc