分子动力学模拟之Packmol初始体系建立
Introduction
Packmol是一款创建体系初始构象的工具,它将不同分子摆放在指定区域,同时使用短程排斥规则避免体系的不合理接触。
Packmol支持对不同的分子、原子进行限制,使其能够创建有序系统,比如说层状、球形或者管状脂质层。
用户必须提供摆放分子的坐标,数目和位置限制。
目前支持的文件类型:PDB
、XYZ
、MOLDY
、TINKER
Packmol已经内置在AmberTools中,用于构建脂质双层膜。
Note:
使用 packmol构建体系发表文章时,务必引用如下文章
L. Martínez, R. Andrade, E. G. Birgin, J. M. Martínez. Packmol: A package for building initial configurations for molecular dynamics simulations. Journal of Computational Chemistry, 30(13):2157-2164, 2009.
Example
1 | # 圆形水层+磷脂+水盒子 |
To start
Install
Use
使用packmol前,我们需要准备构建体系的分子坐标文件。
举个例子:如果要模拟水+离子的溶液,就需要准备单个水分子和单个离子的坐标文件。
1 | # 运行packmol packmol.inp为输入文件 |
input structure
1 | # example |
输入文件必须包括如下参数:
-
距离限制(对于常温常压体系,推荐2.0 Å),即不同分子之间的距离至少为2 Å.
1
tolerance 2.0
-
输出文件及文件类型(pdb, tinker, xyz, moldy)
1
2filetype pdb
output xxx.pdb -
填充分子,由
structure...end structure
部分设置1
2
3
4
5
6# 体系填充2000个水分子
# 盒子最小坐标为(0.,0.,0.), 最大坐标(40,40,40)的立方体
structure water.pdb
number 2000
inside cube 0. 0. 0. 40.
end structure可以使用多个
structure...end structure
结构进行复杂体系的建模
Advanced
-
原子选择
单个分子包含x个原子坐标,可以限制部分原子在指定区域。对于构建表面活性剂的亲疏水部分是有用的1
2
3
4
5
6
7# 所有原子放在盒子内,原子9和10会被限制在盒子内部
structure molecule.pdb
inside cube 0. 0. 0. 20.
atoms 9 10
inside box 0. 0. 15. 20. 20. 20.
end atoms
end structure -
限制类型
约束分子在某个区域-
``fixed x y z a b g` 固定分子在x,y,z位置,旋转角度为a,b,g(弧度)
1
2
3
4
5
6#
structure molecule.pdb
number 1
center
fixed 0. 0. 0. 0. 0. 0.
end structure -
inside cube xmin ymin zmin d
原子坐标被限制在一定范围内。
$$
X_{min} < x <X_{min} + d
$$
$$
Y_{min} < y <Y_{min} + d
$$
$$
Z_{min} < z <Z_{min} + d
$$ -
outside cube xmin ymin zmin d
$$
X_{min} > x \ or \ x > X_{min} + d \
$$
$$
Y_{min} > y \ or \ y>Y_{min} + d \
$$
$$
Z_{min} > z \ or \ z>Z_{min} + d \
$$ -
inside box xmin ymin zmin xmax ymax zmax
$$
x_{min}<x<x_{max} \
$$
$$
y_{min}<y<y_{max} \
$$
$$
z_{min}<z<z_{max} \
$$ -
outside box xmin ymin zmin xmax ymax zmax
$$
x < x_{min} \ or \ x > x_{max} \
$$
$$
y < y_{min} \ or \ y > y_{max} \
$$
$$
z < z_{min} \ or \ z > z_{max} \
$$ -
inside/outside sphere x y z d
将原子限制在球内或球外
$$
(x-a)^2+(y-b)^2+(z-c)^2-d^2(= | \ge | \le)0
$$ -
inside/outside ellipsoid a1 b1 c1 a2 b2 c2 d
限制原子在椭球体内/外
$$
\frac{(x-a_1)^2}{a_2^2}+\frac{(y-b_1)^2}{b_2^2}+\frac{(z-c_1)^2}{c_2^2}-d^2(= | \ge | \le)0
$$ -
above/below plane a b c d
限制原子在平面上/下
$$
ax+by+cz-d(= | \ge | \le)0
$$ -
inside/outside cylinder a1 b1 c1 a2 b2 c2 d l
限制原子在圆柱体内或外
a1 b1 c1 圆柱体起始点
a2 b2 c2 圆柱体终点
d 定义半径
l 定义长度 -
constrain_rotation x|y|z a b
限制所有分子的旋转是可行的
限制分子绕X|Y|Z轴旋转的角度为a±b -
不同原子不同半径
对于不同的原子施加不同的半径是实际可行的。默认的pack规则是所有原子之间至少间隔tolerance
。因此,系统默认原子半径为tolerance
的一半。 2 Å 的tolerance
对于所有原子来说是合适的。当模拟多尺度体系时,比如含有粗粒化原子时,我们需要指定radii。
对于不同的分子,定义不同的半径至关重要。只需要添加
radius
到structure
中即可,或者加入atoms
结构中。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16# 水分子原子半径为1.5A (水分子的距离tolerance为3A)
tolerance 2.0
structure water.pdb
number 500
inside box 0. 0. 0. 30. 30. 30.
radius 1.5
end structure
# 只有原子1和2半径为1.5
tolerance 2.0
structure water.pdb
number 500
inside box 0. 0. 0. 30. 30. 30.
atoms 1 2
radius 1.5
end atoms
end structure
-