本家様https://github.com/cryoFIT/cryo_fit

NAMDのMDFFもあるが、Phenixでgromacsエンジンによるfittingができるみたい.
インストール手順書はこちらhttps://phenix-online.org/documentation/tutorials/cryo_fit_install.html

まずはgitでcryofitのプログラムを phenix の modules フォルダに格納します.

[root@rockylinux ~]# source /apps/phenix-1.19.2-4158/phenix_env.sh
[root@rockylinux ~]# cd $PHENIX/modules
[root@rockylinux modules]# pwd
/apps/phenix-1.19.2-4158/modules
 
[root@rockylinux modules]# git clone https://github.com/cryoFIT/cryo_fit
[root@rockylinux modules]# cd cryo_fit/
 
[root@rockylinux cryo_fit]# ls -lF
total 8
drwxr-xr-x.  2 root root  76 Jan 11 20:36 command_line/
drwxr-xr-x.  2 root root 101 Jan 11 20:36 common_functions/
drwxr-xr-x.  2 root root 116 Jan 11 20:36 developer_only/
drwxr-xr-x. 13 root root 263 Jan 11 20:36 files_for_steps/
-rwxr-xr-x.  1 root root   0 Jan 11 20:36 __init__.py*
-rwxr-xr-x.  1 root root  56 Jan 11 20:36 LICENSE*
-rwxr-xr-x.  1 root root 288 Jan 11 20:36 README.md*
drwxr-xr-x.  8 root root 154 Jan 11 20:36 regression/
drwxr-xr-x.  3 root root 142 Jan 11 20:36 tutorial_input_files/
[root@rockylinux cryo_fit]#

次に「libtbx.configure cryo_fit」と実行します

[root@rockylinux cryo_fit]# libtbx.configure cryo_fit

これで phenix.cryoFIT が用意される

[root@rockylinux ~]# which phenix.cryo_fit
/apps/phenix-1.19.2-4158/build/bin/phenix.cryo_fit
 
[root@rockylinux ~]#

次に、phenix.cryo_fitから呼び出される gromacs を用意します。
cryoFIT 向けにカスタマイズされたバージョンが必要で、ここからhttps://github.com/cryoFIT/cryo_fit_install得られる

ファイル名は gromacs-4.5.5_cryo_fit.zip md5sumは「245cd207c2057b0212cb3e0eaa077fd6」
昔は gromacs-4.5.5_cryoFIT.zip[2f7dbcfb4192b87c2d1859a4e772de73]とかもあったけど違いは調べていない

[root@rockylinux ~]# cd /apps/src/
[root@rockylinux src]# md5sum gromacs-4.5.5_cryo_fit.zip
245cd207c2057b0212cb3e0eaa077fd6  gromacs-4.5.5_cryo_fit.zip
 
[root@rockylinux src]# 
[root@rockylinux src]# which python               <-- 「source /apps/phenix-1.19.2-4158/phenix_env.sh」でphenixのpythonを使えるようにします
/apps/phenix-1.19.2-4158/build/bin/python
 
[root@rockylinux src]# python -V
Python 2.7.15
 
(事前に開発環境はインストール済みのこと)
[root@rockylinux src]# python $PHENIX/modules/cryo_fit/files_for_steps/0_install_cryo_fit/install_cryo_fit.py $PWD/gromacs-4.5.5_cryo_fit.zip /apps

ここでgromacsがコンパイルされます
既定はmpiなしのthreads対応版. もしmpi対応版を作りたければ「install_cryo_fit.py」を修正する[line. 553]
完了すると下記のようになります

 :
 :
GROMACS is installed under /apps/cryo_fit.
Make sure to update your PATH and MANPATH to find the
programs and unix manual pages, and possibly LD_LIBRARY_PATH
or /etc/ld.so.conf if you are using dynamic libraries.
 
Please run "make tests" now to verify your installation.
 
If you want links to the executables in /usr/local/bin,
you can issue "make links" now.
make[3]: Leaving directory '/apps/cryo_fit/source_keep_this_otherwise_segfault/gromacs-4.5.5_cryo_fit'
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/apps/cryo_fit/source_keep_this_otherwise_segfault/gromacs-4.5.5_cryo_fit'
make[1]: Leaving directory '/apps/cryo_fit/source_keep_this_otherwise_segfault/gromacs-4.5.5_cryo_fit'
#########################################################################################################
 
 
Cryo_fit will check whether the installation was done without any error.
 
Was your installation ended with this kind of message?
        ..."GROMACS is installed under ...
           "Make sure to update your PATH and MANPATH to find the"
        ..."If you want links to the executables in /usr/local/bin,
           you can issue "make links" now.
           make[2]: Nothing to be done for `install-data-am'."
 
 
Check whether  /apps/cryo_fit/bin/mdrun  exists.
Successful installation because cryo_fit can find  /apps/cryo_fit/bin/mdrun
~/.bash_profile exists
 
cryo_fit_installation will add
 
export PATH="/apps/cryo_fit/bin":$PATH # added by cryo_fit installation
 
 to ~/.bash_profile
 
Please source /root/.bash_profile or open a new terminal so that /root/.bash_profile can recognize cryo_fit path (which is /apps/cryo_fit)
 
Total cryo_fit installation
 finished in 4.34 minutes (wallclock).
[root@rockylinux src]#

っで作られたかを確認します

[root@rockylinux src]# ls -l /apps/cryo_fit/bin/mdrun
-rwxr-xr-x. 1 root root 263568 Jan 11 22:55 /apps/cryo_fit/bin/mdrun
 
[root@rockylinux src]#

っと問題ないみたい.

ただ、、~/.bash_profileに

export PATH="/apps/cryo_fit/bin":$PATH # added by cryo_fit installation

が登録されてしまう.

個別ユーザで利用するなら構わないのだが、複数ユーザが使う環境だと調整が必要.

phenix画面から

一般ユーザでログインして、環境変数を読み込み「phenix」と実行する。
すると、右側メニューに「CryoEM」欄が表示され「CryoFit」が利用できる。
2018y05m01d_073614873.png

微調整

cryo_fitは関連する gromacs-4.5.5_cryoFIT が各自のホームディレクトリに存在すると仮定している.
ここでは /apps/cryo_fit/bin/mdrun に置いているので修正が必要。

作ったのは既定のthreads版でmpi版でないので修正箇所もそこのみに.
場所は /apps/phenix-1.19.2-4158/modules/cryo_fit の配下

diff --git a/common_functions/common_functions.py b/common_functions/common_functions.py
index e00ab3c..f8273d8 100755
--- a/common_functions/common_functions.py
+++ b/common_functions/common_functions.py
@@ -802,13 +802,13 @@ def know_output_bool_enable_mpi_by_ls():
 def know_home_cryo_fit_bin_dir_by_ls_find(): # really used
     home_dir = expanduser("~")
     home_cryo_fit_bin_dir = ''
-    command_string = "ls ~/bin | grep gromacs-4.5.5_cryo_fit"
+    command_string = "ls /apps | grep cryo_fit"
     #print "\n\tcommand: ", command_string
     folder_of_cryo_fit = libtbx.easy_run.fully_buffered(command=command_string).raise_if_errors().stdout_lines
 
     if folder_of_cryo_fit[0].find("mpi") == -1:
         #print "\tUser's cryo_fit was installed with enable_mpi=False, so the cryo_fit will run as enable_mpi = False"
-        home_cryo_fit_bin_dir = home_dir + "/bin/gromacs-4.5.5_cryo_fit/bin"
+        home_cryo_fit_bin_dir = "/apps/cryo_fit/bin"
     else: # folder_of_cryo_fit[0] == "gromacs-4.5.5_cryo_fit_added_mpi":
         home_cryo_fit_bin_dir = home_dir + "/bin/gromacs-4.5.5_cryo_fit_mpi/bin"
     return home_cryo_fit_bin_dir

チュートリアル

gitで取得したファイルにチュートリアルデータがある

[root@rockylinux tutorial_input_files]# pwd
/apps/phenix-1.19.2-4158/modules/cryo_fit/tutorial_input_files
[root@rockylinux tutorial_input_files]# ls -l
total 7988
-rw-r--r--. 1 root root 7664160 Jan 11 20:36 GTPase_activation_center_tutorial_gaussian_1p5.mrc
-rw-r--r--. 1 root root  508957 Jan 11 20:36 GTPase_activation_center_tutorial.pdb
drwxr-xr-x. 2 root root      51 Jan 11 20:36 old_not_gaussian_filtered
[root@rockylinux tutorial_input_files]#

これを使って簡単なテストを実施してみた.
2022y01m11d_235007035.png

Transform .map/.ccp4 to .sit file

http://www.situs.biomachina.org

[root@c ~]# cd /Appl
[root@c Appl]# tar xzf ./src/Situs_2.8.tar.gz
[root@c Appl]# 
[root@c Appl]# ls -ld Situs*
lrwxrwxrwx 1 root root   11 Oct 25  2014 Situs -> Situs_2.7.2
drwxrwxr-x 5 root root 4096 Oct 25  2014 Situs_2.7.2
drwxr-xr-x 5 1001 1001 4096 Mar 12  2016 Situs_2.8
 
[root@c Appl]# chown -R root:root ./Situs_2.8
[root@c Appl]# cd Situs_2.8/src/
[root@c src]# make && make install
 
[root@c src]# ( cd /Appl; rm Situs ; ln -s Situs_2.8 Situs )

実行

計算に必要なのは

  • cryo EM density map(サンプルのpptxの文言)
    「ccp4」「map」「sit」ファイル
  • guide or template structure(サンプルのpptxの文言)
    「cif」「pdb」ファイル

でコマンドラインでの実行は

[saber@c ~]$ source /Appl/phenix-1.13-2998/phenix_env.sh
[saber@c ~]$ phenix.cryo_fit [input pdb file] [input_cryoEM_map_file]

とある。
*[18.05]目下、cmd/guiから計算は実行できるが、ジョブコントロール[Torque/PBSpro]を経由しての実行はできてない
なので qsubスクリプトを別途作って対応する(1ノード16coreなマシンで16coreを指定する場合)

#!/bin/bash
#PBS -q bio
#PBS -l nodes=1:ppn=16
#PBS -N Phenix_cryoFIT
 
cd $PBS_O_WORKDIR
source /Appl/phenix-1.13-2998/phenix_env.sh
#
# -dd で使用するコア数を指定する
phenix.cryo_fit tRNA.pdb tRNA.map -dd 16

とした cryoFIT.sh なファイルを用意して

[saber@c ~]$ qsub cryoFIT.sh

とかで実行する。
複数の計算ノードを使ったmpi計算も出来るようなのだが、、よく調べてないです。

サンプルデータ

サンプルデータがdropboxにて提供されていて

tRNA.map  tRNA.pdb

「tRNA.map」はMRCフォーマットなデータ。

[saber@c files]$ e2iminfo.py tRNA.map
tRNA.map         1 images in MRC format 169 x 104 x 109
representing 0 particles
[saber@c files]$

UCSF Chimeraでみるとこんな感じ もうちょっと綺麗に見せられるかも知れないが..
2018y05m05d_014414417.png

一方pdbはこんな感じ
2018y05m05d_014629880.png

っでこの電顕の像にpdbの座標を当ても込む。それをするのがこのcryoFIT。他にもあるけど


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2022-03-18 (金) 20:07:24 (154d)