Packmol的官网https://m3g.github.io/packmol/
参照案例
tolerance 2.0 #表示原子间的距离不能小于2.0A
add_box_sides 1.2 #表示给盒子的方向增加1.2A,目的是为了避免边界的原子和镜像盒子里的原子间存在不合理接触
output xx1.pdb #表示输出xx1.pdb文件,
structure xx2.pdb #表示输入xx2.pdb结构
number xxx #表示输入的xx2.pdb一共xxx个数目
inside box x y z #表示输入盒子的尺寸,可用的盒子cube/box/sphere/cylinder,其中inside与outside可换,还可使用over(或below) plane/constrain_rotation/fixed
end structure #结束xx2.pdb输入结束
structure xx3.pdb
number xxx
atoms xxx # 原子规则,原子xxx号服从下面的规则
inside box x y z
end atoms #原子规则结束
end structure
*filetype xyz 表示可以输出文件类型xyz
*seed -1 表示每次运行产生的结构都会不同
inside cube [xmin ymin zmin d]:要求分子出现在长度为d的立方盒子内,盒子x,y,z最小值为xmin ymin zmin
inside box [xmin ymin zmin xmax ymax zmax]:要求分子出现在矩形盒子内,盒子两个顶角坐标分别为xmin ymin zmin和xmax ymax zmax
inside sphere [x y z r]:要求分子出现在中心为(x,y,z)半径为r的圆球中。另外,用inside ellipsoid关键词的话还可以要求出现在特定的椭球中
inside cylinder [a1 b1 c1 a2 b2 c2 r l]:要求分子出现在圆柱内。圆柱的定义是从(a1,b1,c1)往(a2,b2,c2)方向伸展l长度,半径为r
inside ellipsoid a1 b1 c1 a2 b2 c2 d:坐标(a1,b1,c1)定义椭球面的中心, 坐标(a2,b2,c2)定义坐标轴的相对大小, d定义椭球的大小.
以上inside都可以改为outside,要求不能出现在指定范围内。上面的空间范围要求可以同时使用多个,条件会同时满足。还有一些设置:
over plane [a b c d]:要求分子出现位置满足平面方程ax+by+cz-d>=0。比如over plane 1 0 0 10.5就相当于要求出现在x>=10.5埃的区域。over可以改成below来反转条件。
constrain_rotation [x/y/z 平均值 最大偏差]:默认情况下分子可以绕x,y,z轴随意旋转任意角度。用这个选项可以设置分子绕x或y或z旋转的情况,可以同时设多个。如constrain_rotation x 20 5代表允许绕着y和z轴随意旋转,而绕着x轴旋转的范围必须在15~25度之间,平均值为20度。
fixed [x y z a b c]:用来直接定义分子出现在哪里。此设置代表将分子结构文件里的坐标平移(x,y,z),并绕x,y,z轴分布旋转a,b,c弧度。如果还同时写了center关键词,相当于把分子的中心摆到(x,y,z)位置再旋转
*packmol < xxx.inp运行输入 用cmd运行,powershell和gitbash没有数据库无法使用