Solvating the unit cell: Filling in the gaps

Now that the unit cell is constructed, the next step is to add solvent to the simulation cell. There are two goals to this process: to allow the system to be simulated unrestrained under constant pressure conditions without deviating from the experimental unit cell volume, and to reproduce, to the best of our knowledge, the experimental conditions under which the protein crystallized. This tutorial will provide nearly the exact amount of solvent necessary to accomplish these aims; in practice, it will be necessary to iteratively refine the amount of solvent by setting up the system, equilibrating it, and letting it run under constant pressure dynamics to observe volume changes for up to 20ns before beginning production dynamics.

Crystals for the 1AHO structure were grown in 0.2M ammonium acetate by slow evaporation. Given the volume of this unit cell (560000 cubic Angstroms) and the approximate solvent content of 36%, the unit cell should contain 2-3 ammonium acetate molecules; we can guess on the high side because the crystals were grown by evaporation, which would tend to concentrate the buffer reagents. Additionally, the protein component of the unit cell is non-neutral, with a charge of +1 on each of four protein monomers. Given the salts present in the crystallization solution, we will therefore add seven acetate molecules, three ammonium molecules, and as much water as is needed to maintain the unit cell volume during constant pressure dynamics.

Whereas it is standard practice in solution-phase MD simulations to tile a pre-equilibrated solvent box across the system and eliminate solvent molecules which clash with the solute, this approach will not suffice for packing solvent molecules into a crystal unit cell. Such an approach will likely not pack an adequate number of molecules into the spaces between lattice proteins unless the tolerance for packing solvent molecules is reduced, increasing the likelihood that solvent will be inserted in between atoms of a protein where it should not really be allowed. This problem is compounded by the heterogeneous solvents found in most crystallization conditions: larger solvent molecules such as glycerol will be very hard to place by tiling a pre-equilibrated box. Furthermore, if it is desirable to pack specific ratios of several solvent species, adding molecules from a pre-equilibrated box and clipping them according to a solute mask will not provide any control over the final composition of the unit cell. What is needed is a method which adds solvent molecules one at a time, and applies different tolerances for adding new solvent molecules in relation to the solute or other pre-existing solvent molecules.

This is the function of the AddToBox program. As all other programs in this tutorial, it takes command line input. It also operates on PDB files, and produces PDB files. Before providing the relatively straightforward commands to run the program, however, it is necessary to describe the strategy for adding solvent molecules when the solvent is heterogeneous. When adding multiple types of solvent, we recommend the following strategy:

  1. Add rare species such as ions first, and scatter them throughout the simulation cell.

  2. Add large species second.

  3. Add small and abunant species such as water last.

The tLEaP program adds ions to simulation cells near the minima of the solute's electrostatic potential field. While this is a reasonable approach, in crystal simulations there will be many minima around the densely packed proteins, and perhaps not enough ions to fill them all, or even to fill all of the symmetry-related instances of a single minimum. Furthermore, if the ions are not observed in the X-ray structure but merely inferred from the composition of the crystallization solution, then there is no reason to expect that the configuration of the ions obeys the symmetry of the unit cell. Our approach is therefore to simply to disperse the ions by specifying that they be placed at least some minimum distance from the protein and that each successive ion of the same species be placed a significant distance (perhaps 8 to 10 Angstroms) from other ions of the same species. This can be done by the following AddToBox command:

[user]$ ${AMBERHOME}/bin/AddToBox -c x1AHO.pdb -a Acetate.pdb -na 7 -o xa1AHO.pdb -P 4143 -RP 3.0 -RW 6.0 -G 0.2 -V 1

This command starts with the reconstructed unit cell PDB file, adds seven copies of the structure acetate found in Acetate.pdb, and dumps the output into a new PDB file xa1AHO.pdb. (Note that the input and output PDB files can be given the same name, in which case the input file will be overwritten.) The AddToBox program assumes that the solute atoms come first in the PDB file, followed by any solvent atoms; the -P argument specifies that the first 4143 atoms (which includes crystallographic water oxygens) are to be treated as "solute" and that no acetate molecule may be placed such that any of its atoms comes within 3.0 Angstroms (the -RP argument) of a solute atom or within 6.0 Angstroms (the -RW argument) of a pre-existing solvent atom. Physically, the AddToBox program is coloring a grid "space available" or "off limits" based on the user-supplied tolerances; the grid spacing is specified by the -G argument; for rapidity in this tutorial a 0.2 Angstrom grid spacing is used, but a 0.1 Angstrom spacing is recommended in practice. The -V argument directs AddToBox to recursively call itself, with an iteratively more permissive (smaller) -RW tolerance, in order to place the specified number of acetate molecules.

Once acetate has been added to the system, it's time to add the other rare species, ammonium ions:

[user]$ ${AMBERHOME}/bin/AddToBox -c xa1AHO.pdb -a Ammonium.pdb -na 3 -o xm1AHO.pdb -P 4192 -RP 3.0 -RW 6.0 -G 0.2 -V 1

Finally, the water is added. Again, for demonstrative purposes this tutorial specifies the "correct" amount of water based on what is known a priori to maintain the correct unit cell volume in simulations. In practice, this step and subsequent equilibration and test dynamics would have to be repeated in order to get the amount right.

[user]$ ${AMBERHOME}/bin/AddToBox -c xm1AHO.pdb -a spce.pdb -na 179 -o solv1AHO.pdb -P 4192 -RP 3.0 -RW 3.0 -G 0.2 -V 1

The system is now complete, and ready to serve as input to the AMBER preparatory program tLEaP.

Proceed to the next section.

Return to the beginning of the tutorial.