Домашняя работа 1

Основная ссылка: H:\Term8\Practice1

Предварительная работа

Запуск IPython notebok:

In []:
ipython notebook

Ссылка на IPython Notebook shortcuts (без которых я предпочла бы писать HTML в любимом vim): http://ipython.org/ipython-doc/1/interactive/notebook.html#keyboard-shortcuts

Ссылка на синтаксис markdown: http://daringfireball.net/projects/markdown/basics

Запуск pymol в режиме XML-RPC:

pymol -R

Готовлю python к взаимодействию с RPC и подключаю:

In [1]:
from xmlrpclib import ServerProxy
from IPython.display import Image
cmd = ServerProxy(uri="http://localhost:9123/RPC2")
import time

Выполнение заданий

1. Оценка возможностей Sculpting.

** Wizard \(\rightarrow\) Demo \(\rightarrow\) Sculpting ** предлагает посмотреть опцию sculpting для некоего белка с SS-сшивкой, визуализированными двойными связями и Ван-дер-Ваальсовыми радиусами атомов.

В самом окне прописаны инструкции:

С помощью прописанных инструкций можно менять структуру белка до неузнаваемой и нереалистичной. Например, можно получить такое кольцо с расположенными наружу аминокислотами (+ показан торсионный угол при связи S-S):

Опция наглядная, но кажется бесполезной. Попробую повторить Sculpting для заданной структуры 1LMP. Загрузка:

In [2]:
cmd.fetch("1LMP")
Out[2]:
'1LMP'

Перевожу мышь в режим редактирования: ** Mouse \(\rightarrow\) 3 Button Editing **.

Включаю режим скульптуры: ** Wizard \(\rightarrow\) Sculpting **.

Теперь можно выбрать какой-либо фрагмент белка и модифицировать его как в Demo. При этом межатомные напряжения показываются в виде красных точек и дисков (Toggle Bumps) и автоматически анимированно "расслабляются" (Toggle Sculpting).

Выбираю для редактирования область с лигандом (с ней предстоит работать оставшуюся часть практикума). Фрагмент структуры для редактирования обозначается зеленым цветом. Серая область - исключенная из рассмотрения. Голубая область не изменяется и служит "амортизатором" изменений.

В результате из исходной модели можно получить модель (искусственную и неправдоподобную), где лиганд как-то вынесен из центра связывания, а сам центр соответствующе изменен: полость больше заполнена водой, гидрофобные остатки сильнее погружены к центру, гидрофильные остатки тоже изменены.

2. Гипотетическая мутация, приводящая к потере связывания

Для начала некоторая информация о белке структуры 1LMP и его лиганде.

Белок - O-гликозил гидролаза, на 1995 год был показан как очень эффективный для разрушения бактериальной стенки и хитина. Авторы (Karlsen & Hough) захотели постичь суть этого процесса и проанализировали кристалл белка с хитоолигосахаридом.

Изображение лиганда. Атомы на расстоянии менее 5 Å показаны в модели sticks. Остальная часть белка представлена в виде поверхности. Желтыми линиями показаны возможные водородные связи между лигандом и белком (команда distance, порог 3.5). Гидрофобные взаимодействия тоже вносят вклад в удержание.

Из всех остатков, возможно участвующих в удержании лиганда водородными связями, нужно выбрать один. Для этого я решила уменьшить порог на максимальную длину водородной связи.

Выбор значительно уменьшился. Asp'52 и Asp'101 оба расположены близко к кольцам лиганда. Думаю, мутация одного из них может привести к сильному ослаблению связывания.

** Wizard \(\rightarrow\) Mutagenesis** предлагает быстро заменить любую аминокислоту в белке и предоставляет выбор ротамера. Я решила заменить аспартат на большой гидрофобный лейцин (LEU). Не только водородная связь, но и структура кармана связывания от этого должна измениться, что теоретически обеспечит отсутствие связывания.

Выбираю ротамер, не имеющий стерических затруднений с соедними атомами белка (с лигандом - можно допустить).

3. Создание mpeg-ролика

set matrix_mode, 1
set movie_panel,1

translate [0,10,0], obj01
mset 1x240
mview store
mview store, object=obj01
mview reinterpolate
mview reinterpolate, object=obj01
frame 100
super obj01, 1lmp
mview store, object=obj01
mview reinterpolate, object=obj01
mview store
mview reinterpolate
frame 240
mview store
mview reinterpolate

Результат (из-за всяческих трудностей в формате mp4):

4. Присоединение флуоресцентной метки

Флуоресцентную метку присоединяю к олигосахариду через сложноэфирную связь, меняю торсионный угол так, чтобы не возникало явный структурых перекрытий. Дорабатываю в режиме скульптуры.

5. Создание полиаланиновой альфа-спирали

In [4]:
phi = -100
psi = -70
omega = 180
n = 100

cmd.do("reinitialize")
cmd.do("frag ala")
time.sleep(2)
cmd.set_name("ala", "helix")
cmd.do("alter helix, resi=1")
cmd.do("frag ala")

cmd.select("Cend", "helix and name C and resi 1")
cmd.do("alter ala, resi=2")
cmd.select("Nend", "ala and name N")
cmd.fuse("Nend","Cend")

for x in range(1, n-1):
    cmd.select("Cend", "helix and name C and resi %d"%(x+1))
    cmd.do("alter ala, resi=%d"%(x+2))
    cmd.select("Nend", "ala and name N")
    cmd.fuse("Nend","Cend")

    sele = [
            "helix and name C and resi %d"%x,     # prev C
            "helix and name N and resi %d"%(x+1), # this N
            "helix and name CA and resi %d"%(x+1),# this CA
            "helix and name C and resi %d"%(x+1), # this C
            "helix and name N and resi %d"%(x+2),  # next N
            "helix and name CA and resi %d"%x,     # prev CA
        ]
    cmd.set_dihedral(sele[1], sele[2], sele[3], sele[4], psi)
    cmd.set_dihedral(sele[0], sele[1], sele[2], sele[3], phi)
    cmd.set_dihedral(sele[5], sele[0], sele[1], sele[2], omega)
In [6]:
cmd.hide("everything")
cmd.show("sticks")
cmd.do("util.cbab")
cmd.do("set_view (\
     0.188630059,   -0.386772186,   -0.902677476,\
     0.805955350,    0.586167753,   -0.082738109,\
     0.561119199,   -0.711910307,    0.422289491,\
     0.000037119,    0.000094339, -196.971359253,\
   -12.188592911,   40.858013153,    5.906991482,\
   186.963119507,  246.963272095,  -20.000000000 )")
cmd.ray(500,500)
cmd.png("images/helix1.png")
time.sleep(2)
Image(filename='images/helix1.png')
Out[6]:
In [7]:
cmd.do("set_view (\
    -0.381794393,   -0.919988990,   -0.088615030,\
     0.115321331,    0.047711506,   -0.992182255,\
     0.917023718,   -0.389027834,    0.087879598,\
    -0.000030849,    0.000059430,  -72.004867554,\
     5.714700222,   42.894599915,   -1.640473127,\
   -58.130760193,  242.105712891,  -20.000000000 )")
cmd.ray(500,500)
cmd.png("images/helix2.png")
time.sleep(2)
Image(filename='images/helix2.png')
Out[7]:

6. Построение 3D структуры из нотации SMILES

SMILES кубана:

C12C3C4C1C5C2C3C45

или

C12C3C4C1C5C4C3C25

Формулы отличаются только нумерацией двух атомов, но представляют одинаковую молекулу.

На kodomo воспользовалась командой obgen (obgen test.smi > test.mol), которая, кстати, использует поиск Монте-Карло среди возможных конформеров молекулы и позволет менять силовое поле для этого поиска. Получила файл с 3D-структурой кубана. Загрузила в pymol. Красота.

In [10]:
cmd.load("cubane.mol")
cmd.hide("everything")
cmd.show("sticks")
cmd.do("util.cbab")
cmd.set_view (\
    "-0.010397468,   -0.881636381,    0.471810490,\
     0.258809060,   -0.458133608,   -0.850375175,\
     0.965868711,    0.113264591,    0.232938007,\
     0.000000000,    0.000000000,  -16.344501495,\
    -0.000287533,    0.000118732,    0.000249982,\
    10.290057182,   22.398941040,  -20.000000000" )
cmd.ray(500,500)
cmd.png("images/cubane1.png")
time.sleep(2)
Image(filename='images/cubane1.png')
Out[10]:

Дополнительные замечания к занятию:

Мои любимые настройки рендеринга:

In [9]:
cmd.do('bg_color white')
cmd.set('ambient','0')
cmd.set('direct','0.7')
cmd.set('specular','off')
cmd.set("ray_shadow","off")

Переключатель между заданиями:

In [8]:
cmd.reinitialize()