PyMol
Загрузка файла с электронной плотностью (ААл)
Другие варианты установки (С.А.С.)
Загрузка и сохранение
Синтаксис:
load "имя файла"
Примеры:
PyMOL> load H:/term7/data/fc.pdb PyMOL> load $PYMOL_PATH/test/dat/pept.pdb
То же можно сделать через меню графического окна.
Сохранять файлы можно через меню, а можно в командной строке, так команда
PyMOL> save H:/term7/data/wat.pdb, resn HOH
сохранит только атомы воды в файл H:/term7/data/wat.pdb .
Чтобы не писать каждый раз полный путь к файлу, можно сделать активной рабочую директорию, например:
PyMOL> cd H:/term7/data
после чего писать только краткое имя файла.
Загрузка файла с электронной плотностью
Файл с электронной плотностью можно получить на сайте PDBe. Найдите по PDB ID свою структуру и на странице структуры (например, https://www.ebi.ac.uk/pdbe/entry/pdb/1crn для структуры 1CRN) откройте меню Downloads. Если в этом меню нет пункта "EDS map", выберите другую структуру. Если есть, сохраните в рабочую директорию файл с электронной плотностью (с расширением ccp4). Туда же сохраните сам PDB-файл.
В примерах PDB код 1x01.
Сделайте активной рабочую директорию, например:
PyMOL> cd H:/term7/EDS
Загрузите PDB-файл командой load:
PyMOL> load pdb1x01.ent, 1x01
Загрузите файл с электронной плотностью той же командой load:
PyMOL> load 1x01.ccp4, 1x01_map
Указывать "имя объекта" (после запятой) необходимо для того, чтобы объекты получили разные имена.
Визуализация электронной плотности
Для визуализации электронной плотности вокруг заданного множества атомов используются команды isomesh или isodot. Например:
PyMOL> isomesh new_surface, 1x01_map, 1.5, resi 15-17 and chain a, 2.5
Здесь:
new_surface # имя нового объекта с изображением поверхности 1x01_map # имя объекта с электронной плотностью 1.5 # уровень - значение электронной плотности (в сигмах), по которому строится поверхность resi 15-17 and chain a # множество атомов, электронную плотность вокруг которого надо изобразить 2.5 # (необязательный) аргумент "buffer".
Если не задать buffer, то будет изображена электронная плотность в наименьшем параллелепипеде (со сторонами, параллельными координатным осям), в который помещаются центры атомов данного множества. Если же задать ему значение, скажем, 2.5, то этот параллелепипед будет расширен на 2.5 ангстрема в каждую сторону.
Команда isodot имеет точно такой же синтаксис.
Изображения можно красить командой color (или из правого меню) и уничтожать командой delete.
Множества
Стандартные множества
название |
краткая форма |
значение |
примеры |
all |
* |
все атомы |
|
none |
|
пустое множество |
|
visible |
v. |
Все атомы, тем или иным способом показанные в данный момент в графическом окне |
|
hydro |
h. |
Все атомы водорода |
|
hetatm |
het |
Все атомы, помеченные в PDB файле, как HETATM |
|
resi |
|
Остатки с данными номерами |
resi 15-20 |
resn |
|
Остатки с данными именами |
resn lys+arg |
chain |
|
Цепи с данными идентификаторами |
chain a+b |
symbol |
|
Атомы данных химических элементов |
symbol c+s |
name |
|
Атомы с данными именами |
name ca |
Примеры:
PyMOL> color blue, all = PyMOL> color blue, * PyMOL> hide hydro = PyMOL> hide h. PyMOL> show spheres, hetatom = PyMOL> show spheres, het
Обозначения множеств
Синтаксис:
select "имя множества", "выделенное множество"
Примеры:
PyMOL> select akeeper, resi 1-10 #Выбирает 1-10 остатки и называет их akeeper PyMOL> zoom akeeper #Взгляд камеры фиксируется на множестве akeeper PyMOL> hide everything, akeeper #множество akeeper не отображается PyMOL> show spheres, akeeper #Множество отображается в виде шаровой модели
В графическом окне справа есть меню, где отображаются множества, в нем можно делать с ними различные манипуляции
Можно манипулировать заданными множествами сколько угодно (пока вы их не удалите). В названиях могут быть только цифры, большие и маленькие латинские буквы и нижнее подчеркивание _
Когда удаляется группа, то атомы и связи остаются, просто они перестают так называться, когда же удаляются объекты, то они удаляются совсем, так что для их визуализации их необходимо снова загружать
Синтаксис:
delete "имя множества" delete "имя объекта"
Примеры:
PyMOL> delete akeeper # Множества akeeper нет, но все атомы на своих местах PyMOL> delete resi 10-15 # Удаляются все атомы и связи остатков с 10 по 15
Группы атомов появляются в боковой панели вместе с объектами.
Выбранные группы атомов показаны россыпью розовых точек.
Группы продолжают работать даже после изменения в молекулярной структуре.
PyMOL> select bb, name c+o+n+ca # создается множество bb PyMOL> count_atoms bb # PyMOL насчитал 52 атома в bb PyMOL> remove resi 5 # все атомы из 5 остатка удаляются PyMOL> count_atoms bb # Теперь PyMOL насчитал 48 атомов в множестве bb
Отображения
Синтаксис::
hide "отображение" show "отображение"
Примеры:
PyMOL>hide lines # Объект из линий исчезает из окна PyMOL>show sticks # В окне появляется объект из палочек
другие виды отображения: ribbon, surface, mesh, cartoon, spheres, cell, dots
Цвета
Синтаксис:
color "цвет" color "цвет", "выделенное множество"
Примеры:
PyMOL> color red # Все отображаемые атомы красятся в красный цвет. PyMOL> color red, name ca # Только С-альфа атомы красятся в красный цвет.
Если нужно покрасить больше чем одно множество, их следует разделять запятыми.
Расстояния
Измерение расстояний между атомами двух множеств короче Х ангстрем
distance "имя группы растояний", "1 множество", "2 множество", "макс. длина в Ангстремах" distance hbonds, all, all, 3.2 # Отмечаются расстояния между любыми двумя атомами, если они меньше 3,2 ангстрем
Операторы
Оператор |
короткая запись |
Что выбирается |
not s1 |
! s1 |
Атомы, не включенные в s1 |
s1 and s2 |
s1 & s2 |
Атомы, включенные и в s1, и в s2 |
s1 or s2 |
s1 | s2 |
Атомы из s1 и из s2 |
s1 like s2 |
s1 l. s2 |
Атомы из s1 совпадающие именем с атомами из s2 |
s1 gap X |
s1 gap X |
Атомы на расстоянии больше Х ангстрем от множества s1 |
s1 around X |
s1 a. X |
Атомы на расстоянии меньше Х ангстрем от множества s1 |
s1 expand X |
s1 e. X |
Расширяет s1, включая все атомы на расстоянии меньше Х ангстрем от s1 |
s1 within X of s2 |
s1 w. X of s2 |
Атомы из s1 на расстоянии не большем, чем Х ангстрем от s2 |
neighbor s1 |
nbr. s1 |
Атомы, непосредственно связанные с s1 |
Примеры:
PyMOL> select bb, chain a and (not resi 125) # Определяет множество bb как все атомы из цепи A, кроме 125 остатка PyMOL> select bb, chain a gap 5 and chain a around 10 # Определяет множество bb как все атомы на расстоянии от 5 до 10 ангстрем от цепи A
Макросы
Макросы позволяют записать длинные записи коротко, так, например
PyMOL> color red, pept and segi lig and chain b and resi 142 and name ca
можно записать, как
PyMOL> color red, /pept/lig/b/142/ca
Макросы задаются следующим путем:
/object-name/segi-identifier/chain-identifier/resi-identifier/name-identifier
PyMol воспринимает макрос как одно слово, так что никаких пробелов между слэшами не должно быть.
Макросы иерархичны, и их можно начинать с любого подмножества
/object-name/segi-identifier/chain-identifier/resi-identifier/name-identifier /object-name/segi-identifier/chain-identifier/resi-identifier /object-name/segi-identifier/chain-identifier /object-name/segi-identifier /object-name
Примеры:
PyMOL> zoom /pept PyMOL> show spheres, /pept/lig/ PyMOL> show cartoon, /pept/lig/a PyMOL> color pink, /pept/lig/a/10 PyMOL> color yellow, /pept/lig/a/10/ca
Если макрос не начинается со слэша, то иерархия идет в обратном порядке:
resi-identifier/name-identifier chain-identifier/resi-identifier/name-identifier segi-identifier/chain-identifier/resi-identifier/name-identifier object-name/segi-identifier/chain-identifier/resi-identifier/name-identifier
также можно оставлять незаполненными промежуточные идентификаторы.
Примеры:
PyMOL> zoom 142/ # Зум на остаток 142 PyMOL> show spheres, 156/ca # С-альфа атом в 156 остатке отображается как сфера PyMOL> show cartoon, a// # Цепь А изображается в стиле cartoon PyMOL> color pink, pept//b # Цепь В из объекта pept красится в розовый цвет
Скрипты и логи
Скрипты в PyMol — всего лишь текстовые файлы с расширением .pml, чтобы запустить скрипт под windows, необходимо открыть в панели отдел file → run или же в командной строке. Синтаксис:
@script-file-name
Пример:
PyMOL> @my_script.pml
Лог файл — это файл, записывающий все действия, произведенные в командной строке Чтобы начать ведение лога, необходимо написать команду log_open <log-file-name>, и все действия будут записаны в этот лог-файл.
Помощь
Чтобы получить описание команды, надо набрать help "имя команды" Полный список команд можно получить, введя в командной строке help и нажать Enter
Установка PyMol под Windows
Читать тут http://www.pymolwiki.org/index.php/Windows_Install .
Вероятно, всё это лучше делать под административным аккаунтом..
Поставить Python 2.7.15 (качать тут https://www.python.org/downloads/windows/ ). Если установлена более старая, чем 2.7.9, версия (например, 2.7.3) то можно вместо установки новой версии поставить программу pip:
Cкачать тут https://pip.pypa.io/en/latest/installing.html скрипт get-pip.py.
- Запустить C:\Python27\python.exe get-pip.py
Поставить Microsoft Visual C++ Compiler for Python 2.7 (качать тут http://www.microsoft.com/en-us/download/details.aspx?id=44266 ).
- Перезагрузить компьютер.
Скачать подходящую версию с https://www.lfd.uci.edu/~gohlke/pythonlibs/#pymol (имеет значение, 32-битная у вас система или 64-битная, в первом случае надо выбирать wheel-файлы, кончающиеся на win32.whl, во втором — на ‑win_amd64.whl).
Запустить C:\Python27\Scripts\pip.exe install <имя скачанного wheel-файла> .
- Создать ярлык к C:\Python27\Scripts\pymol.cmd, поместить его на рабочий стол или в меню Пуск.
Проверить, что PyMol запускается и работает.
Другие варианты (С.А.С.)
Можно поставить себе "образовательный" вариант PyMol, см. https://pymol.org/edu/ .
Я поставил себе дома PyMol так: установил пакет Anaconda Python 2.7 version (см. https://www.anaconda.com/download/ ), затем запустил командную строку Anaconda под администратором и выполнил там команду:
conda install -c schrodinger pymol
При первом запуске PyMol предлагает купить лицензию, но этот этап можно пропустить, тогда в графическом окне постоянно присутствует надпись "No license file", которая, впрочем, совершенно не мешает. Как ни удивительно, после команд ray и png появляется картинка безо всяких надписей, так что этот вариант вполне годится для наших целей.
Дополнительно
Ещё одно краткое руководство по PyMol
Полный гайд по PyMol содержится по ссылке PyMol Users Manual
Огромное количество примеров, настроек и дополнительных функций — на PyMolWiki.
Также можно загружать структуры непосредственно из pdb, для этого есть команда fetch, например:
fetch 1rty