270 likes | 549 Views
生命情報学基礎論 (2) 配列の比較と相同性検索. 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター. 講義予定. 第1回(阿久津) : 生命情報学概観 第2回(阿久津): 配列の比較と相同性検索 第3回(阿久津): タンパク質立体構造予測 第 4 ~ 5 回(阿久津): カーネル法とその生命情報学への応用 第 6 回(阿久津) : 生物情報ネットワークの構造解析 第 7 回 (矢田): 遺伝子、タンパク質のファミリー 第 8 回 (矢田): 分子進化 第9~ 10 回 (矢田): 隠れマルコフモデルとその基本アルゴリズム
E N D
生命情報学基礎論 (2)配列の比較と相同性検索生命情報学基礎論 (2)配列の比較と相同性検索 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
講義予定 • 第1回(阿久津):生命情報学概観 • 第2回(阿久津): 配列の比較と相同性検索 • 第3回(阿久津): タンパク質立体構造予測 • 第4~5回(阿久津): カーネル法とその生命情報学への応用 • 第6回(阿久津): 生物情報ネットワークの構造解析 • 第7回(矢田): 遺伝子、タンパク質のファミリー • 第8回(矢田): 分子進化 • 第9~10回(矢田): 隠れマルコフモデルとその基本アルゴリズム • 第11~12回(矢田): 隠れマルコフモデルの生命情報学への応用 • 第13回(市瀬): ニューラルネットワーク • 第14回(市瀬): 脳の情報表現 • 第15回: まとめ 敬称略
内容 • 配列アライメントとは? • 大域アライメント • 局所アライメント • ギャップコスト • 配列検索の実用プログラム
配列検索 • バイオインフォマティクスにおける基本原理 • 配列が似ていれば機能も似ている • ただし、例外はある • 配列検索の利用法 • 実験を行い機能未知の配列が見つかった • データベース中で類似の配列を検索 • 機能既知の類似の配列が見つかれば、その配列と似た機能を持つと推定
配列アラインメント • バイオインフォマティクスの最重要技術の一つ • 2個もしくは3個以上の配列の類似性の判定に利用 • 文字間の最適な対応関係を求める(最適化問題) • 配列長を同じにするように、ギャップ記号(挿入、欠失に対応)を挿入 2個の配列に対するアラインメント: ペアワイズ・アラインメント(今回の講義) 3個以上の配列に対するアラインメント: マルチプル・アラインメント(矢田先生)
スコア行列 • 残基間(アミノ酸文字間)の類似性を表す行列 • PAM250, BLOSUM45 など
ペアワイズ・アラインメント • 配列が2個の場合でも可能なアラインメントの個数は指数オーダー • しかし、スコア最大となるアライメント(最適アライメント)は動的計画法により、O(mn)時間で計算可能(m,n:入力配列の長さ)
ギャップペナルティ • 線形コスト -gd • g:ギャップ長 • d:ギャップペナルティ • この図の例では、コスト= -3d • アフィンギャップコスト –d – e(g-1) • d:ギャップ開始ペナルティ • e:ギャップ伸張ペナルティ • この図の例では、コスト= -d - 2e • よく利用されるペナルティ (d,e)=(12,2),(11,1)
動的計画法による大域アラインメント(1) • 入力文字列から格子状グラフを構成 • アライメントと左上から右下へのパスが一対一対応 • 最長経路=最適アライメント
動的計画法による大域アラインメント(2) DP (動的計画法)による 最長経路(スコア)の計算 ⇒ O(mn)時間 行列からの経路の復元は、 F(m,n)からmaxで=となっている F(i,j)を逆にたどることに行う (トレースバック)
局所アラインメント(1) • 配列の一部のみ共通部分があることが多い ⇒共通部分のみのアライメント • x1x2 … xm, y1y2 … ynを入力とする時、スコアが最大となる部分列ペア xixi+1 … xk, yjyj+1 … yhを計算 • 例えば、HEAWGEHと GAWEDの場合、 A W G E A W -E というアライメントを計算 • 大域アライメントを繰り返すとO(m3n3)時間 ⇒Smith-WatermanアルゴリズムならO(mn)時間
局所アラインメント(2) Smith-Waterman アルゴリズム (最大の F(i,j)からトレースバック)
局所アラインメント(3) • 局所アライメントの正当性の証明(下図) • 局所アライメントの定義:x1x2 … xm, y1y2 … yn を入力とする時、スコアが最大となる部分列ペア xixi+1 … xk, yjyj+1 … yhを計算
アフィンギャップコストによるアラインメントアフィンギャップコストによるアラインメント • 三種類の行列を用いる動的計画法によりO(mn)時間 • Smith-Watermanアルゴリズムとの組み合わせが広く利用されている ⇒ Smith-Waterman-Gotoh アルゴリズム
任意ギャップコストによるアラインメント • 動的計画法(下式)により、O(n 3 )時間 (ただし、m=O(n)とする)
ギャップコストと計算時間の関係 • 線形: O(n2)時間 • アフィン:O(n2)時間 • 凸: O(n2α(n))時間 • 任意: O(n3)時間 α(n)はアッカーマン関数の逆関数(実用的には定数と同じ)
ペアワイズ・アライメントに関するその他の結果ペアワイズ・アライメントに関するその他の結果 • 線形領域アライメント • スコア計算だけなら簡単 • トレースバックが難しい • しかし、分割統治法によりO(n)領域が可能(右図) • O(n2)時間の改善は可能か? ⇒O(n2/logn)が可能 • s(xi,yj)が疎(O(n)程度)な場合(Sparse DP) ⇒O(n logn)程度で可能
配列検索の実用プログラム(1) • O(mn): m は数百だが、nは数GBにもなる ⇒実用的アルゴリズムの開発 • FASTA: 短い配列(アミノ酸の場合、1,2文字、DNAの場合、4-6文字)の完全一致をもとに対角線を検索し、さらにそれを両側に伸長し、最後にDPを利用。 • BLAST: 固定長(アミノ酸では3, DNAでは11)の全ての類似単語のリストを生成し、ある閾値以上の単語ペアを探し、それをもとに両側に伸長させる。ギャップは入らない。伸長の際に統計的有意性を利用。
配列検索の実用プログラム(2) • FASTA: 短い配列(アミノ酸の場合、1,2文字、DNAの場合、4-6文字)の完全一致をもとに対角線を検索し、さらにそれを両側に伸長し、最後にDPを利用。 • BLAST: 固定長(アミノ酸では3, DNAでは11)の全ての類似単語のリストを生成し、ある閾値以上の単語ペアを探し、それをもとに両側に伸長。
配列検索の実用プログラム(3) • SSEARCH: 局所アラインメント(Smith-Waterman-Gotohアルゴリズム)をそのまま実行 • PSI-BLAST: ギャップを扱えるように拡張したBLASTを繰り返し実行。「BLASTで見つかった配列からプロファイルを作り、それをもとに検索」という作業を繰り返す。
配列検索の実用プログラム(4) • PatternHunter • BLASTよりはるかに高速で、同等以上の精度 • 連続した文字をseedとせず、飛び飛びの文字をseed(spaced seed)とする • 111010010100110111で1の位置のみを考慮 • 他にも様々なseedが提案 • その後、多くの検索プログラムでも利用
まとめ • 配列アラインメント(ペアワイズ・アラインメント) • 二つの配列の文字間の最適な対応関係(とその計算) • 大域アラインメント • 動的計算法で効率的に最適解を計算可能 • 局所アラインメント • よくマッチしている部分のみを効率的に抽出 • ギャップコスト • アフィンギャップまではO(n2)時間で対応可能 • 実用的プログラム • 大量データに対するアラインメント計算の(近似的)高速化 • BLAST, FASTA, PattenHunter