奈良女子大集中講義 - Kyoto University Bioinformatics

奈良女子大集中講義
バイオインフォマティクス (3)
配列アラインメント
阿久津 達也
京都大学 化学研究所
バイオインフォマティクスセンター
講義予定
• 9月5日
–
–
–
–
分子生物学概観
分子生物学データベース
配列アラインメント
実習1(データベース検索と配列アラインメント)
• 9月6日
–
–
–
–
モチーフ発見
隠れマルコフモデル
カーネル法
進化系統樹推定
• 9月7日
–
–
–
–
タンパク質立体構造予測
相互作用推定
スケールフリーネットワーク
実習2(構造予測)
内容
• 配列アライメントとは?
• ペアワイズ・アライメント
– 大域アライメント
– 局所アライメント
– アフィンギャップコスト
• 配列検索の実用プログラム
• マルチプル・アライメント
– SPスコア
– 多次元DP
– 実用的アライメント法
配列検索
• バイオインフォマティク
スにおける基本原理
– 配列が似ていれば機能
も似ている
機能未知の配列
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
スコア行列
• 残基間(アミノ酸文字間)の類似性を表す行列
– 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
L Y G
A L G
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)
• 入力文字列から格子状グラフを構成
• アライメントと左上から右下へのパスが一対一対応
• 最長経路=最適アライメント
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アルゴリ
ズムとの組み合わせが広く
利用されている
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: 短い配列(アミノ酸の場合、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アルゴリズム)をそのまま実行
• PSI-BLAST: ギャップを扱えるように拡張し
たBLASTを繰り返し実行。「BLASTで見つ
かった配列からプロファイルを作り、それを
もとに検索」という作業を繰り返す。
マルチプルアラインメント: 意味
• 3本以上の配列が与えられた時、全ての配列の長さが
同じになるようにギャップを挿入
• 進化的、構造的に相同な残基(塩基)ができるだけ同じ
カラムに並ぶようにする
• 通常はスコアを用いて、最適化問題として定式化
• 理想的なアライメント
– 同一残基から派生した残基が同一カラムに並ぶ
– 構造的に重なり合う残基が同一カラムに並ぶ
⇒構造的に重なり合わない場所を無理に重ね合わせるのは、あ
まり意味がない
マルチプルアライメント:定式化
• 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
• スコアづけ (全体スコアは基本的に各列のスコアの和:∑S(mi))
– 最小エントロピースコア
• S(mi) = -∑cia log pia
(cia= i列におけるaの出現回数,
pia = i列におけるaの生起確率)
– SPスコア(Sum-of-Pairs)
• S(mi)=∑k<l s(mik,mil)
(mik = i列, k行目の文字)
Y
V
H
A
H
V
SP (Sum of Pairs) スコア
• S(mi)=∑k<l s(mik,mil)
mik = i列, k行目の文字
• 問題点
– 確率的な正当性が無い
– 同一カラムに a,b,c が並ん
だ場合、log(pabc/qaqbqc) と
すべきだが、SPスコアでは
log(pab/qaqb)+
log(pbc/qbqc)+ log(pac/qaqc)
S (m1 )  s(L, I)  s(L, V)  s(I, V)
S (m2 )  s(D,)  s(D,)  s(,)
S (m3 )  s(D,)  s(D, E)  s(, E)
L D D
I
V
E
m 1 m2 m 3
多次元DPによるマルチプルアライメント
• N個の配列に対するマルチ
プルアライメント
N次元DPによりO(2NnN)時間
(各配列の長さはO(n)を仮定)
(i,j,k-1)
• 例:N=3
 F (i  1, j  1, k  1)  S ( 1 , 2 , 3 )
xi x j x k

 F (i, j  1, k  1)  S (, 2 , 3 )
x j xk

 F (i  1, j , k  1)  S ( 1 ,, 3 )
xi x k

1
2

F (i, j , k )  max  F (i  1, j  1, k )  S ( xi , x j ,)

3
 F (i, j , k  1)  S (,, xk )

2
 F (i, j  1, k )  S (, x j ,)

 F (i  1, j , k )  S ( x1i ,,)

(i,j-1,k)
(i-1,j,k) (i,j,k)
マルチプルアライメントの計算手法
• 分枝限定法
– 10配列程度なら最適解が計算可能
•
•
•
•
•
シミュレーテッドアニーリング
遺伝的アルゴリズム
逐次改善法
HMMによるアライメント
プログレッシブアライメント
– CLUSTAL-W(最も広く利用されているソフト)で採用
– 逐次改善法との組み合わせが、より有効
実用的マルチプルアライメント法
•
ヒューリスティックアルゴリズムの
開発
–
–
•
STEP 1
N次元DPは(N=4ですら)
非実用的
一般にはNP困難
プログレッシブアライメント
1.
2.
•
入力配列
近隣結合法などを用いて 案内木
を作る
類似度が高い節点から低い節点
へという順番で、配列対配列、配
列対プロファイル、プロファイル対
プロファイルのアラインメントを順
次計算
逐次改善法
–
「配列を一本取り除いては、アライ
ンメントしなおす」を繰り返す
STEP 2
③
①
②
プログレッシブアライメント
A C C - GA A C - - GA T
- C C A GA T
- C GA - A T
A C C GA A C - GA T
A C C GA
C C A GA T
C GA - A T
A C GA T
C C A GA T
C GA A T
プロファイル-プロファイル・アライメント
•
各列を1文字のように扱うことにより、DPにより計算
Profile vs. Profile
A C C GA A C C - GA A C - GA T
A C - - GA T
- C C A GA T
C C A GA T
- C GA - A T
C GA - A T
A C C GA
C C A GA T
C GA - A T
Sequnce vs. Profile
A C C - GA - C C A GA T
- C GA - A T
Score for
column pair
A
A
C
G
Score for
column pair
C
C
G
逐次改善法
•
「配列を一本取り除いては、アラインメントしなおす」
を繰り返す
講義のまとめ(配列アライメント)
• 動的計画法によるペアワイズアライメント
– 大域アライメント
– 局所アライメント(Smith-Watermanアルゴリズム)
– アフィンギャップコストを用いたアライメント
• マルチプルアライメント
– 多次元DP
– プログレッシブアライメント
• 参考文献
– 阿久津:バイオインフォマティクスの数理とアルゴリズム 、共立出版、
2007