集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(5) 木構造データ間の編集距離

Slides:



Advertisements
Similar presentations
組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
Advertisements

奈良女子大集中講義 バイオインフォマティクス (3) 配列アラインメント
動的計画法を用いたアラインメント  小菅孝史.
情報生命科学特別講義III (5)配列アラインメント
生命情報学基礎論 (2) 配列の比較と相同性検索
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
木構造および化学構造に対する特徴ベクトル: 埋め込み、検索、構造推定
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
4.3 マージソート.
情報生命科学特別講義III (1) 文字列マッチング
2 分探索木 Binary Search Tree 実行可能な操作 計算量 木の高さは,最悪 O(n) n = |A| : 要素の個数
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
情報生命科学特別講義III (8)木構造の比較: 順序木
On the Enumeration of Colored Trees
Permutationグラフと Distance-Hereditaryグラフの 再構築アルゴリズム
分子生物情報学 動的計画法に基づく配列比較法 (ペアワイズアライメント法)
奈良女子大集中講義 バイオインフォマティクス (6) モチーフ発見・隠れマルコフモデル
集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(3) + 数理談話会 木構造および画像データの文法圧縮
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
京都大学 化学研究所 バイオインフォマティクスセンター
データ構造とアルゴリズム 第6回の2 木 ~ データ構造(3)~.
情報生命科学特別講義III (7)進化系統樹推定
配列および化合物データ解析のためのカーネル法
7-3.高度な木 (平衡木) AVL木 平衡2分木。回転操作に基づくバランス回復機構により平衡を保つ。 B木
2009/10/16 いろいろなデータ構造 第3講: 平成21年10月16日 (金) 4限 E252教室 コンピュータアルゴリズム.
生物情報ソフトウェア特論 (1) 文字列マッチング・データ構造
情報生命科学特別講義III (11) RNA二次構造予測
k 個のミスマッチを許した点集合マッチング・アルゴリズム
生物情報ソフトウェア特論 (8) RNA二次構造予測
集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(4) ブーリアンネットワーク
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
集中講義(東京大学)「化学システム工学特論第3」 バイオインフォマティクス的手法による 化合物の性質予測(3) 配列アライメント
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
九州大学大学院 情報学専攻特別講義 (9) ブーリアンネットワークの 解析と制御
奈良女子大集中講義 バイオインフォマティクス (9) 相互作用推定
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
アルゴリズムとデータ構造 第3章 ヒープ 6月10日分
第9回 優先度つき待ち行列,ヒープ,二分探索木
九州大学大学院 情報学専攻特別講義 (3) 配列解析
計算量理論輪講 chap5-3 M1 高井唯史.
分子生物情報学(2) 配列のマルチプルアライメント法
A Simple Algorithm for Generating Unordered Rooted Trees
情報生命科学特別講義III (13) 固定パラメータアルゴリズムと 部分k木
分子生物情報学(3) 確率モデル(隠れマルコフモデル)に 基づく配列解析
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
九州大学大学院 情報学専攻特別講義 (2) 配列アラインメント
九州大学大学院 情報学専攻特別講義 (4) RNA二次構造予測
九州大学大学院 情報学専攻特別講義 (6) 固定パラメータアルゴリズムと 部分k木
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
生物情報ソフトウェア特論 (8) RNA二次構造予測
第16章 動的計画法 アルゴリズムイントロダクション.
第9回 優先度つき待ち行列,ヒープ,二分探索木
九州大学大学院 情報学専攻特別講義 (8) ニューラルネットワークの 離散モデル
情報工学概論 (アルゴリズムとデータ構造)
アルゴリズムとデータ構造 第2章 リスト構造 5月24日分
奈良女子大集中講義 バイオインフォマティクス (7) 進化系統樹
情報生命科学特別講義III (14) グラフの比較と列挙
11.動的計画法と擬多項式時間アルゴリズム.
4.プッシュダウンオートマトンと 文脈自由文法の等価性
ヒープソート.
生命情報学特論 (6) 固定パラメータアルゴリズムと 部分k木
生物情報ソフトウェア特論 (4)配列解析II
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
生物情報ソフトウェア特論 (10)固定パラメータアルゴリズムと 部分k木
集中講義(東京大学)「化学システム工学特論第3」 バイオインフォマティクス的手法による化合物の性質予測(1) バイオインフォマティクス概観
配列解析アルゴリズム特論 配列アライメントI
分子生物情報学(0) バイオインフォマティクス
グラフの帯域幅連続多重彩色 を求めるアルゴリズム (Bandwidth Consective Multicolorings of Graphs) 西関研究室 西川和秀.
Presentation transcript:

集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(5) 木構造データ間の編集距離 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター

内容 文字間の編集距離とアラインメント 木の編集距離 順序木に対する多項式時間アルゴリズム オイラー文字列による木の編集距離の近似 無順序木に対する固定パラメータアルゴリズム

背景

背景 配列のパターンマッチング 木構造のパターンマッチング バイオインフォマティクスの最重要基本技術の一つ バイオインフォマティクス RNA構造の比較、糖鎖構造の比較 XMLデータベース 類似XML文書の検索 画像理解

配列検索 バイオインフォマティクスにおける基本原理 配列検索の利用法 配列が似ていれば機能も似ている ただし、例外はある 実験を行い機能未知の配列が見つかった データベース中で類似の配列を検索 機能既知の類似の配列が見つかれば、その配列と似た機能を持つと推定

RNA二次構造 RNAでは一部の塩基対が結合している  ⇒ RNA二次構造

RNA二次構造の木表現

文字間の編集距離と 配列アラインメント

文字列の編集距離 G C T A s1 = GCGTCGT s2 = CGATCCTC ー 編集操作 文字の追加 文字の削除 文字の置換 編集距離 = 文字列 s1 を s2 に変換するための最小の編集操作回数 距離の公理を満たす s1 = GCGTCGT s2 = CGATCCTC G C ー T A ⇒ 距離=4 アラインメント

配列アラインメント バイオインフォマティクスの最重要技術の一つ 2個もしくは3個以上の配列の類似性の判定に利用 2個の配列に対するアラインメントは編集距離とほとんど同じ 文字間の最適な対応関係を求める(最適化問題) 配列長を同じにするように、ギャップ記号(挿入、欠失に対応)を挿入

ペアワイズ・アラインメント 配列が2個の場合でも可能なアラインメントの個数は指数オーダー しかし、スコア最大となるアライメント(最適アライメント)は動的計画法により、O(n2)時間で計算可能(n:入力配列のうち長い方の長さ)

ギャップペナルティ 線形コスト -gd アフィンギャップコスト –d – e(g-1) g: ギャップ長 d: ギャップペナルティ d: ギャップ開始ペナルティ e: ギャップ伸張ペナルティ この図の例では、コスト= -d - 2e よく利用されるペナルティ (d,e)=(12,2),(11,1)

スコア行列 残基間(アミノ酸文字間)の類似性を表す行列 PAM250, BLOSUM45 など

動的計画法による大域アラインメント(1) 入力文字列から格子状グラフを構成 アライメントと左上から右下へのパスが一対一対応 最長経路=最適アライメント

動的計画法による大域アラインメント(2) ⇒ O(mn)時間 DP (動的計画法)による 最長経路(スコア)の計算 行列からの経路の復元は、 F(m,n)からmaxで=となっている F(i,j)を逆にたどることに行う (トレースバック)

動的計画法による編集距離の計算 アラインメント: 配列が類似 ⇔ スコアは大 編集距離: 配列が類似 ⇔ 距離は小 アラインメント計算 アラインメント: 配列が類似 ⇔ スコアは大 編集距離: 配列が類似 ⇔ 距離は小 アラインメント計算 編集距離計算

木の編集距離

木構造の比較 部分グラフに基づく最大共通部分木 編集距離に基づく最大共通部分木 講義で示すアルゴリズム 順序木:O(n2)時間 無順序木: O(n2.5/log n)時間 編集距離に基づく最大共通部分木 順序木: O(n3)時間 無順序木:NP困難(MAX SNP困難) 講義で示すアルゴリズム 順序木に対するO(n4)時間アルゴリズム 順序木に対するO(n2)時間近似アルゴリズム 無順序木に対する固定パラメータアルゴリズム          (O(f(k) poly(n))時間アルゴリズム) n: 二つの入力木のうち、大きい方の頂点数

順序木の編集距離計算 上限 下限 O(n6)時間 [K-C.Tai, 1979] O(n4)時間 [K. Zhang & D. Shasha, 1989] O(n3log n)時間 [P. N. Klein, 1998] O(n3)時間 [E. Demaine et al., 2007] 下限 Ω (n3)時間 [E. Demaine et al., 2007] (ただし、decomposition strategy algorithms の枠内)

無順序木の編集距離計算 編集距離 最大共通部分木 NP困難 [K. Zhang, R. Statman, D. Shasha, 1992] MAX SNP困難 [K. Zhang & T. Jiang, 1994] 高さが h の時、2h+2近似 [Fukagawa et al., 2009] 最大共通部分木 一方が高さ1の木で、もう一方が高さ2の木でも    定数近似困難 [M. M. Halldorsson & K. Tanaka, 1996] O(log 2n)近似 [M. M. Halldorsson & K. Tanaka, 1996] 高さが h の時、2h 近似 [M. M. Halldorsson & K. Tanaka, 1996] 1.5h 近似に改良 [Akutsu et al., 2008]

木の編集距離 編集距離: T1 を T2 に変換するのに要する編集操作の最小回数 削除: 頂点 v を削除し、v の子を v の親の子とする 挿入: 削除の逆 置換: 頂点 v のラベルを置き変える (無順序木では、子の左右を入れ替えてもOK) A B C D T1 A B D T2 C を削除 C を挿入

木の編集距離 文字列間の編集距離の 根つき木への拡張 3種類の編集操作 T1, T2 間の 編集距離 頂点ラベルの置換、頂点の削除、 頂点の挿入 T1, T2 間の 編集距離 T1 を T2 に変えるのに必要な 最小の編集 操作回数

木の編集距離と木間写像 T1, T2 間の写像 編集距離の計算 1対1、親子関係を保存  木の編集距離と木間写像 T1, T2 間の写像 1対1、親子関係を保存 コスト: ラベルが異なる頂点数 + 写像に含まれない頂点数 編集距離の計算 順序木(子の順序を保存): 動的計画法により、多項式時間 無順序木: NP困難

木間写像と最大共通部分木 木間写像: 以下を満たす写像 最大共通部分木 編集距離と最大共通部分木の関係  の要素数が最大となる Mid により誘導される部分木 編集距離と最大共通部分木の関係 編集距離 =

木間写像と最大共通部分木の例 T1 T2 最大共通部分木

順序木に対する 多項式時間アルゴリズム

動的計画法アルゴリズム(1) D(F1,F2) 森 F1 と森 F2 の編集距離 森: 木の集合(ここでは木の順序集合) 森: 木の集合(ここでは木の順序集合) w(x,y)はラベル x から y への置換コスト  (- はギャップ)

動的計画法アルゴリズム(2)

動的計画法アルゴリズムの解析 各再帰ステップ1回あたりは定数時間で実行可能 よって、異なる D(F1,F2) の個数を見積もれば良い F1は、各頂点 v を根とする部分木から一番右上にある子頂点を繰り返し削除して得られる ⇒ v の選び方がO(n), 削除の回数がO(n)より、   異なる F1 の個数はO(n2) 異なる D(F1,F2) の個数は   O(n4) ⇒ O(n4) 時間

順序木の編集距離の O(h) 近似アルゴリズム

オイラー文字列 木を深さ優先探索 探索した順に頂点のラベルを並べる ただし、戻る時のラベルは の様に区別する ただし、戻る時のラベルは の様に区別する 命題: T1 と T2 が同型 iff es(T1)=es(T2) ただし、根のラベルは無視

アルゴリズム 定理 T1, T2 をオイラー文字列 s1, s2 に変換 s1, s2間の編集距離 EDS(s1,s2) を計算して出力 h: 低い方の木の高さ

文字列の編集距離 G C T A s1 = GCGTCGT s2 = CGATCCTC ー 編集操作 文字の追加 文字の削除 文字の置換 編集距離 = 文字列 s1 を s2 に変換するための最小の編集操作回数 距離の公理を満たす s1 = GCGTCGT s2 = CGATCCTC G C ー T A ⇒ 距離=4 アラインメント

命題 T1に対する1編集操作 ⇒ s1 に対する2編集操作 B C D T1 T2 s2: s1: E

アラインメントからの写像の復元 アラインメントから両者において完全に保存されている部分木のみを抽出

上限の解析(1) 命題:途中に編集操作の入らない部分木どおしを対応させると正当な木間写像になる 証明:部分木どおしは親子関係に無く、かつ、オイラー文字列を利用しているので左右の関係が保存される A B

上限の解析(2) 文字列アライメントにおける1個のエラーが高さ×2個(T1と T2 )の頂点の対応関係を損なう

定理 [Akutsu, IPL 2006]

無順序木に対する 固定パラメータアルゴリズム

固定パラメータアルゴリズム NP困難問題への対処法 近似アルゴリズム 固定パラメータアルゴリズム 指数時間アルゴリズム(O(an)で底aを小さくする) 平均的に高速なアルゴリズム ヒューリスティックなアルゴリズム あるパラメータ k があり、O(f(k)poly(n)) 時間で動作 f(k) は指数時間、poly(n) は多項式時間 k に対しては指数時間(もしくは、超指数時間) n に対しては多項式時間

補題 T1 , T2 の根を r1 , r2 とし、 dist(T1(u), T2(v))>0 がすべての u∊chd(r1), v∊chd(r2) について成立すると仮定する。 ここで、u を |Ti(u)| が最大となる r1 もしくは r2 の子とし、M を編集距離を与える写像とすると、以下の一つが成立( u∊chd(r1) と仮定)。 ・ u は M に出現しない (u を削除) ・ (u,v)∊M かつ dist(T1(u), T2(v))>0 が、 v∊chd(r2) に対して成立 ・ (u,v)∊M かつ dist(T1(u), T2(v))>0 が、 子以外の子孫に対して成立

補題 xi ∊chd(r1), yj ∊chd(r2)、かつ、T1 (xi) と T2 (yj) が同型なら、 dist(T1, T2) = dist(T1-T1(xi), T2-T2(yj ))

アルゴリズムの概要 根のペアから再帰的に実行 同型な子頂点ペアがあれば削除 それぞれの木の子頂点の個数が k 個以下の間は、大きい順に子頂点を1個ずつ追加 追加の際には、その子頂点の削除の場合も再帰的に考慮 子頂点を追加できなくなったらば、最小重みマッチングにより、子頂点間の対応関係を計算

計算量の解析 (2) FpDistは、すべての頂点ペアについてボトムアップに実行: O(n2)倍 計算量の解析 (2) FpDistは、すべての頂点ペアについてボトムアップに実行: O(n2)倍 距離は 0 から k のそれぞれについて実行: O(n)倍 よって、全体の計算時間は 定理: 二つの無順序木の編集距離が k 以内かどうかは O(2k・k!・n6)時間で判定可能 [Akutsu et al., SIGAL Tech. Rep., 2010]

まとめ 配列アラインメント 順序木の編集距離 無順序木の編集距離 バイオインフォマティクスの基本技術 動的計画法によるO(n2)時間アルゴリズム 順序木の編集距離 O(n4)時間動的計画法アルゴリズム       (O(n3)時間に改良可能) O(n2)時間O(h)近似アルゴリズム 無順序木の編集距離 固定パラメータアルゴリズム       (O(2.62k・poly(n))に改良可能)