本家様 http://scipion.cnb.csic.es/m/home/
https://www.youtube.com/watch?v=5fLrZ2BYJ28

CentOS 7で作ってます

ソースコードから作るScipion/source

どうもscipionは conda が必要みたい。
*他の方法もあるのかもしれませんが、知識不足でこの方法しか知らないのです

っで、まずは pyenv を使って anaconda/minoconda 環境を作る。

Step 0: conda環境を作る

crYOLOのようにpyenv環境を事前に用意します。簡単に書けば下記のようにします。

[root@c7 ~]# git clone https://github.com/yyuu/pyenv.git /apps/pyenv
[root@c7 ~]# export PYENV_ROOT=/apps/pyenv
[root@c7 ~]# export PATH=$PYENV_ROOT/bin:$PATH
[root@c7 ~]# eval "$(pyenv init - --no-rehash)"
 
[root@c7 ~]# pyenv install anaconda3-5.3.1
[root@c7 ~]# export PATH=$PYENV_ROOT/versions/anaconda3-5.3.1/bin/:$PATH
[root@c7 ~]# conda update conda

こうすると「/apps/pyenv/versions/anaconda3-5.3.1/etc/profile.d/conda.sh」が用意されるが、これを「CONDA_ACTIVATION_CMD」として定義します

[root@c7 ~]# export CONDA_ACTIVATION_CMD="source /apps/pyenv/versions/anaconda3-5.3.1/etc/profile.d/conda.sh"

こうした上でscipionのインストールを始めます。

自分のローカル環境に pyenv/conda環境を作っても構わないです. 「/home/saber/pyenv」とか
ここは多数のユーザがいる中で皆にサービスを提供することを念頭に書いてます
なのでrootで共有アプリを入れたりしています

Step 1: Download

ここではバイナリー版を使います
なので取得ファイルはhttp://scipion.i2pc.es/download_formの「V2.0 CentOS7 64bit」を選びます。
押下するとファイルがダウンロードされます。ファイル名は「scipion_v2.0_2019-04-23_linux64_CentOS7.tgz」です。

[root@c7 ~]# cd /apps
[root@c7 apps]# tar xzf src/scipion_v2.0_2019-04-23_linux64_CentOS7.tgz
[root@c7 apps]# cd scipion
[root@c7 scipion]# ls -CF
CHANGELOG.md  config/  data/  License.txt  pyworkflow/  README.md  scipion*  software/
 
[root@c7 scipion]#

Step 2: Dependencies

https://scipion-em.github.io/docs/docs/scipion-modes/dependenciesに従い必要なパッケージをインストールします。
ここでは記載の「openmpi-devel」は辞めて「openmpi3-devel」を使います
「centos-release-scl 」「devtoolset-4」と「python27」は外して(CentOS 7には存在してないので)、「wget」を入れてます

yum install gcc gcc-c++ cmake java-1.8.0-openjdk-devel libXft-devel openssl-devel libXext-devel\
   libxml2-devel readline-devel libquadmath libxslt-devel openmpi3-devel libX11-devel libgfortran\
   freetype-devel scons fftw-devel opencv-devel curl git wget

Step3: Configure

scipionの設定ファイルを調節します。

[root@c7 ~]# cd /apps/scipion
[root@c7 scipion]# ./scipion config
 
Scipion v2.0 (2019-04-23) Diocletian
 
>>>>> python  /apps/scipion/pyworkflow/apps/pw_config.py
* Creating configuration file: /apps/scipion/config/scipion.conf
Please edit it to reflect the configuration of your system.
 
* Creating configuration file: /apps/scipion/config/protocols.conf
Please edit it to reflect the configuration of your system.
 
* Creating configuration file: /apps/scipion/config/hosts.conf
Please edit it to reflect the configuration of your system.
 
* Creating configuration file: /root/.config/scipion/scipion.conf
Please edit it to reflect the configuration of your system.
 
--------------------------------------------------------------
-----------------------------------------------------------------
It would be very helpful if you allow Scipion
to send anonymous usage data. This information will help Scipion's
team to identify the more demanded protocols and prioritize
support for them.
 
The collected usage information is COMPLETELY ANONYMOUS and does NOT
include protocol parameters, file names or any data that can be used
to identify you or your data. In the URL
https://github.com/I2PC/scipion/wiki/Collecting-Usage-Statistics-for-Scipion
you may see examples of the transmitted data as well as the
statistics created with it. You can always deactivate/activate
this option by editing the file $HOME/.config/scipion/scipion.conf
and setting the variable SCIPION_NOTIFY to False/True respectively.
 
We understand, of course, that you may not wish to have any
information collected from you and we respect your privacy.
 
Press <enter> if you don't mind to send USAGE data, otherwise press any key followed by <enter>: a
Statistics Collection has been set to: False
-------------------------------------------------------------
-------------------------------------------------------------
Checking paths in /apps/scipion/config/scipion.conf ...
  Path to MPI_LIBDIR (/usr/lib64/mpi/gcc/openmpi/lib) should exist but it doesn't.
  Path to MPI_INCLUDE (/usr/lib64/mpi/gcc/openmpi/include) should exist but it doesn't.
  Path to MPI_BINDIR (/usr/lib64/mpi/gcc/openmpi/bin) should exist but it doesn't.
  Cannot find file: /usr/lib64/mpi/gcc/openmpi/bin/mpicc
  Cannot find file: /usr/lib64/mpi/gcc/openmpi/bin/mpiCC
  Cannot find file: /usr/lib64/mpi/gcc/openmpi/bin/mpiCC
  Cannot find file: /usr/lib64/mpi/gcc/openmpi/include/mpi.h
Errors found.
Please edit /apps/scipion/config/scipion.conf and check again.
To regenerate the config files trying to guess the paths, you can run: scipion config --overwrite
[root@c7 scipion]#

前段で3種のファイルが「/apps/scipion/config」に作られます。
scipion.conf」「protocols.conf」「hosts.conf
そして、実データとかパラメータ値とかは送らないが、scipion内の各パッケージの利用頻度を調べるための
通信許可が求められます。
下記のサイトの元データになるみたい
http://scipion.i2pc.es/report_protocols/protocolTable/
データを送っていいなら、そのまリターンキーを押下します。もし嫌なら何らかのキー(ここでは[a])を入力してリターンキーを押下します。

設定ファイル(/apps/scipion/config/scipion.conf)の各種パスがあっていないようなので変更します

--- config/scipion.conf.orig    2019-12-30 08:08:39.845559553 +0900
+++ config/scipion.conf 2019-12-30 08:29:28.066849031 +0900
@@ -18,9 +18,9 @@
 MPI_CXX = mpiCC
 MPI_LINKERFORPROGRAMS = mpiCC
 MPI_LIB = mpi
-MPI_LIBDIR = /usr/lib64/mpi/gcc/openmpi/lib
-MPI_INCLUDE = /usr/lib64/mpi/gcc/openmpi/include
-MPI_BINDIR = /usr/lib64/mpi/gcc/openmpi/bin
+MPI_LIBDIR = /usr/lib64/openmpi3/lib
+MPI_INCLUDE = /usr/include/openmpi3-x86_64
+MPI_BINDIR = /usr/lib64/openmpi3/bin
 CUDA_LIB = /usr/local/cuda-8.0/lib64
 CUDA_BIN = /usr/local/cuda-8.0/bin
 NVCC = nvcc --x cu -D_FORCE_INLINES -Xcompiler -fPIC -Wno-deprecated-gpu-targets
@@ -34,7 +34,7 @@
 JNI_CPPPATH = %(JAVA_HOME)s/include:%(JAVA_HOME)s/include/linux
 JAVA_MAX_MEMORY = 2
 GTEST = False
-CUDA = False
+CUDA = True
 DEBUG = False
 MATLAB = False
 OPENCV = True

備考
もしscipion側への通知を変更したいなら「~/.config/scipion/scipion.conf」の中身を修正します

SCIPION_NOTIFY = False    *Falseなら送付しない。Trueなら送る

Step4: Scipion Compile

次に、scipionをコンパイルします。
「-j」は複数同時並列にコンパイルしたい場合に幾つ並列でコンパイルするかのパラメータ。
こちらは貧弱なマシンなので「-j 2」にしてます

[root@c7 scipion]# ./scipion install
 :
 :
Done (0.33 seconds)
 
  ************************************************************************
  *                                                                      *
  *         Congratulations, Scipion was installed successfully          *
  *                                                                      *
  ************************************************************************
[root@c7 scipion]#

バイナリー版なので不要なのかな?と思うが一応実行した

Step5: Package Install

これで土台は完成。次に、Scipionから呼び出されるパッケージをインストールします。
*アプリの一覧サイトhttps://github.com/scipion-em

scipionを起動してGUIからインストール可能なのだが、ここではコマンドラインで行ってます

ここで重要なお話。
「プラグイン」と「(バイナリー)プログラム」の2項目があると思ってください。
大抵は使用するアプリの「ブラグイン」をインストールすると、その「プログラム」の最新版が同時にインストールされます。
(あくまでもSipion側で定義している最新版の「プログラム」なので本当に最新なのかは別です)
*用途が微妙だけど、古いバージョンの「プログラム」もインストール可能です

そして、初回はプラグイン「scipion-em-xmipp」とその(バイナリー)プログラムをインストールします。

[root@c7 scipion]# ./scipion installp -p scipion-em-xmipp
[root@c7 scipion]# ./scipion installb xmippBin_Centos

これ以降は「./scipion installp --help」に表示されるパッケージをインストールします。
たとえばrelionなら「./scipion installp -p scipion-em-relion」とします。
この際、xmippとは異なりrelionの「(バイナリー)プログラム」もインストールされます。
*もし古い(バイナリー)プログラムを使いたいなら「./scipion installb --help」で提示されるバージョンをインストールします

参照:Scipion/Package

Run

PATH環境変数に「/apps/scipion」を加えるか、aliasを/apps/scipion/scipionに設ければいいみたい

echo alias scipion ='/apps/scipion/scipion' >> ~/.bashrc

とするか、EnvironmentModulesに対応したいなら

#%Module1.0
setenv CONDA_ACTIVATION_CMD "source /apps/pyenv/versions/anaconda3-5.3.1/etc/profile.d/conda.sh"
set-alias scipion /apps/scipion/scipion

を「/etc/modulefiles/scipion」とかにして入れる

実行は「scipion」で行います。
初回のみ

Missing file /home/saber/.config/scipion/scipion.conf
Please run
  /apps/scipion/scipion config
to fix your configuration

といわれる。ここで「/apps/scipion/scipion config」と実行すると、scipion側へパッケージの利用状況を送るか否かが問われます。それに答えた後、再度「scipion」を実行すれば使用可能になります。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2019-12-30 (月) 17:56:27 (21d)