生命情報学基礎論 (2)

Download Report

Transcript 生命情報学基礎論 (2)

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