blastblast! basic local alignment searching tool! altschul et al. (1990) j. mol. biol. 215,...
TRANSCRIPT
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))!