Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
バイオインフォマティクス第6回
藤 博幸
バイオインフォマティクス第6回
藤 博幸
BIO
IT
最尤法 (MaximumLikelihoodMethod)
現在観察される配列(アライメント)が実現する確からしさ(尤度)をそれぞれの樹形(topology)ごとに計算し、最大尤度を与える樹形を選択する方法。
→ どの樹形を仮定すれば、現在の状態(アライメント)が最も良く説明できるかを計算する。
塩基・アミノ酸置換の確率モデル(Poisson,JTTなど)を使用する
OTU数とラベル付き無根系統樹の種類数との関係
3: 14: 35: 156: 1057: 9458: 103959: 13513510: 202702511: 3445942512: 654729075
n: (2n-5)!/{2n-3(n-3)!}
系統樹法では、ある基準値( step数、枝の総和、尤度など)について、nOTUにおける全ての樹形を評価し、最良のものを選ぶ。これを完全探索(exhaustivesearch)とよぶ。
しかし、この方法ではOTU数が増えると爆発的に樹形数が増加するため、実用的には段階的に高い値をもつ樹形を見出していく発見的探索(heuristicsearch)を使わざるを得ない。
完全探索と発見的探索
① PhylogenyTestBootstrapを100回
② SubstitutionModelLGmodel
③ RatesandPatternsHasInvariantsites(I)
他はデフォルトで
発見的探索では、基準値(スコア)が計算されている樹形を微小変形し、
スコアがどう変化するかを観察する。スコアが上昇すればその樹形を次回の変形操作の候補とする(下降しても候補として取り込む方法もある)。
3
12
4 5
6
7
31
2
4 5
6
7
3
1
2
4 5
6
7
Score=50
Score=55
Score=40
(上昇)
(下降)
発見的探索
• NNI(NearestNeighborInterchange)
• SPR(SubtreePruningandRegrafting)
• TBR(TreeBisectionandReconnection)
• TS,TXS(TaXon/TaXaSwap)
よく使用される系統樹の変形操作
すぐ隣のOTUとの間の交換。
2
1
3 2
1
3
NNI(NearestNeighborInterchange)
1
2
3
4
65 7
9
8
10
111
2
36 9
8
10
11
4 57
SPR(SubtreePruningandRegrafting)
1
2
3
4
65 7
9
8
10
111
2
3
4
6
5
7
9
8
10
11
65
4 7
TBR(TreeBisectionandReconnection)
1
3
2
4 5
7
6
8
13
2
4 5
7
6
8
TS,TXS(TaXon[TaXa]Swap)
Felsenstein(1981)による塩基配列の最尤法
(1)塩基配列アラインメント
Seq1 C T G G G T G G T Seq2 G G G G A T G G TSeq3 C T G G G T G C GSeq4 T T G G G T G C T
1番目のサイトについてとりあえず考える
得られた樹形(トポロジー)のそれぞれについて、パラメータの最尤推定と最大対数尤度を求める
Felsenstein (1981)による塩基配列の最尤法
Seq1
6
Seq2 Seq3
5
Seq4
n1-n6はそのノードにおける塩基(A,C,G,T)
n2n1 n3
n5 n6
n4
アライメント中の1つの座位を考える前ページのアラインメントのサイト1を考える
(2)次の樹形(無根系統樹)を考える
65
d4
d5
d2d1 d3GC C
n5 n6
TSeq1 Seq2 Seq3 Seq4
Felsenstein (1981)による塩基配列の最尤法
Seq 1
6
Seq 2 Seq 3
5
Seq 4
d4
d5
d2d1 d3
n1-n6はそのノードにおける塩基(A,C,G,T)
tiは各枝の長さ
Pij(t)は塩基 iであったものが長さtの枝を経て塩基 jとなる確率(ここで、置換モデルが必要となる)
GC C
n5 n6
T
(3)樹形に基づき尤度 Lを考える
n5n6
n5,n6は,祖先の塩基で不明なので4種の塩基全ての可能性について和をとる。 πは塩基組成(アラインメントから推測)
L1=ΣΣπn5Pn5,C(d1)Pn5,G(d2)Pn5,n6(d5)Pn6,C(d3)Pn5,T(d4)
(4)アライメントの各座位ごとに与えられた樹形の確率を計算。ある樹形のアライメント全体の尤度Lは、全ての座位(1からn)の確率の積
L=L1× L2× …× Ln
になるが、通常は尤度の対数をとり、総和を求める。
ln L=∑ln Li (i=1,n)
今回の例の場合、
L=L1× L2× L3× L4× L5× L6×L7× L8× L9
Felsenstein (1981)による塩基配列の最尤法
積による表現は、全てのサイトは独立であることを仮定している。
Pij(t)の表現Pij(t)をi行、j列の要素とする行列 P(t)を考える
dP(t)dt
=QP(t)
Qは、置換モデル行列Aの指数関数は次のように実数の場合と同じように定義される。
€
P(t) = eQt
€
eA = I + A +12!A2 +
13!A3 + ...
QがJC69の場合
€
P(t) = eQt =
p0(t) p1(t) p1(t) p1(t)p1(t) p0(t) p1(t) p1(t)p1(t) p1(t) p0(t) p1(t)p1(t) p1(t) p1(t) p0(t)
"
#
$ $ $ $
%
&
' ' ' '
€
p0(t) =14
+34e−4λt
p1(t) =14−14e−4λt
€
Q = qij[ ] =
−3λ λ λ λ
λ −3λ λ λ
λ λ −3λ λ
λ λ λ −3λ
$
%
& & & &
'
(
) ) ) )
Qでも、P(t)でも、行、列はT,C,A,Gを表す
QがK80の場合
€
− α + 2β( ) α β β
α − α + 2β( ) β β
β β − α + 2β( ) α
β β α − α + 2β( )
%
&
' ' ' '
(
)
* * * *
TCAG
T CA G
トランジションの置換速度 α
トランスバージョンの置換速度 β
K80モデル
€
P(t) =
p0(t) p1(t) p2(t) p2(t)p1(t) p0(t) p2(t) p2(t)p2(t) p2(t) p0(t) p1(t)p2(t) p2(t) p1(t) p0(t)
"
#
$ $ $ $
%
&
' ' ' '
€
14
+12e−2βt−2αt +
14e−4βt =
14
+12e-2d κ +1( )κ +2 +
14e−4 dκ +2 = p0(t)
€
14−12e−2βt−2αt +
14e−4βtt
=14−12e-2d κ+1( )κ+2 +
14e−4 dκ+2 = p1(t)
€
14−14
e−4β t
=14−14
e−4 dκ+2 = p2 (t)
dとκの2つのパラメータdは距離、κはトランジションとトランスバージョンの速度比
Seq 1
6
Seq 2 Seq 3
5
Seq 4
d4
d5
d2d1 d3GC C
n5 n6
T
L1=ΣΣπn5Pn5,C(d1)Pn5,G(d2)Pn5,n6(d5)Pn6,C(d3)Pn5,T(d4)
€
p0(t) =14
+34e−4λt
p1(t) =14−14e−4λt
同じ塩基
異なる塩基
n5n6
λは置換速度、tは時間だが、分離して推定できないので、λt =dとしてパラメータをLについて最尤法で推定するまた、その時の最大対数尤度 ln Lを計算する
ln L=∑ln Li (i =1~9)
通常、最尤法というと与えられたデータに対して、モデルのパラメータの最適化を、尤度を最大化することで行う。
ex)100回のコイン投げ 表が47回出た。コインを1回投げた時に、表が出る確率pを求めたい。
n回中のコイン投げで、表がm回出る確率は、二項分布から次のように表現できる
L = n!m!(n−m)!
pm (1− p)n−m
lnL = ln n!m!(n−m)!"
#$
%
&'+m ln p+ (n−m)ln(1− p)
∂ lnL∂p
=∂∂pln n!
m!(n−m)!#
$%
&
'(+m
∂∂pln p+ (n−m) ∂
∂pln(1− p)
=mp−n−m1− p
= 0
mp=n−m1− p
(1− p)m = (n−m)pm = np
p = mn よって例ではpは47/100=0.47
系統樹の場合 コイン投げの場合
観察データ アライメント コイン投げの全数表が出た回数
尤度 与えられた 二項確率樹形のもとでアライメントが観察される確率
最尤法 尤度に含まれる 二項確率に枝の長さや 含まれる使用した進化 パラメータpモデルなどのパラメータ
モデル選択 (※ 置換モデルではなく樹形のこと)
系統樹の最尤推定では、パラメータの最尤推定に加えて、様々なトポロジー(系統樹の樹形)について、最大尤度(あるいは最大対数尤度)がもとまる。
様々な樹形の中で、最大対数尤度が最大の樹形を最尤系統樹として選択する
ここで、異なる系統樹を異なるモデルとして対数尤度を指標として、モデル選択が行われている
最尤法といっているが、系統樹の場合、これが通常の最尤法と異なっている
樹形1
最大対数尤度1
樹形2
最大対数尤度2
樹形n
最大対数尤度n...
尤度最大の樹形を最尤推定系統樹として選択
樹形m
最大対数尤度max※ 実際には、選択された最大対数尤度より低いが、有意に差のない樹形が複数選択される場合がある
モデル選択の指標
lnL
AIC = − 2 lnL + 2k
AICc = −2 lnL + 2k(k +1)n− k +1
BIC = - 2 lnL + k lnn
パラメータ数の効果を考慮
k:パラメータ数n:サンプル数
長所
• シミュレーションの結果では、多くの場合他の方法より正しい樹形の推定がなされる
• 統計的基盤があるため、最尤系統樹がそれ以外の樹形よりどれだけ確からしいかを知ることができる
短所
• 計算時間が非常にかかる• 置換の確率モデルを変えると結果が変わることがある
最尤法の長所と短所
サイト間の置換速度の変動
1.2の全てのモデル:配列中の異なるサイトは同じ速度であることを仮定
現実的ではない(1) 各サイトの突然変異率が違う(2) 各サイトの選択圧の違いから固定される速度が違う置換のホットスポット、不変サイト
2本の配列のアラインメントはnサイトよりなり、不変サイトをmサイト含むとする。2本の配列で差異のあるサイト数をxとする。
p-distance=(x/n)しかし、有効なサイト数は(n -m )なのでx /(n -m )と計算されるべき。 (x/n) <x /(n -m )※ 速度の違いを考慮しないと配列間距離が過小評価される
ガンマ距離 (gammadistane)
任意のサイトの置換速度 r=ある確率分布から抽出された確率変数と仮定することでサイト間の速度の変動を考慮できる。
確率分布としてよく使用されているものは、ガンマ分布※ Felsenstein (2004)によれば、ガンマ分布を用いる理由は数学的取り扱いやすさ以上の理由はない
ガンマ分布から得られるモデルは、添字”+Γ”を使って、JC69+Γ、K80+Γと表現される。また、この時の距離をΓ距離(gammadistance)とよぶ
※ MEGAでは+G
① PhylogenyTestBootstrapを100回
② SubstitutionModelLGmodel
③ RatesandPatternsHasInvariantsites(I)
他はデフォルトで
最尤法の説明は京都大学化学研究所 ゲノムインフォマティクス領域(人材養成ユニット)隈 啓一氏の講義資料「系統樹推定法」を改変しています
MEGAを使った祖先配列の推定
前回作成したaaseq2.megとaaseq2.nwkを使用する。
MEGAを起動
①メニューバー左端のFileメニューをクリック②プルダウンメニューからOpenAFile/Sessionをクリック
ファイル選択のウィンドウが現れる
①aaseq2.megを選択②Openをクリック
配列のタイプの問い合せウィンドウが開く今回はタンパク質なので①ProteinSequencesを選択②OKをクリック
①上部メニューのAncestorsをクリック② InferAncestralSequences(ML)をクリック
現在、activeなファイルを使うかを聞いてくるのでYesをクリック
設定確認にウィンドウが開く最尤系統樹推定のモデルの設定が反映されているここで、aaseq2.nwk(系統樹の情報)を読ませる(次ページ参照)
① UserTreeFileの項目をクリック② 右端の …をクリックするとファイル選択のウィンドウが開く
③ 開いたウィンドウがaaseq2.nwkを選択④ Openをクリック
設定が完了したらウィンドウ下部のComputeをクリック
系統樹が表示され、terminalnodeには現在の配列のサイト1のアミノ酸、Internalnodeには祖先のサイト1のアミノ酸が表示される。
ウィンドウ上部の上向き矢印をクリックすると、サイトを進めることができる下向き矢印をクリックするとサイトをN末側に戻す事ができる。
aaseq2.megの中身をみると
#Mega!Title aaseq2.aln;
#gi|4503471|ref|MGKEKTHINIVVIGHVDSGKSTTTGHLIYKCGGIDKRTIEKFEKEAAEMGKGSFKYAWVLDKLKAERERGITIDISLWKFETSKYYVTIIDAPGHRDFIKNMITGTSQADCAVLIVAAGVGEFEAGISKNGQTREHALLAYTLGVKQLIVGVNKMDSTEPPYSQKRYEEIVKEV-STYIKKIGYNPDTVAFVPISGWNGDNMLEPSANMPWFKGWKVTRKDGNASGTTLLEALDCILPPTRPTDKPLRLPLQDVYKIGGIGTVPVGRVETGVLKPGMVVTFAPVNVTTEVKSVEMHHEALSEALPGDNVGFNVKNVSVKDVRRGNVAGDSKNDPPMEAAGFTAQVIILNHPGQISAGYAPVLDCHTAHIACKFAELKEKIDRRSGKKLEDGPKFLKSGDAAIVDMVPGKPMCVESFSDYPPLGRFAVRDMRQTVAVGVIKAVDKKAAGAGKVTKSAQKAQKAK
….
#gi|487459962|re--------------------------------------------------------------------------------ETPKYHVTVIDAPGHRDFIKNMITGTSQADCAILIIAGGTGEFEAGISKDGQTREHALLAYTLGVKQLIVAVNKMDSVK--WDKNRFEEIIKET-SNFVKKVGYNPKTVPFVPISGWNGDNMIEPSTNCPWYKGWEKETKSGKVTGKTLLEAIDAIEPPTRPTDKPLRLPLQDVYKIGGIGTVPVGRVETGIIKAGMVVTFAPAGVTTEVKSVEMHHEQLAEGVPGDNVGFNVKNVSVKEIRRGNVCGDSKNDPPKGCDSFNAQVIVLNHPGQISAGYSPVLDCHTAHIACKFDTLVEKIDRRTGKKLEENPKFVKSGDAAIVKMVPTKPMCVEAFTDYPPLGRFAVRDMRQTVAVGVI------------------------
※ gapのあるサイトは除かれていることに注意
①系統樹のウィンドウのメニューバーのAncestorsをクリック②プルダウンメニューから、Export mostprobablesequencesを選択
出力形式の入力と、出力ファイル名を設定するウィンドウが開く①出力形式のデフォルトはExcelなので、そのまま出力ファイル名がResult.xlsになっているので、aaseq2.xlsに変更②Drectoryの右端をクリックし、開いたウィンドウから、ファイルを保存するフォルダを選択③OKをクリック
指定されたフォルダに,aaseq2.xlsが保存されている。Excelファイルなので、ダブルクリックしてファイルを開く
各サイトの祖先アミノ酸(塩基)には、その確率が計算されている。
Mostprobable sequenesを選択したということは、その中で最も高い確率のアミノ酸あるいは塩基を選択して出力するということである
祖先配列推定の利用
生物は出現した時点では熱水の中で生きていたと考えられる。
祖先のタンパク質は耐熱性、あるいは好熱性を有する。
祖先配列を推定して、それに従ってタンパク質のアミノ酸配列を設計すれば耐熱(好熱)タンパク質を作り出せる?
Newick形式で保存された系統樹の情報から別のツールで系統樹を描画
統計解析パッケージRを起動
① 左下のスタートをクリック
②すべてのプログラムをクリック ③統計解析をクリック
④リストからRをクリック
Rのコンソール画面が立ち上がる
プロンプロメッセージ “>”の右に処理を書き込む
(1) apeパッケージの読み込みlibrary(ape)
(2) Newick形式のファイルの読み込みtree <- read.tree(”Z:aaseq2.nwk")ただし、aaseq2.nwkは、ドキュメントフォルダにおいておくこと
(3)以下を一行ずつ入力してどのような系統樹が描画されるかを確認せよ
plot(tree)plot(tree,type="c")plot(tree,type="r")plot(tree,type="u")
ファイルへの保存次の処理を一行ずつ順番に入力して実行せよ
jpeg("aaseq2.jpg")jpeg形式で保存するファイル名の指定
plot(tree,type="r")系統樹の描画 typeは他のものを指定しても良い
dev.off()ファイルへの描画の終了
ドキュメントフォルダにaaseq2.jpgというファイルが作られている。ダブルクリックするとファイルが開く
点数 (4)100-90 (3)89-80 (2)79-70 (1)69-60達成目標 (3)に加え、
MEGAで推定された系統樹をNewickformatで保存し、それをRで読み出して系統樹をRで描ける。
(2)に加え、MEGAで祖先配列の空いてができる。
(1)に加え、モデル選択、ガンマ補正について説明できる。
最尤法における系統樹探索、尤度計算について説明できる。