使用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
```
# 相对移动
相对移动是指将整体结构中的两个部分沿着不同的方向进行移动。
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
# 将轨迹分割为多个独立的object1
2
# 指定二级结构 1
2
# 修改范德华半径 1
2
# 修改原子坐标 1
2
# 删除或添加共价键 1
2
3
4
5
# D型,L型氨基酸的转换
先用"Ctrl+鼠标中键"选择中间的原子作为pk1,然后再选择两侧的原子作为pk2和pk3。然后使用"Ctrl+E"进行转换。
# 添加二硫键
alter cys/,name='CYX' # change residue name cys to cyx # alter
24+26+56+99/,name='CYX' 1
2
# 对齐两个分子(第一个分子向第二个对齐)
pair_fit prot1///11-26/CA, prot2///34-49/CA ```
Ref: - Editing_Structures