20141211柏セミナー

Post on 20-Jul-2015

424 views 4 download

Transcript of 20141211柏セミナー

ゲノム時代の分子系統学と計算機科学の

あり方水産総合研究センター中央水産研究所田辺晶史 2014 年 12 月 11 日

GWASは必ず多種系へ拡張される

GWASは必ず多種系へ拡張される

● 表現型 A のある個体とない個体の比較で表現型の原因遺伝子を探る

GWASは必ず多種系へ拡張される

● 表現型 A のある個体とない個体の比較で表現型の原因遺伝子を探る● 表現型 A あるなしという種内多型があって初めて可能なアプローチ

GWASは必ず多種系へ拡張される

● 表現型 A のある個体とない個体の比較で表現型の原因遺伝子を探る● 表現型 A あるなしという種内多型があって初めて可能なアプローチ● 「種内多型がない表現型」の原因遺伝子はどうやって探る ?

GWASは必ず多種系へ拡張される

● 表現型 A のある個体とない個体の比較で表現型の原因遺伝子を探る● 表現型 A あるなしという種内多型があって初めて可能なアプローチ● 「種内多型がない表現型」の原因遺伝子はどうやって探る ?

➔ 2 種間比較・ 3 種以上の多種間比較が必要

GWASは必ず多種系へ拡張される

● 表現型 A のある個体とない個体の比較で表現型の原因遺伝子を探る● 表現型 A あるなしという種内多型があって初めて可能なアプローチ● 「種内多型がない表現型」の原因遺伝子はどうやって探る ?

➔ 2 種間比較・ 3 種以上の多種間比較が必要➔ 3 種以上の多種間比較では、系統関係を考慮した方がよい

系統関係を考慮しないと偽陽性が増加する

系統関係を考慮しないと偽陽性が増加する山道・印南( 2009 )

1 種 1 集団の場合

系統関係を考慮しないと偽陽性が増加する山道・印南( 2009 )

1 種 1 集団の場合「当たり」の SNP と周辺のみ P 小

系統関係を考慮しないと偽陽性が増加する山道・印南( 2009 )

1 種 1 集団の場合「当たり」の SNP と周辺のみ P 小

1 種複数集団の場合

系統関係を考慮しないと偽陽性が増加する山道・印南( 2009 )

1 種 1 集団の場合「当たり」の SNP と周辺のみ P 小

1 種複数集団の場合「当たり」の SNP が P 最小だが、離れた SNP も P が小さい(複数種でも同様)

系統関係を考慮しないと偽陽性が増加する山道・印南( 2009 )

1 種 1 集団の場合「当たり」の SNP と周辺のみ P 小

1 種複数集団の場合「当たり」の SNP が P 最小だが、離れた SNP も P が小さい(複数種でも同様)→周辺しか読めてない場合は

特定不可能

系統樹推定は多重推定・モデル選択問題

系統樹推定は多重推定・モデル選択問題

● 系統樹推定の手順は

系統樹推定は多重推定・モデル選択問題

● 系統樹推定の手順は1. 仮の系統樹に固定してアライメント

系統樹推定は多重推定・モデル選択問題

● 系統樹推定の手順は1. 仮の系統樹に固定してアライメント2. 仮の系統樹に固定して分子進化モデルを選択

系統樹推定は多重推定・モデル選択問題

● 系統樹推定の手順は1. 仮の系統樹に固定してアライメント2. 仮の系統樹に固定して分子進化モデルを選択3. アライメントと分子進化モデルを固定して樹形を選択

系統樹推定は多重推定・モデル選択問題

● 系統樹推定の手順は1. 仮の系統樹に固定してアライメント2. 仮の系統樹に固定して分子進化モデルを選択3. アライメントと分子進化モデルを固定して樹形を選択4. ブートストラップ値 or ベイズ事後確率で信頼性評価

系統樹推定は多重推定・モデル選択問題

● 系統樹推定の手順は1. 仮の系統樹に固定してアライメント2. 仮の系統樹に固定して分子進化モデルを選択3. アライメントと分子進化モデルを固定して樹形を選択4. ブートストラップ値 or ベイズ事後確率で信頼性評価

見えない不確実性が蓄積

ベイズ統計学が同時推定を実現する ?

ベイズ統計学が同時推定を実現する ?

● ベイズ推定では以下の同時推定計算が可能

ベイズ統計学が同時推定を実現する ?

● ベイズ推定では以下の同時推定計算が可能● アライメント

ベイズ統計学が同時推定を実現する ?

● ベイズ推定では以下の同時推定計算が可能● アライメント● 分子進化モデル選択

ベイズ統計学が同時推定を実現する ?

● ベイズ推定では以下の同時推定計算が可能● アライメント● 分子進化モデル選択● 樹形選択

ベイズ統計学が同時推定を実現する ?

● ベイズ推定では以下の同時推定計算が可能● アライメント● 分子進化モデル選択● 樹形選択● 信頼性

ベイズ統計学が同時推定を実現する ?

● ベイズ推定では以下の同時推定計算が可能● アライメント● 分子進化モデル選択● 樹形選択● 信頼性

● 「種の系統樹」と「遺伝子の系統樹」を分けた同時推定も可能

ベイズ統計学が同時推定を実現する ?

● ベイズ推定では以下の同時推定計算が可能● アライメント● 分子進化モデル選択● 樹形選択● 信頼性

● 「種の系統樹」と「遺伝子の系統樹」を分けた同時推定も可能● 系統樹の途中で変化する分子進化モデルも適用可能

ベイズ統計学が同時推定を実現する ?

● ベイズ推定では以下の同時推定計算が可能● アライメント● 分子進化モデル選択● 樹形選択● 信頼性

● 「種の系統樹」と「遺伝子の系統樹」を分けた同時推定も可能● 系統樹の途中で変化する分子進化モデルも適用可能

多重推定・モデル選択問題が解決さらに現実的なモデルも適用可能に

系統樹の尤度

系統樹の尤度

● 尤度は「モデルを仮定したときに観測されたデータが実現する確率」

to

from

A

A

C G T

C

G

T

RAC

πC

RAG

πG

RAT

πT

RCG

πC

RGT

πG

RGT

πT

RCG

πG

RCT

πT

RAC

πA

RAG

πA

RAT

πT

RCT

πC

種 A

種 B

種 C

種 D

種 A AGCTCGCTAGCT種 B ACCTCTCTACCT種 C ATTTGTCTGTCT種 D ATTTGGCTGATT

モデル データ

系統樹の尤度

● 尤度は「モデルを仮定したときに観測されたデータが実現する確率」● 塩基配列に対する系統樹・分子進化モデルの適合度を表す

to

from

A

A

C G T

C

G

T

RAC

πC

RAG

πG

RAT

πT

RCG

πC

RGT

πG

RGT

πT

RCG

πG

RCT

πT

RAC

πA

RAG

πA

RAT

πT

RCT

πC

種 A

種 B

種 C

種 D

種 A AGCTCGCTAGCT種 B ACCTCTCTACCT種 C ATTTGTCTGTCT種 D ATTTGGCTGATT

モデル データ

系統樹の尤度

● 尤度は「モデルを仮定したときに観測されたデータが実現する確率」● 塩基配列に対する系統樹・分子進化モデルの適合度を表す● サイトごとに計算して掛け合わせる ( 実際には対数を取って足し合わせる )

種 A A G C T C G C T A G C T種 B A C C T C T C T A C C T種 C A T T T G T C T G T C T種 D A T T T G G C T G A T TlnL -5 -3 -9 -8 -5 -7 -5 -5 -4 -6 -4 -5

系統樹の尤度

● 尤度は「モデルを仮定したときに観測されたデータが実現する確率」● 塩基配列に対する系統樹・分子進化モデルの適合度を表す● サイトごとに計算して掛け合わせる ( 実際には対数を取って足し合わせる )● サイトの尤度は分岐点が A,C,G,T それぞれの場合で算出して足し合わせる

種 A

種 B

種 C

種 D

1 2

分岐点 1 ・ 2 が A ・ A の場合分岐点 1 ・ 2 が A ・ T の場合分岐点 1 ・ 2 が A ・ C の場合分岐点 1 ・ 2 が A ・ G の場合分岐点 1 ・ 2 が T ・ A の場合分岐点 1 ・ 2 が T ・ T の場合分岐点 1 ・ 2 が T ・ C の場合分岐点 1 ・ 2 が T ・ G の場合

分岐点 1 ・ 2 が C ・ A の場合分岐点 1 ・ 2 が C ・ T の場合分岐点 1 ・ 2 が C ・ C の場合分岐点 1 ・ 2 が C ・ G の場合分岐点 1 ・ 2 が G ・ A の場合分岐点 1 ・ 2 が G ・ T の場合分岐点 1 ・ 2 が G ・ C の場合分岐点 1 ・ 2 が G ・ G の場合

系統樹の尤度

● 尤度は「モデルを仮定したときに観測されたデータが実現する確率」● 塩基配列に対する系統樹・分子進化モデルの適合度を表す● サイトごとに計算して掛け合わせる ( 実際には対数を取って足し合わせる )● サイトの尤度は分岐点が A,C,G,T それぞれの場合で算出して足し合わせる● RXY ・ πX ・枝長は数値計算により最適化

to

from

A

A

C G T

C

G

T

RAC

πC

RAG

πG

RAT

πT

RCG

πC

RGT

πG

RGT

πT

RCG

πG

RCT

πT

RAC

πA

RAG

πA

RAT

πT

RCT

πC

種 A

種 B

種 C

種 D

種 A AGCTCGCTAGCT種 B ACCTCTCTACCT種 C ATTTGTCTGTCT種 D ATTTGGCTGATT

モデル データ

山登り法による局所探索

初期樹形

山登り法による局所探索

初期樹形樹形改変によって探索される範囲

山登り法による局所探索

初期樹形樹形改変によって探索される範囲

山登り法による局所探索

初期樹形樹形改変によって探索される範囲

山登り法による局所探索

初期樹形樹形改変によって探索される範囲

仮の最尤系統樹を更新していく

山登り法による局所探索

初期樹形樹形改変によって探索される範囲

仮の最尤系統樹を更新していく

山登り法による局所探索

初期樹形樹形改変によって探索される範囲

仮の最尤系統樹を更新していく

それ以上尤度が高いものが見つからない

山登り法による局所探索

初期樹形樹形改変によって探索される範囲

仮の最尤系統樹を更新していく

それ以上尤度が高いものが見つからない 終了

樹形改変による周辺樹形の探索

樹形改変による周辺樹形の探索

1. 動かす分岐点を選ぶ

樹形改変による周辺樹形の探索

1. 動かす分岐点を選ぶ2. 分岐点を任意の枝にスライドさせて動かす

樹形改変による周辺樹形の探索

1. 動かす分岐点を選ぶ2. 分岐点を任意の枝にスライドさせて動かす

樹形改変による周辺樹形の探索

1. 動かす分岐点を選ぶ2. 分岐点を任意の枝にスライドさせて動かす● 隣の枝にのみ動かすのが Nearest-Neighbor-Interchange (NNI)

樹形改変による周辺樹形の探索

1. 動かす分岐点を選ぶ2. 分岐点を任意の枝にスライドさせて動かす● 隣の枝にのみ動かすのが Nearest-Neighbor-Interchange (NNI)● 隣の枝に限らず動かすのが Subtree-Pruning-Regrafting (SPR)

樹形改変による周辺樹形の探索

1. 動かす分岐点を選ぶ2. 分岐点を任意の枝にスライドさせて動かす● 隣の枝にのみ動かすのが Nearest-Neighbor-Interchange (NNI)● 隣の枝に限らず動かすのが Subtree-Pruning-Regrafting (SPR)● 内分枝の両端の分岐を動かすのが Tree-Bisection-Reconnection (TBR)

SPRの探索範囲

SPRの探索範囲

初期樹形 SPR によって探索される範囲

局所探索の反復により探索範囲拡大

局所探索の反復により探索範囲拡大

最尤系統樹推定では探索した中で尤度最大の樹形を選ぶ

最尤系統樹推定は推定ではなくモデル選択

ベイズ系統樹推定における MCMC (Metropolis-Hastings)

ベイズ系統樹推定における MCMC (Metropolis-Hastings)

パラメータ初期化 定常状態に入る つづく

1. 初期値を決めて尤度計算 ( ベイズ法では樹形もパラメータ )

ベイズ系統樹推定における MCMC (Metropolis-Hastings)

パラメータを無作為選択

パラメータ初期化 定常状態に入る つづく

1. 初期値を決めて尤度計算 ( ベイズ法では樹形もパラメータ )

2. 無作為に選んだパラメータを提案分布に基づいて変更し、採択 (or 棄却 )

ベイズ系統樹推定における MCMC (Metropolis-Hastings)

パラメータを無作為選択パラメータの変更提案

パラメータ初期化

提案分布

定常状態に入る つづく

1. 初期値を決めて尤度計算 ( ベイズ法では樹形もパラメータ )

2. 無作為に選んだパラメータを提案分布に基づいて変更し、採択 (or 棄却 )

ベイズ系統樹推定における MCMC (Metropolis-Hastings)

パラメータを無作為選択パラメータの変更提案

採択または却下

パラメータ初期化

提案分布

定常状態に入る つづく

1. 初期値を決めて尤度計算 ( ベイズ法では樹形もパラメータ )

2. 無作為に選んだパラメータを提案分布に基づいて変更し、採択 (or 棄却 )

ベイズ系統樹推定における MCMC (Metropolis-Hastings)

パラメータを無作為選択パラメータの変更提案

採択または却下

パラメータ初期化サンプル サンプル

提案分布

定常状態に入る つづく

1. 初期値を決めて尤度計算 ( ベイズ法では樹形もパラメータ )

2. 無作為に選んだパラメータを提案分布に基づいて変更し、採択 (or 棄却 )

3. 適当な間隔を空けてサンプリング

ベイズ系統樹推定における MCMC (Metropolis-Hastings)

パラメータを無作為選択パラメータの変更提案

採択または却下

パラメータ初期化サンプル サンプル

提案分布

定常状態に入る つづく

1. 初期値を決めて尤度計算 ( ベイズ法では樹形もパラメータ )

2. 無作為に選んだパラメータを提案分布に基づいて変更し、採択 (or 棄却 )

3. 適当な間隔を空けてサンプリング4. 定常状態に入る前のサンプルを Burn-In して、残りで事後分布を得る

MCMCにおける樹形空間内の移動

MCMCにおける樹形空間内の移動

MCMCにおける樹形空間内の移動

MCMCにおける樹形空間内の移動

MCMCにおける樹形空間内の移動

MCMCMC (MC3)による効率化

MCMCMC (MC3)による効率化

● 制約の緩い ( 温度の高い ) MCMC を同時に走らせる

低温

高温過激な提案

穏当な提案

MCMCMC (MC3)による効率化

● 制約の緩い ( 温度の高い ) MCMC を同時に走らせる● 無作為に選んだ MCMC の組み合わせでパラメータ状態の交換を試行する

低温

高温過激な提案

穏当な提案

MCMCMC (MC3)による効率化

● 制約の緩い ( 温度の高い ) MCMC を同時に走らせる● 無作為に選んだ MCMC の組み合わせでパラメータ状態の交換を試行する● 高温の方が尤度が高ければ採択、尤度が低くても尤度比に応じて採択する

低温

高温過激な提案

穏当な提案

MCMCMC (MC3)による効率化

サンプル サンプル● 制約の緩い ( 温度の高い ) MCMC を同時に走らせる● 無作為に選んだ MCMC の組み合わせでパラメータ状態の交換を試行する● 高温の方が尤度が高ければ採択、尤度が低くても尤度比に応じて採択する● 低温の MCMC からのみサンプリングする

低温

高温過激な提案

穏当な提案

MCMCでは前の状態に依存して今の状態が決まる

計算機の進化の歴史

計算機の進化の歴史

● フリーランチの時代( 2000 年代前半まで)

計算機の進化の歴史

● フリーランチの時代( 2000 年代前半まで)● 「命令レベル並列性」の向上

計算機の進化の歴史

● フリーランチの時代( 2000 年代前半まで)● 「命令レベル並列性」の向上● 動作周波数の向上

計算機の進化の歴史

● フリーランチの時代( 2000 年代前半まで)● 「命令レベル並列性」の向上● 動作周波数の向上● プログラムは実行バイナリそのままで高速化した

計算機の進化の歴史

● フリーランチの時代( 2000 年代前半まで)● 「命令レベル並列性」の向上● 動作周波数の向上● プログラムは実行バイナリそのままで高速化した

● フリーランチ後

計算機の進化の歴史

● フリーランチの時代( 2000 年代前半まで)● 「命令レベル並列性」の向上● 動作周波数の向上● プログラムは実行バイナリそのままで高速化した

● フリーランチ後● 「スレッドレベル並列性」の向上(使える CPU コアの増加)

計算機の進化の歴史

● フリーランチの時代( 2000 年代前半まで)● 「命令レベル並列性」の向上● 動作周波数の向上● プログラムは実行バイナリそのままで高速化した

● フリーランチ後● 「スレッドレベル並列性」の向上(使える CPU コアの増加)● 「データレベル並列性」の向上( SSE や AVX などのベクトル命令追加)

計算機の進化の歴史

● フリーランチの時代( 2000 年代前半まで)● 「命令レベル並列性」の向上● 動作周波数の向上● プログラムは実行バイナリそのままで高速化した

● フリーランチ後● 「スレッドレベル並列性」の向上(使える CPU コアの増加)● 「データレベル並列性」の向上( SSE や AVX などのベクトル命令追加)● 性能を引き出すにはプログラムを作り直す必要がある

プログラムは並列処理に対応しなくてはならない

並列処理の並列度と粒度

並列処理の並列度と粒度

粗粒粗粒 細粒細粒

並列処理の並列度と粒度

● 処理を細かく分割するほど並列度を上げやすい

粗粒粗粒 細粒細粒

並列処理の並列度と粒度

● 処理を細かく分割するほど並列度を上げやすい● 処理が粗いほど並列度は低くなる

粗粒粗粒 細粒細粒

並列処理の並列度と粒度

● 処理を細かく分割するほど並列度を上げやすい● 処理が粗いほど並列度は低くなる● 処理の分割にはオーバーヘッドがある

粗粒粗粒 細粒細粒

並列処理の並列度と粒度

● 処理を細かく分割するほど並列度を上げやすい● 処理が粗いほど並列度は低くなる● 処理の分割にはオーバーヘッドがある● 細かくし過ぎると処理に対してオーバーヘッドの比率が大きくなり、並列度が上がっても速度が上がらない

粗粒粗粒 細粒細粒

並列処理におけるボトルネック

並列処理におけるボトルネック

● 処理の分割(子スレッドの生成)のオーバーヘッド

並列処理におけるボトルネック

● 処理の分割(子スレッドの生成)のオーバーヘッド● スレッド間・プロセス間通信のレイテンシ

並列処理におけるボトルネック

● 処理の分割(子スレッドの生成)のオーバーヘッド● スレッド間・プロセス間通信のレイテンシ

● 通信の開始に必要なオーバーヘッド

並列処理におけるボトルネック

● 処理の分割(子スレッドの生成)のオーバーヘッド● スレッド間・プロセス間通信のレイテンシ

● 通信の開始に必要なオーバーヘッド● 10MB を 1回送信するより 1MB を 10回送信する方が 10倍大きくなる

並列化で高速化するには適度な粒度通信回数の抑制

が肝要

最尤系統樹推定の並列化

粗粒

細粒

粗粒

細粒

最尤系統樹推定の並列化

● ブートストラップ解析での各反復の並列処理

粗粒

細粒

最尤系統樹推定の並列化

● ブートストラップ解析での各反復の並列処理● 多点局所探索の並列処理

粗粒

細粒

最尤系統樹推定の並列化

● ブートストラップ解析での各反復の並列処理● 多点局所探索の並列処理● 多数ある「改変後の樹形」の尤度最大化の並列処理

粗粒

細粒

最尤系統樹推定の並列化

● ブートストラップ解析での各反復の並列処理● 多点局所探索の並列処理● 多数ある「改変後の樹形」の尤度最大化の並列処理● サイトごとの尤度計算の並列処理

粗粒

細粒

最尤系統樹推定の並列化

● ブートストラップ解析での各反復の並列処理● 多点局所探索の並列処理● 多数ある「改変後の樹形」の尤度最大化の並列処理● サイトごとの尤度計算の並列処理● 分岐点の各状態における尤度計算の並列処理

ベイズ系統樹推定の並列化

粗粒

細粒

ベイズ系統樹推定の並列化

粗粒

細粒

● MCMCMC の各 MCMC の並列処理

ベイズ系統樹推定の並列化

粗粒

細粒

● MCMCMC の各 MCMC の並列処理● サイトごとの尤度計算の並列処理

ベイズ系統樹推定の並列化

粗粒

細粒

● MCMCMC の各 MCMC の並列処理● サイトごとの尤度計算の並列処理● 分岐点の各状態における尤度計算の並列処理

ベイズ系統樹推定の並列化

粗粒

細粒

● MCMCMC の各 MCMC の並列処理● サイトごとの尤度計算の並列処理● 分岐点の各状態における尤度計算の並列処理

状態交換試行のために1 ステップごとに同期と通信が必要

ベイズ系統樹推定の並列化

粗粒

細粒

● MCMCMC の各 MCMC の並列処理● サイトごとの尤度計算の並列処理● 分岐点の各状態における尤度計算の並列処理

細粒すぎてスレッド生成のオーバーヘッドと通信のレイテンシの影響が増大

状態交換試行のために1 ステップごとに同期と通信が必要

MCMCは並列処理に向いてない

根本的な解決が無理なら対症療法

根本的な解決が無理なら対症療法

● アライメントが怪しい部分は捨てればいい

根本的な解決が無理なら対症療法

● アライメントが怪しい部分は捨てればいい● 遺伝子間の不調和がある場合は少数派を捨てればいい

根本的な解決が無理なら対症療法

● アライメントが怪しい部分は捨てればいい● 遺伝子間の不調和がある場合は少数派を捨てればいい● 系統樹の途中で分子進化パターンが変化している遺伝子は捨てればいい

根本的な解決が無理なら対症療法

● アライメントが怪しい部分は捨てればいい● 遺伝子間の不調和がある場合は少数派を捨てればいい● 系統樹の途中で分子進化パターンが変化している遺伝子は捨てればいい

データ取得コストが劇的に低下したゲノム時代なら現実的な対処法

根本的な解決が無理なら対症療法

● アライメントが怪しい部分は捨てればいい● 遺伝子間の不調和がある場合は少数派を捨てればいい● 系統樹の途中で分子進化パターンが変化している遺伝子は捨てればいい

データ取得コストが劇的に低下したゲノム時代なら現実的な対処法

分子進化モデル選択の不確実性問題は解決困難だが、信頼性の高い分岐にはあまり影響しない

対症療法にも課題はある

対症療法にも課題はある

● 分子進化モデル選択の不確実性は無視していいのか要検証

対症療法にも課題はある

● 分子進化モデル選択の不確実性は無視していいのか要検証● 遺伝子間の不調和を検出し、少数派を除く技術開発が必要

対症療法にも課題はある

● 分子進化モデル選択の不確実性は無視していいのか要検証● 遺伝子間の不調和を検出し、少数派を除く技術開発が必要

● ILD検定に基いて snowballing を行う mILD は遅すぎる

対症療法にも課題はある

● 分子進化モデル選択の不確実性は無視していいのか要検証● 遺伝子間の不調和を検出し、少数派を除く技術開発が必要

● ILD検定に基いて snowballing を行う mILD は遅すぎる● 尤度比検定に基いて snowballing を行う Concaterpiller はもっと遅い

対症療法にも課題はある

● 分子進化モデル選択の不確実性は無視していいのか要検証● 遺伝子間の不調和を検出し、少数派を除く技術開発が必要

● ILD検定に基いて snowballing を行う mILD は遅すぎる● 尤度比検定に基いて snowballing を行う Concaterpiller はもっと遅い

● そもそも「有意に不調和とは言えない」遺伝子間を連結することで正しい種の系統樹は得られるのか要検証

対症療法にも課題はある

● 分子進化モデル選択の不確実性は無視していいのか要検証● 遺伝子間の不調和を検出し、少数派を除く技術開発が必要

● ILD検定に基いて snowballing を行う mILD は遅すぎる● 尤度比検定に基いて snowballing を行う Concaterpiller はもっと遅い

● そもそも「有意に不調和とは言えない」遺伝子間を連結することで正しい種の系統樹は得られるのか要検証● データの選別でバイアスが生じる可能性

SNPデータによる系統樹推定と収集バイアス

SNPデータによる系統樹推定と収集バイアスTaxonA TCATTAATATTATTAATTTCAAGAAGAATaxonB TCATTAATATTATTAATTTCAAGAAGAATaxonC TCATTAATATTATTAATTTCAAGAAGAATaxonD TCATTAATATTATTAATCTCAAGAAGAATaxonE TCATTAATATTATTAATTTCAAGAAGAATaxonF TCATTAATATTATTAATTTCAAGAAGAATaxonG TCATTAATATTATTAATTTCAAGAAGAATaxonH TCATTAATATTATTAATTTCAAGAAGAATaxonI TCATTAATATTATTAATTTCTAGAAGAATaxonJ TCACTAATATTATTAATTTCTAGAAGAATaxonK TCTTTAATATTATTAATTTCAAGAAGAATaxonL TCATTAATACTATTAATTTCAAGAAGAATaxonM TCACTAATATTATTAATTTCTAGAAGAA

TaxonA ATTTATAAATTATAAAATTTTTCTTAATTaxonB ATTTATATATTGTAAAATTTTACTTGATTaxonC ATTTATGAATTTTAAAATTTTACTTAATTaxonD ATTCATAAACTCTAATATTTTACTTAATTaxonE ATTTATGAATTTTAAAATTTTACTTAATTaxonF ATTTATAAATTATAAAATTTTTCTTAATTaxonG ATTTATAAATTATAAAATTTTTCTTAATTaxonH ATTTATAAATTATAAAATTTTTCTTAATTaxonI ATTTTCAAATATCGATATTTTTTATAACTaxonJ ACTTTTAAATTTTAAATTTTCCCTCAAATaxonK TTTTATAACTTATGGATTTCCACATGTATaxonL ATCTATAAATATTAATATCTTTTATAAATaxonM ACTTTTAAATTTTAAATATTCTCTTAAA

SNPデータ通常の塩基配列データ

SNPデータによる系統樹推定と収集バイアス

● SNP データは「変異のあるサイトだけを集めている」バイアスがある

TaxonA TCATTAATATTATTAATTTCAAGAAGAATaxonB TCATTAATATTATTAATTTCAAGAAGAATaxonC TCATTAATATTATTAATTTCAAGAAGAATaxonD TCATTAATATTATTAATCTCAAGAAGAATaxonE TCATTAATATTATTAATTTCAAGAAGAATaxonF TCATTAATATTATTAATTTCAAGAAGAATaxonG TCATTAATATTATTAATTTCAAGAAGAATaxonH TCATTAATATTATTAATTTCAAGAAGAATaxonI TCATTAATATTATTAATTTCTAGAAGAATaxonJ TCACTAATATTATTAATTTCTAGAAGAATaxonK TCTTTAATATTATTAATTTCAAGAAGAATaxonL TCATTAATACTATTAATTTCAAGAAGAATaxonM TCACTAATATTATTAATTTCTAGAAGAA

TaxonA ATTTATAAATTATAAAATTTTTCTTAATTaxonB ATTTATATATTGTAAAATTTTACTTGATTaxonC ATTTATGAATTTTAAAATTTTACTTAATTaxonD ATTCATAAACTCTAATATTTTACTTAATTaxonE ATTTATGAATTTTAAAATTTTACTTAATTaxonF ATTTATAAATTATAAAATTTTTCTTAATTaxonG ATTTATAAATTATAAAATTTTTCTTAATTaxonH ATTTATAAATTATAAAATTTTTCTTAATTaxonI ATTTTCAAATATCGATATTTTTTATAACTaxonJ ACTTTTAAATTTTAAATTTTCCCTCAAATaxonK TTTTATAACTTATGGATTTCCACATGTATaxonL ATCTATAAATATTAATATCTTTTATAAATaxonM ACTTTTAAATTTTAAATATTCTCTTAAA

SNPデータ通常の塩基配列データ

SNPデータによる系統樹推定と収集バイアス

● SNP データは「変異のあるサイトだけを集めている」バイアスがある● 変異の有無によるデータ選別のバイアスを収集バイアスと言う

TaxonA TCATTAATATTATTAATTTCAAGAAGAATaxonB TCATTAATATTATTAATTTCAAGAAGAATaxonC TCATTAATATTATTAATTTCAAGAAGAATaxonD TCATTAATATTATTAATCTCAAGAAGAATaxonE TCATTAATATTATTAATTTCAAGAAGAATaxonF TCATTAATATTATTAATTTCAAGAAGAATaxonG TCATTAATATTATTAATTTCAAGAAGAATaxonH TCATTAATATTATTAATTTCAAGAAGAATaxonI TCATTAATATTATTAATTTCTAGAAGAATaxonJ TCACTAATATTATTAATTTCTAGAAGAATaxonK TCTTTAATATTATTAATTTCAAGAAGAATaxonL TCATTAATACTATTAATTTCAAGAAGAATaxonM TCACTAATATTATTAATTTCTAGAAGAA

TaxonA ATTTATAAATTATAAAATTTTTCTTAATTaxonB ATTTATATATTGTAAAATTTTACTTGATTaxonC ATTTATGAATTTTAAAATTTTACTTAATTaxonD ATTCATAAACTCTAATATTTTACTTAATTaxonE ATTTATGAATTTTAAAATTTTACTTAATTaxonF ATTTATAAATTATAAAATTTTTCTTAATTaxonG ATTTATAAATTATAAAATTTTTCTTAATTaxonH ATTTATAAATTATAAAATTTTTCTTAATTaxonI ATTTTCAAATATCGATATTTTTTATAACTaxonJ ACTTTTAAATTTTAAATTTTCCCTCAAATaxonK TTTTATAACTTATGGATTTCCACATGTATaxonL ATCTATAAATATTAATATCTTTTATAAATaxonM ACTTTTAAATTTTAAATATTCTCTTAAA

SNPデータ通常の塩基配列データ

収集バイアスのあるデータではブートストラップ値が上がる

収集バイアスのあるデータではブートストラップ値が上がる

TaxonA CTATCTCTCTATAACTaxonB CTATCTCGCTATAACTaxonC CTATCACGCTATCACTaxonD CTATCACGCTATCAC

TaxonA TTATaxonB TGATaxonC AGCTaxonD AGC

収集バイアスのあるデータではブートストラップ値が上がる

● ブートストラップリサンプリングにおいて、左のデータで((TaxonA,TaxonB),(TaxonC,TaxonD)) を支持するサイトが一度もリサンプルされない確率は

TaxonA CTATCTCTCTATAACTaxonB CTATCTCGCTATAACTaxonC CTATCACGCTATCACTaxonD CTATCACGCTATCAC

TaxonA TTATaxonB TGATaxonC AGCTaxonD AGC

収集バイアスのあるデータではブートストラップ値が上がる

● ブートストラップリサンプリングにおいて、左のデータで((TaxonA,TaxonB),(TaxonC,TaxonD)) を支持するサイトが一度もリサンプルされない確率は● (13/15)^15=0.11689

TaxonA CTATCTCTCTATAACTaxonB CTATCTCGCTATAACTaxonC CTATCACGCTATCACTaxonD CTATCACGCTATCAC

TaxonA TTATaxonB TGATaxonC AGCTaxonD AGC

収集バイアスのあるデータではブートストラップ値が上がる

● ブートストラップリサンプリングにおいて、左のデータで((TaxonA,TaxonB),(TaxonC,TaxonD)) を支持するサイトが一度もリサンプルされない確率は● (13/15)^15=0.11689

● 右のデータでの同様の確率は● (1/3)^3=0.03704

TaxonA CTATCTCTCTATAACTaxonB CTATCTCGCTATAACTaxonC CTATCACGCTATCACTaxonD CTATCACGCTATCAC

TaxonA TTATaxonB TGATaxonC AGCTaxonD AGC

収集バイアスのあるデータではブートストラップ値が上がる

● ブートストラップリサンプリングにおいて、左のデータで((TaxonA,TaxonB),(TaxonC,TaxonD)) を支持するサイトが一度もリサンプルされない確率は● (13/15)^15=0.11689

● 右のデータでの同様の確率は● (1/3)^3=0.03704

TaxonA CTATCTCTCTATAACTaxonB CTATCTCGCTATAACTaxonC CTATCACGCTATCACTaxonD CTATCACGCTATCAC

TaxonA TTATaxonB TGATaxonC AGCTaxonD AGC

今のところ、対策はない

収集バイアスのあるデータでは枝長めちゃくちゃになる

収集バイアスのあるデータでは枝長めちゃくちゃになる

Lewis (2001)

収集バイアスのあるデータでは枝長めちゃくちゃになる

● 収集バイアスのあるデータにおいて最尤法で枝長推定すると、正しく推定できない

Lewis (2001)

収集バイアスのあるデータでは枝長めちゃくちゃになる

● 収集バイアスのあるデータにおいて最尤法で枝長推定すると、正しく推定できない● バイアスを補正するモデルを当てはめると正しく推定できる

Lewis (2001)

収集バイアスのあるデータでは枝長めちゃくちゃになる

● 収集バイアスのあるデータにおいて最尤法で枝長推定すると、正しく推定できない● バイアスを補正するモデルを当てはめると正しく推定できる● そもそも SNP に枝長まで含めて同一の系統樹を当てはめていいのか要検証

Lewis (2001)

というわけで最節約法を推奨

塩基配列に基いて種同定する問題を考える

Similarity-based method

Similarity-based method

ACGTACGT

問い合わせ配列

Similarity-based method

ACGTACGT

問い合わせ配列 塩基配列いっぱーい既知配列データベース

BLAST検索

Similarity-based method

ACGTACGT

問い合わせ配列 塩基配列いっぱーい既知配列データベース

BLAST検索

ACGTACGTACATACGTACGTTCGT

Similarity-based method

ACGTACGT

問い合わせ配列 塩基配列いっぱーい既知配列データベース

BLAST検索

ACGTACGTACATACGTACGTTCGT

・・・属 Ω 種 α・・・属 Ω 種 β・・・属 Ω 種 γ

Similarity-based method

ACGTACGT

問い合わせ配列 塩基配列いっぱーい既知配列データベース

BLAST検索

ACGTACGTACATACGTACGTTCGT

・・・属 Ω 種 α・・・属 Ω 種 β・・・属 Ω 種 γ属 Ω 種不明

Similarity-based methodの問題点

Similarity-based methodの問題点

● BLAST検索パラメータはどう指定する ?

Similarity-based methodの問題点

● BLAST検索パラメータはどう指定する ?● 類似度最大の配列を取得

Similarity-based methodの問題点

● BLAST検索パラメータはどう指定する ?● 類似度最大の配列を取得

– 出現可能性のある全種が既知なら最適

Similarity-based methodの問題点

● BLAST検索パラメータはどう指定する ?● 類似度最大の配列を取得

– 出現可能性のある全種が既知なら最適– 未知種または配列未登録種があると誤同定を招く

Similarity-based methodの問題点

● BLAST検索パラメータはどう指定する ?● 類似度最大の配列を取得

– 出現可能性のある全種が既知なら最適– 未知種または配列未登録種があると誤同定を招く

● 類似度 k位までの配列を取得

Similarity-based methodの問題点

● BLAST検索パラメータはどう指定する ?● 類似度最大の配列を取得

– 出現可能性のある全種が既知なら最適– 未知種または配列未登録種があると誤同定を招く

● 類似度 k位までの配列を取得– k をいくつにすればいいかわからない

Similarity-based methodの問題点

● BLAST検索パラメータはどう指定する ?● 類似度最大の配列を取得

– 出現可能性のある全種が既知なら最適– 未知種または配列未登録種があると誤同定を招く

● 類似度 k位までの配列を取得– k をいくつにすればいいかわからない

● 類似度 n% 以上の配列を取得

Similarity-based methodの問題点

● BLAST検索パラメータはどう指定する ?● 類似度最大の配列を取得

– 出現可能性のある全種が既知なら最適– 未知種または配列未登録種があると誤同定を招く

● 類似度 k位までの配列を取得– k をいくつにすればいいかわからない

● 類似度 n% 以上の配列を取得– n をいくつにすればいいかわからない

Similarity-based methodの問題点

● BLAST検索パラメータはどう指定する ?● 類似度最大の配列を取得

– 出現可能性のある全種が既知なら最適– 未知種または配列未登録種があると誤同定を招く

● 類似度 k位までの配列を取得– k をいくつにすればいいかわからない

● 類似度 n% 以上の配列を取得– n をいくつにすればいいかわからない– 該当配列が存在しない場合がかなりあるはず

Meier et al. (2006)の規準

Meier et al. (2006)の規準

同定結果分類群内のバーコード配列と問い合わせ配列間の最大変異量

Meier et al. (2006)の規準

他の分類群のバーコード配列と問い合わせ配列の最小変異量

<

同定結果分類群内のバーコード配列と問い合わせ配列間の最大変異量

イメージ図

配列 B

配列 A

問い合わせ配列配列 C

配列 D

配列空間

イメージ図

属 Ω種 α

属 Ω種 β

配列 B

配列 A

問い合わせ配列配列 C

配列 D

配列空間

イメージ図

属 Ω の変異の範囲

配列 B

配列 A

問い合わせ配列配列 C

配列 D

配列空間

イメージ図

属 Ω 種不明配列 B

配列 A

問い合わせ配列配列 C

配列 D

配列空間

属 Ω の変異の範囲

実用上の問題点

実用上の問題点

● 「同定結果分類群内のバーコード配列と問い合わせ配列間の最大変異量」の算出に必要な計算量が多い

実用上の問題点

● 「同定結果分類群内のバーコード配列と問い合わせ配列間の最大変異量」の算出に必要な計算量が多い● 種で落ちなければ属、属もダメなら科、それでダメなら目、と分類階層を上げながら何度も試行が必要なため遅い

実用上の問題点

● 「同定結果分類群内のバーコード配列と問い合わせ配列間の最大変異量」の算出に必要な計算量が多い● 種で落ちなければ属、属もダメなら科、それでダメなら目、と分類階層を上げながら何度も試行が必要なため遅い● 既知配列データベースに別領域配列が混入していると、「同定結果分類群内のバーコード配列と問い合わせ配列間の最大変異量」が大きくなるため、低レベルまで落とすことができない

Tanabe&Toju (2013)の規準

Tanabe&Toju (2013)の規準

問い合わせ配列と最近隣配列間の変異量

Tanabe&Toju (2013)の規準

問い合わせ配列と最近隣配列間の変異量

同定結果分類群内のバーコード配列間の最大変異量<

イメージ図

配列 B

配列 A

問い合わせ配列

配列空間

イメージ図

属 Ω種 α

属 Ω種 β

配列 B

配列 A

問い合わせ配列

配列空間

イメージ図

属 Ω の変異の範囲

配列 B

配列 A

問い合わせ配列

配列空間

イメージ図

属 Ω 種不明属 Ω の変異の範囲

配列 B

配列 A

問い合わせ配列

配列空間

実用上の長所

実用上の長所

● 既知配列データベースに別領域配列が混入していても問題ない

実用上の長所

● 既知配列データベースに別領域配列が混入していても問題ない● 問い合わせ配列が別領域配列でも既知配列データベースにその領域の配列があれば同定可能

実用上の長所

● 既知配列データベースに別領域配列が混入していても問題ない● 問い合わせ配列が別領域配列でも既知配列データベースにその領域の配列があれば同定可能● 多段階の試行が必要ないため高速

実用上の長所

● 既知配列データベースに別領域配列が混入していても問題ない● 問い合わせ配列が別領域配列でも既知配列データベースにその領域の配列があれば同定可能● 多段階の試行が必要ないため高速● 「同定結果分類群内のバーコード配列間の最大変異量」を計算しなくても条件を満たす分類群を得られるため高速

NN-centric auto-k-NN( NNauto)法

NN-centric auto-k-NN( NNauto)法

問い合わせ配列

配列空間

NN-centric auto-k-NN( NNauto)法

1. 最近隣配列 (A) を探し出して変異量 (DQA) を算出

A

DQA

問い合わせ配列

配列空間

NN-centric auto-k-NN( NNauto)法

1. 最近隣配列 (A) を探し出して変異量 (DQA) を算出2. DAB>DQA を満たす配列のうち最も A に近い配列 (B) を得る

A

B

問い合わせ配列

配列空間

DQA

NN-centric auto-k-NN( NNauto)法

1. 最近隣配列 (A) を探し出して変異量 (DQA) を算出2. DAB>DQA を満たす配列のうち最も A に近い配列 (B) を得る3. DAN≤DAB を満たす全ての配列 (N) を得る

A

DAB

B

N

N

問い合わせ配列

配列空間

N

NN-centric auto-k-NN( NNauto)法

1. 最近隣配列 (A) を探し出して変異量 (DQA) を算出2. DAB>DQA を満たす配列のうち最も A に近い配列 (B) を得る3. DAN≤DAB を満たす全ての配列 (N) を得る4. A, B, N の全配列で共通する分類群を採用

A

DAB

B

N

N

問い合わせ配列

配列空間

N

NN-centric auto-k-NN( NNauto)法

1. 最近隣配列 (A) を探し出して変異量 (DQA) を算出2. DAB>DQA を満たす配列のうち最も A に近い配列 (B) を得る3. DAN≤DAB を満たす全ての配列 (N) を得る4. A, B, N の全配列で共通する分類群を採用

A

DAB

B

N

N

問い合わせ配列

配列空間問い合わせ配列と最近隣配列間の変異量

DQA

DAB

同定結果分類群内のバーコード配列間の最大変異量<

≦=

N

Query-centric auto-k-NN( QCauto)法

Query-centric auto-k-NN( QCauto)法

1. 最近隣配列 (A) を探し出して変異量 (DQA) を算出

A

DQA

問い合わせ配列

配列空間

Query-centric auto-k-NN( QCauto)法

1. 最近隣配列 (A) を探し出して変異量 (DQA) を算出2. DAB>DQA を満たす配列のうち最も A に近い配列 (B) を得る

A

B

問い合わせ配列

配列空間

DQA

Query-centric auto-k-NN( QCauto)法

1. 最近隣配列 (A) を探し出して変異量 (DQA) を算出2. DAB>DQA を満たす配列のうち最も A に近い配列 (B) を得る3. DQN≤DQB を満たすすべての配列 (N) を得る

A

B

N

N

問い合わせ配列

配列空間

N

DQB

Query-centric auto-k-NN( QCauto)法

1. 最近隣配列 (A) を探し出して変異量 (DQA) を算出2. DAB>DQA を満たす配列のうち最も A に近い配列 (B) を得る3. DQN≤DQB を満たすすべての配列 (N) を得る4. A, B, N の全配列で共通する分類群を採用

A

B

N

N

問い合わせ配列

配列空間

N

DQB

Query-centric auto-k-NN( QCauto)法

1. 最近隣配列 (A) を探し出して変異量 (DQA) を算出2. DAB>DQA を満たす配列のうち最も A に近い配列 (B) を得る3. DQN≤DQB を満たすすべての配列 (N) を得る4. A, B, N の全配列で共通する分類群を採用

A

B

N

N

問い合わせ配列

配列空間

N

DQB

問い合わせ配列と最近隣配列間の変異量DQA

DQB

同定結果分類群内のバーコード配列間の最大変異量<

≦=

新しい方法の作り方

新しい方法の作り方

データの性質

新しい方法の作り方

データの性質計算機の性質

新しい方法の作り方

データの性質計算機の性質

アルゴリズムの性質

新しい方法の作り方

データの性質計算機の性質

アルゴリズムの性質

生物学的に妥当で計算を楽にする仮定

新しい方法の作り方

データの性質計算機の性質

アルゴリズムの性質

生物学的に妥当で計算を楽にする仮定

新しい方法

既存の方法の妥当性を考えるときも同じ

データの性質計算機の性質

アルゴリズムの性質

生物学的に妥当で計算を楽にする仮定

既存の方法

計算機科学の研究者と交流すべき

計算機科学の研究者と交流すべき

計算機科学の素養を生物学者が備えるべき

まとめ● ベイズ系統樹推定は MCMC というアルゴリズムが並列処理に向いていないため、これ以上の発展は困難な可能性が高い● ゲノム時代に入ってデータ取得コストが劇的に低下したため、最尤系統樹推定法に不適なデータは捨ててしまうという対処法が現実的● SNP など収集バイアスのあるデータでは、最尤法・ベイズ法を適用するなら尤度の補正が必要● SNP データの解析では少なくとも最節約法は使用すべき● 塩基配列による種同定では、種内の変異の範囲内に入るかどうかを調べればよい● 計算機とアルゴリズムの性質を踏まえて現実的な時間で分子同定可能な方法を開発した● 新しい方法を考案するとき、既存の方法の妥当性を考えるとき、データ・計算機・アルゴリズムの性質に基いて正当化できるかどうか考えるとよい