Mac でベイズ法の系統樹を作る:
古い情報のメモ

UB3/informatics/bioinformatics/tree_make_mrbayse_mac_old



ベイズ法系統樹の作り方。現在は違う方法を使っているが、このページもまだ有用だと思うので残しておく。最新版は MrBayes のインストールと使い方 を参照のこと。


  1. Muscle アラインメントから nexus ファイルを作る
  2. (旧) MrBayse のインストール
  3. BEAST に逃げる?

広告

Muscle アラインメントから nexus ファイルを作る

MUSCLE アラインメントから MrBayes で読み込む nexus ファイルを作るには、現在はこの EMBL を使っている。以下は古い方法。まだ有効なはず。

MUSCLE alignment の結果を MrBayse で解析するには、次のような手順が必要だった。唯一の方法ではないはずだが、メモしておく。

MrBayes で読み込む nexus file の冒頭には、このような記述が必要である。

#NEXUS
[TITLE: Written by EMBOSS 12/04/21]

begin data;
dimensions ntax=18 nchar=728;
format interleave datatype=protein missing=X gap=-;

matrix

この matrix の次の行から配列が始まる。

Human MAGTT... (50 文字とか)
Mouse MGAAT...

Human AAHHY... (改行後に続き)
Mouse MGAAT

のように並べられており、fasta のように Human の配列が終わってから Mouse の配列が始まる、という並びではない。

また、配列の比較が終わったあとに、

;

end;
begin assumptions;
options deftype=unord;
end;

という文字列がくる。つまり、この文字列を Muscle alignment に付け足せばよいわけである。

clustalo や web の Clustal omega でアウトプットを nexus にすると、これらの文字列が出てくる。まずこれをコピーする。

さらに、web の muscle でアラインメントする。この場合のアウトプットは ClustalW が良さそうだ。これで、Muscle のアラインメントが出力される。これに、Clustal omega からの文字列をペーストすれば OK。

dimensions ntax=18 nchar=728 の部分が、アラインメントに含まれる配列の数と、文字数を示している。ntax の方は同じはずだが、nchar の方が clustalo と muscle のアラインメントで異なる場合がある (ギャップの数もアラインメントに含まれるため。もともとの配列の長さが違っても、ギャップによって同じ長さに揃えられているので、ここの数字は 1 個である)。もともとの数字は clustal omega のアラインメントによって挿入されたギャップを含んだ数字なので、これを muscle の方に変えなければならない。これはマニュアルで数字を数えて記入する。1 行が 50 または 60 文字になっているので、簡単に数えられるはず。数が違えば、異なる基準でアラインメントされているということなので、むしろ安心である。

conda install -c bioconda seqmagick をインストールし、seqmagick で このページ に従い変換しようとしたが、うまくいかなかった。また、ウェブの conversion などを使ってみたが、MrBayes で読み込めるような nexus が得られたのは、Clustal Omega のアウトプットを nexus にした場合だけだった。

MrBayse のインストール

Mac は OS High Sierra、MrBayse は Mac version 3.2.6、インストールと系統樹作成は 2018 年 3 月。

インストールは以下のように行う。

公式ページ からダウンロード、解凍して現れたフォルダを所定のフォルダに移す。バージョンによって相性があるようである。 (日本語の参考ページ)

以下は、ダウンロードしたフォルダのマニュアルに書かれていたインストール方法に基づいている。

  1. Xcode, Homebrew が必要。
  2. bres install openmpi をターミナルで実行し、MPI 環境をインストール。これは問題なく成功。
  3. MPI 環境がインストールされたが、MrBayes のフォルダで mpirun -np 2 mb-mpi のようにコアの数を -np で指定しつつ実行すれば良いと書かれている。

しかし、3 を実行したところ以下のようなエラーが。

dyld: Library not loaded: /usr/local/lib/libhmsbeagle.1.dylib
  Referenced from: /Users/Taro/Documents/MrBayes/mb-mpi
  Reason: image not found

dyld: Library not loaded: /usr/local/lib/libhmsbeagle.1.dylib
  Referenced from: /Users/Taro/Documents/MrBayes/mb-mpi
  Reason: image not found


必要なライブラリがロードされていないというエラーのようである。これはマニュアルのトラブルシューティングに書かれていたので、/usr/bin で sudo ln -s libedit.2.dylib libedit.3.dylib を実行。

ln はシンボリックリンクを貼るコマンドである。

/usr/bin は一般に保護されたフォルダなので、Operation not permitted というエラーが出る。

しかし、これをトライしたあとに再び 3 を実行すると、エラーの内容が変わっていた...?

dyld: Library not loaded: /usr/local/lib/libhmsbeagle.1.dylib


MrBayes のフォルダで mpirun -np 2 mb-mpi を実行すれば、このエラーは出ないのか? エラーが刻々と移り変わってゆくので、ちょっとは前進しているのだろう。

次は、以下のパスにライブラリの 12 番がないというエラー。

dyld: Library not loaded: /usr/local/opt/open-mpi/lib/libmpi.12.dylib


brew reinstall -s lammps を実行。他のソフトに影響が出なければ良いが。しかし解決せず、実際にこのフォルダに行ってみると libmpi.12.dylib というファイルがそもそもない。

パーミッションの問題であることが多いのだが、これはこのファイルを入手しなければならないということ。

BEAST に逃げる?

この解決が難しそうなので、とりあえず MrBayes は諦め BEAST のインストールを試みた。

  • ここ から Beast をインストール。立ち上がるが、実行すると BEAGLE Library が必要というエラーが。
  • ここ に従って BEAGLE library をインストール。
  • 最初の brew のコマンドは動くが、その次の svn checkout http://beagle-lib.googlecode.com/svn/trunk/ beagle-lib が見つからない。
  • ググって ここ へ。Dropbox で怪しい感じだが、github なので信用する。.pkg がダウンロードできるので、これで BEAGLE-2.1.2 をインストール。MrBayes もこのライブラリを使うと書いてあるので実行してみたが、同じエラー。
  • だが、たぶん BEAST は動くようになった。

とここまでやったところで、BEAST には新しい BEAST2 というバージョンがあることがわかった。以降の操作は BEAST2 のページ にまとめた。


広告

References

  1. MbWiki Tutorial. Link: Last access 2022/01/08.
  2. Lset. Link: Last access 2022/01/08.
  3. MrBayes 3.1.2 を用いた系統解析. Link: Last access 2022/01/08.

コメント欄

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