Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 2017

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

Цель занятия использовать Pymol как модуль из Jupyter

1. Можно использовать pymol в режиме rpc сервера, но этот вариант cамый неудобный (не обязательное задание):

   1 pymol -x -R

А теперь подключимся к нему в Jupyter:

   1 from xmlrpclib import ServerProxy
   2 cmd = ServerProxy(uri="http://localhost:9123/RPC2")
   3 ### скачаем что-то ###
   4 cmd.fetch('1lmp')
   5 ### fun ####
   6 import time
   7 for i in range (1,200):
   8      cmd.zoom(str(i-1)+"+"+str(i)+"+"+str(i+1)+'/CA')
   9      time.sleep(.5)

2. Попробуйте использовать модули Pymol для визуализации и воспроизведите работу этого скрипта в Jupyter на свой вкус . В коде есть недосказанность. Отчет в виде html из Jupiter c комментариями о работе кода

   1 import __main__
   2 __main__.pymol_argv = [ 'pymol', '-x' ]
   3 
   4 import pymol
   5 pymol.finish_launching()
   6 from pymol import cmd,stored
   7 
   8 cmd.do('''
   9 fetch 1cll, async=0
  10 as lines, n. C+O+N+CA
  11 zoom i. 4+5
  12 mset 1 x1000
  13 mview store''')

* Исследование иттерации по остаткам

   1 stored.r = [] 
   2 cmd.iterate('1cll and n. CA','stored.r.ap......')
   3 
   4 
   5 import numpy as np
   6 
   7 length = len(stored.r)
   8 colors = np.linspace(1,0.5, length)
   9 for k,i in enumerate(stored.r):
  10     cmd.set_color('col%d' %k, [colors[k],0.5,0.75])
  11     print [1,1,colors[k]]
  12     cmd.set('cartoon_co.....','col%d' % k ,'resi %d' % i)
  13 cmd.show_as('cartoon','all')

* Упраженение с movie

   1 for i in range(????):
   2     cmd.frame((10*i)+1)
   3     cmd.zoom( 'n. CA and i. %d+%d' % (i,i+7))
   4     cmd.mview('store')    

Установка и модули

1. Скачайте и установите Anaconda или Miniconda

conda install jupyter

conda install -c schrodinger pymol

conda install -c anaconda numpy 

Работа с Pymol

Это занятие и последующие содержат задачи и только некторые подсказки. Основной источник информации для Вас это документация к программам. В данном случае это сайт PymolWiki.

Поработайте в PyMOL с записью 1LMP банка PDB.

Можно использовать PyMoL с кодомо в Linux компютерного класа
source /nfs/srv/databases/orca/miniconda3/etc/profile.d/conda.sh
conda activate molsim

Суть задания состоит в поэтапном освоении возможностей PyMol как пакета для моделирования.

  1. Оцените возможности Sculpting, в Wizard->Demo->Sculpting . Измените структуру белка 1LMP.

  2. Средствами Tcl/Tk интерфейса (Wizard->Mutagenesis) проведите одиночную мутацию в белке, которая по вашему мнению должна привести к потере связывания с лигандом. Предварительно оцените зону контакта.

  3. Используя команды mset, mview, super, translate создайте анимационный ролик (mpeg) где происходит совмещение белков и показывается место мутации. Обратите внимание на указания в object motions на pymolwiki.

  4. Присоедините флуоресцентную метку TAMRA к белку через сложноэфирную связь (за незнание химии 0). Используйте команды fuse и torsion.

  5. Напишите скрипт для построения поли-аланиновой ( Вы вольны использовать любую аминоксилоту) альфа спирали длинной 100 аминкислот. Нужные команды edit, editor.attach, bond,torsion.
  6. Напишите скрипт для построения B-формы ДНК длинной 100 пар нуклеотидов. Здесь есть проблемы, так заготовок для нуклеиновых кислот нет. Суть подхода состоит в определении матрицы превращения при совмещении одной пары нуклеотидов с последующей. После чего выможете размножать эту пару и применять к ней матрицу превращения. Команды: cmd.pair_fit("pair","nextpair"), trans=cmd.get_object_matrix("pair"), create, cmd.transform_selection

Дополнительные задания

  1. * Напишите скрипт для построения G-квадруплексной ДНК длинной 100 пар нуклеотидов или пентаплексную ДНК.
  2. * Совсем не обязательное, но бонусное задание это сделать красивый рендер на основе этого урока.

Работа и отчетность в jupyter notebook

Пример в виде HTML можно посмотреть тут.

Скачать этот пример для использования у себя можно здесь.

Работа ipython notebook и pymol на kodomo

Пример в виде HTML можно посмотреть тут.

Скачать этот пример для использования у себя можно здесь.

Подсказки

Для удаленной работы в котором на kodomo надо:

1. в Putty:

jupyter notebook --port 43200

Внимание! реальный порт может отличаться от 43200

2. затем в браузере: kodomo.cmm.msu.ru:xxxxx где xxxxx цифры из консоли
можно посмотреть пример: http://kodomo.cmm.msu.ru/~golovin/ipynb/intro.html или http://kodomo.cmm.msu.ru/~golovin/ipynb/ipymol-kodomo.html или творение ваших коллег: http://kodomo.cmm.msu.su/~sapsan/v2/terms/term8/PyMolPractice2.html