本家様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」も修正を加えます

--- requirements.txt.orig       2022-05-09 23:56:54.878273808 +0900
+++ requirements.txt    2022-05-10 00:26:16.321457290 +0900
@@ -1,11 +1,11 @@
 cycler==0.10.0
 decorator==4.1.2
 h5py==2.7.0
-llvmlite==0.19.0
+llvmlite==0.26.0
 matplotlib==2.0.2
 mrcfile==1.0.0
 networkx==1.11
-numba==0.34.0
+numba==0.38.1
 numpy==1.13.1
 olefile==0.44
 Pillow==4.2.1

これを「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 ~]#

としてみた

Example

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]$

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2022-05-10 (火) 00:31:21 (48d)