使用Pymol修改分子结构

  进行分子模拟时,通常会使用Pymol,VMD等软件进行可视化。相较于VMD,Pymol更容易入门,同时在网上也能找到大量的Pymol教程。入门之后,我们必须学会Pymol的命令行操作,一方面提高了工作效率,另一方面也能够更加全面的利用到Pymol丰富、完善的功能。
  Pymolwiki网站上有一节叫做”Modeling_and_Editing_Structures”,对Pymol的编辑功能进行了一些介绍,现记录于下:

保存实时坐标

Pymol中,若对分子进行旋转、移动之后,直接保存坐标,则默认保存的还是原始坐标(具体见get_view函数)。
如果需要保存实时坐标,只需将下列代码保存为 save_transformed.py,存放在合适的路径中,然后在终端中输入 run save_transformed.py来导入此脚本。
在需要保存实时坐标时输入’save_transformed.py object_name file_name’即可。

# Adds the command save_transformed
# Usage: save_transformed object, file
def save_transformed(object,file):
    m = cmd.get_view(0)
    ttt = [m[0], m[1], m[2], 0.0,
           m[3], m[4], m[5], 0.0,
           m[6], m[7], m[8], 0.0,
           0.0,   0.0,  0.0, 1.0]
    cmd.transform_object(object,ttt,transpose=1)
    cmd.save(file,object)

cmd.extend('save_transformed',save_transformed)

对部分结构进行旋转,移动操作

translate vector,object-name,state
   (vector needs to be something like [x,y,z])

   translate [1,0,0],pept

rotate axis,angle,object-name,state
   (axis can be either the letter x,y,z or a 3D vector [x,y,z])
   rotate x,90,pept
   rotate [1,1,1],10,pept

相对移动

相对移动是指将整体结构中的两个部分沿着不同的方向进行移动。

fetch 1FJ1 

# split PDB file
create anti=(chain F) 
create fab=(chain A,B)

# delete original object
delete 1FJ1

# color objects
color green,fab
color pink,anti

# color interface
select inter = (byres ((fab within 5 of anti)\
   or (anti within 5 of fab)))

color yellow,inter

# splay apart
orient
origin fab
rotate y,60,fab
origin anti
rotate y,-60, anti

# zoom interface region
zoom inter
show sph,inter
disable inter

将轨迹分割为多个独立的object

split_states object-name

指定二级结构

alter A/10:34/, ss='H'
alter A/35:40/, ss='L'
alter A/41:60/, ss='S'

修改范德华半径

alter (elem Fe),vdw=1.8
rebuild
(The value for Fe is wrecked in PyMOL at the moment, so running the above line might be a good idea).

修改原子坐标

alter_state 1,(object-name),x=x-10.0

删除或添加共价键

unbond pk1,pk2
bond pk1,pk2

D型,L型氨基酸的转换

先用”Ctrl+鼠标中键”选择中间的原子作为pk1,然后再选择两侧的原子作为pk2和pk3。然后使用”Ctrl+E”进行转换。

添加二硫键

bond 24/sg,26/sg                 # add a bond 
bond 56/sg,99/sg
unpick

alter cys/,name='CYX'            # change residue name cys to cyx 
# alter 24+26+56+99/,name='CYX'

对齐两个分子(第一个分子向第二个对齐)

# 需要两个分子的对应原子的顺序一致
pair_fit ( trna10 and resid 10:15 and name P ), ( ref4 and resid 10:15 and name P )    

pair_fit prot1///11-26/CA, prot2///34-49/CA

Ref: