Gromacs是目前广泛使用的分子模拟软件,其在生物、材料等领域的模拟表现出较为突出的优势。之前,本号介绍过一系列体系的模拟以及gromacs的使用办法和教程。本次,将为大家介绍一种进阶版的模型构建方法。
在之前的介绍中,我们了解到可以通过insert-molecules和editconf等命令构建模拟初始体系。例如构建一个大小为5 nm的盒子并添加指定数目的溶剂分子,溶剂分子在盒子内随机分布:
gmx insert-molecules -ci AAA.gro -nmol 1000 -box 5 5 5 -o box.gro
但是如果需要对这个体系进行指定操作,例如不是随机分布而是有规律的排列,此时可以用到genconf命令,对溶剂或者溶质分子进行指定的操作:
gmx genconf -f AAA.gro -nbox 8 8 8 -o box.gro
在这个命令中,我们对分子进行了定向排布,各方向上排列8个,呈阵列状。
除此之外,目前还会经常遇到的问题是两相体系的构建比如水油界面等体系。此时就需要进行两相分开。对于初学者或者没有一定编程能力的同学而言,这种体系较为复杂,不过我们还是可以转换思路,通过gromacs的指令进行操作。
首先将刚才构建的盒子放入一个长方体盒子中,也可理解为将之前盒子进行扩展:
gmx editconf -f box.gro -o newbox.gro -box 5 5 10 -center 2.5 2.5 2.5
接下来,我们可以使用solvate命令对盒子填充另一种溶剂:
gmx solvate -cp newbox.gro -cs spc216.gro -p chx.top -o solv.gro
同样,除了溶剂,对溶质我们也可以进行类似操作来模拟界面上溶剂的相关性质:
gmx editconf -f peptide.gro -o newbox.gro -box 5 5 5 -center 2.5 2.5 2.5
gmx solvate -cp newbox.gro -cs newbox.gro -o solv-pep.gro
以上,我们根据不同需求得到不同类型的模拟体系和盒子用来进行模拟。但是上述操作也具有一个小问题那就是构建两相盒子后,两种分子会有部分重叠,例如一类分子会分布在另一种种。如果这不是我们预期目标的话,我们需要进行额外处理。Gromacs并没有一个非常完美的解决办法。如果有类似需求的小伙伴,欢迎联系我们。我们将会提供更加优美和高效的解决办法。