Ссылка на практикум: практикум 2
Подключаемся к PyMol:
from xmlrpclib import ServerProxy
from IPython.display import Image
import os, sys
import __main__
__main__.pymol_argv = [ 'pymol', '-x' ]
import pymol
pymol.finish_launching()
from pymol import cmd
from pymol import util
from pymol import editor
cmd.delete('all')
cmd.fetch('1lmp')
cmd.show_as('cartoon')
Image(filename='1lmp.png')
Лиганд располагается в кармане белка, и координируется большим количеством водородных связей.
Image(filename='contact.png')
Image(filename='contact2.png')
Если мутировать аспартат Asp52 на аргинин (ротамер 10), то он займёт карман белка, что приведёт к невозможности связывания белком лиганда. К тому же изменится заряд в данном месте. Данный остаток находится в небольшом \(\beta\)-тяже, вовлечённом в небольшой лист, что будет удерживать аминокислотный остаток в данной позиции, а мутация не приведёт (как мне кажется) к изменению конформации белка
Image(filename='mut1.png')
cmd.delete('all')
cmd.load('1lmp.pdb')
cmd.load('1lmp_mut.pdb')
cmd.set( 'ray_trace_frames', 1)
cmd.show_as('cartoon')
cmd.show('sticks', 'resi 52')
cmd.super('1lmp', '1lmp_mut')
cmd.mset('1 x100')
cmd.frame('1')
cmd.translate([50, 0, 0], object='1lmp_mut')
cmd.zoom('visible')
cmd.mview('store')
#cmd.do('mview store for scene and objects')
cmd.frame(80)
cmd.translate([-50, 0, 0], object='1lmp_mut')
cmd.zoom('resi 52')
cmd.mview('store')
#cmd.do('mview store for scene and objects')
cmd.mview('reinterpolate')
#cmd.do('mview interpolate for scene and objects')
#cmd.frame(1)
cmd.mpng( 'mov')
%%bash
convert -delay 7 mov*.png movie.gif
Видео взять и получить не получилось, поэтому gif.
%%bash
wget 'http://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/cid/2762604/record/SDF/?record_type=3d&response_type=save&response_basename=Structure3D_CID_2762604' -O tamra.sdf
#chmod 666 tamra.sdf
f = open('tamra.sdf', 'r')
content = f.read()
f.close()
g = open('tamra.sdf', 'w')
content = content.replace('-1.7321 O', '-1.7321 O1')
g.write(content)
g.close()
cmd.delete('all')
cmd.load('tamra.sdf')
cmd.load('1lmp.pdb')
cmd.show('cartoon')
cmd.fuse('/tamra///UNK`/O1', '/1lmp//A/THR`47/OG1')
#cmd.fuse('/tamra///UNK`/O1', '/1lmp//A/ASP`86/OD2')
cmd.torsion(-150)
cmd.set_view ([\
0.624535561, 0.428852320, -0.652710915,\
0.188056588, 0.728575349, 0.658633649,\
0.758012712, -0.534092724, 0.374377429,\
-0.000252835, -0.000524290, -130.940368652,\
17.116086960, 53.597152710, 20.999889374,\
103.212585449, 158.612854004, -20.000000000 ])
cmd.bg_color('white')
cmd.ray()
cmd.png('tamra.png')
Image(filename='tamra.png')
PS: на самом деле, получаемая связь абсолютно не сложноэфирная, т.к. PyMol создаёт связь между двумя кислородами вместо того, чтобы заменить один на другой. Эту проблему можно было бы решить с помощью Sculpting, но навык уже отработан, а картинка и так красивая.
Согласно источниками, в \(\alpha\)-спирали значения торсионных углов составляет \(\phi=-57\) \(\psi=-47\)
cmd.reinitialize()
cmd.bg_colour('white')
cmd.mset(1)
cmd.do('frag ala')
for x in range(2, 25):
cmd.edit('resi {} and name C'.format(x))
editor.attach_amino_acid("pk1","ala")
cmd.edit("resi {} and name N".format(x), "resi {} and name CA".format(x))
cmd.torsion(-57)
cmd.edit("resi {} and name C".format(x), "resi {} and name CA".format(x))
cmd.torsion (-47)
cmd.orient('all')
Вылазят ошибки типа:
Unable to open file './data/shaders/anaglyph_header.fs' loading from memory
%%bash
echo 'C12C3C4C1C5C4C3C25 cubane' > my.smi
obgen my.smi > my.mol
cmd.delete('all')
cmd.load('my.mol')
cmd.ray()
cmd.png('cubane.png')
Image(filename='cubane.png')