Transcript 第1回 - 京都大学
分子生物情報学 動的計画法に基づく配列比較法 (ペアワイズアライメント法) 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター 配列アライメント バイオインフォマティクスの 最重要技術の一つ 2個もしくは3個以上の配列 の類似性の判定に利用 文字間の最適な対応関係を 求める(最適化問題) 配列長を同じにするように、 ギャップ記号(挿入、欠失に 対応)を挿入 A L G F G S L Y A L G G V S V G A L G F G S L A L G S V G V G Y G G スコア行列(置換行列) 残基間(アミノ酸文字間)の類似性を表す行列 PAM250, BLOSUM45 など A A R N D C Q E G H I L K M F P S T W Y V R N D C Q E 5 -2 -1 -2 - 1 -1 -1 -2 7 - 1 -2 -4 G P S T Y V 0 -2 - 1 -2 -1 -1 -3 - 1 H I L K M F 1 0 -3 -2 W 0 3 1 0 -3 0 -4 -3 3 - 2 -3 -3 -1 -1 - 3 -1 -1 -1 7 2 -2 0 0 1 -3 -4 0 - 2 -4 -2 -2 -2 2 8 -4 0 2 - 1 -1 -4 -4 -1 - 4 -5 -1 0 1 0 - 4 -2 -3 0 -1 - 5 -3 -4 -1 -4 - 2 -4 13 -3 -3 - 3 -3 -2 -2 -3 - 2 -2 -4 -1 -1 - 5 -3 -1 -1 1 0 0 -3 7 2 -2 1 -3 -2 2 0 -4 -1 B LO S U M 5 0 ス コ ア 行 列 (置 換 行 列 )の 一 部 分 0 -1 - 1 -1 -3 スコア行列の導出 基本的には頻度の比の対数をスコアとする BLOSUM行列 既存のスコア行列を用いて多くの配列のアライメントを求め、 ギャップ無しの領域(ブロック)を集める 残基がL%以上一致しているものを同一クラスタに集める 同じクラスタ内で残基aが残基bにアラインされる頻度Aabを 計算 qa=∑b Aab / ∑cd Acd, pab=Aab / ∑cd Acd を求め、 s (a,b)=log(pab/qaqb) としたのち、スケーリングし近傍の整数 値に丸める ペアワイズ・アライメント 配列が2個の場合でも可能なアラインメントの個数は 指数オーダー しかし、スコア最大となるアライメント(最適アライメン ト)は動的計画法により、O(mn)時間で計算可能 (m,n:入力配列の長さ) 入力配列 A G C T, AC G C T イメント ア ラ イ メント AGCT AC G C T スコア -3 最 適 アラ AG - CT AC G C T 1 A - GCT AC G C T - AGC - - T AC - - G C T 3 -5 ( 同 じ 文 字 の 時 : 1、 違 う文 字 の 時 : -1 、ギ ャ ッ プ 1 文 字 : - 1) ギャップペナルティ ギ ャ ッ プ ( g =3 ) 線形コスト -gd g: ギャップ長 A L G L Y G A V G V S D L G d: ギャップペナルティ この図の例では、コスト= -3d アフィンギャップコスト –d – e(g-1) d: ギャップ開始ペナルティ e: ギャップ伸張ペナルティ この図の例では、コスト= -d - 2e よく利用されるペナルティ (d,e)=(12,2),(11,1) 動的計画法による大域アライメント(1) (Needleman-Wunschアルゴリズム) 入力文字列から格子状グラフを構成 アライメントと左上から右下へのパスが一対一対応 最長経路=最適アライメント G G F 5 K -2 Y D -5 1 ア ラ イメント -7 G K Y -5 -5 7 -6 -7 G D F V D G K Y D V D -1 -2 -3 -2 1 0 -4 4 -7 -7 -7 -7 スコア -7 G -7 +4 = 2 -7 -7 -1 +0 -7 -7 = -29 G F V D -7 -7 -5 -7 G K Y D -7 5 -7 +7 F V D -7 -7 -7 = -47 動的計画法による大域アライメント(2) F (0 ,0 ) G F (1 ,0 ) =-d K F (2 ,0 ) = -2 d DP (動的計画法)による 最長経路(スコア)の計算 F ( 0 , j ) jd , =0 G F ( i -1 , j -1 ) F (0 ,1 ) =-d F (i, j- 1 ) F ( i , 0 ) id F ( i 1, j 1) s ( x i , y j ) F ( i , j ) max F ( i 1, j ) d F ( i , j 1) d s (K ,F ) F -d F (0 ,2 ) = -2 d -d F ( i -1 , j ) F (i, j) ⇒ O(mn)時間 行列からの経路の復元は、 F(m,n)からmaxで=となっている F(i,j)を逆にたどることに行う (トレースバック) 動的計画法による大域アライメント(3) 0 G G - 7 K- 1 4 Y- 2 1 D 5 5 -7 F -5 -21 D -28 -5 -1 5 -4 0 -16 -7 -6 -3 -2 -9 -7 3 4 -8 -7 -7 -2 -2 -4 -7 -16 7 -2 1 1 -9 0 -9 -7 -5 -2 -2 -14 V -2 -28 -7 2 -7 局所アライメント(1) (Smith-Watermanアルゴリズム) 配列の一部のみ共通部分があることが多い ⇒共通部分のみのアライメント x1x2 … xm, y1y2 … yn を入力とする時、スコアが最大とな る部分列ペア xixi+1 … xk, yjyj+1 … yh を計算 例えば、HEAWGEH と GAWED の場合、 AWGE A W -E というアライメントを計算 大域アライメントを繰り返すとO(m3n3)時間 ⇒Smith-WatermanアルゴリズムならO(mn)時間 局所アライメント(2) 動的計画法 の式 0 F ( i 1, j 1) s ( x F ( i , j ) max F ( i 1, j ) d F ( i , j 1) d , y ) (最大のF(i,j)から トレースバック) 局所アライメント(3) 局所アライメントの正当性の証明(下図) 局所アライメントの定義:x1x2 … xm, y1y2 … yn を入力とする時、 スコアが最大となる部分列ペア xixi+1 … xk, yjyj+1 … yh を計算 0 F ( i 1, j 1) s ( x F ( i , j ) max F ( i 1, j ) d F ( i , j 1) d 0 max F ( i , j )} 0 0 (一 部 の 辺 は 省略) , y ) アフィンギャップコストによる アライメント F ( i 1, j ) d Ix ( i , j ) max Ix ( i 1, j ) e F ( i , j 1) d Iy ( i , j ) max Iy ( i , j 1) e F ( i 1, j 1) s ( x , y ) F ( i , j ) max Ix ( i , j ) Iy ( i , j ) 三種類の行列を用いる動的 計画法によりO(mn)時間 Smith-Watermanアルゴリ ズムとの組み合わせが広く 利用されている Ix ( i , j ) Iy ( i , j ) F (i, j) 任意ギャップコストによる アライメント 動的計画法(右式)によ り、O(n 3 )時間 (ただし、m=O(n)とす る) F (i , j ) max F ( i 1, j 1) s ( x , y ) max F ( k , j ) ( i k ) 0,..., 1 max F ( i , k ) ( j k ) 0,... 1 ギャップコストと計算時間の関係 線形 ギャップコストが 凸の時: O(n 2α(n))時間 ただし、α(n)は アッカーマン関数 の逆関数(実用的 には定数と同じ) 凸 2 O ( n )時 間 2 O ( n α (n ))時 間 ア フィン 任意 2 O ( n )時 間 3 O ( n )時 間 ペアワイズ・アライメントの計算量に 関するその他の結果 線形領域アライメント スコア計算だけなら簡単 トレースバックが難しい しかし、分割統治法により O(n)領域が可能(右図) O(n2)時間の改善は可能か? ⇒O(n2/logn)が可能 s(xi,yj)が疎(O(n)程度)な場合 (Sparse DP) ⇒O(n logn)程度で可能 計算時間 C× m n C × (m n / 2 ) C × (m n / 4 ) 配列検索の実用プログラム(1) O(mn):mは数百だが、nは数GBにもなる ⇒実用的アルゴリズムの開発 FASTA:短い配列(アミノ酸の場合、1,2文字、DNAの 場合、4-6文字)の完全一致をもとに対角線を検索し、 さらにそれを両側に伸長し、最後にDPを利用。 BLAST:固定長(アミノ酸では3, DNAでは11)の全て の類似単語のリストを生成し、ある閾値以上の単語 ペアを探し、それをもとに両側に伸長させる。ギャッ プは入らない。伸長の際に統計的有意性を利用。 配列検索の実用プログラム(2) FASTA BLAST Q u e ry ・・・ A A F D M F D A D G G ・・・ A C A T G A C 類似ワード G A MFD MFE MFN T MYD MYE MYN ・・・ G A Q u e ry T ( k tu p = 2 ) ・・・ A A F D M F D A D G G ・・・ ・・・ E A F S M F E K D G D ・・・ D a ta ba se 配列検索の実用プログラム(3) SSEARCH: 局所アラインメント(SmithWatermanアルゴリズム)をそのまま実行 PSI-BLAST: ギャップを扱えるように拡張 したBLASTを繰り返し実行。「BLASTで見 つかった配列からプロファイルを作り、そ れをもとに検索」という作業を繰り返す。 講義のまとめ(配列アライメント I) 動的計画法によるペアワイズアライメント 大域アライメント 局所アライメント(Smith-Watermanアルゴリズム) アフィンギャップコストを用いたアライメント 線形領域アライメント 参考文献 阿久津、浅井、矢田訳:バイオインフォマティクス –確率モ デルによる遺伝子配列解析、医学出版、2001