Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 2012

Знакомство с Pymol

  1. загрузите какой-нибудь PDB файл, покрутите (левая кнопка мыши), приблизьте (правая кнопка мыши), смените центр вращения (средняя кнопка мыши), приблизьте/отдалите clipping plane (колесико).

  2. Попробуйте с помощью мыши выделить отдельные остатки (esc - посмотреть, какие остатки вы выделили), попробуйте зажать SHIFT и выделить участки структуры рамкой. Попробуйте отобразить последовательность (кликните на кнопку S в правом нижнем углу) и выделить несколько аминокислот на последовательности. Попробуйте выбрать другой selection mode (кликните на слово Selecting Residues в правом нижнем углу) и выделять, например, только атомы или целые цепочки. Обратите внимание, то, что вы выделяете, попадает в выделение в именем (sele) - то, какие выделения и какие объекты имеются в настоящее время, отображается на правой панели. При этом имена выделений всегда в скобках, объектов - без скобок. Имейте в виду, объекты содержат "реальные" атомы, остатки, цепочки; выделения - всего лишь ссылаются на атомы в объектах. Вы можете удалить выделение - атомы объекта останутся, если вы удалите объект - вы удалите, соответственно, все его содержимое.

  3. С каждым объектом или выделением можно выполнить множество действий. Напротив имени каждого объекта или выделения на правой панели есть кнопок: A, S, H, L, C. Каждая из кнопок вызывает выпадающее меню.

    • A- action, список действий/манипуляций, которые можно совершить с объектом (удалить, переименовать, скопировать, центрировать, удалить/добваить водороды, показать водородные связи, и многое другое, посмотрите сами). S - show, показать для объекта или выделения какую-либо репрезентацию (проволочную, ribbon, cartoon, ван-дер-ваальсовы сферы, поверхность, и т.д. попробуйте разное!).

    • H - hide, то же, что и show, только наоборот.

    • L - label, отобразить названия остатков, атомов, цепочек, и т.д.

    • C - color, покрасить по атомам, цепочкам, вторичной структуре, просто цветом.

  4. Теперь более подробно про выделения. Разумеется, выделять можно не только мышкой, но и из командной строки (как, впрочем, и делать все остальное). Основное отличие от Rasmol - в PyMOL вы можете задавать сколько угодно выделений, а не только одно активное. Все выделения отображаются на правой панели, их имена заключены в скобки. Выделения задаются командой (сюрприз!) select (или коротко sel). Синтаксис:

select <selection name>, <selection expression>

selection name, понятно, имя будущего выделения.

А вот с selection expression сложнее, поскольку для выделения в PyMOL есть очень большое количество возможностей. Все они описаны на pymolwiki (http://www.pymolwiki.org/index.php/Selection_Algebra и http://www.pymolwiki.org/index.php/Property_Selectors). Основная схема выделения выглядит так:

select selection_name, <property_selector> <property_value> [and/or/, <property_selector> <proerty value>] 

Например, мы хотим выделить остаток номер 75. В таком случае, наш селектор - номер остатка, а значение свойства - 75. Селектор по номеру остатка в PyMOL пишется resi (от residue index):

select my75, resi 75

Или все лейцины в участке белка с 56 по 156 остаток:

select my_leucines, resn leu and resi 56-156

Все селекторы перечислены на pymolwiki, смотрите там (ссылка выше)! Важное замечание: логические операторы and, or (или ,), not работают за пределами селекторных выражений! То есть нельзя написать select cant_be, resi 45 and 85. Если вы хотите задать несколько значений свойства для одного селектора (как в данном случае), то разделять их нужно знаком + : select thats_ok, resi 45+85

Обратите внимание также на модификаторы выделений, такие как byres, within и другие. Вы можете, например, выделить все атомы на расстоянии больше чем 15 А от атомов в выделении outlier таким образом:

select far_from_me, all beyond 15 of outlier

А вот как выделить все остатки, хотя бы один атом которых находится на расстоянии больше 5 А от outlier:

select far_from_me, byres (all beyond 15 of outlier)

Oбратите внимание на single-word selectors (внизу страницы про property selectors)!

  1. В PyMOL, как и в Rasmol, можно сохранить часть молекулы в PDB файл (можно и всю молекулу, и несколько молекул). Для этого пойдите в File/Save molecule... Более интересно по сравнению с Rasmol то, что здесь можно сохранить сессию, в которой останутся все ваши выделения и загруженные объекты. То есть не обязательно писать скрипт, как в Rasmol, чтобы сохранить понравившееся вам представление молекулы (раскарска, поворот, вообще все) - здесь можно сохранить (и потом загрузить) сессию (File/Save session...). Попробуйте!
  2. Впрочем, можно написать и скрипт. В PyMOL практически все можно сделать не только мышкой, но и в командной строке (часто это даже удобнее). Полный перечень команд, как всегда, на pymolwiki, если вам что-то нужно - ищите. Все тут http://www.pymolwiki.org/index.php/Category:Commands

  3. Одно из главных преимуществ PyMOL - способность генерировать действительно красивые картинки. Это достигается за счет втроенной функции ray-tracing'а. Вы можете сгенерировать качественное изображени из вашей молекулы с помощью простой команды ray, а потом сохранить его с помощью команды png (png filname.png). Обратите внимание, что по умолчанию PyMOL сохраняет картинки в рабочую директорию. Если вы запускали PyMOL из директории, куда у вас нет прав писать, то и картинку вы туда не сохраните. Выхода есть два. Первый - писать полный путь, куда сохранять картинку, в имени файла:

png H:/mypic.png


А можно использовать IPython

сначала запустим pymol в режиме rpc сервера:

pymol -x -R

А теперь подключимся к нему В IPython:

from xmlrpclib import ServerProxy
cmd = ServerProxy(uri="http://localhost:9123/RPC2")
### скачаем что-то ###
cmd.fetch('1lmp')
### fun ####
import time
for i in range (1,200):
     cmd.zoom(str(i-1)+"+"+str(i)+"+"+str(i+1)+'/CA')
     time.sleep(.5)

в качестве опционального отчёта предложите свой вариант использования этой возможности.

И даже IPython notebook и иметь доступ через браузер:

Для оптимального предоставления отчетности предлагаю использовать ipython notebook, для удаленной работы в котором на kodomo надо:

в Putty:

/home/preps/golovin/progs/bin/ipython.bash

затем в браузере: kodomo.cmm.msu.ru:432XX где 432XX цифры из консоли
можно посмотреть пример: http://kodomo.cmm.msu.ru/~golovin/ipynb/intro.html или http://kodomo.cmm.msu.ru/~golovin/ipynb/ipymol-kodomo.html или творение ваших коллег: http://kodomo.cmm.msu.su/~sapsan/v2/terms/term8/PyMolPractice2.html