本家様https://3dfsc.salk.edu/
GitHubhttps://github.com/LyumkisLab/3DFSC
「This is an application for remotely processing the 3D Fourier shell correlation of cryoEM maps.」
condaで実行環境ができるの下地が必要なようで、ここではpyenv/anacondaで用意している. crYOLOとかのように
既にpyenv/anaconda環境があるのなら
[root@rockylinux ~]# export PYENV_ROOT=/apps/pyenv
[root@rockylinux ~]# export PATH=$PYENV_ROOT/bin:$PATH
[root@rockylinux ~]# eval "$(pyenv init - --no-rehash)"
[root@rockylinux ~]# export PATH=$PYENV_ROOT/versions/anaconda3-5.3.1/bin/:$PATH
とconda環境を準備する.
もしconda環境がないのならcrYOLOを参照にpyenv/anacondaを用意します.
っで本題
[root@rockylinux ~]# cd /apps/
[root@rockylinux apps]#
[root@rockylinux apps]# git clone https://github.com/LyumkisLab/3DFSC
[root@rockylinux apps]# cd 3DFSC
[root@rockylinux 3DFSC]# ls -CF
environment.yml* Example/ __init__.py* init.sh* LICENSE* README.md* requirements.txt* ThreeDFSC/
[root@rockylinux3DFSC]#
「init.sh」がインストーラーの役目.
中身を読むと7行目「conda env create -f environment.yml」にて3DFSC の実行環境を用意しているみたい.
ただ、「environment.yml」は「conda export」で得られたファイルのようで git log を見ると 2019年のexportである.
恐らくエラー続出かなぁ...なので「init.sh」の実行ではなく、その中を個別に実行していくことにする.
[root@rockylinux 3DFSC]# less environment.yml
name: 3DFSC
channels:
- lukepfister
- defaults
dependencies:
- appdirs=1.4.3=py36_0
:
[root@rockylinux 3DFSC]#
どうやら作られる環境名は「3DFSC」みたい. 「conda env list」で同じ名前がないかを確認して進めます
[root@rockylinux 3DFSC]# conda env list
# conda environments:
#
base * /apps/pyenv/versions/anaconda3-5.3.1
[root@rockylinux 3DFSC]#
[root@rockylinux 3DFSC]# conda env create -f environment.yml
っで期待した通りのエラー..
[root@rockylinux 3DFSC]# conda env create -f environment.yml
Collecting package metadata (repodata.json): done
Solving environment: failed
ResolvePackageNotFound:
- cudatoolkit==8.0=3
:
なのでconda環境は「environment.yml」を参考に独自で作って、
[root@rockylinux 3DFSC]# conda create -n 3DFSC python=3.6 hdf5 pycuda scipy cudatoolkit=10 setuptools=57.4.0 pytools=2016.2.6 mkl=2017 -c anaconda -c conda-forge
[root@rockylinux 3DFSC]# source activate 3DFSC
(3DFSC) [root@rockylinux 3DFSC]#
使用する「requirements.txt」も修正を加えます
|
これを「3DFSC」環境に組み込みます
(3DFSC) [root@rockylinux 3DFSC]# pip install -r requirements.txt
これで一応環境作成は完了みたい.
次にコマンドの用意となる. init.shを実行すると使用するコマンド「run3DFSC.bash」「run3DFSC.sh」「run3DFSC.csh」が用意されるみたいだが、
ここではEnvironmentModulesと融合させたいので
[root@rockylinux ~]# vi /apps/modulefiles/3DFSC
#%Module 1.0
set root /apps/pyenv/versions/anaconda3-5.3.1/envs/3DFSC
prepend-path PATH $root/bin
set-alias run3DFSC "python /apps/3DFSC/ThreeDFSC/ThreeDFSC_Start.py"
[root@rockylinux ~]#
としてみた
gitにテストrunの方法が記載されているのでやってみた
[saber@rockylinux ~]$ module load 3DFSC
[saber@rockylinux ~]$ run3DFSC -h
Usage: ThreeDFSC_Start.py [options]
Options:
--version show program's version number and exit
-h, --help show this help message and exit
--halfmap1=HALFMAP1.MRC
First half map of 3D reconstruction. MRC format. Can
be masked or unmasked. Required
--halfmap2=HALFMAP2.MRC
:
:
[saber@rockylinux ~]$
とプログラム「run3DFSC」は動いている模様
っでテストを実行してみる
[saber@rockylinux ~]$ cp -r /apps/3DFSC/Example .
[saber@rockylinux ~]$ cd Example/
[saber@rockylinux Example]$ mv Results_T40-3DFSC Results_T40-3DFSC.orig
[saber@rockylinux Example]$ run3DFSC --halfmap1=T40_map1_Masked_144.mrc --halfmap2=T40_map2_Masked_144.mrc \
--fullmap=130K-T40.mrc --apix=1.31 --ThreeDFSC=T40-3DFSC
[saber@rockylinux Example]$