# Launch PyMOL
import __main__
__main__.pymol_argv = [ 'pymol', '-x' ]
import pymol
from pymol import cmd
pymol.finish_launching()
# Set image
import time
from IPython.display import Image
defaultImage = './pymol/pymolimg.png'
def prepareImage(width=500, height=500, sleep=2, filename=defaultImage):
cmd.ray(width, height)
cmd.png(filename)
time.sleep(sleep)
Задание 2. Поиск водородных связей, которыми белок связывает лиганд.
cmd.fetch('1lmp')
cmd.hide('lines')
cmd.remove('solvent')
cmd.select('ligand', 'het')
cmd.show_as('sticks', 'ligand')
cmd.color('white','1lmp')
cmd.color('salmon', 'ligand')
cmd.center('ligand')
cmd.origin('ligand')
cmd.zoom('ligand', 4)
cmd.show('lines', 'br. 1lmp w. 3.2 of ligand')
cmd.distance('hbonds', 'all', 'ligand', 3.2, mode=2)
cmd.select('active_site', '1lmp within 3.2 of ligand')
cmd.label('active_site & !ligand', 'resn, resi')
cmd.set('label_color', 'white', 'active_site')
prepareImage()
Image(defaultImage)
"Опишите возможные взаимодействия белка с лигандом":
Связывание лиганда с белком-мишенью, как правило, обратимо, и может происходить за счет образования водородных связей, ионных связей или действия сил Ван-дер-Ваальса. Образование ковалентных связей между лигандом и белком нетипично для биологических лиганд-рецепторных систем.
Задание 3. Проведите мутацию в белке, которая по вашему мнению должна привести к потере связывания с лигандом.
Проводим замену тирозина (62 остаток) на лейцин: произойдет потеря стэкинг-взаимодействий между тирозином и лигандом, что ухудшит связывание.
# показать Tyr62 (синий)
cmd.color('blue','resi 62')
cmd.label('n. CA and i. 62', 'resn,resi')
prepareImage()
Image(defaultImage)
cmd.wizard("mutagenesis")
# Tyr62 -> Leu62
cmd.get_wizard().do_select("resi 62")
cmd.get_wizard().set_mode("LEU")
# выбрать первый ротамер
cmd.frame(1)
cmd.get_wizard().apply()
cmd.wizard(None)
# показать Leu62 (красный)
cmd.color('red','resi 62')
cmd.label('n. CA & i. 62', 'resn,resi')
cmd.center('ligand')
cmd.origin('ligand')
cmd.zoom('ligand', 4)
prepareImage()
Image(defaultImage)
Задание 4. Создание анимации с совмещением белков.
cmd.fetch('1lmp', 'wild_type')
cmd.remove('solvent')
cmd.hide('lines')
cmd.translate('[-35, 0, 0]', 'wild_type')
cmd.show_as('cartoon', 'wild_type')
cmd.select('ligand_wt', 'wild_type and het')
cmd.show_as('sticks', 'ligand_wt')
cmd.color('helium','wild_type')
cmd.colour('salmon', 'ligand_wt')
cmd.color('barium','wild_type & resi 62')
cmd.label('wild_type & n. CA and i. 62', 'resn,resi')
cmd.show_as('cartoon', '1lmp')
cmd.delete('hbonds')
cmd.color('red','1lmp & resi 62')
cmd.show_as('sticks', 'ligand')
cmd.color('salmon', 'ligand')
cmd.show_as('sticks', 'wild_type & resi 62')
cmd.show_as('sticks', '1lmp & resi 62')
cmd.label('1lmp & n. CA and i. 62', 'resn,resi')
cmd.label('wild_type & n. CA and i. 62', 'resn,resi')
cmd.zoom('all')
prepareImage()
Image(defaultImage)
cmd.mset('1 x200')
cmd.frame('1')
cmd.do('mview store, object=wild_type')
cmd.do('mview store')
cmd.frame('100')
cmd.do('translate [35, 0, 0], object=wild_type')
cmd.zoom('1lmp')
cmd.do('mview store')
cmd.frame('200')
cmd.zoom('1lmp and i. 62')
cmd.do('mview store, object=wild_type')
cmd.do('mview store')
cmd.do('mview reinterpolate')
# cmd.mplay()
cmd.set('ray_trace_frames', '1')
cmd.set('ray_trace_mode', '1')
cmd.set('antialias', '1')
cmd.mpng('./pic/pic')
from IPython.display import HTML
video = open('mut.mp4', "rb").read().encode("base64")
video_tag = '<video controls src="data:video/mp4;base64, %s">' % video
HTML(data=video_tag)
Задание 5. Присоединение флуоресцентной метки TAMRA
Присоединение метки идет через сложноэфирную связь: карбоксил TAMRA + доступный гидроксил Thr47
cmd.reinitialize()
cmd.fetch('1lmp')
cmd.hide('lines')
cmd.remove('solvent')
cmd.show_as('cartoon', '1lmp')
cmd.color('white', '1lmp')
cmd.color('red', '1lmp & resi 47')
cmd.show_as('sticks', '1lmp & resi 47')
cmd.label('resi 47', 'name')
cmd.label('n. CA & resi 47', 'resn, resi')
cmd.zoom('1lmp & resi 47', 10)
# показать Thr47
prepareImage()
Image(defaultImage)
cmd.load('Structure2D_CID_2762604.sdf', 'tamra')
cmd.zoom('tamra')
cmd.show_as('lines', 'tamra')
cmd.label('tamra & het', 'name')
# показать TAMRA
prepareImage()
Image(defaultImage)
# Присоединить метку
cmd.fuse('/1lmp//A/THR`47/OG1', 'n. O in tamra within 0.7 of n. H in tamra')
prepareImage()
Image(defaultImage)
# далее нужно удалить H20 для завершения реакции этерификации
Задание 6. Напишите скрипт для построения поли-аланиновой альфа спирали длинной 100 аминкислот.
cmd.reinitialize()
cmd.fragment ("ALA")
# торсионные углы альфа-спирали
phi = '-70'
psi = '-35'
for res_number in range(2,101):
cmd.edit("resi " + str(res_number) + " and n. C")
cmd.editor.attach_amino_acid("pk1","ALA")
cmd.edit("resi " + str(res_number) + " and n. N", "resi " + str(res_number) + " and n. CA")
cmd.torsion (phi)
cmd.edit("resi " + str(res_number) + " and n. C", "resi " + str(res_number) + " and n. CA")
cmd.torsion (psi)
cmd.zoom('all')
prepareImage()
Image(defaultImage)
%%bash
jupyter nbconvert --to html hw2_filippova.ipynb