2020 年 4 月 2 日 改訂
井上 潤

HyPhy (ハイファイ) は,系統別・領域別に詳細なモデル設定が行えるプログラムです.系統仮説などの統計的な検定に力を入れている気がします.一ヶ月のうちに何度もバージョンアップがあるなど,急成長しています.私の研究グループでも HyPhy の評価は高いですが,まだ使いこなしている人はいません.

PAUP と同様に GUI ver. (Mac と Win) と Unix ver. があります.Unix ver. は慣れさえすれば,バッチファイルに解析の設定すべてを書いておけるので,PAUP Unix ver. のような使い心地の良さがあると思います.

ただ,C 言語などに詳しくない場合は,慣れるまでかなり時間がかかるようです.使い始めて 1 週間ぐらいはまるで意味がわかりませんでしたが,バッチファイルをひたすら書き換えて解析を進めることで少しづつ理解できるようになってきました.Mac ver. あるいは,Windows ver. においても,バッチファイルを用いた解析が可能です.

Phylogenetics 理論に関する論文集 Statistics for Biology and Health: Statistical Methods In Molecular Evolution (アマゾン) にチュートリアルが掲載されています.HyPhy の Web Site からもその PDF 版が入手できます (以下のコラムを参照).しかしあまりに多様な機能のために,これを一通り読んだだけでは十分な理解は得られないと思います.プログラムに付属している様々なバッチファイルを試してみて,試行錯誤して覚えていくしか方法は無いような気がします.作者に解析について質問してみて感じたのですが,どうも丁寧なマニュアルが存在する訳ではないようです.

Sergei L. Kosakovsky Pond and Spencer V. Muse. 2005.
HyPhy: Hypothesis Testing Using Phylogenies
In Statistics for Biology and Health: Statistical Methods In Molecular Evolution (Rasmus Nielsen Ed)
Springer, New York
A brief guide to HyPhy

このマニュアルにあるチュートリアルで使用されているバッチファイルは,以下のサイトから入手できます.
http://www.hyphy.org/pubs/HyphyBookChapter.tgz

Batch Language Command Reference も参照する必要があります.
http://www.hyphy.org/pubs/Commands.pdf


Unix version のコンパイル

ダウンロードのページの Source とされているファイルをダウンロードし,その右側に記載されている To install HYPHY に従ってコンパイルを行います.

まず「sh build.sh」と入力します.
その後ターミナルに指示が出ます.私は MPI などではなくシンプルな解析から始めようと思ったので,指示に従って「sh buid.sh SP」と入力したと思います.

コンパイルは G4 ノートで 5 分ほどかかりました.

*私が不慣れなせいかもしれませんが,GUI ver. (Mac ver. と Win ver.) は,期待通りの動きをしないことが多いように思えました.このため,PAUP では Mac ver. に慣れた後で Unix ver. を使うようになりましたが,HyPhy では最初から Unix ver. に挑戦することにしています.


置換速度行列の推定

以下をご参照ください。

http://hyphy.org/w/index.php/Sergei_L_Kosakovsky_Pond
automatic discovery of amino-acid substitution preferences (CodonTest).

https://www.ncbi.nlm.nih.gov/pubmed/20808876
CodonTest: modeling amino acid substitution preferences in coding sequences.

PAMLでも推定できます。こちらの「置換速度行列の推定」をご覧ください。

HS さんから教えていただきました。ありがとうございました (2020 年 4 月)。

2006 年あたりに、以下のページを作っていました。
Note on HyPhy



気づいた点

  • OTU name にはアルファベット,数字,アンダースコアが使えます.「.」(ドット) は使えません.
  • OTU name は nexus 形式であれば 10 文字以上でも動きます.
  • infile の配列データにおいて,Match first (2 OTU 以降で同じ形質であれば「.」と標記する形式) を用いても問題なく読み込みます.
  • Nexus 形式の最初は

#NEXUS

BEGIN DATA;
DIMENSIONS NTAX=57 NCHAR=376;
FORMAT DATATYPE=PROTEIN MISSING=? GAP=- ;

MATRIX

のようになっている必要があります.MacClade で保存したファイルをエディターで見ると,「SYMBOLS = " 1 2 3 4"」や「CHARSTATELABELS」などが付いていますが,これらがあると HYPHY はうまく動かないようです.

  • nexus ファイル内部に tree を書いておくこともできます.
    .....
    END;

    BEGIN TREES;
    TREE tree = (Newick 形式の tree);
    END;
  • とくに何の標記もない場合は outfile で得られるアミノ酸の順番が,HyPhy と paml では異なります.
    HyPh (1 文字表記のアミノ酸をアルファベット順に並べている)

A C D E F G H I K L M N P Q R S T V W Y
Ala Cys Asp Glu Phe Gly His Ile Lys Leu Met Asn Pro Gln Arg Ser Thr Val Trp Tyr

PAML (3 文字表記のアミノ酸 [Ala, Arg] をアルファベット順に並べている)

A R N D C Q E G H I L K M F P S T W Y V
Ala Arg Asn Asp Cys Gln Glu Gly His Ile Leu Lys Met Phe Pro Ser Thr Trp Tyr Val

リンク
HyPhy Tutorial Project