Макромолекулярный докинг

In [1]:
from xmlrpclib import ServerProxy
from IPython.display import Image
import os, sys
In [2]:
%%bash
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/preps/golovin/progs/lib
export PATH=${PATH}:/home/preps/golovin/progs/bin
In [4]:
%%bash
wget http://kodomo.cmm.msu.ru/~golovin/zdock/amylase.pdb
wget http://kodomo.cmm.msu.ru/~golovin/zdock/camelid.pdb
wget http://kodomo.cmm.msu.ru/~golovin/zdock/uniCHARMM
--2016-05-12 15:51:56--  http://kodomo.cmm.msu.ru/~golovin/zdock/amylase.pdb
Resolving kodomo.cmm.msu.ru... 93.180.63.127
Connecting to kodomo.cmm.msu.ru|93.180.63.127|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 387504 (378K) [chemical/x-pdb]
Saving to: `amylase.pdb'

     0K .......... .......... .......... .......... .......... 13%  185M 0s
    50K .......... .......... .......... .......... .......... 26%  188M 0s
   100K .......... .......... .......... .......... .......... 39%  256M 0s
   150K .......... .......... .......... .......... .......... 52%  112M 0s
   200K .......... .......... .......... .......... .......... 66%  341M 0s
   250K .......... .......... .......... .......... .......... 79%  316M 0s
   300K .......... .......... .......... .......... .......... 92%  336M 0s
   350K .......... .......... ........                        100%  303M=0.002s

2016-05-12 15:51:56 (219 MB/s) - `amylase.pdb' saved [387504/387504]

--2016-05-12 15:51:56--  http://kodomo.cmm.msu.ru/~golovin/zdock/camelid.pdb
Resolving kodomo.cmm.msu.ru... 93.180.63.127
Connecting to kodomo.cmm.msu.ru|93.180.63.127|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 73224 (72K) [chemical/x-pdb]
Saving to: `camelid.pdb'

     0K .......... .......... .......... .......... .......... 69%  282M 0s
    50K .......... .......... .                               100%  441M=0s

2016-05-12 15:51:56 (316 MB/s) - `camelid.pdb' saved [73224/73224]

--2016-05-12 15:51:56--  http://kodomo.cmm.msu.ru/~golovin/zdock/uniCHARMM
Resolving kodomo.cmm.msu.ru... 93.180.63.127
Connecting to kodomo.cmm.msu.ru|93.180.63.127|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17376 (17K)
Saving to: `uniCHARMM'

     0K .......... ......                                     100%  256M=0s

2016-05-12 15:51:56 (256 MB/s) - `uniCHARMM' saved [17376/17376]


In [7]:
%%bash
## добавим водороды; Запускал с putty, т.к. параметр -ff тупит.
pdb2gmx -f amylase.pdb -o amylase_h.pdb -p -ignh
pdb2gmx -f camelid.pdb -o camelid_h.pdb -p -ignh

препроцессинг файлов pdb

In [12]:
%%bash
## Не запускается отсюда, но в putty прекрасно работает
mark_sur amylase_h.pdb amylase_m.pdb
mark_sur camelid_h.pdb camelid_m.pdb
bash: line 1: mark_sur: command not found
bash: line 2: mark_sur: command not found

Судя по сжатому описанию, программа помечает поверхностные основания в pdb файле.

zdock

Подготовка файлов для zdock: Для успешной работы zrank и zdock из pdb файлов надо удалить строчки MODEL и TER Установлено, что: 1. замечательной программе zrank очень нужна пустая строка до начала записей об атомах. 2. полезно убрать именно вторую строчку из копии zdock.out (zdock.out.cp) и использовать её для работы zrank.

Предварительный анализ результатов докинга с помощью утилиты zrank

In [28]:
%%bash
## Убрал вторую строчку в копии zdock.out.cp
zrank zdock.out.cp 1 2000
In [30]:
%%bash
sort -n -k2 zdock.out.cp.zr.out | head
1559	-28.661
1223	-27.5357
595	-25.5514
1409	-22.3979
1935	-21.1778
916	-17.5643
822	-14.7274
655	-13.8186
1641	-11.6282
1077	-10.8227

sort: fflush failed: standard output: Broken pipe
sort: write error

Не совсем понятно, откуда брать pdb файл со всеми состояниями... Использовал онлайн-сервис, который мне их пообещал закинуть в выдачу: http://zdock.umassmed.edu/. И закинул. Позволяет просмотреть n лучших моделей (я выбрал 10, думаю, они совпадают как-то со списком выше).

In [166]:
import __main__
__main__.pymol_argv = [ 'pymol', '-cp' ]
import pymol
pymol.finish_launching()
In [167]:
from pymol import cmd
In [168]:
from IPython.display import Image
In [180]:
cmd.do('''
remove all
reinitialize
cd /home/students/y12/iltarn/Term6/Practice11
set ray_trace_mode, 0; red
set ray_opaque_background, off
set antialias, .5
set light_count, 8
set ambient, 0.5
set ray_trace_color, red
set cartoon_side_chain_helper, on
''')
In [181]:
cmd.do('''
fetch 1kxt
''')
In [189]:
cmd.do('''
remove solvent
remove chain C+D+E+F
as cartoon, 1kxt
color tv_blue, 1kxt
center 1kxt
load complex.7.pdb, c1
as cartoon, c1
color red, c1
select rsa, /1kxt/A/A/SER`177/CA or /1kxt/A/A/GLU`29/CA or /1kxt/A/A/ASN`279/CA
select cs1, /c1//A/SER`177/CA or /c1//A/GLU`29/CA or /c1//A/ASN`279/CA  
pair_fit rsa, cs1
center 1kxt
rotate x, -45
rotate y, 60
ray 700,550
png 1.png
''')
In [192]:
Image(filename='1.png')
Out[192]:

... Более-менее совпадает только 7-й вариант.

In [193]:
Image(filename='7.png')
Out[193]:

Использование g_rms

In [3]:
%%bash
g_rms -s 1kxt.pdb -f complex.1.pdb -o result.xvg
# Не понятно, что делать.

WARNING: Masses and atomic (Van der Waals) radii will be guessed
         based on residue and atom names, since they could not be
         definitively assigned from the information in your input
         files. These guessed numbers might deviate from the mass
         and radius of the atom type. Please check the output
         files if necessary.


                         :-)  G  R  O  M  A  C  S  (-:

                     Gyas ROwers Mature At Cryogenic Speed

                            :-)  VERSION 4.5.5  (-:

        Written by Emile Apol, Rossen Apostolov, Herman J.C. Berendsen,
      Aldert van Buuren, Pär Bjelkmar, Rudi van Drunen, Anton Feenstra, 
        Gerrit Groenhof, Peter Kasson, Per Larsson, Pieter Meulenhoff, 
           Teemu Murtola, Szilard Pall, Sander Pronk, Roland Schulz, 
                Michael Shirts, Alfons Sijbers, Peter Tieleman,

               Berk Hess, David van der Spoel, and Erik Lindahl.

       Copyright (c) 1991-2000, University of Groningen, The Netherlands.
            Copyright (c) 2001-2010, The GROMACS development team at
        Uppsala University & The Royal Institute of Technology, Sweden.
            check out http://www.gromacs.org for more information.

         This program is free software; you can redistribute it and/or
          modify it under the terms of the GNU General Public License
         as published by the Free Software Foundation; either version 2
             of the License, or (at your option) any later version.

                                :-)  g_rms  (-:

Option     Filename  Type         Description
------------------------------------------------------------
  -s       1kxt.pdb  Input        Structure+mass(db): tpr tpb tpa gro g96 pdb
  -f  complex.1.pdb  Input        Trajectory: xtc trr trj gro g96 pdb cpt
 -f2       traj.xtc  Input, Opt.  Trajectory: xtc trr trj gro g96 pdb cpt
  -n      index.ndx  Input, Opt.  Index file
  -o     result.xvg  Output       xvgr/xmgr file
-mir    rmsdmir.xvg  Output, Opt. xvgr/xmgr file
  -a      avgrp.xvg  Output, Opt. xvgr/xmgr file
-dist rmsd-dist.xvg  Output, Opt. xvgr/xmgr file
  -m       rmsd.xpm  Output, Opt. X PixMap compatible matrix file
-bin       rmsd.dat  Output, Opt. Generic data file
 -bm       bond.xpm  Output, Opt. X PixMap compatible matrix file

Option       Type   Value   Description
------------------------------------------------------
-[no]h       bool   no      Print help info and quit
-[no]version bool   no      Print version info and quit
-nice        int    19      Set the nicelevel
-b           time   0       First frame (ps) to read from trajectory
-e           time   0       Last frame (ps) to read from trajectory
-dt          time   0       Only use frame when t MOD dt = first time (ps)
-tu          enum   ps      Time unit: fs, ps, ns, us, ms or s
-[no]w       bool   no      View output .xvg, .xpm, .eps and .pdb files
-xvg         enum   xmgrace  xvg plot formatting: xmgrace, xmgr or none
-what        enum   rmsd    Structural difference measure: rmsd, rho or rhosc
-[no]pbc     bool   yes     PBC check
-fit         enum   rot+trans  Fit to reference structure: rot+trans,
                            translation or none
-prev        int    0       Compare with previous frame
-[no]split   bool   no      Split graph where time is zero
-skip        int    1       Only write every nr-th frame to matrix
-skip2       int    1       Only write every nr-th frame to matrix
-max         real   -1      Maximum level in comparison matrix
-min         real   -1      Minimum level in comparison matrix
-bmax        real   -1      Maximum level in bond angle matrix
-bmin        real   -1      Minimum level in bond angle matrix
-[no]mw      bool   yes     Use mass weighting for superposition
-nlevels     int    80      Number of levels in the matrices
-ng          int    1       Number of groups to compute RMS between

WARNING: all CONECT records are ignored
Select group for least squares fit
Group     0 (         System) has 16172 elements
Group     1 (        Protein) has 14439 elements
Group     2 (      Protein-H) has 14439 elements
Group     3 (        C-alpha) has  1857 elements
Group     4 (       Backbone) has  5571 elements
Group     5 (      MainChain) has  7431 elements
Group     6 (   MainChain+Cb) has  9081 elements
Group     7 (    MainChain+H) has  7431 elements
Group     8 (      SideChain) has  7008 elements
Group     9 (    SideChain-H) has  7008 elements
Group    10 (    Prot-Masses) has 14439 elements
Group    11 (    non-Protein) has  1733 elements
Group    12 (            Ion) has     6 elements
Group    13 (             CA) has     3 elements
Group    14 (             CL) has     3 elements
Group    15 (          Water) has  1727 elements
Group    16 (            SOL) has  1727 elements
Group    17 (      non-Water) has 14445 elements
Group    18 ( Water_and_ions) has  1733 elements
Select a group: 
-------------------------------------------------------
Program g_rms, VERSION 4.5.5
Source code file: /tmp/build/gromacs-4.5.5/src/gmxlib/index.c, line: 1036

Fatal error:
Cannot read from input
For more information and tips for troubleshooting, please check the GROMACS
website at http://www.gromacs.org/Documentation/Errors
-------------------------------------------------------

"I'll Master Your Language, and In the Meantime I'll Create My Own" (Tricky)