##будем делать докинг лиганда nag в фаговый лизоцим, смоделированный по гомлогии в прошлом практикуме
%%bash
export PYTHONPATH=${PYTHONPATH}:/home/preps/golovin/.local/lib/python2.7/site-packages:/home/preps/golovin/.local/lib/python2.7/dist-packages
export PATH=${PATH}:/home/preps/golovin/progs/bin
%%bash
obgen nag.smi -ff UFF > nag.mol
babel -imol nag.mol -opdb nag.pdb
##получили файл с молекулой лиганда
%%bash
prepare_ligand4.py -l nag.pdb
prepare_receptor4.py -r my1.pdb
##подготовили лиганд и белок для докинга
from xmlrpclib import ServerProxy
from IPython.display import Image
import os, sys
import __main__
__main__.pymol_argv = [ 'pymol', '-cp' ]
import pymol
pymol.finish_launching()
from pymol import cmd
from IPython.display import Image
cmd.delete('all')
cmd.load('my1.pdb')
cmd.do('''
pseudoatom mcent, resi 45, resi 125, resi 138
select mcent
print cmd.get_atom_coords('mcent')
''')
##Полученные координаты центра докинга:47.3, 48.8, 24.6 (их хаписали в файл cfg)
%%bash
vina --config vina.cfg --receptor my1.pdbqt --ligand nag.pdbqt --out nag_prot_my.pdbqt --log nag_prot_my.log
##проведи докинг
##состояния с лучшими энергиями из log-файла
## 1 -4.8 0.000 0.000
## 2 -4.7 1.553 2.774
## 3 -4.7 20.980 22.149
cmd.delete('all')
cmd.load('nag_prot_my.pdbqt')
cmd.load('my1.pdb')
cmd.do('''
rotate x, 90
show sticks, nag_prot_my
split_states nag_prot_my, 1, 20, prefix=conf
zoom all
ray
png 1.png
''')
Image(filename='1.png')
cmd.delete('all')
cmd.load('nag_prot_my.pdbqt')
cmd.load('my1.pdb')
cmd.do('''
show surface, my1
set transparency, 0.5
show sticks, nag_prot_my
split_states nag_prot_my, 1, 20, prefix=conf
rotate x, 50, all, 0
rotate y, -90, all, 0
zoom all
ray
png 2.png
''')
Image(filename='2.png')
cmd.delete('all')
cmd.load('nag_prot_my.pdbqt')
cmd.do('''
rotate x, 90, all
split_states nag_prot_my, 1, 20, prefix=conf
rotate x, 50, all, 0
rotate y, -90, all, 0
zoom all
ray
png 5.png
''')
Image(filename='5.png')
##видно, что лигнад распределен по 4 карманам структуры в результате докинга, причем в условно праивльном кармане меньше всего состояний
##это может быть связано с тем, что карман получился при моделировании белка слишком маленьким по объему
%%bash
python /usr/share/pyshared/AutoDockTools/Utilities24/prepare_flexreceptor4.py -r my1.pdbqt -s ASN45_ASN125_VAL138
vina --config vina.cfg --receptor my1_rigid.pdbqt --flex my1_flex.pdbqt --ligand nag.pdbqt --out nag_pr_2.pdbqt --log nag_pr_2.log
##проведем докинг, сделая подвижной часть белка (те самые 3 аминокислоты)
cmd.delete('all')
cmd.load('nag_pr_2.pdbqt')
cmd.load('my1.pdb')
cmd.do('''
show surface, my1
set transparency, 0.5
show sticks, nag_pr_2
split_states nag_pr_2, 1, 20, prefix=conf
rotate x, 50, all, 0
rotate y, -90, all, 0
zoom all
ray
png 6.png
''')
Image(filename='6.png')
##стало не сильно лучше, но все-таки в праивльный карман лиганд попал уже в 2 моделях а не в 1 (из 20)
##я бы сказал, что докинг в целом не спраивлся