使用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'即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 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

1
2

# 将轨迹分割为多个独立的object
split_states object-name
1
2

# 指定二级结构
alter A/10:34/, ss='H' alter A/35:40/, ss='L' alter A/41:60/, ss='S'
1
2

# 修改范德华半径
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).
1
2

# 修改原子坐标
alter_state 1,(object-name),x=x-10.0
1
2

# 删除或添加共价键
unbond pk1,pk2 bond pk1,pk2
1
2
3
4
5

# 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'

1
2

# 对齐两个分子(第一个分子向第二个对齐)
# 需要两个分子的对应原子的顺序一致 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: - Editing_Structures