本家様 http://scipion.cnb.csic.es/m/home/

Step 1: Download

CentOS7でソースコードから作ります

ファイル名は「scipion_v2.0_2019-04-23_source.tgz
それを展開すると、「scipion」というディレクトリが作られる

[root@c ~]# cd /Appl/
[root@c Appl]# gzip -cd scipion_v2.0_2019-04-23_source.tgz | tar xf -

Step 2: Dependencies

https://scipion-em.github.io/docs/release-2.0.0/docs/scipion-modes/dependenciesに書かれているような追加パッケージが必要

  sudo 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 openmpi-devel libX11-devel libgfortran \
   freetype-devel scons fftw-devel opencv-devel curl centos-release-scl devtoolset-4 python27 git

一応、上記は「For Centos 6 and Centos 7」とされている。
インストールするパッケージの「centos-release-scl devtoolset-4 python27」はCentOS6のpythonが2.6なので、それを2.7で動かすためにあるかと思う。
故、CentOS7ではこれら不要かな?

なので、CentOS7で稼働させるので、

[root@c ~]#  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 openmpi-devel libX11-devel libgfortran \
   freetype-devel scons fftw-devel opencv-devel curl

としみた。

Step3: Configure

[root@c ~]# chown -R root:root /Appl/scipion
[root@c ~]# cd /Appl/scipion/
 
[root@c scipion]# ./scipion config
 
Scipion v2.0 (2019-04-23) Diocletian
 
>>>>> python  /Appl/scipion/pyworkflow/apps/pw_config.py
* Creating configuration file: /Appl/scipion/config/scipion.conf
Please edit it to reflect the configuration of your system.
 
* Creating configuration file: /Appl/scipion/config/protocols.conf
Please edit it to reflect the configuration of your system.
 
* Creating configuration file: /Appl/scipion/config/hosts.conf
Please edit it to reflect the configuration of your system.
 
Found differences between the configuration file
  /root/.config/scipion/scipion.conf
and the template file
  /Appl/scipion/pyworkflow/templates/scipion.template
In section VARIABLES, option VIEWERS exists in the template but not in the configuration file. Use --update parameter to update local config files.
In section PACKAGES, option RELION_HOME exists in the configuration file but not in the template.
 
(略
 
In section PACKAGES, option MOTIONCOR2_CUDA_LIB exists in the configuration file but not in the template.
Checking paths in /Appl/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 /Appl/scipion/config/scipion.conf and check again.
To regenerate the config files trying to guess the paths, you can run: scipion config --overwrite
 
[root@c scipion]#

Scipionから呼び出されるアプリのPATHがないとかのエラー表示がされますが、今のとこは無視でいいです。あとで入れますので。

その前にMPI_LIBDIRとかMPI_INCLUDEの場所を修正しておきます。
修正対象は「/Appl/scipion/config/scipion.conf」です。

--- config/scipion.conf.orig    2018-04-02 15:26:37.868491800 +0900
+++ config/scipion.conf 2018-04-02 15:31:08.319331412 +0900
@@ -18,11 +18,11 @@
 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
-CUDA_LIB = /usr/local/cuda-7.5/lib64
-CUDA_BIN = /usr/local/cuda-7.5/bin
+MPI_LIBDIR = /usr/lib64/openmpi/lib
+MPI_INCLUDE = /usr/include/openmpi-x86_64
+MPI_BINDIR = /usr/lib64/openmpi/bin
+CUDA_LIB = /usr/local/cuda-8.0/lib64
+CUDA_BIN = /usr/local/cuda-8.0/bin
 MATLAB_DIR = /usr/local/MATLAB/R2011a
 JAVA_HOME = /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-3.b14.el6_9.x86_64
 JAVA_BINDIR = %(JAVA_HOME)s/bin
@@ -30,9 +30,9 @@
 JAR = %(JAVA_BINDIR)s/jar
 JNI_CPPPATH = %(JAVA_HOME)s/include:%(JAVA_HOME)s/include/linux
 GTEST = False
-CUDA = False
+CUDA = True
 DEBUG = False
 MATLAB = False
-OPENCV = True
+OPENCV = False
 REMOTE_MESA_LIB = /services/guacamole/usr/mesa/lib/

その後に下記を実行します。

[root@c scipion]# ./scipion config
 
Scipion v2.0 (2019-04-23) Diocletian
 
>>>>> python  /Appl/scipion/pyworkflow/apps/pw_config.py
All the expected sections and options found in /Appl/scipion/config/scipion.conf
All the expected sections and options found in /Appl/scipion/config/protocols.conf
All the expected sections and options found in /Appl/scipion/config/hosts.conf
Found differences between the configuration file
  /root/.config/scipion/scipion.conf
and the template file
 
(略
[root@c scipion]#

Step4: Scipion Compile

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

[root@c scipion]# ./scipion install -j 2

Step5: Package Install

これで土台は完成。次に、Scipionから呼びされるアプリ群をインストールします。

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

用途が微妙だけど、古いバージョンの「プログラム」もインストール可能です。

「プラグイン」の一覧は「./scipion installp --checkUpdates」で見れます。

[root@c scipion]# ./scipion installp --checkUpdates
 
Scipion v2.0 (2019-04-23) Diocletian
 
>>>>> python  /Appl/scipion/pyworkflow/install/install-plugin.py ./scipion installp --checkUpdates
Available plugins: ([ ] not installed, [X] seems already installed)
 
scipion-em-appion            [ ]
scipion-em-atomstructutils            [ ]
scipion-em-atsas            [ ]
scipion-em-bamfordlab            [ ]
 
(略
 
scipion-em-powerfit            [ ]
scipion-em-relion            [ ]
scipion-em-resmap            [ ]
scipion-em-simple            [ ]
scipion-em-sphire            [ ]
scipion-em-spider            [ ]
scipion-em-xmipp            [ ]
[root@c scipion]#

手始めに「scipion-em-xmipp」をインストールします。

コマンドラインから

[root@c scipion]# ./scipion installp -p scipion-em-xmipp -j 5
 
Scipion v2.0 (2019-04-23) Diocletian
 
>>>>> python  /Appl/scipion/pyworkflow/install/install-plugin.py ./scipion installp -p scipion-em-xmipp -j 5
Building scipion-em-xmipp ...
/Appl/scipion/software/bin/python /Appl/scipion/software/lib/python2.7/site-packages/pip install scipion-em-xmipp==19.4.3
 :
 :
[root@c scipion]#

ヘルプは「./scipion installp --help」で表記されます。

次に「プログラム」をインストールします。まずはhelpを眺めると

[root@c scipion]# ./scipion installb --help
 
Scipion v2.0 (2019-04-23) Diocletian
 
(略
 
Example: ./scipion installb ctffind4 unblur-1.0.15
 
Available binaries: ([ ] not installed, [X] seems already installed)
        deepLearningToolkit       0.1 [ ]
                    nma       1.2 [ ]
        xmippBin_Centos   3.19.04 [ ]
        xmippBin_Debian   3.19.04 [ ]
               xmippSrc   3.19.04 [ ]
[root@c scipion]#

のように、「プラグイン」を入れたことで適用できるプラグラムが列挙されました。ここでは「xmippBin_Centos」を入れます。

[root@c scipion]# ./scipion installb xmippBin_Centos
 
Scipion v2.0 (2019-04-23) Diocletian
 :
 :
cd /Appl/scipion/software/em
tar -xzf xmippBin_Centos-3.19.04.tgz
cd /Appl/scipion/software/em/xmippBin_Centos-3.19.04
rm -rf /Appl/scipion/software/em/xmipp 2>/dev/null; cd .. ; ln -sf xmippBin_Centos-3.19.04 /Appl/scipion/software/em/xmipp
  Skipping command: Link 'xmippBin_Centos-3.19.04 -> xmippBin_Centos-3.19.04'
  All targets exist.
Done (6.30 seconds)
[root@c scipion]#

「scipion-em-xmipp」は「プラグイン」のインストール後に使用する「プログラム」を指定していしますが、それ以外の
「プラグイン(relionとか)」は「プラグイン」のインストールとともに「プログラム」もインストールされるみたい。

起動

「.bashrc」とかに

alias scipion ='/Appl/scipion/scipion'

とかと定義して、

[saber@c ~]$ scipion

と起動する。
ただし初回のみ下記のようなメッセージが表示されるので、

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

メッセージに従い、

[saber@c ~]$ /Appl/scipion/scipion config

を実行してから、「scipion」を起動します

メモ:

[saber@c ~]$ scipion 
 
Scipion v1.2 (2018-04-02) Caligula
 
>>>>> python  /Appl/scipion/pyworkflow/apps/pw_manager.py 
/Appl/scipion/software/lib/python2.7/site-packages/setuptools-5.4.1-py2.7.egg/pkg_resources.py:1049: 
UserWarning: /home/saber/.python-eggs is writable by group/others and vulnerable to attack 
when used with get_resource_filename. Consider a more secure location 
(set with .set_extraction_path or the PYTHON_EGG_CACHE environment variable).

のようなメッセージが出るなら、単に

[saber@c ~]$ chmod 755 /home/saber/.python-eggs

とすれば収まります。

queue

Scipionの中で実行されるジョブは PBS/Torque らのジョブ管理システムに渡すことが出来る。
設定は config/hosts.conf で行い、QUEUESで定義する。ここでは queue名「bio」と「chem」を
選択可能にしている。

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
--- hosts.conf.orig     2018-04-03 03:48:38.823563712 +0900
+++ hosts.conf  2018-04-03 04:25:49.472759374 +0900
@@ -9,7 +9,7 @@
        ### Job name
        #PBS -N %_(JOB_NAME)s
        ### Queue name
-       ###PBS -q %_(JOB_QUEUE)s
+       #PBS -q %_(JOB_QUEUE)s
        ### Standard output and standard error messages
        #PBS -k eo
        ### Specify the number of nodes and thread (ppn) for your job.
@@ -40,5 +40,15 @@
        %_(JOB_COMMAND)s
 CANCEL_COMMAND = canceljob %_(JOB_ID)s
 CHECK_COMMAND = qstat %_(JOB_ID)s
-QUEUES = { "default": {} }
-
+QUEUES = {
+        "bio": [["JOB_QUEUE", "bio", "queue name", "Select queue name"],
+                ["JOB_NODES",   "1", "node", "Do not change"],
+                ["JOB_THREADS", "4", "core", "Number of cores par node to use."],
+                ["JOB_HOURS",  "24", "walltime", "Request time"]
+                ],
+        "chem": [["JOB_QUEUE","chem", "queue name", "Select queue name"],
+                ["JOB_NODES",    "1", "node", "Do not change"],
+                ["JOB_THREADS", "16", "core", "Number of cores par node."],
+                ["JOB_HOURS",   "12", "walltime", "Request time"]
+                ]
+        }

実際の画面では、計算設定画面で「Use queue?」で「Yes」を選ぶ
2018y04m03d_043020238.png
そして、画面下部の「Execute」を押下します。
すると新たな子画面が表示されます。
2018y04m03d_043250612.png
子画面の「Submit to queue」のプルダウンには定義した「bio」と「chem」が存在して、実行queueを選びます。
もし「bio」を選ぶと画面サイズが変更して、使用するノードの数、coreの数(ppn)、実行時間(walltime)が編集可能となる
2018y04m03d_043436860.png
*ここでqueue名も変更できてしまうのだが...
定義した値で宜しければ、そのまま「OK」ボタンを押下して、計算を開始させる。

ここで「Use queue?」で「No」を選ぶと Scipion を起動したマシンで計算が実施される


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2019-07-11 (木) 01:08:10 (103d)