Skip to content

Solvation Equilibration

bencoscia edited this page Nov 20, 2018 · 3 revisions

Working with solvation_equilibration.py

Equilibrating a solvated configuration is not that different from equilibrating a dry configuration. However, we must insert the correct number of water molecules in both the pore and the tail regions prior to equilibrating. This challenge is handled by solvation_equilibration.py.

In its simplest usage, you can run the script as follows:
solvation_equilibration.py -wt 10 -b NAcarb11V -ratio 1.5

This will create a system with 10 wt % water that is built with the monomer NAcarb11V with a ratio of pore water : tail water of 1.5.

The solvation process happens in two major steps:
(1) Adjust pore size until the appropriate amount of water is added by gmx solvate
(2) Add water molecules to tails one by one

The water_content.db Database

It is difficult to say exactly what pore radius is necessary in order to fit the desired number of water molecules. solvation_equilibration.py makes a guess at the pore radius and then converges on the pore radius which gives the correct number of water molecules inside the pore. It does this by updating an SQL database (LLC_membranes/setup/water_content.db) which contains columns for: monomer name, pore radius, number of stacked monomers, number of water molecules, angle of parallel displacement and distance between layers. In this way there exists a unique set of pore radii and associated number of water molecules for each different system configuration.

Annotating the build monomer .gro file

When building the system, the pore radius is defined as the distance of a reference atom from the pore center. The reference atom is marked with an 'R' in the annotated .gro file associated with the build monomer (located in LLC_Membranes/top/topologies). This pore radius is recorded in water_content.db. Separately, the atoms used to define the pore center are marked with a 'PDA' (pore defining atom) annotation. One can choose PDA and R to be the same if desired.

In order to place monomers in the tails, it is necessary to use some atoms as points of reference. Mark atoms in the build monomer .gro file which you'd like to place solute molecules in proximity to with a 'T'.