PACKMOL是一个常用的用于构建复杂体系的程序, 使用简单且开源免费,它的选项设定非常灵活,可以容易地构建出复杂的模型。PACKMOL产生的结构可以被用于各种主流的分子动力学程序的模拟中,比如GROMACS、AMBER等。此处,将用一个实例来展示如何使用PACKMOL构建初始模型。
-01
PACKMOL简介
PACKMOL通过在空间的特定区域填充分子,为分子动力学模拟创建了一个初始点。封装保证短程排斥相互作用不会影响模拟。PACKMOL利用分子之间的原子的各种空间约束这一原理来进行有序的与原子体系的建立,如片层、球状或管状的脂质层。用户只需要提供每种类型分子的坐标、每种类型分子的数量以及每种类型分子必须满足的空间约束。即可快速构用于动力学模拟的促使模型。该包兼容PDB、TINKER、XYZ和MOLDY格式的输入文件。
Windows下配置:
PACKMOL源代码也可以在Windows下编译,仅适用于64bit Windows系统。解压安装文件包,然后进入Windows的命令行模式下,输入如下命令即可运行。如果packmol不在当前目录下,则需要输入其绝对路径,或者加入到Windows的Path环境变量里。
packmol < solvprotein-com.inp
Linux下配置
按如下命令解压并且安装,PACKMOL依赖于fortran,安装前确保存在Fotran环境。完成后,将执行路径写入bashrc文件。
#解压 tar -xvzf packmol.tar.gz #安装 cd packmol make
安装包地址
http://leandro.iqm.unicamp.br/m3g/packmol/download.shtml
-02
实例
这里将构建一个被水分子和氯化钙溶液包围的蛋白质球状体系。
构建要素分子结构
利用Pymol的Build工具或者VMD等工具,分别构建处水分子、氯离子、钙离子、蛋白质,并且分别保存为pdb结构文件。
组装
Linux和Windows下都是如下命令进行组装。
packmol < solvprotein-com.inp
solvprotein-com.inp具体内容如下:
## Protein solvated by water and ions#
tolerance 2.0
structure protein.pdbnumber 1 fixed 0. 0. 0. 0. 0. 0.centerofmassend structure
structure water.pdbnumber 16500 inside sphere 0. 0. 0. 50.end structure
structure CLA.pdbnumber 20inside sphere 0. 0. 0. 50.end structure
structure SOD.pdbnumber 30inside sphere 0. 0. 0. 50.end structure
output solvprotein.pdb
-03
输入文件注释
输入文件中每个下面这种字段设置一种分子如何出现在当前体系中。可以写无数个这种字段。
structure [分子结构文件]
number [分子数]
[分子规则]
end structure
所有来自不同分子的原子在溶液中至少相距2.0埃,tolerance是全局设定。
tolerance 2.0
定义蛋白质输入结构文件,数量和分子坐标,fixed后6个数值分别是xmin ymin zmin和xmax ymax zmax 六个值的大小。centerofmass指定蛋白质为体系中心。
structure protein.pdbnumber 1 fixed 0. 0. 0. 0. 0. 0.centerofmassend structure
蛋白质为中心,在蛋白质周围最大50埃范围内随机放置16500个水分子。inside sphere指定以蛋白为中心,的50埃范围的球形范围内。分子规则用来定义分子里的所有原子必须满足的条件,其常用关键词如下:
分子出现在长度为d的立方盒子内,盒子x,y,z最小值为xmin ymin zmin
inside cube [xmin ymin zmin d]
分子出现在矩形盒子内,盒子两个顶角坐标分别为xmin ymin zmin和xmax ymax zmax
inside box [xmin ymin zmin xmax ymax zmax]
分子出现在中心为(x,y,z)半径为r的圆球中。另外,用inside ellipsoid关键词的话还可以要求出现在特定的椭球中
inside sphere [x y z r]
分子出现在圆柱内。圆柱的定义是从(a1,b1,c1)往(a2,b2,c2)方向伸展l长度,半径为r
inside cylinder [a1 b1 c1 a2 b2 c2 r l]
以上inside都可以改为outside,要求不能出现在指定范围内。上面的空间范围要求可以同时使用多个,条件会同时满足。如这里的
structure water.pdbnumber 16500 inside sphere 0. 0. 0. 50.end structure
转自:叮当学术
如有侵权,请联系本站删除!