本家様 https://github.com/clinfo/DEFMap

anaconda環境の準備

[root@rockylinux9 ~]# mkdir -p /apps/src
 
[root@rockylinux9 ~]# cd /apps/
[root@rockylinux9 apps]# git clone https://github.com/yyuu/pyenv.git /apps/pyenv
 
[root@rockylinux9 apps]# export PYENV_ROOT=/apps/pyenv
[root@rockylinux9 apps]# export PATH=$PYENV_ROOT/bin:$PATH
 
[root@rockylinux9 apps]# pyenv install anaconda3-2022.05
[root@rockylinux9 apps]# pyenv global anaconda3-2022.05
 
[root@rockylinux9 apps]# pyenv versions
  system
* anaconda3-2022.05 (set by /apps/pyenv/version)
[root@rockylinux9 apps]#
 
[root@rockylinux9 apps]# export PATH=$PYENV_ROOT/versions/anaconda3-2022.05/bin/:$PATH
 
[root@rockylinux9 apps]# conda update conda -y

次にDEFMap向けに conda 環境を作成する

[root@rockylinux9 ~]# which conda
/apps/pyenv/versions/anaconda3-2022.05/bin/conda
 
[root@rockylinux9 ~]# conda --version
conda 22.9.0
 
[root@rockylinux9 ~]# conda create -n defmap -c acellera -c omnia -c psi4 -c conda-forge keras-gpu=2.2.4 tensorflow-gpu=1.13.1 cudatoolkit=10.0 acemd3 htmd=1.27 h5py=2.10 python=3.7

これでDEFMapのスクリプトを動かせる環境「defmap」ができた
一応確認としてconda環境「defmap」の中身を確認してみると

[root@rockylinux9 ~]# conda env list
# conda environments:
#
                         /apps/eman2.91
base                     /apps/pyenv/versions/anaconda3-2022.05
defmap                   /apps/pyenv/versions/anaconda3-2022.05/envs/defmap
 
[root@rockylinux9 ~]# source activate defmap
(defmap) [root@rockylinux9 ~]# conda list
 :
acemd3                    3.3.0                 cuda100_0    acellera
 :
amberlite                 16.0                     pypi_0    pypi
ambertools                21.11            py37h5d2b9b6_0    conda-forge
amberutils                21.0                     pypi_0    pypi
 :
cudatoolkit               10.0.130            h8c5a6a4_10    conda-forge
 :
h5py                      2.10.0          nompi_py37ha3df211_106    conda-forge
 :
htmd                      1.27.2                   py37_0    acellera
htmd-deps                 1.27.2                   py37_0    acellera
 :
keras-gpu                 2.2.4                         0
 :
tensorflow-gpu            1.13.1               h0d30ee6_0
 :
(defmap) [root@rockylinux9 ~]#

となっている。注目は「acellera」チャンネルで入れられているパッケージ群. ライセンス的にはアカデミックのみっぽいかな.
https://software.acellera.com/htmd/installation.html
https://software.acellera.com/htmd/index.html

*それと「source activate ...」を使いたいからAnacondaのように修正しました

っでEnvironmentModulesを作成

[root@rockylinux9 ~]# vi /apps/modulefiles/defmap
#%Module
set          root /apps/pyenv/versions/anaconda3-2022.05/envs/defmap
prepend-path PATH $root/bin
 
[root@rockylinux9 ~]#

あと

連携じゃないけどテストでeman2(eman2.91)を使うのでそれをインストール
参照EMAN2
EnvironmentModulesで使えるようにしておきます

っで真打 DEFMap の登場.
どうも/appsとかの共有な場所に配置して利用するって感じではなく、各自のローカルな場所に置いて使うっぽい.
なので、ホームディレクトリにダウンロードして使います

[illya@rockylinux9 ~]$ git clone https://github.com/clinfo/DEFMap

https://github.com/clinfo/DEFMap#example-usageからサンプルを実行してみる
■Usage 1: Dynamics Prediciton and Voxel Visualization
「Scale voxel length and map resolution」
eman2のプログラム「e2proc3d.py」を使ってます. なので一旦moduleコマンドで eman2 を呼び出します

[illya@rockylinux9 ~]$ module load eman2
[illya@rockylinux9 ~]$ e2version.py
EMAN 2.91 final ( GITHUB: 2021-03-08 11:36 - commit: 81caed2 )
Your Python version is: 3.7.9
 
[illya@rockylinux9 ~]$ cd DEFMap/data
 
[illya@rockylinux9 data]$ e2proc3d.py 015_emd_3984.map 015_emd_3984_5.0A_rescaled.mrc --clip=160,160,160 --scale=0.9 --process=filter.lowpass.gauss:cutoff_freq=0.2
 (「015_emd_3984_5.0A_rescaled.mrc」が作られる)

「Create dataset」
次にDEFMapのコマンドを実行しますが、eman2の環境をロードしているので、それを下げて、DEFMapの環境をロードして計算を行います

[illya@rockylinux9 data]$ cd ../preprocessing
[illya@rockylinux9 preprocessing]$ module purge
 
[illya@rockylinux9 preprocessing]$ module load defmap
[illya@rockylinux9 preprocessing]$ which python
/apps/pyenv/versions/anaconda3-2022.05/envs/defmap/bin/python
 
[illya@rockylinux9 preprocessing]$ python prep_dataset.py -m ../data/015_emd_3984_5.0A_rescaled.mrc -o ../data/sample.jbl -p
Using TensorFlow backend.
[INFO] Save prediction data set: ../data/sample.jbl
[INFO] Done
 
[illya@rockylinux9 preprocessing]$

「Inference」

[illya@rockylinux9 preprocessing]$ cd ..
[illya@rockylinux9 DEFMap]$ python 3dcnn_main.py infer --test_dataset data/sample.jbl -o model/model_res5A.h5 --prediction_output result/prediction.jbl
Using TensorFlow backend.
[INFO] Inference
2022-10-23 05:31:49.734220: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2022-10-23 05:31:49.744677: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 3791995000 Hz
2022-10-23 05:31:49.744936: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x55a8127645c0 executing computations on platform Host. Devices:
2022-10-23 05:31:49.744955: I tensorflow/compiler/xla/service/service.cc:158]   StreamExecutor device (0): <undefined>, <undefined>
[INFO] Save: result/prediction.jbl
[INFO] Done
 
[illya@rockylinux9 DEFMap]$ ls -l result/
total 268980
-rw-r--r--. 1 illya illya 275435334 Oct 23 07:37 prediction.jbl
[illya@rockylinux9 DEFMap]$

軽く2時間...

本来ならGPUを認識してtensorflow-gpuが働くのだが、Ampere GPUなA2000では認識してくれないご様子.
tensorflow-gpu-1.13.1とあるので、最新のGPUでは無理なのかな. nvidia-pyindex経由でnvidia-tensorflow[horovod]の導入を試みたが、こちらは python3.8 が必要なようで適合しない.

dockerファイルが用意されているのでこれでコンテナを作って動くのか確かめた方がいいのかもしれない


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2022-10-23 (日) 23:26:12 (35d)