本家様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@centos7 ~]# export PYENV_ROOT=/apps/pyenv
[root@centos7 ~]# export PATH=$PYENV_ROOT/bin:$PATH
[root@centos7 ~]# eval "$(pyenv init - --no-rehash)"
 
[root@centos7 ~]# export PATH=$PYENV_ROOT/versions/anaconda3-5.3.1/bin/:$PATH

とconda環境を準備する.
もしconda環境がないのならcrYOLOを参照にpyenv/anacondaを用意します.

っで本題

[root@centos7 ~]# cd /apps/
[root@centos7 apps]#
[root@centos7 apps]# git clone https://github.com/LyumkisLab/3DFSC
 
[root@centos7 apps]# cd 3DFSC
 
[root@centos7 3DFSC]# ls -CF
environment.yml*  Example/  __init__.py*  init.sh*  LICENSE*  README.md*  requirements.txt*  ThreeDFSC/
 
[root@centos7 3DFSC]#

「init.sh」がインストーラーの役目.
中身を読むと7行目「conda env create -f environment.yml」にて3DFSC の実行環境を用意しているみたい.
ただ、「environment.yml」は「conda export」で得られたファイルのようで git log を見ると 2019年のexportである.
恐らくエラー続出かなぁ...なので「init.sh」の実行ではなく、その中を個別に実行していくことにする.

[root@centos7 3DFSC]# less environment.yml
name: 3DFSC
channels:
- lukepfister
- defaults
dependencies:
- appdirs=1.4.3=py36_0
 :
[root@centos7 3DFSC]#

どうやら作られる環境名は「3DFSC」みたい. 「conda env list」で同じ名前がないかを確認して進めます

[root@centos7 3DFSC]# conda env list
# conda environments:
#
base                  *  /apps/pyenv/versions/anaconda3-5.3.1
 
[root@centos7 3DFSC]#
 
[root@centos7 3DFSC]# conda env create -f environment.yml

っで期待した通りのエラー..

[root@centos7 3DFSC]# conda env create -f environment.yml
Collecting package metadata (repodata.json): done
Solving environment: failed
 
ResolvePackageNotFound:
  - cudatoolkit==8.0=3
 :

ResolvePackageNotFoundが表示された場合の回避策ですが、
そのモジュールを削除すればいい
とか
pipに移せばいい

とかがあるみたい. ここではバージョン部分を消してモジュール名は残す方向としてみた.
上記の「cudatoolkit==8.0=3」なら「cudatoolkit」に替えてます

っで修正した environment.yml はこんな感じ.

name: 3DFSC
channels:
- lukepfister
- conda-forge
- defaults
dependencies:
- appdirs
- certifi
- cudatoolkit
- cycler=0.10.0=py36_0
- dbus
- decorator
- expat
- fontconfig
- freetype
- glib
- gst-plugins-base
- gstreamer
- h5py
- hdf5
- icu
- jbig
- jpeg
- libffi
- libgcc
- libgfortran
- libiconv
- libpng
- libtiff
- libxcb
- libxml2
- llvmlite=0.20.0=py36_0
- mako
- markupsafe
- matplotlib=2.0.2
- mkl
- networkx
- numba
- numpy
- olefile
- openssl
- pcre
- pillow
- pip
- pyparsing
- pyqt
- python=3.6
- python-dateutil
- pytz
- pywavelets
- qt
- readline
- scikit-image
- scipy
- setuptools
- sip
- six
- sqlite
- tk
- wheel
- xz
- zlib
- pycuda=2017.1=py36_0
- pytools=2016.2.6=py36_0
- pip:
  - amqp==2.2.1
  - anyjson==0.3.3
  - asn1crypto==0.22.0
  - autopep8==1.3.3
  - babel==2.5.3
  - bcrypt==3.1.3
  - billiard==3.5.0.3
  - botocore==1.6.5
  - cached-property==1.3.1
  - celery==4.1.0
  - cffi==1.10.0
  - chardet==3.0.4
  - click==6.7
  - colorama==0.3.7
  - cryptography==2.0.3
  - django==1.10.7
  - django-bootstrap3==9.0.0
  - django-debug-toolbar==1.9.1
  - django-fileprovider==0.1.4
  - django-registration==2.2
  - django-sendfile==0.3.11
  - docker==2.7.0
  - docker-compose==1.18.0
  - docker-pycreds==0.2.1
  - dockerpty==0.4.1
  - docopt==0.6.2
  - docutils==0.14
  - flower==0.9.2
  - gunicorn==19.7.1
  - idna==2.6
  - jinja2==2.10
  - jmespath==0.9.3
  - jsonschema==2.6.0
  - kombu==4.1.0
  - mrcfile==1.0.0
  - nvidia-docker-compose==0.1.5
  - paramiko==2.2.1
  - psycopg2==2.7.4
  - psycopg2-binary==2.7.4
  - py==1.4.34
  - pyasn1==0.3.2
  - pycodestyle==2.3.1
  - pycparser==2.18
  - pyflakes==1.6.0
  - pyminizip
  - pynacl==1.1.2
  - pytest==3.2.3
  - pyyaml==3.12
  - redis==2.10.5
  - requests==2.18.4
  - rsa==3.4.2
  - s3transfer==0.1.10
  - scikit-cuda==0.5.1
  - selenium==3.4.3
  - sqlparse==0.2.4
  - texttable==0.9.1
  - tornado==5.0
  - urllib3==1.22
  - uwsgi==2.0.15
  - vine==1.1.4
  - websocket-client==0.46.0
prefix: /home/cnegro/anaconda3/envs/fscenv

*pip部分の「pyminizip==0.2.1」も「pyminizip」にしてます

これを使ってインストール再開

[root@centos7 3DFSC]# conda env create -f environment.yml
Collecting package metadata (repodata.json): done
Solving environment: done
 
Downloading and Extracting Packages
certifi-2020.12.5    | 140 KB    | ####################################################################################### | 100%
numba-0.35.0         | 2.2 MB    | ####################################################################################### | 100%
 :
done
#
# To activate this environment, use
#
#     $ conda activate 3DFSC
#
# To deactivate an active environment, use
#
#     $ conda deactivate
 
[root@centos7 3DFSC]#
 
(微調整が必要)
[root@centos7 3DFSC]# source activate 3DFSC
(3DFSC) [root@centos7 ~]# conda install dask      *dask-coreをダウングレードさせます

と環境構築に一応成功.

次にコマンドの用意となる. init.shを実行すると使用するコマンド「run3DFSC.bash」「run3DFSC.sh」「run3DFSC.csh」が用意されるみたいだが、
ここではEnvironmentModulesと融合させたいので

[root@centos7 3DFSC]# vi /etc/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@centos7 3DFSC]#

としてみた

Example

gitにテストrunの方法が記載されているのでやってみた

[saber@centos7 ~]$ module load 3DFSC
 
[saber@centos7 ~]$ 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@centos7 ~]$

とプログラム「run3DFSC」は動いている模様
っでテストを実行してみる

[saber@centos7 ~]$ cp -r /apps/3DFSC/Example .
[saber@centos7 ~]$ cd Example/
 
[saber@centos7 Example]$ mv Results_T40-3DFSC Results_T40-3DFSC.orig
 
[saber@centos7 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@centos7 Example]$

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2021-04-04 (日) 17:07:02 (31d)