In [17]:
#импортируем все модули
import __main__
__main__.pymol_argv = [ 'pymol', '-x' ]
import pymol
pymol.finish_launching()
import numpy as np
import IPython
pymol.finish_launching()
Out[17]:
152
In [ ]:
from pymol import cmd,stored
cmd.do('''
fetch 1cll, async=0
as lines, n. C+O+N+CA
zoom i. 4+5
mset 1 x1000
mview store''')
stored.r = [] 
cmd.iterate('1cll and n. CA','stored.r.append(resi)')
In [2]:
загрузим структуру 1сll а также подготовим фреймы
In [73]:
cmd.bg_color("white")
length = len(stored.r)
colors = np.linspace(0,0.5, length)
for k,i in enumerate(stored.r):
    cmd.set_color('col%d' %k, [colors[k]*2,1-colors[k]*2,0.75])
    cmd.set('cartoon_color','col%d' % k ,'resi %s' % i)
cmd.show_as('cartoon','all')
cmd.zoom
Out[73]:
<function pymol.viewing.zoom(selection='all', buffer=0.0, state=0, complete=0, animate=0, _self=<module 'pymol.cmd' from 'C:\\Users\\nikol\\PyMOL\\lib\\site-packages\\pymol\\cmd.py'>)>
In [ ]:
#установим бэкгроунд - белый, и создадим градиент перехода цвета от аминокислоты к аминокислоте, где параметры цвета по
#по красному и зеленому будут зависеть от положения.
#а также отобразим структуры в виде cartoon.
In [105]:
cmd.reset()
cmd.png(filename='sp.png',width='9cm',dpi=300,ray=1)
IPython.display.Image("sp.png", retina = True)
Out[105]:
In [ ]:
#cmd.reset()отоброзим по центру с таким зумом чтобы было видно все
#cmd.png(), где:
#filename = имя/путь
#width = ширина, модет быть в пикселя (только цифры), дюймах(in), сантиметрах(cm).
#height = высота, модет быть задана вручную или по-умолчанию в соотвествии с шириной
#dpi = dots-per-inch, разрешение
#ray = 0 or 1: запускать ray или нет
In [103]:
for i in range(length):
    cmd.frame((10*i)+1)
    cmd.zoom( 'n. CA and i. %d+%d' % (i,i+7))
    cmd.mview('store')
cmd.mplay()
In [104]:
#видео можно посмотреть в окне pyol, там будет последовательный зум на альфа-углероды ак.
In [75]:
#альтерноативный метод это использовать ffmpeg, но к сожалению, я не смогла найти, как применить это в python 3
#здесь имеются следующие параметры:
#   -framerate 30     # на вход
#   -i nameimage%03d.png  # имена кадров(image000.png, ..., image999.png)
#   -s:v 640x640      # размер изображения видео
#   -c:v libx264      # энкодер
#   -crf 12           # constant rate factor
#   -pix_fmt yuv420p  # пиксельгый формат
#   -preset veryslow  # скорость кодирования
#   -tune stillimage  # надстраивает настройки кодировки для изображениий
#   -r 30             # на выход
#   output_file.mp4   # имя файла
In [ ]:
 
In [ ]:
 
In [ ]: