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

Импортирую все необходимые для работы модули, загружаю структуру с PDB ID 1cll, создаю список CA атомов. Изображение структуры открывается в окне PyMOL, также на выход подается число остатков.

In [1]:
import __main__
__main__.pymol_argv = [ 'pymol', '-x' ]

import pymol
pymol.finish_launching()
from pymol import cmd,stored
import numpy as np
from IPython.display import Image

cmd.do('''
fetch 1cll, async=0
as lines, n. C+O+N+CA
mset 1 x1000
align center
mview store''')
stored.r = [] 
cmd.iterate('1cll and n. CA','stored.r.append(resi)')
Out[1]:
152

Крашу остатки структуры по градиенту. Сохраняю картинку структуры (в формате "cartoon") и вставляю ее в отчет.

In [2]:
length = len(stored.r)
colors = np.linspace(1,0.5, length)
for k,i in enumerate(stored.r):
    cmd.set_color('col%d' %k, [colors[k],0.5,0.75])
    cmd.set('cartoon_color','col%d' % k ,'resi %s' % i)
cmd.show_as('cartoon','all')
cmd.png('1cll_cart.png')
Image(filename='1cll_cart.png')
Out[2]:

Далее создаю movie, который открывается в окне PyMOL.

In [3]:
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()