PyMol常用命令

PyMol可以作出非常漂亮的蛋白质结构图,是一款很好用的画蛋白图像的软件。我在这里总结了PyMol的一些常用命令。

PDB文件一览

  • pdb-description
  • 从左至右,依次有原子编号,原子名,残基名,链名,残基号,原子坐标,occupancy,B-factor,元素名,segment name;

GUI操作

  • 鼠标左键:rotate;中键:move;右键:zoom;
  • file >> save session, 保存文件为pse或psw格式,可保存设置的各种效果,但无法再编辑;
  • H>>hydrogens>>all/nonpolar #隐藏所有/非极性氢原子;
  • 选定原子后,鼠标点击S可改变显示模式,H可隐藏显示模式,C可改变显示颜色
    GUI

命令行操作

主要包括选择命令、显示/隐藏命令、颜色命令、标签命令、设置命令、图像输出设置命令等。

select命令

select 变量名,选择的原子 #变量名可以是任意的字母或数字组合,select命令可简写为sele;
如何选择原子呢?属性选择符有segi(segment),chain(链),resn(残基名),resi(残基号),name(原子名),symbol(元素符号)。逻辑运算符有 and 或者 & (和)、or (或)、not(非)。

1
2
3
4
5
6
7
8
select ligand,segi lig ##选择segment为lig的所有原子,赋给变量ligand;
select alian,chain a ##选择A链的所有原子,赋给变量alian;
select aspglu,resn asp+glu ##选择残基名为ASP和GLU的所有原子,赋给变量aspglu;单个的残基名或残基号间需用+号,不能加空格;
select Y24,resi 24
select loop, resi 21-29 #选择残基号21到29的所有残基,赋给loop;
select Y24-OH,resi 24 and name OH #选择24号残基中的原子名为OH的原子,赋给变量Y24-OH;
select Y24E27,resi 24 or resi 27 #选择24号残基和27残基;
select site, not resi 100-200 #除100到200号残基外的所有残基;

另外还有稍复杂点的运算符 around,expand,within x of ,byres ,neighbor;

1
2
3
4
select coor,name fe around 4 #选择铁原子周围4埃内的所有原子(不包括铁原子);s1 around x;
select coor,subs expand 4 #选择变量subs周围4埃内的所有原子(包含subs);s1 expand x;
select Y24,byres resi 24 and name OH #扩充s1到残基; by s1;
select key,neighbor s1 #选择直接以化学键连接s1的原子,赋给变量key;

show命令:显示一种或多种模式

show 显示形式,变量 #也可以不用提前创建变量,直接在这里选择原子`
常用显示形式有lines,sticks,cartoon,ribbon,sphere,surface,mesh

1
2
3
show sticks,Y24  #显示变量为Y24的所有原子为棍棒形;
show sphere, name fe #显示铁原子为球形;(set sphere_scale,0.4 #设置球形大小,0.4在显示的图形中大小正好)
show cartoon #可以不加操作对象,默认操作所有原子;

hide命令:操作同show

由于PyMol没有撤销命令,显示命令操作后无法撤销,若之前操作将Y24显示为棍形,现在又不想显示它,可以输入命令hide sticks,Y24

color命令:着色

color 颜色,变量

1
2
3
4
5
6
color green  #整个蛋白着色为绿色;
color red, ss h #α螺旋着色,ss表示二级结构,h表示helix
color red, ss s #β片着色;s表示sheet
color blue,ss l+" #loop着色;
color grey, elem c #所有碳原子着色为灰色;
bg_color white #背景色设置命令,也可以设置成其他颜色,白色最常用好看;

label命令

label [selection,[expression]] #selection为选择的原子或对应的变量名,expression为显示的标签文字;

1
2
3
label resi 24 and name OH,"T24"  #在24号残基的OH原子附近标记为T24;
再输入label resi 24 and name OH,"" 可清除标签T24;
label #当有标签存在时,输入label可清除所有标签;

标签设置

1
2
3
4
5
set label_color,color_name,selection #设置标签颜色
set label_outline_color,color_name,[selection] #设置标签文字的轮廓的颜色
set label_font_id,5 #PyMol内置12中字体,编号从5到16;
set label_size,20 #设置字体大小;
set label_position,(x,y,z) #设置label位置,(x,y,z)为离默认位置的三维偏移值;

添加或删除键

1
2
3
4
5
bond atom1,atom2  #可提前定义变量atom1和atom2,也可以在这里直接输入选择;
unbond atom1,atom2 #删除键
set stick_radius=0.15 #改变sticks显示半径;
添加虚键(测量原子间距离)
distance dist1,atom1,atom2 #distance可简写为dist;

虚键设置

1
2
3
4
set dash_length,0.015 #每截虚线的长度
set dash_radius,0.015 #虚线的圆柱截面半径
set dash_gap,0.6 #虚线间隔
set dash_color,grey #虚线颜色

叠合命令Align

align source,target #source对象会被移动旋转来叠合到target对象上;

1
2
3
Align mol1 & resi N1, mol2 & resi N2   #按某一个残基叠合;
Align prot1 and chain A, prot2 and chain B #按整条链叠合;
Align mol1 & resi n1-n2 & name n+ca+c+o, mol2 & resi n3-n4 & name n+ca+c+o #按某段残基的主链进行叠合;

对整个蛋白叠合:鼠标操作:A>>align>>to molecule>>mol2

保存之图片输出

1
2
3
set ray_shadows,0  #渲染时不显示投影;
ray 3000,3000 #图片像素设置;
png name #输出name.png图片

动画视频制作

1
2
3
load xxx.top,mov,format=top      ##pymol要求载入轨迹前要先载入拓扑文件,除非后缀是top,后缀是prmtop的话除非定义一下格式,否则是不认的
load_traj md.mdcrd,mov,format=trj ##trj后缀得定义一下格式。
save movie as XXX.mpg ##保存成movie

命令集成

有时我们需要对同一研究体系不同构象作图像显示,或经常打开某一pdb文件,每次输入命令总是太麻烦,为节省时间,可以将所有要操作的命令写到文本文件name.pml中,然后在PyMol命令框中输入@name.pml,就可以执行文本中的命令。
show.pml

文本笔记