RELIONのMacへの導入

提供: Eospedia
2016年4月18日 (月) 06:20時点におけるTakahiro (トーク | 投稿記録)による版

移動: 案内検索

XQuartz のインストール

"http://www.xquartz.org/"からファイルをダウンロードし、インストールします。
2016/04/13日現在のバージョンは、XQuartz-2.7.8です。

Apple/Command Line Tools のインストール

"https://developer.apple.com/downloads/"からファイルをダウンロードし、インストールします。
ダウンロードにはApple IDが必要です。
今回は、Mac OSX El Capitant 10.11.4のために、Command Line Tools (OS X 10.11) for Xcode 7.3を使用しました。

GFortranのインストール

Open MPIのインストールには、GFortranが必要です。
Macには、デフォルトではGFortranが入っていないようなので、入れる必要があります。
今回は、Homebrewを使い、gcc-4.9と一緒にgfortran-4.9をインストールします。

$ brew install homebrew/version/gcc49 --with-fortran

"gfortran"で実行できるように、リンクをはります。

$ sudo ln -sf /usr/local/bin/gfortran-4.9 /usr/bin/gfortran

インストールできているか確認します。

$ gfortran -v

バージョン情報が表示されば、無事、インストール完了です。

Open MPI のインストール

"https://www.open-mpi.org/software/ompi/v1.10/"からファイルをダウンロードし、解凍します。
2016/04/13日現在、openmpi-1.10.21が最新版です。
Open MPIをインストールします。

$ cd openmpi-1.10.2
$ ./configure --prefix=/usr/local/openmpi-1.10-2
$ make && make check && sudo make install

次に、環境設定を行います。
.bash_profileに以下を追加しておきましょう。

export PATH=/usr/local/openmpi-1.10.2/bin:$PATH
export LD_RIBRARY_PATH=/usr/local/openmpi-1.10.2/lib:$LD_LIBRARY_PATH
export MANPATH=/usr/local/openmpi-1.10.2/share/man:$MANPATH
export MAC_OSX=1   ・・・この行は、次のRelionインストールのため

Open MPIが動くかどうか、テストします。

$ cd examples
$ make
$ mpirun -np 2 ./connectivity_c

結果、

Connectivity test on 2 processes PASSED.

と出力されるはずです。

Relion のインストール

"http://www2.mrc-lmb.cam.ac.uk/groups/scheres/download_relion.html"からファイルをダウンロードします。
名前、所属、メールアドレスの記入が必要です。
2016/04/13日現在のバージョンは、relion-1.4です。
ファイルを解凍します。

Relionが持つfltk-1.3.0では、エラーが出てコンパイルできません。
そこで、fl_line_style.cxx内を書き換えます。
まず、relion-1.4/external/内のfltk-1.3.0.tar.gzを解凍します。
relion-1.4/external/fltk-1.3.0/src/の下にfl_line_style.cxxが存在するので、以下のように4つの行を編集します。

-static enum CGLineCap fl_quartz_line_cap_ = kCGLineCapButt;
+static CGLineCap fl_quartz_line_cap_ = kCGLineCapButt;
-static enum CGLineJoin fl_quartz_line_join_ = kCGLineJoinMiter;
+static CGLineJoin fl_quartz_line_join_ = kCGLineJoinMiter;
-  static enum CGLineCap Cap[4] = { kCGLineCapButt, kCGLineCapButt,
+  static CGLineCap Cap[4] = { kCGLineCapButt, kCGLineCapButt,
-  static enum CGLineJoin Join[4] = { kCGLineJoinMiter, kCGLineJoinMiter,
+  static CGLineJoin Join[4] = { kCGLineJoinMiter, kCGLineJoinMiter,

ファイル内の4つの"enum"を消すことになります。
また、fltk-1.3.0.tar.gzを別の名前、例えば、fltk-1.3.0.tar.gz.orgなどに変更しておきます。
(fltk-1.3.0.tar.gzの削除/名前変更をしないと、relionをインストールする度に、fl_line_style.cxxが前のファイルに書き換えられてしまいます。)

先に、Open MPIをインストールしましたが、Mac上ではMPIに対応してRelionをインストールできませんでした(2016/04/13現在)。
そこで、 relion-1.4/INSTALL.sh内を書き換えて、mpi対応しないようにします。

-HAVE_MPI=true
+HAVE_MPI=false

これで準備完了です。(まだCTFFIND, ResMapには対応していませんが、)

$./INSTAL.sh

これで、Relionがインストールできます。
最後に環境設定を行います。

export LD_LIBRARY_PATH=/???/relion-1.4/lib:$LD_LIBRARY_PATH
export PATH=/???/relion-1.4/bin:$PATH
export RELION_QSUB_TEMPLATE="/???/relion-1.4/bin/qsub.csh"

"???"には、relion-1.4までのパスを書き込んでください。

$relion

でRelionが起動するはずです。