Windows でRAxML-NG を使う
wls2 を使えばMPI 版のRAxML-NG を導入できる。
$ sudo apt-get install cmake
$ sudo apt-get install bison
$ sudo apt-get install flex
$ sudo apt-get install clang-tidy
$ git clone --recursive https://github.com/amkozlov/raxml-ng
$ cd raxml-ng
$ mkdir build && cd build
$ cmake -DUSE_MPI=ON ..
$ make
$ cd bin
$ ./raxml-ng-mpi
bin フォルダ内のraxml-ng-mpi を作業しやすいフォルダかbin にうつせば終了
モデル推定はmodeltest-ng を使う
$ git clone https://github.com/ddarriba/modeltest
$ mkdir build && cd build
$ cmake -DENABLE_MPI=ON ..
$ make
作業フォルダは /mnt/c/raxmlng とする。ここではNon-parametric standard bootstrap で解析を行う。
$ ./modeltest-ng-mpi -d nt -i [file name] -o [file name] -p 6 -q [file name]
-d nt: nt でデータタイプを核酸に指定
-i [file name]: でinput file を指定
-o [file name]: 出力ファイル名の指定
-p @: スレッド数の指定
-q [file name]: RAxML 形式のpartition file を指定
出力されるファイルで確認すべきは4つ
modeltest.part.aic: AIC モデルで推定されたBest model
modeltest.part.aicc: AICc モデルで推定されたBest model ※RAxML-NG ではこのベストモデルを使う。
modeltest.part: BIC モデルで推定されたBest model
modeltest.out: モデル推定の要約
$./raxml-ng-mpi --msa [file name].phy --model [best model] --bs-trees 1000 --threads @ --all
--msa [file name].phy: 解析に使うデータセットfasta もok
--bs-trees: non-parametric bootstrap analysis を@回実行する (すごく遅い!)
--support: best tree にbs 値をmap する
--thread @: CPU の数を入力
--model [best model]: Modeltest-NG で出力されたモデルを指定する
--all: ML best tree とBootstrapping をやる
この手法のメリットは先にML Best tree だけを出力し、樹形を編集している間にBS 解析を行うことができる点にある。
そこまで急いでいないなら (1) の方法をするのが基本。
a. ML Best Tree を出力, --search コマンドだが、コマンドを指定する必要は無く、bootstrap を指定しないことで動作する
$./raxml-ng-mpi --msa [file name].phy --model [best model]
b. Bootstrap (nonparametric standard bootstrap)
$./raxml-ng-mpi --bootstrap --bs-trees 1000 --msa ITS.fas --model [best model]
c. ML Best Tree にBS 値をマッピング
$./raxml-ng-mpi --support --tree @ --bs-trees @ --threads @
--support: BS 値をbest tree にマッピングする宣言
--tree @: best tree を指定「@@@.raxml.bestTree 」
--bs-trees @: bootstrap ファイルを指定「@.raxml.bootstraps」
d. 作業フォルダにBest tree にNonparametric standard bootstrap にBS が付与された「@.raxml.bestTree.raxml.support」が出力される。
※RAxML-NG で解析 (2) の--all コマンドはこの一連の作業をオートでやってくれる
$./raxml-ng-mpi --msa [file name].phy --model [file name] --bs-trees 1000 --threads @ --all
--msa [file name].phy: 解析に使うデータセットfasta もok
--bs-trees: non-parametric bootstrap analysis を@回実行する (すごく遅い!)
--support: best tree にbs 値をmap する
--thread @: CPU の数を入力
--model [file name]: Modeltest-NG で出力された「modeltest.part.aicc」を使う。
--all: ML best tree とBootstrapping をやる
この手法のメリットは先にML Best tree だけを出力し、樹形を編集している間にBS 解析を行うことができる点にある。
そこまで急いでいないなら (1) の方法をするのが基本。
a. ML Best Tree を出力, --search コマンドだが、コマンドを指定する必要は無く、bootstrap を指定しないことで動作する
$./raxml-ng-mpi --msa [file name].phy --model [file name]
b. Bootstrap (nonparametric standard bootstrap)
$./raxml-ng-mpi --bootstrap --bs-trees 1000 --msa ITS.fas --model [file name]
c. ML Best Tree にBS 値をマッピング
$./raxml-ng-mpi --support --tree @ --bs-trees @ --threads @
--support: BS 値をbest tree にマッピングする宣言
--tree @: best tree を指定「@@@.raxml.bestTree 」
--bs-trees @: bootstrap ファイルを指定「@.raxml.bootstraps」
d. 作業フォルダにBest tree にNonparametric standard bootstrap にBS が付与された「@.raxml.bestTree.raxml.support」が出力される。
※RAxML-NG で解析 (2) の--all コマンドはこの一連の作業をオートでやってくれる
以下以前の説明バージョン
1.事前にアライメントデータをIQ-TREE Online (http://iqtree.cibiv.univie.ac.at/) でModel Selection からモデル推定する
2.IQ-TREE では標準でBIC モデルで選ばれたベストモデルが出力されるが、RAxML で使う場合はcorrected Akaike information criterion (AICc) で選択されたモデルを選ぶと良い
※ IQ-TREE Online でのモデル推定は使い方は後述
3.出力された情報を元にモデルを選択する
4.Bootstraping ではNumber of replicates を100 に設定することでブートストラップを100 回行うことができる (オンライン版は最大で100)
5.Submit ボタンを押すと解析が始まる
時間がかかるためE-mail アドレスを入力すると解析完了後にメールで通知される