しゅうせいちゅう

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

NAMDのMDFFもあるが、Phenixでgromacsエンジンによるfittingが可能となっている。
18.02あたりはコンパイルしてもGUIにメニューが出てなかった。どうやらubuntuなら出来ていたみたい

[root@c ~]# cd /Appl/phenix-1.13-2998/modules
[root@c modules]#
[root@c modules]# git clone https://github.com/cryoFIT/cryo_fit
 
[root@c modules]#
[root@c cryo_fit]# ls -la
合計 24
drwxr-xr-x  8 root root 4096  5月  1 06:32 .
drwxr-xr-x 39 root root 4096  5月  1 06:31 ..
drwxr-xr-x  8 root root  152  5月  1 06:32 .git
-rwxr-xr-x  1 root root   32  5月  1 06:32 .gitignore
-rwxr-xr-x  1 root root   56  5月  1 06:32 LICENSE
-rwxr-xr-x  1 root root  375  5月  1 06:32 README.md
-rwxr-xr-x  1 root root    0  5月  1 06:32 __init__.py
drwxr-xr-x  2 root root   72  5月  1 06:32 command_line
drwxr-xr-x  2 root root   32  5月  1 06:32 common_functions
drwxr-xr-x  3 root root   54  5月  1 06:32 regression
drwxr-xr-x 14 root root 4096  5月  1 06:32 steps
drwxr-xr-x  2 root root   48  5月  1 06:32 tutorial_input_files
[root@c cryo_fit]#

次に

[root@c ~]# source /Appl/phenix-1.13-2998/phenix_env.sh
 
[root@c ~]# libtbx.configure cryo_fit
Python: 2.7.14 "/Appl/phenix-1.13-2998/base/bin/python2.7"
Compiler: default
Build mode: release
Warning level: 0
Precompiled Headers: False
Static libraries: False
Static exe: False
Scan Boost headers: False
Write full flex_fwd.h files: False
Build Boost.Python extensions: True
Define BOOST_PYTHON_NO_PY_SIGNATURES: False
Define BOOST_PYTHON_BOOL_INT_STRICT: True
Enable OpenMP if possible: False
Boost threads enabled: False
Enable CUDA: False
 :
 :
generating index.theme file
Done.
[root@c ~]#

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

[root@c ~]# which phenix.cryo_fit
/Appl/phenix-1.13-2998/build/bin/phenix.cryo_fit
[root@c ~]#

gromacs-4.5.5 cryoFIT

次に、phenix.cryo_fitから呼び出される gromacs を用意します。
cryoFIT 向けにカスタマイズされたバージョンが必要で、https://github.com/cryoFIT/cryoFIT_installから入手可能で、
ファイル名は gromacs-4.5.5_cryoFIT.zip です。

[root@c ~]# source /Appl/phenix-1.13-2998/phenix_env.sh
[root@c ~]# which python
/Appl/phenix-1.13-2998/build/bin/python
 
[root@c ~]# python -V
Python 2.7.14
 
[root@c ~]# cd /Appl/src
[root@c src]# ls -lh gromacs-4.5.5_cryoFIT.zip
-rw-r--r-- 1 root root 14M Feb  9 15:17 gromacs-4.5.5_cryoFIT.zip
 
[root@c src]#
[root@c src]# unzip -t gromacs-4.5.5_cryoFIT.zip     <<-- 中身を確認
Archive:  gromacs-4.5.5_cryoFIT.zip
    testing: gromacs-4.5.5_cryoFIT/   OK
    testing: gromacs-4.5.5_cryoFIT/acinclude.m4   OK
    testing: gromacs-4.5.5_cryoFIT/aclocal.m4   OK
 :
[root@c src]# unzip -q gromacs-4.5.5_cryoFIT.zip
[root@c src]# cd gromacs-4.5.5_cryoFIT
[root@c gromacs-4.5.5_cryoFIT]#
[root@c gromacs-4.5.5_cryoFIT]# ./configure --prefix=/Appl/gromacs-4.5.5_cryoFIT --enable-float --with-fft=fftpack
[root@c gromacs-4.5.5_cryoFIT]# make && make install

mpi版

前段はpthread版(「-nt」でthreadの数を指定)
次にmpi版を作ります。
*インストール先を変更してます

[root@c ~]# source /Appl/phenix-1.13-2998/phenix_env.sh
[root@c ~]# cd /Appl/src/gromacs-4.5.5_cryoFIT
[root@c gromacs-4.5.5_cryoFIT]# ./configure --prefix=/Appl/gromacs-4.5.5_cryoFIT_mpi --enable-float --with-fft=fftpack --enable-mpi
[root@c gromacs-4.5.5_cryoFIT]# make && make install

これで2つ用意できました

[root@c ~]# ls /Appl/gromacs-4.5.5_cryoFIT*
/Appl/gromacs-4.5.5_cryoFIT:
bin  include  lib  share
 
/Appl/gromacs-4.5.5_cryoFIT_mpi:
bin  include  lib  share
[root@c ~]#

phenix画面から

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

微調整

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

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
--- /Appl/phenix-1.13-2998/modules/cryo_fit/command_line/run.py.orig    2018-05-24 04:08:09.010265558 +0900
+++ /Appl/phenix-1.13-2998/modules/cryo_fit/command_line/run.py 2018-05-24 17:26:53.304745025 +0900
@@ -1311,8 +1311,7 @@
   # (begin) check whether cryo_fit is installed to exit early for users who didn't install it yet
   # works well at macOS commandline, macOS GUI and CentOS commandline
   # not works at CentOS GUI
-  home_dir = expanduser("~")
-  home_cryo_fit_bin_dir = home_dir + "/bin/gromacs-4.5.5_cryo_fit"
+  home_cryo_fit_bin_dir = "/Appl/gromacs-4.5.5_cryoFIT/bin"
 
   print "\thome_cryo_fit_bin_dir:", home_cryo_fit_bin_dir

あともうひとつ

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
--- /Appl/phenix-1.13-2998/modules/cryo_fit/common_functions/common_functions.py.orig   2018-05-24 17:08:54.895431203 +0900
+++ /Appl/phenix-1.13-2998/modules/cryo_fit/common_functions/common_functions.py        2018-05-24 17:06:01.395689655 +0900
@@ -258,8 +258,7 @@
 def know_output_bool_enable_mpi_by_ls():
     # used exit early for users who didn't install cryofit yet as well
     output_bool_enable_mpi = ''
-    home_dir = expanduser("~")
-    home_cryo_fit_bin_dir = home_dir + "/bin/gromacs-4.5.5_cryo_fit"
+    home_cryo_fit_bin_dir = "/Appl/gromacs-4.5.5_cryoFIT/bin"
     #print "\thome_cryo_fit_bin_dir:", home_cryo_fit_bin_dir
     if (os.path.exists(home_cryo_fit_bin_dir) == False):
         print "\nInstall cryo_fit first. Refer http://www.phenix-online.org/documentation/reference/cryo_fit.html"
@@ -320,17 +319,16 @@
 '''
 
 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 /Appl | grep gromacs-4.5.5_cryoFIT"
     #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 = "/Appl/gromacs-4.5.5_cryoFIT/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"
+        home_cryo_fit_bin_dir = "/Appl/gromacs-4.5.5_cryoFIT_mpi/bin"
     return home_cryo_fit_bin_dir
 # end of know_output_bool_enable_mpi_by_ls_find function

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: 2018-05-26 (土) 04:35:39 (26d)