Transcript 第3回 - 京都大学
集中講義(東京大学)「化学システム工学特論第3」
バイオインフォマティクス的手法による
化合物の性質予測(3)
配列アライメント
阿久津 達也
京都大学 化学研究所
バイオインフォマティクスセンター
内容
配列アライメントとは?
ペアワイズ・アライメント
配列検索の実用プログラム
マルチプル・アライメント
大域アライメント
局所アライメント
アフィンギャップコスト
SPスコア
多次元DP
実用的アライメント法
配列モチーフ
配列アライメント
バイオインフォマティクスの
最重要技術の一つ
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)
配列検索の実用プログラム(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で見
つかった配列からプロファイルを作り、そ
れをもとに検索」という作業を繰り返す。
マルチプルアライメント:意味
3本以上の配列が与えられた時、全ての配列の長さが
同じになるようにギャップを挿入
進化的、構造的に相同な残基(塩基)ができるだけ同じ
カラムに並ぶようにする
通常はスコアを用いて、最適化問題として定式化
理想的なアライメント
同一残基から派生した残基が同一カラムに並ぶ
構造的に重なり合う残基が同一カラムに並ぶ
⇒構造的に重なり合わない場所を無理に重ね合わせるのは、あ
まり意味がない
マルチプルアライメント:定式化
3本以上の配列が与えられた時、長さが同じで、かつ、スコアが最適とな
るように各配列にギャップを挿入したもの
HBA_HUM AN
HBB_HUM AN
MYG_PHY CA
GLB5_PE TMA
LGB2_LU PLU
GLB1_GL YDI
VGAHA GEY
VNVDE V
VEADV AGH
VYSTY ETA
FNANI PKH
IAGAD NGAGV
HBA_HUM AN
HBB_HUM AN
MYG_PHY CA
GLB5_PE TMA
LGB2_LU PLU
GLB1_GL YDI
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
スコアづけ (全体スコアは基本的に各列のスコアの和:∑S(mi))
最小エントロピースコア
S(mi) = -∑cia log pia
SPスコア(Sum-of-Pairs)
S(mi)=∑k<l s(mik,mil)
(cia= i列におけるaの出現回数,
pia = i列におけるaの生起確率)
(mik = i列, k行目の文字)
Y
V
H
A
H
V
SP(Sum of Pairs)スコア
S(mi)=∑k<l s(mik,mil)
k
mi
= i列, k行目の文字
問題点
S ( m1 ) s ( L , I) s ( L , V ) s ( I, V )
S ( m 2 ) s ( D , ) s ( D , ) s ( , )
S ( m 3 ) s ( D , ) s ( D , E ) s ( , E )
確率的な正当性が無い
同一カラムに a,b,c が並んだ
場合、log(pabc/qaqbqc) とすべ
きだが、SPスコアでは
log(pab/qaqb)+ log(pbc/qbqc)+
log(pac/qaqc)
L
D
D
I
V
E
m1 m2 m3
多次元DPによる
マルチプルアライメント
N個の配列に対するマルチ
プルアライメント
N次元DPによりO(2NnN)時間
(各配列の長さはO(n)を仮定)
例:N=3
F ( i , j , k ) max
F ( i 1, j 1, k 1) S ( 1 , 2 , 3 )
xi x j xk
F ( i , j 1, k 1) S ( , 2 , 3 )
x j xk
1
3
F ( i 1, j , k 1) S ( x i , , x k )
1
2
F ( i 1, j 1, k ) S ( x i , x j , )
3
F ( i , j , k 1) S ( , , x k )
2
F ( i , j 1, k ) S ( , x j , )
1
F ( i 1, j , k ) S ( x , , )
i
(i,j,k-1 )
(i,j-1 ,k)
(i-1 ,j,k) (i,j,k)
マルチプルアライメントの計算手法
分枝限定法
10配列程度なら最適解が計算可能
シミュレーテッドアニーリング
遺伝的アルゴリズム
逐次改善法
HMMによるアライメント
プログレッシブアライメント
CLUSTAL-W(最も広く利用されているソフト)で採用
逐次改善法との組み合わせが、より有効
実用的マルチプルアライメント法
ヒューリスティックアルゴリズム
の開発
S TE P 1
N次元DPは(N=4ですら)
非実用的
一般にはNP困難
プログレッシブアライメント
1.
2.
入力配列
近隣結合法などを用いて 案内
木を作る
類似度が高い節点から低い節
点へという順番で、配列対配列、
配列対プロファイル、プロファイ
ル対プロファイルのアラインメン
トを順次計算
逐次改善法
「配列を一本取り除いては、アラ
インメントしなおす」を繰り返す
S TE P 2
③
①
②
プログレッシブアライメント
A
A
-
C
C
C
C
ACCGA AC - GAT
ACCGA
C - GA
- - GA
C AGA
GA - A
T
T
T
CCAGAT
CGA - AT
ACGAT
CCAGAT
CGAAT
プロファイル-プロファイル・アライメント
各列を1文字のように扱うことにより、DPにより計算
ACCGA AC - GAT
CCAGAT
CGA - AT
P rofile v s. P rofile
ACC - GA AC - - GAT
- CC AGAT
- CGA - AT
S e q u n c e v s. P rofile
ACCGA
CCAGAT
CGA - AT
ACC - GA - CC AGAT
- CGA - AT
S c ore for
c olu m n p a ir
A
A
C
G
S c ore for
c olu m n p a ir
C
C
G
逐次改善法
「配列を一本取り除いては、アラインメントしなおす」
を繰り返す
配列モチーフ
似た性質を持つタンパク質配列な
どが持つ共通文字列パターン
ロイシンジッパー(DNA結合)
L-x(6)-L-x(6)-L-x(6)-L
ATP/GTP結合部位
Z inc Finge r
[AG]-x(4)-G-K-[ST]
Cys-His Zinc Finger(DNA結
合)
C-x(2,4)-C-x(3)-[LIVMFYWC]x(8)-H-x(3,5)-H
C ys
H is
Zn
C ys
H is
講義のまとめ(配列アライメント
I)
動的計画法によるペアワイズアライメント
マルチプルアライメント
大域アライメント
局所アライメント(Smith-Watermanアルゴリズム)
アフィンギャップコストを用いたアライメント
多次元DP
プログレッシブアライメント
配列モチーフ
参考文献
阿久津、浅井、矢田訳:バイオインフォマティクス –確率モ
デルによる遺伝子配列解析、医学出版、2001