Ответы на вопросы о заданиях про Pymol¶
Q1: PyMol отказывается загружать файлы с расширением pdb, говорит следующее:
File "C:\Python27\lib\site-packages\pmg_tk\skins\normal\__init__.py", line 597, in file_open
print "Error: unable to open file '%s'"%ofile
<type 'exceptions.UnicodeEncodeError'>: 'ascii' codec can't encode characters in position 54-59: ordinal not in range(128)"
A1: Обычно такие проблемы при открытие файла возникают при использовании кириллицы в пути к файлу
Q2: Пытался сделать самое первое задание (написать скрипт, порождающий разные картинки). Столкнулся с проблемой возможности увидеть эти картинки, он показывает только самую последнюю.
Нет ли такой команды которая заставляла бы программу на некоторое время задерживать изображение на экране?
A2: В гугле легко найти как ставить паузу в python (про time.sleep):
1as cartoon,all
2refresh
3python
4import time
5time.sleep(5)
6python end
7as lines,all
8refresh
Q3: не получается скачивать pdb файлы непосредственно через PyMol, но ругается :"
A3: Попробуйте запускать Pymol из директории Python на диске С, это вероятно опять кириллица в пути к рабочей директории.
Q4: Команда mview store сохраняет положение объекта и камеры, но не позволяет сохранять изменений в отображении объекта?
A4: Это делается через понятие scene, пример скрипта :
1mset 1 x90
2
3# load a trypotphan fragment
4frag trp
5
6# Tell PyMOL to call this current view '00X'.
7color red,trp
8as lines
9scene 001, store
10as sticks
11color blue,trp
12scene 002, store
13as spheres
14color green,trp
15scene 003, store
16as dots
17color gray,trp
18scene 004, store
19as surface
20color pink,trp
21scene 005, store
22
23# goto frame X and store this scene & camera
24frame 1
25mview store, scene=001
26frame 18
27mview store, scene=002
28frame 36
29mview store, scene=003
30frame 54
31mview store, scene=004
32frame 72
33mview store, scene=005
34
35mview reinterpolate
36mplay
Q5: Cудя по всему pyton отказывается воспринимать команды pymolа, подскажите пожалуйста как быть?
A5: В Python команды Pymol вызываются через api, т.е. select resi 1 => cmd.select("resi 1")
Q6: В подсказках есть функция load, о мы ей загружаем, исходные белок и его же с заменённой аминокислотой? я пытался сделать так, но оно объединяет их 1 объект и показывает только как State 1 и 2.
A6: При загрузке можно указать имя объекта в который загрузится файл:
1load native.pdb,nat
2load mutation.pdb,mut
Q7: Напомните , пожалуйста, как выделять лиганд из 2х молекул ( select all and hetatm ....)
A7: Ознакомтесь с http://www.pymolwiki.org/index.php/Single-word_Selectors http://www.pymolwiki.org/index.php/Selection_Algebra