情報生命科学特別講義III (7)進化系統樹推定

Slides:



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

A Simple Constant Time Enumeration Algorithm for Free Trees 中野 眞一 宇野 毅明 群馬大学 情報学研究所 2003 年 9 月 19 日 アルゴリズム研究会.
奈良女子大集中講義 バイオインフォマティクス (3) 配列アラインメント
情報生命科学特別講義III (5)配列アラインメント
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
情報生命科学特別講義III (1) 文字列マッチング
簡潔データ構造 国立情報学研究所 定兼 邦彦.
ヒープソートの演習 第13回.
近似アルゴリズム 第10章 終了時刻最小化スケジューリング
情報生命科学特別講義III (8)木構造の比較: 順序木
On the Enumeration of Colored Trees
An Algorithm for Enumerating Maximal Matchings of a Graph
分子生物情報学 動的計画法に基づく配列比較法 (ペアワイズアライメント法)
集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(3) + 数理談話会 木構造および画像データの文法圧縮
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
データ構造とアルゴリズム 第6回の2 木 ~ データ構造(3)~.
第11講: 平成18年12月 8日 (金) 4限 E352教室 グラフ (1).
ヒープソートの復習.
集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(5) 木構造データ間の編集距離
5.5 The Linear Arboricity of Graphs (グラフの線形樹化数)
二分探索木によるサーチ.
2009/10/16 いろいろなデータ構造 第3講: 平成21年10月16日 (金) 4限 E252教室 コンピュータアルゴリズム.
生物情報ソフトウェア特論 (1) 文字列マッチング・データ構造
情報生命科学特別講義III (11) RNA二次構造予測
k 個のミスマッチを許した点集合マッチング・アルゴリズム
生物情報ソフトウェア特論 (8) RNA二次構造予測
情報生命科学特別講義III (4)近似文字列マッチング
生命情報学入門 配列のつなぎ合わせと再編成
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
集中講義(東京大学)「化学システム工学特論第3」 バイオインフォマティクス的手法による 化合物の性質予測(3) 配列アライメント
情報生命科学特別講義III (2)文字列データ構造
九州大学大学院 情報学専攻特別講義 (9) ブーリアンネットワークの 解析と制御
決定木とランダムフォレスト 和田 俊和.
奈良女子大集中講義 バイオインフォマティクス (9) 相互作用推定
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
第9回 優先度つき待ち行列,ヒープ,二分探索木
九州大学大学院 情報学専攻特別講義 (3) 配列解析
生  物  数  学 斉木 里恵.
計算量理論輪講 chap5-3 M1 高井唯史.
分子生物情報学(2) 配列のマルチプルアライメント法
データ構造と アルゴリズム 第六回 知能情報学部 新田直也.
A Simple Algorithm for Generating Unordered Rooted Trees
Cプログラミング演習 第10回 二分探索木.
情報生命科学特別講義III (13) 固定パラメータアルゴリズムと 部分k木
分子生物情報学(3) 確率モデル(隠れマルコフモデル)に 基づく配列解析
阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター
九州大学大学院 情報学専攻特別講義 (6) 固定パラメータアルゴリズムと 部分k木
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
15.cons と種々のデータ構造.
生物情報ソフトウェア特論 (8) RNA二次構造予測
第16章 動的計画法 アルゴリズムイントロダクション.
第9回 優先度つき待ち行列,ヒープ,二分探索木
九州大学大学院 情報学専攻特別講義 (8) ニューラルネットワークの 離散モデル
ヒープソートの復習 第12回.
情報工学概論 (アルゴリズムとデータ構造)
2009/11/27 グラフ (1) 第9講: 平成21年11月27日 (金) 4限 E252教室 コンピュータアルゴリズム.
アルゴリズムとデータ構造 第2章 リスト構造 5月24日分
奈良女子大集中講義 バイオインフォマティクス (7) 進化系統樹
情報生命科学特別講義III (14) グラフの比較と列挙
4.プッシュダウンオートマトンと 文脈自由文法の等価性
ヒープソート.
生命情報学特論 (6) 固定パラメータアルゴリズムと 部分k木
Chapter5 Systems of Distinct Representatives
生物情報ソフトウェア特論 (4)配列解析II
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
グラフの列挙 中野 眞一    (群馬大学) 2019/9/14 列挙学校.
生物情報ソフトウェア特論 (10)固定パラメータアルゴリズムと 部分k木
集中講義(東京大学)「化学システム工学特論第3」 バイオインフォマティクス的手法による化合物の性質予測(1) バイオインフォマティクス概観
分子生物情報学(0) バイオインフォマティクス
Presentation transcript:

情報生命科学特別講義III (7)進化系統樹推定 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター

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

進化系統樹

進化系統樹 種間(もしくは遺伝子間)の進化の関係を表す木 以前は形態的特徴をもとに構成 現在は配列情報をもとに構成

有根系統樹と無根系統樹 有根系統樹: 根(共通の祖先に対応)がある系統樹 無根系統樹: 根のない系統樹 いずれも葉にのみラベル(種に対応)がつく 有根系統樹 無根系統樹 系統樹を扱う際は、頂点でなく節点という用語を使う

進化系統樹の個数

グラフの同型性 グラフ G1(V1,E1) と G2(V2,E2) が同型 ⇔ 以下を満たす V1 から V2 への1対1、上への写像 φ が存在 (∀v∊V1)(l(v)=l(φ(v)) (∀(u,v)∊E1)(l(u,v)=l(φ(u),φ(v)) (∀u,v∊V1)((u,v)∊E1 ⇔ (φ(u),φ(v))∊E2) 例 A と B は同型 A と C は同型でない D と E は同型 D と F は同型でない l(v) は頂点の、l(u,v)は辺のラベルを表す (u,v) は無向グラフの時は順番を考えない( (u,v)=(v,u) )

系統樹の個数 葉の個数と節点の個数の関係(葉の個数 = n) 無根系統樹と有根系統樹の関係 n 2n-3 根は無根系統樹の任意の枝に設定可能   ⇒ 有根系統樹の個数=(2n-3)×無根系統樹の個数 枝が 2n-3 本の無根系統樹に1本の枝を追加   ⇒ 2n-3 種類の異なる無根系統樹 #葉 #枝 (無根系統樹) #無根系統樹 #有根系統樹 3 1 4 5 3×5 7 3×5×7 6 9 3×5×7×9 … n 2n-3 (2n-5)!! (2n-3)!!

葉と節点と枝の個数の関係 命題: n 個の葉をもつ有根系統樹は 2n-1 個の節点と 2n-2 個の枝をもち、無根系統樹は 2n-2 個の節点と 2n-3 個の枝をもつ 証明: 有根系統樹についてのみ帰納法により示す。葉が2個の時は明らかに成立。葉が n 個の時、成立すると仮定。 葉を1個追加すると、枝、節点ともに2個増えるので命題が成立。 本講義では内部節点の子は常に2個であることを仮定

系統樹の個数 定理: n 個の葉をもつ同型でない有根系統樹の個数は (2n-3)!! 個、無根系統樹の個数は (2n-5)!! 個である 証明: まず無根系統樹について帰納法で示す。葉が3個の時は成立。 葉が n 個の時、成立すると仮定。 異なる枝に n+1 番目の節点を接続すると、同型でない系統樹が得られる。よって、(追加前の)枝の個数は命題より 2n-3 個なので、 (2n-3)×((2n-5)!!) = (2(n+1)-5)!! より定理が成立。 有根系統樹については n 個の葉をもつ無根系統樹の任意の枝の中点を根とすることに同型でない系統樹が得られるため、定理が成立。 n を奇数とする時、 n!!=n×(n-2)×(n-4)×・・・×1

UPGMA法

UPGMA法 (Unweighted pair group method using arithmetic averages) 距離行列法の一つ 距離行列法: 葉のペアの距離データから系統樹を構成 アルゴリズム 各配列のみからなるクラスタを作成 クラスタが2個になるまで以下を繰り返す クラスタ間距離が最小のクラスタどうしを併合 新しくできたクラスタと他のクラスタ間の距離を計算 クラスタ間距離 距離の性質

UPGMA法の例

UPGMA法の正当性 分子時計=進化速度一定性の仮定 枝長=分子時計により刻まれた時間 分子時計仮説が成立  分子時計仮説が成立    「任意の葉までの枝長の和が等しい」が任意節点について成立  ⇒UPGMA法は系統樹を正しく再構成      以下の例で、(a) は仮説を満たさないが、(b)は満たす

近隣結合法

近隣結合法(1) UPGMA法では以下の例(a)で、2と3が最初に選ばれたため、正しい系統樹を再構成できなかった 最初に、3と4、もしくは、1と2が選ばれれば良い つまり、兄弟関係(近隣関係)にある葉が選ばれれば良い 近隣結合法では(距離が加法性を満たすという仮定のもとで) 常に近隣関係にある葉を選ぶ

近隣結合法(2) 近隣結合法 加法性: 節点間の距離 = 節点間を結ぶパスの枝長の和 距離が加法性を満たせば系統樹を正しく再構成 ただし、計算されるのは無根系統樹 加法性: 節点間の距離 = 節点間を結ぶパスの枝長の和

近隣結合法(3) 加法性: 節点間の距離 = 節点間を結ぶパスの枝長の和 i と j の親を k とすると、葉 m に対し以下が成立 i k 加法性: 節点間の距離 = 節点間を結ぶパスの枝長の和 i と j の親を k とすると、葉 m に対し以下が成立 i k j m

近隣結合法: アルゴリズム M を葉集合とし、L=M とする |L|>2の間、以下を繰り返す L の中から Dij が最小となるペア (i,j) を選ぶ 新しい節点 k を作り,L 中のすべての m について                       とする k を M に追加し,k と i, j を枝で結び,枝長を                             とする i, j を L から削除し,k を L に追加する 最後に残った i, j 間に枝をはり,その長さを dij とする

アウトグループ 近隣結合法: 無根系統樹しか計算されない 無根系統樹における根の決定法 最も長い葉の間の中点を根とする 近隣結合法: 無根系統樹しか計算されない 無根系統樹における根の決定法 最も長い葉の間の中点を根とする 対象とする種と離れていることが明らかな種(アウトグループ)を追加して系統樹を作成し、アウトグループに接続する接点を根とする

最節約法

最節約法: 問題設定 最小コストの置換で各配列を生成する系統樹を計算 2種類の探索が必要 系統樹の形状(トポロジー) ⇒ 難しい 系統樹の形状(トポロジー)   ⇒ 難しい 内部節点への配列の割り当て ⇒ 動的計画法で計算可能

最節約法: アルゴリズム Sk(a) : 節点 k に塩基 a を割り当てた時のコスト S(a,b) : a を b に置換するためのコスト 配列割り当ては各位置ごとに独立に計算可能 k が内部節点の場合(i,j は k の子節点) k が葉の場合

最節約法: 実行例

最大合致部分系統樹

最大合致部分系統樹 (maximum agreement subtree) 系統樹推定には様々な方法 ⇒ 複数の系統樹を統合 一部の種だけを考えることにより、複数の系統樹から共通の系統樹を得る(⇒種の数の最大化) 入力: 同じラベル集合{1,2,…,n}を持つ有根系統樹 T1,T2,…,TN 出力: Ti|B がすべて同型となる要素数最大の B Ti|B: B に含まれない葉とそれに接続する枝を削除し、さらに子が一つになった内部節点を繰り返し縮約して得る ⇒ B={1,3,5,6,8} 葉の順番は左から右へと並び、保存されると仮定

最小共通祖先 (LCA: Least Common Ancestor) lcai(a,b): a,b をラベルにもつ葉の共通の祖先で最も根から遠いもの 半順序: 節点 u が節点 v の子孫 ⇔ LCAの例 □: lcai(2,3) ○: lcai(4,7) △: lcai(5,7)

動的計画法アルゴリズム a≠b として L(a,b), R(a,b) を次のように定義 すべての a≠b に対して、W(a,b) を動的計画法で計算 ただし、 L(a,b), R(a,b) のいずれかが空の時は、W(a,b)=-∞ すると、 B はトレースバックで 計算可能

動的計画法の例 下図の例に対する計算例(一部分) B={1,3,5,6,8}

時間計算量の解析 定理: 最大合致部分系統樹問題は O(n3N) 時間で計算可能 証明: 正当性の証明は省略。 O(n2) 個の (a,b) と N 個の系統樹について 、LCAを計算するのにかかる時間の合計は O(n2N) 。 L(a,b)(およびR(a,b))1個あたりの要素数は O(n)であり、あらかじめ lcai(a,b)間の半順序関係の表を作っておけば、全体で O(n3N) 時間。 W(a,b) は全体で O(n3) 時間で計算可能。 子頂点の数が制約されない一般の場合は NP困難

まとめ 補足 系統樹の個数: 無根系統樹で (2n-5)!! 有根系統樹で (2n-3)!! 距離行列法 UPGMA法: 最小距離のクラスタを結合 近隣結合法: 近隣の節点を結合 最節約法: 置換コストが最小の系統樹を計算 最大合致部分系統樹: 複数の系統樹の比較 補足 最尤法に基づく方法も数多く研究 近隣結合法は O(n3) 時間かかるが、この定式化自体における本質的な改善は研究課題と思われる [Simonsen et al.: Proc. WABI 2008] 近年では系統ネットワークについて数多くの研究 系統樹を(ある制約のもとので)複数の親を許すように拡張 合致部分系統樹問題についても数多くの研究 出次数が2の場合(binary tree)に O(Nn2)時間でできるかは研究課題 [Lee et al.:IPL 2005]