進化系統樹推定

Download Report

Transcript 進化系統樹推定

奈良女子大集中講義
バイオインフォマティクス (7)
進化系統樹
阿久津 達也
京都大学 化学研究所
バイオインフォマティクスセンター
講義予定
• 9月5日
–
–
–
–
分子生物学概観
分子生物学データベース
配列アラインメント
実習1(データベース検索と配列アラインメント)
• 9月6日
–
–
–
–
モチーフ発見
隠れマルコフモデル
カーネル法
進化系統樹推定
• 9月7日
–
–
–
–
タンパク質立体構造予測
相互作用推定
スケールフリーネットワーク
実習2(構造予測)
進化系統樹推定
• 系統樹の個数
• 距離行列法
– UPGMA法
– 近隣結合法
• 最節約法
• 進化の確率モデル
– 最尤法
進化系統樹
• 種間(もしくは遺伝子間)の進化の関係を表す木
• 以前は形態的特徴をもとに構成
• 現在は配列情報をもとに構成
(イメージ図: 実際の進化とは直接、関係無い)
有根系統樹と無根系統樹
•
•
•
•
•
•
•
節点(頂点): 木の葉、もしくは、枝分かれ部分
枝(辺): 種の親子関係を表す
枝長: 進化に要した時間に対応
葉: 現在の種に相当する節点
根: 進化の起点にあたる節点
有根系統樹(根つき木): 根のある系統樹(下図の左)
無根系統樹(根なし木): 根のない系統樹(下図の右)
系統樹の同型性
• 同型な系統樹:本質
的に同じつながり方
(グラフとして同型)
をした系統樹
• (a)と(b):同型
(a)と(c):非同型
• (d)と(e):同型
(d)と(f):非同型
系統樹の個数
• 葉の個数と節点の個数の関係(葉の個数 = n)
– 有根系統樹: 2n-1 個の節点、 2n-2 本の枝
– 無根系統樹: 2n-2 個の節点、 2n-3 本の枝
• 無根系統樹と有根系統樹の関係
– 値は無根系統樹の任意の枝に設定可能
⇒ 有根系統樹の個数=(2n-3)×無根系統樹の個数
– 枝が 2n-3 本の無根系統樹に1本の枝を追加
⇒ 2n-3 種類の異なる無根系統樹
#葉
#枝
(無根系統樹)
#無根系統樹
#有値系統樹
3
3
1
3
4
5
3
3×5
5
7
3×5
3×5×7
6
9
3×5×7
3×5×7×9
…
…
…
…
n
2n-3
(2n-5)!!
(2n-3)!!
系統樹
の個数
(例)
•
•
値は無根系統樹の任意の枝に設定可能
⇒ 有根系統樹の個数=(2n-3)×無根系統樹の個数
枝が 2n-3 本の無根系統樹に1本の枝を追加
⇒ 2n-3 種類の異なる無根系統樹
距離行列法
• 最初に、種(葉)の間の距離をすべて計算
• その距離をもとに系統樹を推定
• クラスタリング手法の一種
• UPGMA法
– 距離最短のクラスタをみつけては結合
• 近隣結合法
– 近隣となる葉をみつけては結合
UPGMA法
(Unweighted pair group method using arithmetic averages)
• アルゴリズム
– 各配列のみからなるクラスタを作成
– クラスタが2個になるまで以下を繰り返す
• クラスタ間距離が最小のクラスタどうしを併合
• 新しくできたクラスタと他のクラスタ間の距離を計算
• クラスタ間距離
D kl 
1
d
| C k | | C l | i C k ,
ij
j C l
• 距離の性質
D kl 
D il | C i |  D jl | C j |
| Ci |  | C j |
UPGMA法(例1)
C 6  C 4  C 5  { 4 ,5}
C 8  C 7  C 3  {1, 2 ,3}


C 7  C 1  C 2  {1, 2}

C 9  C 6  C 8  {1, 2 ,3, 4 ,5}
分子時計
• 分子時計=進化速度一定性の仮定
• 枝長=分子時計により刻まれた時間
• 分子時計仮説が成立 
「任意の葉までの枝長の和が等しい」が任意節点について成立
⇒UPGMA法は系統樹を正しく再構成
以下の例で、(a) は仮説を満たさないが、(b)は満たす
近隣結合法(1)
• UPGMA法では以下の例(a)で、2と3が最初に選ばれたため、
正しい系統樹を再構成できなかった
• 最初に、3と4、もしくは、1と2が選ばれれば良い
• つまり、兄弟関係(近隣関係)にある葉が選ばれれば良い
• 近隣結合法では(距離が加法性を満たすという仮定のもとで)
常に近隣関係にある葉を選ぶ
近隣結合法(2)
• 近隣結合法
– 距離が加法性を満たせば系統樹を正しく再構成
– ただし、計算されるのは無根系統樹
• 加法性: 節点間の距離 = 節点間を結ぶパスの枝長の和
アウトグループ
• 近隣結合法: 無根系統樹しか計算されない
• 無根系統樹における根の決定法
– 最も長い葉の間の中点を根とする
– 対象とする種と離れていることが明らかな種(アウトグループ)を追加して
系統樹を作成し、アウトグループに接続する接点を根とする
最節約法(1)
• 最小置換で各配列を生成する系統樹を計算
• 2種類の探索が必要
– 系統樹の形状(トポロジー) ⇒ 難しい
– 内部節点への配列の割り当て ⇒ 動的計画法で計算可能
最節約法(2)
• Sk(a) : 節点 k に塩基 a を割り当てた時のコスト
• S(a,b) : a を b に置換するためのコスト
• 動的計画法により葉から根という順で Sk(a) を計算
• 配列割り当ては各位置ごとに独立に計算可能
k が内部節点の場合(i,j は k の子節点)
S k ( a )  min ( S i ( b )  S ( a , b ))  min ( S j ( b )  S ( a , b ))
b 
k が葉の場合
 0 if a  s k [1]
S k (a )  
   otherwise
b 
最節
約法
(3)
S k ( a )  min ( S i ( b )  S ( a , b ))  min ( S j ( b )  S ( a , b ))
b 
b 
進化の確率モデル
• P(b|a,t) : 長さ t の枝をたどることにより塩基 a が塩基 b
に置換される確率
• P(y|x,t) : 長さ t の枝をたどることにより配列 x が配列 y
に置換される確率
P ( y | x, t ) 
 P( y
u
| xu , t )
u
置換行列 (置換確率行列)
 P (A | A , t )

 P (A | C, t )
S (t )  
P (A | G , t )

 P (A | T , t )

乗法性
P (C | A , t )
P (G | A , t )
P (C | C , t )
P (G | C , t )
P (C | G , t )
P (G | G , t )
P (C | T , t )
P (G | T , t )
S (t ) S ( s )  S (t  s )
P (T | A , t ) 

P (T | C , t ) 
P (T | G , t ) 

P ( T | T , t ) 
Jukes-Cantor行列(1)
• 置換速度行列を R とし、 S (  t )  I  R  t を仮定
• S(t) の乗法性より
S (t   t )  S (t )  S (t ) S (  t )  S (t )
• よって
 S ( t )( I  R  t )  S ( t )  S ( t ) R  t
dS ( t )
 S (t ) R
dt
• A,C,G,T が対等であるとして
• 対称性より
• よって
 1  3

 
R 


 

 r (t )

 s (t )
S (t )  
s (t )

 s (t )

dr ( t )
dt
  3 r ( t )  3 s ( t )
ds ( t )
dt


1  3


1  3


s (t )
s (t )
r (t )
s (t )
s (t )
r (t )
s (t )
s (t )
  r ( t )   s ( t )



 
 

1  3 
s (t ) 

s (t ) 
s (t ) 

r ( t ) 
Jukes-Cantor行列(2)
 1  3

 
R 


 

を
dS ( t )


1  3


1  3


 S (t ) R



 
 

1  3 
 r (t )

 s (t )
S (t )  
s (t )

 s (t )

s (t )
r (t )
s (t )
s (t )
r (t )
s (t )
s (t )
s (t ) 

s (t ) 
s (t ) 

r ( t ) 
に代入して、
dt
dr ( t )
  3 r ( t )  3 s ( t )
dt
これを解いて
s (t )
r (t ) 
ds ( t )
  r ( t )   s ( t )
dt
1
4
(1  3 e
4 t
)
s (t ) 
1
4
(1  e
4 t
)
この S(t) が Jukes-Cantor行列
r (t )  s (t ) 
1
4
if t  
は十分時間が経つと A,C,G,T の割
合いが等しくなることを意味する
Jukes-Cantor行列の応用例
• TATAT(=x)が t 時間後にTTAAA(=y)に
置換する確率は
4 t
P ( T | A, t )  P ( A | T, t ) 
1
4
(1  e
P ( T | T, t )  P ( A | A, t ) 
1
4
(1  3 e
)
 4 t
)
より
P ( y | x, t ) 
1
4
5
(1  3 e
 4 t
) (1  e
2
 4 t
)
3
最尤法による系統樹推定
• 系統樹の尤度(確率)
P ( s1 ,  , s n | T , t ) 
 P(s
2n2
2 n 1
s n 1 , , s 2 n 1
• 配列 s1,…,sn に対し、尤度最
大の系統樹のトポロジー T
と、枝長 ti を計算
– ただし、p(i) は i の親節点
• この計算は難しく、様々な手
法が提案されている
)  P ( si | s p (i ) , ti )
i 1
尤度計算の例(1)
• 1塩基あたりの尤度
P ( x u , x u | T , t1 , t 2 ) 
1
2

1
a
• 配列全体の尤度
N
P ( x , x | T , t1 , t 2 ) 
1
2

i 1
2
q a P ( x u | a , t1 ) P ( x u | a , t 2 )
1
2
P ( x u , x u | T , t1 , t 2 )
尤度計算の例(2)
• CGのみからなる配列
CCGGCCGCGC
G
CGGGCCGGCC
G
• n1個は同じで n2個は変化 (この例では、n1=8, n2=3)
P ( C, C | T , t1 , t 2 )  q C rt1 rt 2  q G s t1 s t 2  q A s t1 s t 2  q T s t1 s t 2

1
4
( rt1 rt 2  3 s t1 s t 2 ) 
P ( C, G | T , t1 , t 2 ) 
1
4
( rt1 s t 2  s t1 rt 2  2 s t1 s t 2 ) 
1
16
(1  3 e
1
16
- 4  ( t1  t 2 )
(1  e
)
- 4  ( t1  t 2 )
)
よって、系統樹全体の尤度は、
P ( x , x | T , t1 , t 2 ) 
1
1
2
16
n1  n 2
(1  3 e
- 4  ( t1  t 2 )
尤度は、t1+t2 が一定なら変わらないことに注意
) 1 (1  e
n
- 4  ( t1  t 2 )
)
n2
⇒ 根の位置の任意性
まとめ
• 系統樹の個数
• 距離行列法
– UPGMA法: 最小距離のクラスタを結合
– 近隣結合法: 近隣の節点を結合
• 最節約法
– 置換コストが最小の系統樹を計算
• 進化の確率モデル
– Jukes-Cantor行列を用いて配列間の置換確率を計算
– 最尤法: 確率が最大となる系統樹を推定
• 参考文献
– 阿久津:バイオインフォマティクスの数理とアルゴリズム、共立出版、2007