ProtTest の使い方:
分子系統樹を作る際に、最適なモデルを選ぶプログラム

UB3/informatics/bioinformatics/tree_prottest

このページの最終更新日: 2024/09/30

  1. ProtTest3 のインストールと使い方
  2. input.phylip の準備
    • Clustal Omega アラインメント
    • Muscle アラインメント
    • M-Coffee, T-Coffee アラインメント
    • MAFFT アラインメント
  3. 古い情報
    • Prottest のインストール
    • Prottest の使い方

広告

ProtTest のインストールと使い方

2022 年 1 月、MacOS Monterey での使用記録。ページ下方の「古い情報」とけっこう共通だった。Prottest のバージョンは 3.4.2。

まず homebrew が使えるかどうか brew install prottest3 として試してみたが、これはプログラムが見つからなかった。

GitHub の prottest3 のページ の Download というセクションから、prottest-3.4.2 の zip ファイルをダウンロード。解凍して適当なパスに保存。なおこれはソースコードの zip ではなく、解凍すると prottest-3.4.2.jar というファイルが入っている zip。私のときは prottest-3.4.2-20160508.tar.gz というファイルだった。

ターミナル で、以下のようにして prottest-3.4.2.jar を実行する。このコマンドは、文献 1 の Ubuntu 用のページのものをバージョンに合わせて変えたもの。

java -jar prottest-3.4.2.jar -i [alignment_file] -t [user_defined_tree_file] -o [output_file] -[matrix] -[models_to_evaluate] -[selection_criteria]

以下が実行するスクリプト。input file さえ指定すれば動くが、-all-distributions をつけ忘れると +G などをテストしてくれないので注意。

java -jar prottest-3.4.2.jar -i input.phylip -all-distributions -F -AIC -BIC -tc 0.5

input.phylip という名前の input file の準備の仕方は、ページ下方の input.phylip の準備 でまとめてある。

最初に実行するときに、この java と、おそらくは連動して動いている PhyML_3.0_macOS_i386 が Unknown developer からのものという警告が出て、ランが止まる。

Mac セキュリティメッセージ

これは Mac ではよくあることなので、Allow Anyway として実行。上記の java -jar を繰り返すと、下のようにしてもう一度確認されるが、ここでも Open を選択。

Mac セキュリティメッセージ

アウトプットファイルを指定しなかったので、ターミナル上に結果が出るだけだが、以下のように best model が決定された。これは BIC に基づいたものだが、LnL に基づく表もこの下に出てくる。

Prottestの使い方

prottest-3.4.2 のフォルダを Linux Ubuntu にコピーし、java をインストールすれば、Linux でも同じように Prottest を使うことができる。

input.phylip の準備

様々な方法があるだろうが、私が使っている方法をメモしておく。

Clustal Omega アラインメント

Web の Clustal Omega で、output フォーマットを phylip にして実行、結果をダウンロード。そのままではエラーになるので、この phylip ファイルをさらに このページ にアップロードし、Phylip (sequencial) に変換したものを使用。

Muscle アラインメント

Muscle の結果を ClustalW で出力し、これを Clustal Omega の場合と同様に このページ で Phylip (sequencial) する。

M-Coffee, T-Coffee アラインメント

結果の画面から result.phylip をダウンロードでき、これがそのまま Prottest に使える。

MAFFT アラインメント

Web の MAFFT version 7 でアラインメントし、結果を phylip 3.2 フォーマットに変更してダウンロード。このファイルがそのまま使える。

同じ画面から、フォーマットを nexus にすると、MrBayes にそのまま使えるファイルがダウンロードできる。

古い情報

以下は 2018 年 8 月ごろにまとめた情報である。時期的に古いだけでなく、管理人の知識も現在と比べて不十分だったので未熟な記述もあるが、消さずに保存しておく。

ProtTest のインストール

2018 年 8 月現在では、このページ からダウンロードできる ProtTest 3.4.2 が最新である。

ProtTest の実行には、Java Runtime Environment という環境が必要である。Oracle からダウンロードする。Server JRE, JDK など紛らわしいものがあるが、JRE が正しい。

ターミナルで java -version とすると、現在インストールされている java 関係の情報を見ることができる。

ProtTest の使い方

ProtTest には、コマンドラインバージョンとグラフィックバージョンがある。最初はグラフィックバージョンで試していたが、結果的にはコマンドラインバージョンで成功した。

試行錯誤の過程をメモしておく。


グラフィックバージョン

Mac の場合、圧縮フォルダを展開して好みの場所に移し、ターミナルから runXProtTestHPC.sh というファイルを実行する。cap3 のページ で示したように、./ を使うか パスを通す のを忘れないようにする。

読み込むフォーマットは phylip format が良いようである。Nexus だとバグがあると書かれている。Clustal Omega で phylip をアウトプットフォーマットに指定し、ダウンロードする。

これを ProtTest にアップロードすると、色々なエラーが出る。アンダーバー、数字など、改行コードなど、さまざまな文字が使用を許可されていないようだ。

文字の問題をクリアすると、"Alignment parse exception: There's some error in your data: Sequence lengths are not equal to the given length." というエラーに遭遇。

これを解決できなかったため、コマンドラインバージョンに移行。


コマンドラインバージョン

ReadMe には、"java -jar prottest-3.4.2.jar -i examples/COX2_PF0016/alignment -all-matrices -all-distributions -threads 2" というコマンドが載っており、これを実行するとちゃんと動いた。

examples/COX2_PF0016/alignment というファイルを解析しているようなので、これを見てみると、phylip format とはいえ違いがある。

つまり、Clustal Omega の与える phylip には改行やスペースが入っていて、これが邪魔をしていた模様。Clustal Omega からダウンロードしたファイルを このページ にアップロードし、Phylip (sequencial) に変換する。

すると、examples/alignment にあるような余分な改行などのないアラインメントがブラウザ上に出てくるので、これをテキストファイルに保存。拡張子はなしでも .phylip としても良さそうだ。

塩基配列の扱いでは、fasta, phylip, nexus などのフォーマットが出てくるが、これらのファイル名や形式にかなりのゆらぎがあるという印象。例えば fasta file でも、拡張子は fa, fasta, fas など様々。マニュアル通りにやっているのにエラーが出るときには、この可能性を考えるといいだろう。

2 種類の結果が得られる。Best model according to BIC と Best model according to LnL である。どちらが「良い」のかよくわからないが、論文に記載するときは BIC と LnL のどちらに基づいているのか書いたほうがいいだろう。


広告

References

  1. Installing and executing ProtTest3 on Ubuntu. Link: Last access 2022/01/07.

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。