By David Case and George Giambasu
This tutorial demonstrates how to compute the solvent density around a protein (in this case a protein in a crystal lattice), and to place discrete water molecules or ions into the most favorable locations. It is based on 3D-RISM calculations (to get the solvent density distribution) and MOFT (to find optimal locations and place water molecules).
The basic outline of this tutorial is as follows:
The basic reference here is Chapter 37 of the Amber 2019 Reference Manual, which gives more background and details than we can give here. But in brief, experience shows that a pre-conditioning using kernels that smooth out small local variations in the density can help eliminate false positives. Here we will apply the Laplacian mapping on the density convolution with a 3D Gaussian which can be carried out in a single step by a convolution with a Laplacian of a Gaussian kernel. Local (negative) minima of the Laplacian can be used to map locally concentrated regions of a density distribution. The basic idea is illustrated here:
We start with pre-prepared prmtop and inpcrd files for a unit cell of the PDB code 1aho, which is a small scorpion toxin protein:
Here is the sander input (mdin.rism file) to run the 3D-RISM calculation:
and the corresponding arguments to sander:
Note that in this example, we are just doing a simple calculation with the KH closure and pure water. For more realistic simulations, one would use a higher closure (such as PSE3), and salt-water as a solvent.
If we use VMD (Chimera would also be fine) to visualize the DX map file 1aho.kh.O.0.dx, we would get a distribution that looks like this:The metatwist program will compute the Laplacian of the density, rather than just its value. Here are the commands that will do this:
The Laplacian density now looks like this:
Note that the most favorable regions are now much easier to identify, and a separated from one other. An algorithm can now find the centers of these "blobs", and place water molecules there>
There are two pretty simple steps here. First, we use metatwist to place an oxygen at the center of each blob:
This will create a 1aho.kh.O.0-1aho.kh.O-blobs-centroid.pdb file. It can be renamed by running
Finally, we use the gwh (Guess Water Hydrogens) code to add hydrogens, optimizing hydrogen bonding with the protein or with neighboring water molecules. Firstly it will be created a copy of 1aho.amber.pdb file with the name 1aho.wat.pdb:
Then, the oxigens are added and hydrogens guessed by running:
The resulting water distribution is shown at the top of the tutorial. Visualizing this file along with the Laplacian, it is possible to see the water molecules located at the center of the blobs, as bellow:
A complete script to automate the process is in the file run_rism_moft.