Nussinov Algorithm and its associated SCFG
Nussinov Algorithm for maximum number of possible base-pairs
Initialization:
for i=1 to L
M(i,i)=0,
Recurtion:
for ℓ=1 to L−1, for i=1 to L−ℓ, j=i+ℓ
M(i,j)=max[M(i+1,j)M(i,j−1)M(i+1,j−1)+δ(i,j)maxhM(i,h)+M(h+1,j)
Traceback of Nussinov Algorithm
初期化: (1,L)をスタックにpushする.
再帰: スタックが空になるまで繰り返す.
— pop (i,j)
— if i>=j continue;
— else if γ(i+1,j)=γ(i,j), (i+1,j) を push;
— else if γ(i,j−1)=γ(i,j), (i,j−1) を push;
— else if γ(i+1,j−1)+δi,j=γ(i,j),
—— 塩基対(i,j)を記録.
—— (i+1,j−1) を push
else for k=i+1 to j−1: if γ(i,k)+γ(k+1,j)=γ(i,j):
—— (k+1,j) を push
—— (i,k) を push
—— break
Production rules of the SCFG associated to the above Nassinov Algorithm
M⟶xM:P(M→xM),x∈{a,c,g,u}M⟶Mx:P(M→Mx),x∈{a,c,g,u}M⟶xMˉx:P(M→xMˉx),(x,ˉx)∈{(a,u),(c,g),(g,c),(u,a)}M⟶MM:P(M→MM)M⟶x:P(M→x),x∈{a,c,g,u}
CYK Algorithm of the SCFG
Initialization:
for i=1 to L−1
γ(i,i,M)=P(M→xi)
Recurtion:
for ℓ=1 to L−1, for i=1 to L−ℓ, j=i+ℓ
γ(i,j,M)=max[γ(i+1,j,M)+logP(M→xiM)γ(i,j−1,M)+logP(M→Mxj)γ(i+1,j−1,M)+logP(M→xiMxj)maxhγ(i,h)+γ(h+1,j)+logP(M→MM)
Inside algorithm of the SCFG
Initialization:
for i=1 to L−1
α(i,i,M)=P(M→xi)
Recurtion:
for ℓ=1 to L−1, for i=1 to L−ℓ, j=i+ℓ
α(i,j,M)=[α(i+1,j,M)P(M→xiM)+α(i,j−1,M)P(M→Mxj)+α(i+1,j−1,M)P(M→xiMxj)+∑L−1h=1α(i,h,M)α(h+1,j,M)P(M→MM)
Outside Algorithm of the SCFG
Initialization:
β(1,L,M)=1
Recurtion:
for ℓ=L−1 to 1, for i=1 to L−ℓ, j=i+ℓ
β(i,j,M)=[β(i−1,j,M)P(M→xi−1M)+β(i,j+1,M)P(M→Mxj+1)+β(i−1,j+1,M)P(M→xi−1Mxj+1)+∑i−1h=1α(h,i−1,M)β(h,j,M)P(M→MM)+∑Lh=j+1α(j+1,h,M)β(i,h,M)P(M→MM)
Partition Function on number of base-pairs
2次構造σに含まれる塩基対の数Nσを2次構造σの自由エネルギーの符号を反転した値の乱暴な近似と考えると、2次構造σの熱力学的確率は以下のボルツマン分布で与えられる。
P(σ|x)=1ZN(x,σ)eNσ/kNTZN(x,σ)=∑σ∈S(x)eNσ/kNT
このボルツマン分布に対応するSCFGがどのようになるか、考察せよ