30
情情情情情情情情情情 III 11 RNA 情情情情情情 阿阿阿 阿阿 阿阿阿阿 阿阿阿阿阿 阿阿阿阿阿阿阿阿阿阿阿阿阿阿阿阿

情報生命科学特別講義 III ( 11 ) RNA 二次構造予測

  • Upload
    armand

  • View
    64

  • Download
    0

Embed Size (px)

DESCRIPTION

情報生命科学特別講義 III ( 11 ) RNA 二次構造予測. 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター. 講義予定. 第1回 : 文字列マッチング 第2回:  文字列データ構造 第3回:  たたみ込みとハッシュに基づくマッチング 第4回:  近似文字列マッチング 第5回 :  配列アラインメント 第6回:  配列解析 第7回 :  進化系統樹推定 第8回 :  木構造の比較:順序木 第9回 :  木構造の比較:無順序木 第10回 :  文法圧縮 第11回 : RNA 二次構造予測 - PowerPoint PPT Presentation

Citation preview

Page 1: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

情報生命科学特別講義 III

( 11 ) RNA 二次構造予測

阿久津 達也

京都大学 化学研究所バイオインフォマティクスセンター

Page 2: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

講義予定 第1回 :  文字列マッチング 第2回: 文字列データ構造 第3回: たたみ込みとハッシュに基づくマッチング 第4回: 近似文字列マッチング 第5回: 配列アラインメント 第6回: 配列解析 第7回: 進化系統樹推定 第8回: 木構造の比較:順序木 第9回: 木構造の比較:無順序木 第10回: 文法圧縮 第11回:  RNA 二次構造予測 第12回: タンパク質立体構造の予測と比較 第13回: 固定パラメータアルゴリズムと部分 k 木 第14回: グラフの比較と列挙 第15回: まとめ

Page 3: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

RNA 二次構造予測

Page 4: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

RNA 二次構造予測RNA 二次構造予測(基本版)入力: RNA 配列 a=a[1]…a[n]出力: 以下を満たし、スコア  Σ(i,j)∈M μ(a[i],a[j]) が最小となる塩基対   の集合 M={(i,j)|1≤i+1<j≤n,{a[i],a[j]}∈B}(a[i],a[j]) ,(a[h],a[k]) ∈M となる i ≤h ≤j ≤k が存在しない 塩基対: B={{a,u},{g,c} } スコア関数(最も単純なもの)

μ(a[i],a[j])= -1 if {a[i],a[j]} ∈B μ(a[i],a[j])=   0 otherwise

スコアが最小でないものも二次構造とよび、最小のものを最適二次構造とよぶこともある

{g,u} も塩基対に含まれる場合がある

A U G C

塩基対

A G A G C U

A G A G C U

二次構造

二次構造でない

Page 5: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

RNA 二次構造の二種類の表現

Page 6: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

RNA 二次構造の例RNA 配列

Page 7: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

Nussinov アルゴリズム

Page 8: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

予測アルゴリズム( Nussinov アルゴリズム) 入力配列:  a=a[1]…a[n]

動的計画法

}),1(),({min

])[],[()1,1(

)1,(

),1(

min),(

1jkWkiW

jaiajiW

jiW

jiW

jiW

jki

0)1,(,0),( iiWiiW初期化

メインループ

最適解(= -塩基対の個数)

),1( nW

それ以外の時

の時,0

}}CG,{},UA,{{,,1),(

yxyx

の最適解の値部分配列 ][]1[]...1[][),( jajaiaiajiW

Page 9: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

アルゴリズムの説明

}),1(),({min

])[],[()1,1(

)1,(

),1(

min),(

1jkWkiW

jaiajiW

jiW

jiW

jiW

jki

メインループ

の最適解の値部分配列 ][]1[]...1[][),( jajaiaiajiW

Page 10: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

Nussinov アルゴリズムの解析

定理: 上記アルゴリズムは O(n3) 時間で最適解を計算略証: テーブル W(i,j) のサイズは O(n2) 。 1 個のテーブル要素の計算に O(n) 時間(最後の行)。 

}),1(),({min

])[],[()1,1(

)1,(

),1(

min),(

1jkWkiW

jaiajiW

jiW

jiW

jiW

jki

Page 11: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

RNA 二次構造予測と確率文脈自由文法

Page 12: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

RNA 二次構造予測と確率文脈自由文法 (1)

rule  score  score for  X 

X→ε  X→ a X→u X→ g X→ c X→YZ X→ a Y u X→ u Y a X→ g Y c X→ c Y g 

0 0 0 0 0 0 1 1 1 1 

0 0 0 0 0 

score(X)+score(Y) score(Y)+1 score(Y)+1 score(Y)+1 score(Y)+1 

文法表現としては X→aYu, X→XY などではなく、 S→aSu, S→SS などが正式RNA の場合はスコアは1ではなく、-1に置き換えることが必要

確率文脈自由文法( SCFG ): 導出確率が最大となる構文解析木を計算 ⇒ 確率の代わりにスコアを用いる

Page 13: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

RNA 二次構造予測と確率文脈自由文法 (2) スコア最大(≒確率最大)の構文解析木 ⇔ 最適二次構造 実際、 Nussinov アルゴリズムは CYK アルゴリズム(文

脈自由文法の構文解析アルゴリズム)に類似

Page 14: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

Valiant アルゴリズムの利用

[Akutsu: J. Comb. Opt. 1999] [Zakov et al.: Alg. Mol. Biol. 2011]

Page 15: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

二次構造予測の計算量の改良 文脈自由文法の構文解析

高速行列乗算に基づく Valiant アルゴリズムを用いれば O(nω) 時間 O(nω) は n×n の行列乗算にかかる計算時間

高速行列乗算に基づく RNA 二次構造予測 基本的に Valiant アルゴリズムを適用

しかし、行列乗算の基本演算を  (+,×) から (max,+) に変える必要 (max,+) の行列演算は、ほんの少し O(n3) より良くなるだけ

O(n3((log log n)/(log n))1/2) 時間 [Akutsu: J. Comb. Opt. 1999]

O(n3(log3(log n))/log n) 時間 [Zakov et al.: Alg. Mol. Biol. 2011]

SCFG の内側アルゴリズム [Akutsu: J.Comb.Opt. 1999] 、外側アルゴリズム[Zakov et al.:Alg. Mol. Boil. 2011] は (+,×) 演算で済むので O(nω) 時間で可能

Four-Russian アルゴリズムに基づく RNA 二次構造予測 O(n3/log n) 時間 [Frid, Gusfield: Proc. WABI 2009]

ω は二十数年ぶりに 2.3737 から 2.3736 へ、さらに、 2.327 へ改善された  [Wiliianms: Proc. STOC 2012]

Page 16: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

Valiant アルゴリズムの概略(1) 基本的に分割統治 W(i,j)=Σk W(i,k)×W(k+1,j) の計算(青のベクトルと赤

の  ベクトルの乗算)を  高速化 行列乗算を適用する  ため、複数の W(i,j)

  の計算をまとめて  実行 左下三角は計算不要

Page 17: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

Valiant アルゴリズムの概略(2)基本戦略白と黄が計算済みとして、青を計算(青は一部計算済み)

ピンクの部分の行列積を計算後、青と加算(⇒結果は緑) 緑と黄色からなる行列を作り、再帰計算により青を計算

            (左下の白は不要なのですべて0として OK )

高速乗算

再帰計算

Page 18: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

Valiant アルゴリズムの概略(3)

時間計算量T2(n)= T2(n/2)+ 2T3(3n/4)+ T4(n)+ O(n2)T3(n)= M(n/3)+ T2(2n/3)+ O(n2)T4(n)= 2M(n/4)+ T2(n/2)+ O(n2)⇒T2(n)= 4T2(n/2)+ 4M(n/4)+ O(n2)

M(n) は n×n 行列の乗算の計算量 )(

2)4/(4)log()(log

0

)2(22

nO

nMnnOnTn

k

k

Page 19: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

メインルーチン: 下図のとおり時間計算量:

Valiant アルゴリズムの概略(4)

)(

)()(22)()()(

)()()2/(2)(

22

log

02

2

22

nO

nOnTnTnOnT

nOnTnTnTn

k

k

Page 20: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

二次構造予測の平均計算時間の改良

[Wexler et al.:J. Comp. Biol. 2007]

Page 21: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

平均計算時間の改良: アイデア 最悪の時間計算量の O(n3) からの本質的改良は極めて困難

高速行列乗算は実用的でない Nussinov アルゴリズムや他の動的計画法アルゴ

リズムは平均的にも O(n3) 時間かかる⇒  平均計算時間の改良 [Wexler et al.:J. Comp. Biol. 2007]

ブランチループの計算がボトルネックとなっていた Valiant 型のアルゴリズムでは行列乗算により改良 アイデア: 必要な k のみをチェックすることにより

改良 }),1(),({min jkWkiWjki

Page 22: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

詳細なエネルギーモデル(1) W(i,j): 部分配列 a[i..j] に対する最適解  V(i,j): a[i] と a[j] が塩基対として結合する場合の最適解

bjkWkiWjiVM

jiVjijiebijiVBI

jiVMjiVBIjiVjiesjiehjiV

jkWkiWjiWjiWjiVjiW

jki

jjii

jki

)1,1(),1(min),(

)','(}',',,(min),(

),(),,(),1,1(),(),,(min),(

}),1(),({min),1,(),,1(),,(min),(

1

''

Page 23: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

詳細なエネルギーモデル(2) 前述のモデルを j≧i+4 の場合のみを考えて簡略化

),1('),('min),,('min),('

4),(),('

4),('),(

jkWkiWjiVjiW

ijjiVjiV

ijjiWjiW

jki

),1('),('min),,('min),(' jkWkiVjiVjiW

jki

定理 : V’(i,j)≧V’(i,k)+W’(k+1,j) がある k (i < k < j) について 成立すれば、すべての j’>j について V’(i,j)+W’(j+1,j’) ≧ V’(i,k)+W’(k+1,j’) が成立

Page 24: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

必要な k のみの計算定理 : V’(i,j)≧V’(i,k)+W’(k+1,j) がある k (i < k < j) について 成立すれば、すべての j’>j について V’(i,j)+W’(j+1,j’) ≧ V’(i,k)+W’(k+1,j’) が成立

V’(i,j’) の計算においては、 V’(i,j)≦V’(i,k)+W’(k+1,j) (i < k < j)

が成立する j について計算すれば良い ( j’>j )

アイデア:塩基対を作ることによりエネルギーが減る場所のみを k の候補とする

Page 25: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

アルゴリズム

}{

);,('),('

)),('),('(

;),1('),('min),('

{};

1

oldCandidateFprocedure

jLL

jiVjiW

jiWjiV

jkWkiVjiW

nij

L

ni

Lk

thenif

dotofor

dotofor V’(i,j)<W’(i,j) とな

る j のみを以降で は k の候補とし

て採用 ψ(n): 長さ n の配

列に対する L の大きさの最大値の期待値

定理 : CandidateFold は平均的に O(n2 ψ(n)) 時間で動作

妥当な現実的な仮定( polymer-zeta property )のもとでψ(n) は定数になることが知られている

⇒ RNA 二次構造予測は平均的に O(n2) 時間で実行可能

Page 26: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

単純擬似ノットつき二次構造の予測

[Akutsu: Disc. Appl. Math. 2000]

Page 27: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

擬似ノット擬似ノットi ≤h ≤j ≤k を満たす塩基対ペア (a[i],a[j]) ,(a[h],a[k]) ∈M

単純擬似ノット: 下の図に示される擬似ノット(定義は省略) 

A G A G C U

Page 28: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

単純擬似ノットに対する動的計画法 (1)もとの W(i,j) に加え、3種類のテーブルを用いるWL(i,j,k): a[i] と a[j] が塩基対をなす場合 WR(i,j,k): a[j] と a[k] が塩基対をなす場合 WM(i,j,k): a[i] , a[j], a[k] のどのペアも塩基対をなさない場合 

)1,,(),,1,(

),,1,(),,,1(

)1,,(),,1,(),,,1(

min),,(

)1,1,(

)1,1,(

)1,1,(

min])[],[(),,(

),1,1(

),1,1(

),1,1(

min])[],[(),,(

kjiWkjiW

kjiWkjiW

kjiWkjiWkjiW

kjiW

kjiW

kjiW

kjiW

kajakjiW

kjiW

kjiW

kjiW

jaiakjiW

RR

LL

MMM

M

R

M

L

R

R

M

L

L

),1(),(min

])[],[()1,1(

)1,(

),1(

),(

min),(

jkWkiW

jaiajiW

jiW

jiW

jiW

jiW

jki

pseudo

),,(),,,(),,,(min),(00

00 kjiWkjiWkjiWkiW RMLkkjii

pseudo

1,other allfor 0

),,1(),,1(),,1(

allfor ])1[],[(),,(

allfor ])[],[(),,(

000

0

jkjk

kjiWkjiWkjiW

jjajakjiW

jijaiajjiW

LLL

R

L

Page 29: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

単純擬似ノットに対する動的計画法(2)WL(i,j,k) 計算の説明

),1,1(

),1,1(

),1,1(

min])[],[(),,(

kjiW

kjiW

kjiW

jaiakjiW

R

M

L

L

より複雑な擬似ノットつき二次構造の予測木接合文法 に基づく方法 [Uemura et al.: Theoret. Comp. Sci. 1999]

O(n4) 時間、 O(n5) 時間(再帰的構造を含む場合)PKNOTS アルゴリズム [Rivas, Eddy: J. Mol. Biol. 1999]

擬似ノットを組み合わせた構造にも対応、 O(n6) 時間平面的擬似ノット: NP困難 [Akutsu: Disc. Appl. Math. 2000]

Page 30: 情報生命科学特別講義 III ( 11 )  RNA 二次構造予測

まとめ RNA 二次構造予測

動的計画法により O(n3) 時間 Valiant アルゴリズムなどの利用により少しだけ改善 Polymer-zeta property を仮定すると、平均的に O(n2) 時間

擬似ノットつき RNA 二次構造予測 計算量は対象とする擬似ノットの複雑さに依存

補足 Valiant アルゴリズムは、 RNA アラインメント・構造同時予

測問題や結合 RNA 二次構造予測問題にも適用可 [Zakov et al.: Alg. Mol. Biol. 2011]

擬似ノットなし RNA 二次構造予測の(クリークによる)下限は Ω(nω-ε) 時間 [Abboud et al.: FOCS 2015] 。現状では上限 とのギャップ。

⇒  肯定的に解決された (O(n2.8…) time) [Bringmann et al.: FOCS 2016]