Requested water cube size exceeds MAXWAT = 14000
4.1 and later: change MAXWAT in sizes.h and recompile. (4.0: change resize.csh and recompile.) Further redimansioning/recompiling may be needed if other arrays are exceeded as a result.
Note that Leap does not have size restrictions.
The old Edit allowed you to set NCUBE and CUTX,CUTY,CUTZ incompatibly so that your box would not be filled with water out to the specified edges. It is fixed in 4.1 so that Edit tells you when it doesn't have enough waters to fill the box you define. If you want to use fewer waters, set your CUTX,CUTY,CUTZ parameters smaller.
Unfilled boxes due to too small NCUBE generated by 4.0 Edit would shrink in constant pressure dynamics. In constant volume dynamics, there would probably be bubble-like VDW voids. If this is desired, the box could be manually expanded by editing prmtop (box coords are at the end).
NCUBE=4 is not what is causing the large size: you must set CUTX, CUTY, CUTZ. As the manual says:
CUTX Any water molecule which is farther than "CUTX" along the X-axis from any atom of solute will be discarded for the Calculation. Essentially CUTX defines the minimum thickness of the solvent shell along the X-axis.Forcing the user to specify NCUBE was a bad design decision made many years ago. The program should determine on its own how many boxes are required in each dimension to satisfy the user-requested solvation clearances. This is what leap does - in fact the whole link/edit/parm sequence in leap looks like this:
% tleap > x = loadpdb my_molecule.pdb > solvatebox x WATBOX216 10 > saveamberparm x my_mol.top my_mol.crd > quit
In xleap, the same again, allowing you to watch the waters being added as well as saving the pdb:
% xleap > x = loadpdb my_molecule.pdb > edit x > solvatebox x WATBOX216 10 > savepdb x my_mol_solv.pdb > saveamberparm x my_mol.top my_mol.crd > quitAlso, EDIT can generate pdb files directly, and pdbgen or ambpdb can be used to generate pdb from prmtop+inpcrd/restrt.
Is there any reason for adding 0.4A to the box size?
From the Release notes:
Edit: When adding a box trimmed to a certain distance from a molecule, 0.4 A clearance is now added at the box boundary to prevent close water-water contacts, since Edit does not check for them. This decreases the possibility of shake failure at minimization or dynamics startup.
Without doubt, the density plays an important role in constant volume simulations of solvated systems, so this is something I definitely want to get correct.
As for the problem above, there is no way to have correct vdw contacts at the box boundary when using a non-integral number of boxes. (This is why leap has the option of solvating with integral boxes, although in my opinion it is not worth the effort.) Solvating a molecule also further decreases the density, because of vdw voids where partially touching waters are removed.
The only way to get correct density is by doing your own equilibration using constant pressure. Then you can switch to constant volume if you want.
** SOLUTE + X CLEARANCE = 301.625: EXCEEDS TOTAL BOX DIMENSION: 75.097
If EDIT is forced to generate coordinates for the first atoms in a chain (usually hydrogen), it uses internal coordinates as cartesian, e.g. x=1, y=120, z=0. This typically creates one or more atoms distantly removed from the solute.
If you take a look at the PDB file generated from EDIT without water (always a good idea to monitor it and take a close look), you will see this. The "standard" way to fix this is by "ABC" option in EDIT. However, some found it difficult to use and it generally involves a few spatial operations (like translation and rotation) in the head. The easy ways to fix the problem are,