BLASTBLAST! Basic Local Alignment Searching Tool! Altschul et al. (1990) J. Mol. Biol. 215,...
Transcript of BLASTBLAST! Basic Local Alignment Searching Tool! Altschul et al. (1990) J. Mol. Biol. 215,...
BLAST!!Basic Local Alignment Searching Tool!�
Altschul et al. (1990) J. Mol. Biol. 215, 403-410.
Ewens & Grant (2001) !Statistical Methods in Bioinformatics, An Introduction!Springer!
BLAST
Gapped BLAST & PSI-BLAST!
PHI-BLAST
INCA!
BLASTOLOGY!
・Algorithm for String Comparison
・Statistics for Evaluation of Sequence Similarity
BLAST
Karlin-Altschul Statistic
BLAST問い合わせ配列
長さwのwordへの分割
各wordの類似word(閾値以上)の生成
有限オートマトンによる表現
・・・・・・・
1 2 3 4 5 6 ・・・・・・・・・L-1 L
w=3
2 3 4 L-2 L-1 L・・・・・・・ 1 2 3
S0
1
0
1
11
1 0
0
0
0
0
S1
S2 S3
S4 S5
1
文字が 1 , 0 しかない場合
word( 1 0 1 )と( 1 1 1 )を検出するための有限オートマトン
1と0で構成された文字列(配列)が与えられた時、その文字の現れる順番にS0から出発して状態を遷移する。
青で示された遷移が起きると (1 1 1) が生じた事が、 赤で示された遷移が起こると (1 0 1) が生じた事がわかる。
類似度が閾値以上の場合出力
w1 w2
配列データベース
問い合わせ配列
ungappedextension
w1 w1'w2'
hit hithit
HSPhit
・HSP(:High-Scoring Segment Pairs)のE-Valueを計算
Statistics for BLAST (1) Aligned Two Sequences ・HSP (Yi) の分布� Random Walk! geometric-like distribution!・MSP (Ymax)の分布��Order Statistics! extreme value distribution!・Karlin-Altschul Sum Statistic!!(2) Unaligned Two Sequences!・Theoretical and Empirical Background!・Edge Effect!!(3) Database Searching!
統計検定としてのBLAST! ・Null Hypothesis H0! アラインメントの任意の位置における �����アミノ酸ペア(i, j)の確率 = Pi P’j! !Pi !一方の配列におけるアミノ酸iの頻度! !P’j !他方の配列におけるアミノ酸jの頻度!!・Alternative Hypothesis H1! アラインメントの任意の位置における �����アミノ酸ペア(i, j)の確率 = q(i, j)! q(i, j)は、スコア・テーブルにより決定される!�
統計検定の5ステップ (1)H0, H1の設定 (2)α(type I errorの確率)の設定 (3)Test Statisticの決定 (4)H0を棄却するTest Statisticの値の決定!(5)検定の実施�
BLASTのtest statistic = MSP (Ymax)!
Statistics for BLAST (1) Aligned Two Sequences ・HSP (Yi) の分布� Random Walk! geometric-like distribution!・MSP (Ymax)の分布��Order Statistics! extreme value distribution!・Karlin-Altschul Sum Statistic!!(2) Unaligned Two Sequences!・Theoretical and Empirical Background!・Edge Effect!!(3) Database Searching!
(1)Aligned Two Sequences!!・長さN!・Gap なし!!BLAST Random Walk!�各サイトのスコアを端から加算�
BLAST Random Walk
-5
0
5
10
15
20
1 2 3 4 5 6 7 8
T Q L A A W C R!R H L D S W R R
S(T,R)
S(T,R)+S(Q,H) + S(L,L)
General Random WalkによるBLAST Random Walkのモデル化 �General Random WalkにおけるStep Size ����� -c, -c +1, …, 0, …, d-1, d 各ステップの確率 p(-c), p(-c +1), …. p(d) c, dは整数値。ステップの確率は0も許す。 BLAST では、ステップ・サイズがスコア�S(i, j) そのスコアの確率が、 Pi P’j ���S(i, j)= C log の形であり、整数値
���に丸められている�
q(i, j) Pi Pj
仮定�(BLAST Random Walkでも同様の仮定をおく) (i) p(-c) > 0, p(d) > 0 (ii) ステップサイズの平均は負
E(S) = Σ j p(j) < 0 (iii) 確率0でない ステップ・サイズの最大公約数は1
j = -c
d
Sのmoment generating function(mgf) m(θ) = Σ p(j) exp(jθ)
j = -c
d
m(θ) = 1は、一意な正の解θ*を有する。�
Theorem: mgfとしてm(θ) を有する確率変数Y Yは少なくとも一つの負値(-a)と、少なくとも一つの正値(b) を非ゼロ確率でとるものとする。 また、Yの平均値も非ゼロとする。 この時、 m(θ) = 1は、一意な解θ*を有する。�
mgfの定義より m(θ) > p(-a) exp(-θa), m(θ) > p(b) exp(θb)
θ → +∞ の時も、 θ → -∞の時も � m(θ) → + ∞
d m(θ) dθ
2
2 = Σ j p(j) exp(jθ) > 0 2 �j= -c
d
m(0) = 1
d m(θ) dθ θ =0
= j= -c
d Σ j p(j) = 0
θ*
1
θ*
1
m’(0) < 0
m’(0) > 0
0から始まって、ー1にstopping boundaryがあり、 Upper boundaryがないケースを考えたい。�
0から始まって、ー1とy(>0)にstopping boundaryが あるケースをまず考える。 Random Walkは、ー1かそれ以下に到達した時、 あるいはyかそれより大きな値に到達した時止まる。�
Random Walkの終わりうる状態は、 -c, - c+1, …, -1, y, … y +d-1
Theorem:Wald’s identity (証明なし) E(m(θ) exp(θ T )) = 1 for all θ for which the mgf is defined. 期待値操作は、NとT�についてのjoint distribution について行う。T�=�Σ Sj,
N はrandom walkが止まるまでのステップ数�
N -N
N
N j= 1 to N
TNは、0から始まってwalkが止まるまでの 変位の総数で、先にあげた -c, - c+1, …, -1, y, … y +d-1 をとりうる。�
Wald’s identityをθ*について適用すると E(exp(θ*TN)) = 1
P(k)を、状態kでwalkが停止する確率とすると 上式は、 ��Σ P(k) exp(k θ*) + Σ P(k) exp(k θ*) = 1 k = -c to -1 k= y to y+d-1
y → ∞ (Upper Boundaryがない)漸近的なケース を考える。 (1)Unrestricted Walk を考え、次に (2)Restricted Walk を考える。�
Unrestricted Walk (1)!
Random Walkにboudaryをかさない。 ステップ・サイズの平均が負なので、 Random Walkは最終的には ー∞に向かう。 しかし、その前に正の状態を取りうるので 他の正の数をとる前にk(>0) を訪れる確率 ����Qk を考える。 最大ステップ・サイズがdなので、 Qk�= 0 for k > d ����� (最大公約数=1の条件) Qk = 0 for k = 0 Σ Qk < 1 (正の状態を全く訪れない可能性もあるので) k = 1 to d
Unrestricted Walk (2) +1とーLにboudaryがあるケースを考える。 Lは大きな正の数とする。�
先の考察(ー1とyにboundaryがある場合)より
��Σ Qk(L) exp(k θ*) + Σ Qk(L) exp(k θ*) = 1 k = -L -c+ 1 to -L k= 1 to d
boundaryが1なので、 Qk(L) = Qk for k > 0 lim Qk(L) = Qk L → ∞
θ* > 0, Qk(L) < 1 for all k and Lなので、 L → ∞で 上式左辺の第一項は0となる。�
Σ Qk(L) exp(k θ*) = 1 k= 1 to d �
FYunr(y) : unrestricted walkにおいて、 Maximum upward wxcursionが、y以下である確率 を求める。 Q = 1 - Q 1 - Q 2 - . . . - Q d 正の状態をとらない確率 一端、正の状態kに到達した後(確率Q k)、そこからの Excursionの取りうる値が y - k 以下である確率 Q0 = 0
Unrestricted Walk (3)!
FYunr(y) = Q + Σ Q k FYunr(y-k) k = 0 to y
Unrestricted Walk (4)
Theorem: The Renewal Theorem (証明なし) 3つの数列(b0, b1, …), (f0, f1, …), (u0. u1, …) を考える。これらは非負の定数で、 uy = by + (uy f0 + uy-1 f1 + uy-2 f2 + … + u1 fy-1 + u0 fy を全てのyについて満たすものとする。 また B=Σi bi < ∞、Σi fi = 1, µ = Σi i fi < +∞ f0, f1, . . .の最大公約数が1とする。 この時、 uy → B µ-1 �as y → +∞
FYunr(y) = Q + Σ Q k FYunr(y-k) k = 0 to y は、renewal equationの形式となっている。�
Unrestricted Walk (5)
形式は類似しているが条件が満たされていない。 �
Σi fi = 1 Σk Qk < 1
B=Σi bi < ∞ bi = Qにした時に 保証されない。
Renewal Equationを使用するため、V(y)=(1 - FYunr(y)) exp(yθ*)) を導入し、先の式を変形すると、y < dの時、 V(y) = exp(yθ*)(Qy+1 + Qy+2 …+ Qd) + Σ(Qk exp(kθ*))V(y-k) k=0 to y
y > d の時、Σ(Qk exp(kθ*))V(y-k) k=0 to d �
Unrestricted Walk (6)
by = exp(yθ*)(Qy+1 + Qy+2 …+ Qd) とすると、y > d ではby = 0なので、Σ by < ∞ は満たされている。 また、 fk�= Qk exp(k θ*) とすると、 Σ Qk exp(k θ*) = 1�は�L→∞について証明済み�
よって、lim V(y)→Vとすると、Vの計算にRenewal Equation を用いることができる。�
Unrestricted Walk (7)
B=Σk bk = Σ exp(kθ*)(Qk+1 + Qk+2 …+ Qd) k= 0 to d
両辺にexp(θ*)-1をかけて、まとめると (exp(θ*)-1)B = Σ exp(kθ*)Qk - (Q1 + Qk+2 …+ Qd) k= 1 to d = 1 - (Q1 + Qk+2 …+ Qd) ������= Q Renewal Equationにより lim V(y) = V = B µ-1 = y→∞
Q (exp(θ*)-1) Σ k Qk exp(kθ*) k= 1 to d
Restricted Walk (1)
Upper boundはなく、-1にstopping boudaryがあり、 0から出発するものとする。 �
F*Yunr(y) = 1 - FYunr(y) F*Y(y) = 1 - FY(y) を考える。 それぞれ、unrestricted と restrictedのrandom walkが Yを超える確率�
F*Yunr(y)= V(y) exp(-yθ*) lim F*Yunr(y) exp(yθ*) = V y→∞
Restricted Walk (2) F*Yunr(y)は、負の状態をとる前にyを超える確率と ����� 負の状態をとった後にy を超える確率に ��より構成される。1ステップで負の状態をとる ��場合、-1, -2, …, -c の一つが起こりうる。 F*Yunr(y)�= F*Y(y) + Σ R(-j) F*Yunr(y+j) j = 1 to c �ここで�R(-j) は。1ステップで-jをとる確率 上式の両辺にexp(yθ*) を乗じて、y→∞とすると V = lim F*Y(y) exp(yθ*) + V Σ R(-j) exp(-jθ*) j = 1 to c
Restricted Walk (3)
lim F*Y(y) exp(yθ*) = V ( 1 - Σ R(-j) exp(-jθ*)) j = 1 to c = = exp(-θ*) C ここで、C=
(exp(θ*)-1) Σ k Qk exp(kθ*) k= 1 to d
Q ( 1 - Σ R(-j) exp(-jθ*)) j = 1 to c
Q ( 1 - Σ R(-j) exp(-jθ*)) j = 1 to c
(1 -exp(-θ*)) Σ k Qk exp(kθ*) k= 1 to d
Restricted Walk (4)
lim F*Y(y) exp(yθ*) = exp(-θ*) C y→∞
F*Y(y) = Prob(Y > y+1)であるので、 Prob(Y > y) ~ C exp(-yθ*) と表す事ができる。すなわち、 Yはgeometric-like distributionを有する。 ※�geometric-like distributionとは 1 - FY(y-1) = Prob(Y> y) ~ Cpy
General Random Walkから得られる情報
A: Random Walkが-c, -c+1, …, -1のいずれかで �停止するまでの平均ステップ数�
Theorem Wald’s Identity より E(m(θ)-Nexp(θ TN)) = 1 Nは、random walkの停止までのステップ数 TNは、停止した時の状態(変位の総和) 両辺をθで微分 (微分と平均操作をこの場合、入れ替えることが可能)�
d E(m(θ)-Nexp(θ TN))/ dθ = E(d m(θ)-Nexp(θ TN)/ dθ )
= E (-N m(θ)-N-1exp(θ TN) d m(θ)/ dθ + m(θ)-N TN exp(θ TN)) = 0
ここでθ= 0を代入して(µ(0)= 1), E (-N E(S) + TN) = - E (N) E(S) + E (TN) =0 よって、 E (TN) = E (N) E(S) � �
General Random Walkから得られる情報 (2)
E(S) = Σ jpj j= -c to d
E (TN) = Σ R(-j)(-j) j= 1 to c
R(-j)は、-jで停止する確率�
よって、A = E (N) = E (TN) / E(S) ※計算は R(-j)に依存するが、その求め方は触れられていない�
BLASTのパラメータ計算 �
三つのパラメータが必要 λ:θ*のこと ��Σ pi p’j exp(λS(i, j))= 1 よりNewton-Raphson法で数値的に計算 C:geometric-like distributiuonの係数 ��General Random Walkで得られた式より計算 n : ladder pointの平均数�= N / A ���
Y1
Y2
Y3 Y4
BLAST Random Walk!
Ladder point: 以前の最下点より始めて低くなった 状態�
・Yiは、ladder point間の最高得点 ・ Yiは、iid で、geometric-like ditributionに従う ・それでは、Ymaxは?�
Prob(Ymax < y) = (1 - Cexp(-θ*y))n
n個の標本Yi i=1,nについて�
Prob(Ymax > y) = 1 - (1 - Cexp(-θ*(y-1)))n = 1 - (1 - Cnexp(-θ*(y -1))/n) n = 1 - exp(-Cnexp(-θ*(y -1))) . .
正確には、 1 - exp(-Cnexp(-θ*y)) < Prob(Ymax > y) < 1 - exp(-Cnexp(-θ*(y -1)))
YmaxのP-valueのboundsを与える。�
BLASTでは、K=(C/A) exp(-λ)を導入し、y= x + logNと することで 1 - exp(-Kexp(-λξ)) < Prob(Ymax > x + (log N)/λ) ��������< 1 - exp(-Kexp(-λ(ξ -1)))�と表されている。�
Expect-valueの計算�(1)�
・Yiがv以上の値をとる確率�C exp(-λv)
・n = N/A のexcursionがある時、 v以上の値をとる � Yiの個数の平均は(binary distributionの平均から) � �����(N/A ) C exp(-λv)
・先に定義した�K = (C/A ) exp(-λ)を用いて、上式を ���� NK exp(-λv) と近似する。 (exp(-λ)は、vが大きいということで無視?)�
Expect-valueの計算�(2)�
・ NK exp(-λv)を平均として有する二項分布 �(v以上のスコアを有するHSPの数の分布)
�→� NK exp(-λv)を平均、分散として持つ ���Poisson分布で近似する。
・任意の値 v をymaxで置き換える。 ���E’ = NK exp(-λ ymax) P(m) =exp(- E’ )(E’ )m / m!
・ E’ を平均、分散とするPoisson分布のもとで、 � 以上のスコアを有するHSPが長さNの配列中に �見出される確率は、1から全くそのようなHSPが �見出されない確率を引けばよいので、
�� P-value = 1 - P(0) = 1 - exp(-E’)
Karlin-Altchul Sum Statistic (1) ・Normalized Score S’= λ Ymax -log(NK) E’ = NK exp(-λ Ymax) -log E’ = λ Ymax -log(NK)
※�bit score = (λ Ymax -logK )/log2 or λ Ymax /log2
・S’について以下の式を書き直す。 exp(-Kexp(-λ(ξ -1))) < Prob(Ymax < x + (log N)/λ) �������� < exp(-Kexp(-λξ ))�
�x = (s + log K)/λとすると� exp(-exp(λ) εξπ(-s)) < Prob(S’ < s) < exp(-exp(-s ))�
※� exp(-Kexp(-λξ ))=exp(-Kexp(-λ(s + log K)/λ) ) = exp(-K exp(-s) exp(- log K) ) = exp(-K exp(-s) /K) = exp(- exp(-s)) よって、 Prob(S’ > s) = 1 - exp(- exp(-s)) = exp(-s)
・Ymaxだけでは、BLAST random walkで得られる �その他の2位、3位などの高得点のexcursionの情報 �が失われる。 今、 Y1 (=Ymax)> Y2 > … > Yr�とし、 �これをnormalized score S1 , S2 , ..., Srとしへと変換する。 ・ S1 , S2 , ..., Srのnull hypothesis joint distribution�fSは、 fS (s1 , s2 , ..., sr)=exp(-exp(- sr - Σ sk ) ) k=1 to r ・Tr = S1 + S2 + ... + Sr
Karlin-Altschulのsum statistic Prob(Tr > t) = exp(-t)tr-1/(r!(r-1)!)
consistently ordered HSPを考える時には、 �modificationが必要��(このページ証明なし)�
Karlin-Altchul Sum Statistic (2)
(2)Unaligned Two Sequences!!・長さN1, N2!・Gap なし!
Aligned Two Sequences の長さNをN1N2 � に置き換える 例)n = N1N2 / A S’= λ Ymax -log(N1N2 K)
直観的には、二本の配列中のサイトの任意の組み合わせを 出発点としてrandom walkをするという事であるが、証明 のためには、満たされるべき条件が必要になることと、 N1、N2の極限で証明されているので、実用上はシミュレ ーションに基づき経験的に確認されている。�
Edge Effect!
短い配列の場合、edge effectを考慮する必要がある。 理論的にはまだ十分な理由付けはないが、経験的に 以下の形で、2本の配列の長さをmodifyしている。 � N’1 = N1 -(λ Ymax )/H ���� N’2 = N2 -(λ Ymax ) /H H = S q(j, k) log (q(j,k)/pj p’k))
複数個のHSPの選択�
rを変えて、Karlin-Altshul sum statisticに従って P-valueを計算し、最も小さな値を与えたものを選択�
(3)Database Searching!
データベース検索の場合、各配列の長さ( N2(or N’2))!が異なる。 →��D / N’2�を用いる。!�� Dは、データベースの総塩基数!(3ー1)r = 1の場合�(single HSP)! P-value = 1 - exp(-E) � 問い合わせ配列とデータベースの配列で1個以上 ��観測値v以上のスコアが見出される確率
��Expect = (1 - exp(-E)) D / N’2!!
データベース中で、 v以上のスコアを持つ配列の期待値 ��Poisson 近似により �� P-value = 1 - exp(-Expect))!
(3ー2)r > 1の場合�! P-valueは、Karlin-Altschulのsum statisticにより!�� ��Expect = (P-value) D / N’2!!
データベース中で、 v以上のスコアを持つ配列の期待値 ��Poisson 近似により �� P-value = 1 - exp(-Expect))!