POVME 为一个简单的python脚本用于计算蛋白的活性口袋的体积 ,这里是POVME的网址可以下载源代码 http://www.nbcr.net/POVME/
这里主要介绍一下我自己用POVME计算分子动力学轨迹中的蛋白活性口袋的体积的变化。
首先:先将蛋白中的所有的frames按照一定的方式进行align(这里我用的是阿尔法碳原子作为align的骨架), 将align之后的每一个frame保存成PDB的格式。(上面所有的处理过程都是用的Amber中的Ptraj模块)
其次:创建POVME的体积晶格文件,这个文件将被用于后面过程中计算每个frame的口袋的体积。
POVME的体积晶格文件创建如下:
A:首先导入一个PDB文件(后面所有的过程均是在VMD软件中的操作)
选择一个活性区域,这个区域必须包含活性口袋部分(这个区域也不能过大,必须在蛋白的边界之内),在选择活性区域的时候,我习惯于找到活性中心附近的一个点,然后在VMD中以VDW的方式显示,通过增大Sphere scale来确定是否包含了活性口袋部分。
B:创建体积晶格文件
通过定义一些距离相等的点来创建体积晶格文件,下面是一个创建体积晶格点的例子(generate_points.ini)
InclusionSphere 定义需要包含的体积,这个命令要取四个参数值,前三个值用于指定球型区域的中心坐标,第四个参数用于指定球的半径,InclusionBox命令取了6个参数值,前三个定义盒子的中心坐标,后三个参数分别指定了在X,Y,Z方向上的盒子的边长。
为了产生体积晶格文件,运行下面的命令:
python PVME.py generate_points.ini
运行完命令后会产生一个名称为points.pdb的文件。这个文件包含了活性口袋附近的点。
C: 去除蛋白原子附近的点
对于每一个进行align之后的蛋白受体,上一步产生的体积晶格文件(points.pdb)将会被加载进来,蛋白附近的点系统会自动的进行删除。下面是一个输入文件的例子(measure_pocket.ini):
Padding参数值为1.09是因为这个值为H原子的半径。我们通过将H原子插入到活性口袋中来测量活性区域的体积。
为了获得口袋的体积运行下面的命令:
python POVME.py measure_pocket.ini > pocket.pdb
输出文件pocket.pdb的开头同样也会输出口袋信息
如果在输入文件中加入下面的行:
OutputReceptor yes
输出文件中也会包含活性口袋附近的原子。
D:选择性的移除不连续的点
对于那些孤立的点或者是不连续的点可以选择性的进行移除。可以使用ContiguousSeedBox命令和ContiguousSeedSphere命令来定义。当进行体积计算的时候,只有在ContiguousSeedBox内定义的点才会考虑。
ContiguousPointCriterial变量用于定义所指定的点附近的最小数量的连续的点。下面是一个输入文件的例子(measure_pocket_contiguous.ini):
然后运行下面的命令来产生口袋的体积文件:
python POVME.py measure_pocket_contiguous.ini > pocket_contiguous.pdb