Hydration Free Energy of Phenol in Explicit TIP3P Water¶
This example highlights the other major type of free energy difference YANK can compute, hydration free energies. More generally it is solvation free energies, but TIP3P water is the only explicit water you can specify in YANK right now.
This example resides in {PYTHON SOURCE DIR}/share/yank/examples/hydration/phenol. The rest of the example here
assumes you are in this directory.
This example can actually be considered a subset of the FreeSolv database example, however, describes in more detail how to set up a hydraiton free energy calculation.
Examining YAML File¶
Hydration free energies are different from binding free energies in that there is only a single molecule and two separate solvents. The other major difference is that the phases have different names which we will point out in this example.
Options Heading¶
There are no changes in this directive relative to the options in the binding free energy example.
Molecules Heading¶
In hydration free energy, only one molecule must be specified, although more could be specified for other simulatons. Otherwise, there are no changes in this directive relative to the molecules in the binding free energy example.
Solvents Heading¶
The solvents heading differs from previous examples in that there
two solvents must be specified. Let us take a look at this section in the explicit.yaml file.
solvents:
water:
nonbonded_method: PME
nonbonded_cutoff: 9*angstroms
clearance: 16*angstroms
vacuum:
nonbonded_method: NoCutoff
Here we name two different solvents: water and vacuum. We then set the options for both solvents. The water
options are the PME nonbonded treatment with a cutoff at 9 Angstroms, then we fill in box with at least 16 angstroms
of water between the solute and the box edge. The vacuum setting is very simple, we just set a NoCutoff scheme
WITHOUT setting implicit_solvent to create a vacuum system.
YANK will know not to add a barostat to the vacuum system. Even though a pressure is specified in the general
options, the choice of NoCutoff and no other options implies no barostat (since trying to do a periodic system without
a cutoff would be impossibly resource intensive).
Systems Heading¶
The systems heading in this case has slightly different keys which tell YANK that this is a hydration free energy
system. Nothing in the previous sections indicated that this would be a hydration free energy so lets look at this section
here.
systems:
hydration-system:
solute: phenol
solvent1: water
solvent2: vacuum
leap:
parameters: leaprc.gaff
Lets start by looking at the familiar options.
We start by naming our system whatever we want, so we call it hydration-system. leap tells YANK where to get
parameters for the force field. Since we don’t have a protein to worry about, we can just point at a generalized force
field and run through from there.
Now lets look at the hydration free energy specific directives. We first specify the solute molecule with solute
which points at a user defined molecule. Next we specify our two solvents with solvent1 and solvent2 which
point at the two user defined solvents. Because free energy differences are just a sign convention, the solvent1
phase is considered the + and solvent2 is the -.
Protocols Heading¶
The protocol’s heading works the same as the binding examples, but requires slightly different phase deffinitions since there is no complex/solvent phase.
protocols:
hydration-protocol:
solvent1:
alchemical_path:
lambda_electrostatics: [1.00, 0.75, 0.50, 0.25, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00]
lambda_sterics: [1.00, 1.00, 1.00, 1.00, 1.00, 0.95, 0.90, 0.85, 0.80, 0.75, 0.70, 0.65, 0.60, 0.50, 0.40, 0.30, 0.20, 0.10, 0.00]
solvent2:
alchemical_path:
lambda_electrostatics: [1.00, 0.75, 0.50, 0.25, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00]
lambda_sterics: [1.00, 1.00, 1.00, 1.00, 1.00, 0.95, 0.90, 0.85, 0.80, 0.75, 0.70, 0.65, 0.60, 0.50, 0.40, 0.30, 0.20, 0.10, 0.00]
Here we define the two phases by solvent1 which is linked to the solvent1 of the systems, and similalry the
solvent2 is linked to solvent2.
Just like in the binding examples, the names solvent1 and solvent2 for
phase names is semi-arbitrary in that the name only has to contain the string. Perfectly valid names would be
waterphasesolvent1 and VACsolvent2UUM pointing to solvent1 and solvent2 respectively.
Experiments Heading¶
Just like in the binding example, we point to a protocol and a system to make our experiment
experiments:
system: hydration-system
protocol: hydration-protocol
Running and Analyzing the Simulation¶
The execution and analysis of the simulation are handled the same as in the T4 Lysozyme binding example. Please see the documentation on that page for more information.