top of page

ProtTest 3の使い方

系統樹編集ソフト iTOLの使い方まとめ

ProtTest 3は塩基・アミノ酸の置換モデルを推定してくれる無料ツールです。

最尤法(ML)やベイズ法(Bayesian)によって系統樹を作成する際、使用する配列に応じてLG+I+Fなどと最適な置換モデルを選択する必要があります。

しかし、初めてどうやってモデルを選んだらいいかよく分からない方が多いと思います。

ProtTestは、最適なモデルの推定を行うためのプログラムです。

2017年の春頃まではProtTest 2がウェブ上で使えたのですが、最近ProtTest 3に更新されたのと同時に、ウェブ上では解析できなくなりました。その代わり、ソフトを自分のパソコンにダウンロードして、自分で動かす必要があります。

このページでは、ProtTest 3を使って、モデル推定のやり方を簡単に説明していきます。

​Macユーザーようです。Windowsでも使えますし、やり方はほとんど同じだと思います。

​※僕はインフォマティクスの専門ではないので、勘違いや不十分な理解のため、間違っていることを書いている可能性は否定できません。ウェブ上の情報は鵜呑みにせず、自分の研究に使う場合はきちんと勉強しましょう。このページを取っ掛かりとして、これから解析を始める方の一助になれば幸いです。間違いなどを見つけられましたらご指摘いただけますと助かります。

 

ProtTest 3とは

prottest1

2017.8.10 作成

prottest2

ProtTest 3 ダウンロード

スペインのVIgo大学のPhylogenomics Labのホームページにあります。

プログラム自体はGitHubで共有されていますのでそこからダウンロードしてください。

https://github.com/ddarriba/prottest3

​zip形式でダウンロードできたと思います。

これを適当なディレクトリに移してください。そこが作業ディレクトリになります。

ファイルの解凍はダブルクリックでもできますが、その後はコマンドを使うことになるので、ここからはターミナルを使用します。

ターミナルの起動

macに標準で入っているのでどこかからダウンロードする必要はありません。

うえのタスクバーの虫眼鏡マーク(spotlight)を使って「ターミナル」を検索してください。

もしくはLaunchpad(トラックパッド上で親指と3本指でピンチ)の「その他」の中に入っています。

prottest3

Last login: Wed Aug  9 19:33:13 on ttys000

My-MacBook:~ mymacbook$ 

このようなウィンドウが出てくると思います。

$の後ろにコマンドを入れて return キーを押して実行します。

macの基本なのでググれば詳しい使い方はたくさん出てきます。

10秒調べただけですが、例えば基本コマンドはここがわかりやすいかも

パスpathの概念の理解にはこことか見とけばいいかと思います。

実際に入力するコマンドは $の後に書いていきます。また$が出るまではコンピューターが前のコマンドの処理をしているので、待ちましょう。

prottest4

ProtTest 3 環境設定

では、Zip fileの解凍とセットアップを始めましょう。

ターミナル上で "cd" コマンドを使って、zip fileがあるディレクトリに移動し、以下のコマンドを入力してください。

​ファイル名は自分のに合わせてください。

次にPATHを通します。(お気に入り登録とかショートカット的なもの)

"ls" コマンド でディレクトリの中身を見て2個のディレクトリと9個のファイルができて入れば成功です。

この中の "prottest-3.4.2.jar" が実行するために必要なファイルです。

.jarを動かすためにはjavaのJREが必要なので、ver. 1.6以降のJREをインストールしてください。

ここからダウンロードできます。(http://java.sun.com/javase/

$ tar zvxf prottest-3.4.2-yyyymmdd.tar.gz

$ export PROTTEST_HOME=$PWD/prottest3

prottest5

置換モデルの推定

準備は整ったのでとりあえず動かして見ましょう。

​自分のアラインメントファイル(myalignment.fasta)をprottestのディレクトリにコピーして、次のコマンドを実行します。

$ cd $PROTTEST_HOME

$ java -jar prottest-3.4.2.jar -i myalignment.fasta -all-distributions -F -AIC -BIC -tc 0.5

正常に作動して入れば、下のようにわーーっと文字が出てきます。

$ cd $PROTTEST_HOME

$ java -jar prottest-3.4.2.jar -i myalignment.fasta -all-distributions -F -AIC -BIC -tc 0.5

----------------------------------------------------------------------------------------------

ProtTest 3.4.2                      Fast selection of the best-fit models of protein evolution

(c) 2009-2016   Diego Darriba (1,2), Guillermo Taboada (2), Ramón Doallo (2), David Posada (1)

(1)                               Facultad de Biologia, Universidad de Vigo, 36200 Vigo, Spain

(2)                    Facultade de Informática, Universidade da Coruña, 15071 A Coruña, Spain

----------------------------------------------------------------------------------------------

Manual:                                    http://darwin.uvigo.es/download/prottest_manual.pdf

Homepage:                                                 http://github.com/ddarriba/prottest3

Discussion group:                                     https://groups.google.com/group/prottest

Contact:                                                  ddarriba@h-its.org, dposada@uvigo.es

----------------------------------------------------------------------------------------------

 

Version:  3.4.2 : 8th May 2016

Date:     Wed Aug 09 22:47:23 JST 2017

以下省略

配列の数や長さなどデータの大きさによりますが、数十分から数時間で結果が出ると思います。

結果はターミナル上でも表示されますが、prottestのlogディレクトリに"prottest3_20170809xxxxxxxxxx.log"というように出力されます。

logにはそれぞれのモデルを使った梅の計算結果が出ているのですが、結局我々が知りたいベストモデルは

というように書かれていると思います。

つまり、系統樹推定の際に用いる置換モデルはLG+I+G+Fを使うことになりました。

***************************************************************************

Best model according to BIC: LG+I+G+F

Confidence Interval: 100.0

***************************************************************************

iTOL2

パラメーターの意味

上の例ではとりあえず実行しましたが、いくつかのオプションが用意されていてます。

​そんなに多くないのでここで解説しましょう。

ちなみにREADME.txtに書いてあることです。

These are the parameters of the sequential execution:

 

     -i alignment_filename

            解析するためのアラインメントファイル (必須)

     -t tree_filename

            ガイド樹がある場合に使います。 [default: NJ tree]

     -o output_filename

            出力されるファイル名 [default: standard output]

     -log enabled/disabled

            ログを残すかどうか。enabledにして残しましょう。

     -[matrix]

            使う置換モデルの行列の選択 (アミノ酸配列の場合) = JTT LG DCMut MtREV MtMam MtArt Dayhoff WAG 

                                      RtREV CpREV Blosum62 VT HIVb HIVw FLU 

            特に指定しなければ全ての行列を使います。

     -I

            不変座位率を考慮したモデルを含める

     -G

            離散型ガンマ分布に基づいたモデルを含める

     -IG

            上記の+I と +G の両方を含める。

     -all-distributions

            全ての分布モデルを考慮する。(基本はこれでいいじゃないでしょうか)

     -ncat number_of_categories

            +Gを使う場合にカテゴリーの数を指定する [default: 4]

     -F

            実際のデータから推定された置換頻度行列モデル(empirical frequency estimation)を含める 

     -AIC

            Akaike Information Criterion (AIC)を基準として結果を順位付け

     -BIC

            Bayesian Information Criterion (BIC)を基準として結果を順位付け

     -AICC

            Corrected Akaike Information Criterion (AICc)を基準として結果を順位付け

     -DT

            Decision Theory Criterionを基準として結果を順位付け

     -all

            7つの枠組みで比較したテーブルを表示

     -S optimization_strategy

            最適化の方法の選択: [default: 0]

                     0: Fixed BIONJ JTT

                     1: BIONJ Tree

                     2: Maximum Likelihood tree

                     3: User defined topology

     -s moves

            ML樹形の探索方法の選択: 

            NNI (fastest), SPR (slowest), BEST (best of NNI and SPR) [default: NNI]

     -t1                      

            最適な樹形をnewick形式で表示 [default: false]

     -t2                      

            最適な樹形をASCII形式で表示 [default: false]

     -tc consensus_threshold 

            コンセンサスの樹形を表示する際に、分岐を表示する際の域値(ブートストラップ値の低い分岐をまとめるイメージ)

            [0.5 = majority rule consensus ; 1.0 = strict consensus]

     -threads number_or_threads            

            計算に使うCPUの数を指定 [default: 1]

     -verbose

            冗長性モード [default: false]

optionは色々あるようですが、基本は上でやったコマンドが割と網羅されていて使いやすいのかと思います。

強いて言えば、計算結果を早く知りたいので、使うCPUを増やすために -threads 4 とかのoptionを増やすぐらいですかね。

 

以上がProtTest3の使い方でした。

皆さんの研究の一助になればと思います。

何か間違いやアドバイスなどありましたらよろしくお願いします。

それでは

bottom of page