ShadTask2QA

Version 3 (Andrey Golovin, 23.09.2013 00:45) → Version 4/7 (Andrey Golovin, 01.10.2013 23:05)

h1. Ответы на вопросы о заданиях про 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):
<pre><code class="python">
as cartoon,all
refresh
python
import time
time.sleep(5)
python end
as lines,all
refresh
</code></pre>
*Q3:* не получается скачивать pdb файлы непосредственно через PyMol, но ругается :"

*A3:* Попробуйте запускать Pymol из директории Python на диске С, это вероятно опять кириллица в пути к рабочей директории.

*Q4:* Команда mview store сохраняет положение объекта и камеры, но не позволяет сохранять изменений в отображении объекта?

*A4:* Это делается через понятие scene, пример скрипта :
<pre><code class="python">
mset 1 x90

# load a trypotphan fragment
frag trp

# Tell PyMOL to call this current view '00X'.
color red,trp
as lines
scene 001, store
as sticks
color blue,trp
scene 002, store
as spheres
color green,trp
scene 003, store
as dots
color gray,trp
scene 004, store
as surface
color pink,trp
scene 005, store

# goto frame X and store this scene & camera
frame 1
mview store, scene=001
frame 18
mview store, scene=002
frame 36
mview store, scene=003
frame 54
mview store, scene=004
frame 72
mview store, scene=005

mview reinterpolate
mplay
</code></pre>