CIPRES でベイズ系統樹を作る:
方法、パラメーター設定、描画など

informatics/bioinformatics/tree_cipres_mrbayes
2018/08/22 更新

  1. CIPRES Gateway の使い方
  2. CIPRES REST API の使い方
    • ベイズ法の各種パラメーターの設定

広告

概要: CIPRES Gateway の使い方

MEGA で neighbor-joining tree を作っていた頃は、系統樹作成は簡単な作業だったが、最近ではハードルが上がってきている。ベイズ法には MEGA のような簡単なプラットフォームがなく、MrBayesBEAST を使うにはコマンドラインの知識が必要である。

こんな状況を打破しつつあるのが、オンラインプラットフォームの CIPRES だ。高性能サーバーに計算を任せられるので、基本的にはパラメーターを設定して配列を投げるだけで、長い計算も OK。

このページでは、CIPRES を使ってベイズ系統樹を作る方法をまとめる。とりあえずは系統樹を作れるようになるところまで。パラメーターなどの意味はあとから追加。

  1. アカウントを作る。
  2. nexus 形式の配列をアップロードする必要がある (参考: 塩基配列解析に使うファイルについて)。
    • fasta があれば、Clustal Omega でまず phylip にする。
    • phylip は このサイト で nexus に変換できる。
    • nexus には Normalized nexus というフォーマットもあるが、これは MrBayes には受け入れられないようである。上記のサイトは普通の nexus を出力するので問題なし。
  3. アップロードした nexus ファイルを選び、新しい task を作る。tool には MrBayes を選択。
  4. パラメーターが大量にあるが、とりあえずは塩基かタンパク質かのみを選択する。
  5. 無事に系統樹が計算されると、アウトプットに infile.nex.con.tre というファイルが現れる。これが系統樹のファイルである。
  6. .tre ファイルを開くのも一苦労だったが (Ref 1; FigTree が動かなかった)、IcyTree というウェブベースの描画ソフトで開くことができた。

配列の長さが同じなら、項目 2 のサイトで直接 fasta から nexus に変換できる。長さが違うときは、一旦アラインメントして gap を導入しないといけない。そのために Clustal Omega を経由して phylip でインポートしている。gap を含めた塩基数またはアミノ酸数が同じなら、同じ長さの配列として認識される。


広告

CIPRES REST API の使い方

CIPRES gateway よりも少し高度なことをしたいときには、やはりコマンドラインを避けて通ることはできない。一度慣れると、ブラウザベースのものよりもずっと快適に使えるようになる。

CIPRES REST API (CRA) はコマンドベースの CIPRES で、Gateway とは別に専用のアカウントを作るところから始めなければいけない。

各種のパラメーターを設定し、CRA でベイズ系統樹を作る方法についてまとめておく。


ベイズ法の各種パラメーターの設定

ベイズ系統樹を作る際には、多くのパラメーターを設定する必要がある。

Nexus file を Developer Documentation Index にある Tool Configuration Helper を使うと、最適なパラメーターのリストを作ってくれる。

パラメーターは 100 個以上あったりするので、いちいち手で入力するのは大変である。Tool Configuration Helper は、コピペすればいいような形でもパラメーターのリストを出力してくれるので、CRA からサブミットする形になる。

  1. まず CIPRES REST APT のページからアカウントを作り、ログインする。さらに Application を作ると、application ID がもらえる。User name, password, application ID および URL が必要。
  2. 次に、このページ を参考に curl コマンドを使った job submission に慣れる。
    • パスワード、Key、URL は export で設定しておくように説明されているが、もちろんコマンドに直接入力でも構わない。
    • Tool として MrBayes を使うときに nexus file で submit するのは CIPRES gateway と同じである。
    • nexus ファイルはカレントフォルダに置いておき、-F input.infile_=@'./sample1_in.nexus' とした。' ' がないとエラーになった。
  3. Submission が成功すると、NGBW-JOB-CLUSTALW-3957CC6EBF5E448095A5666B41EDDF90 のような長い job number がターミナル上に現れる。これを記録しておく。結果は、サーバー上の jobnumber/output というフォルダの中に保存される。
  4. 結果のダウンロードにも curl command を使う。まず、curl -u tom:$PASSWORD \ -H cipres-appkey:$KEY \ $URL/job/tom/NGBW-JOB-CLUSTALW-3957CC6EBF5E448095A5666B41EDDF90/output のようにして output フォルダの中を確認。
  5. 以下のような形で、infile.nex.con.tre というファイルが見つかるはずである。インデントは省略して書いている。

<jobfile>
<downloadUri>
<url>$URL/v1/job/tom/NGBW-JOB--5A5666B41EDDF90/output/1550</url>
<rel>fileDownload</rel>
<title>infile.nex.con.tre</title>
</downloadUri>
<jobHandle>NGBW-JOB--5A5666B41EDDF90</jobHandle>
<filename>infile.nex.con.tre</filename>
<length>1449</length>
<parameterName>aligfile</parameterName>
<outputDocumentId>1550</outputDocumentId>
</jobfile>

  1. これが tree のファイルなので、同じく curl コマンドに -O -J オプションをつけてダウンロードする。
    • 実際のコマンドは、やはり このページ に載っている。
    • ダウンロード時は、curl -u tom:$PASSWORD \ -H cipres-appkey:$KEY \ -O -J \ $URL/job/tom/NGBW-JOB-CLUSTALW-3957CC6EBF5E448095A5666B41EDDF90/output/1544 のように outputDocumentId で指定する ので注意。
    • ファイルネームで指定すると、HTTP 404 のエラーを含む infile.nex.con.tre がダウンロードされ、原因を探るのに少し時間を使ってしまった。

.tre ファイルは FigTree というソフトで描画するのが一般的である。2018 年 8 月に このページ からインストールしたが、High Sierra では立ち上がらなかった。

ここ を参考に Homebrew からインストールすると、Mac の種類によって立ち上がるものと立ち上がらないものがあった。セキュリティの設定が邪魔をしているような気がするが、まだ解決に至っていない。

まずは以下のコマンドで Homebrew をインストールする。すでにインストール済みならば飛ばしても良い。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null ; brew install caskroom/cask/brew-cask 2> /dev/null

FigTree をインストールするコマンドは以下。

brew cask install figtree


広告

コメント欄

フォーラムを作ったので、各ページにあるコメント欄のうち、コメントがついていないものは順次消していきます。今後はフォーラムをご利用下さい。管理人に直接質問したい場合は、下のバナーからブログへ移動してコメントをお願いします。


References

  1. How to open a phylogenetic file with the end of ".Tre"? Link: Last access 2018/08/22.