AMBER Archive (2003)

Subject: Re: AMBER: ibelly problem

From: Thomas E. Cheatham, III (cheatham_at_chpc.utah.edu)
Date: Wed Oct 29 2003 - 11:23:12 CST


> I have my system with 3 components. PMMA, CCl4 and Al2O3 crystal. I am fixing
> Al203 crystal by ibelly =1 option.
...
> remain fix. But when I look into my mdcrd file using vmd, I see a small part of the
> crystal is also moving. Though most of it is fixed. I am not getting, why a small part

This is a key limitation of the BELLY and the position restraint code
(NTR=1) that limits their utility in cases like this when you want to
restrain or constrain multiple molecules and pressure scaling is
performed. What is happening is that all the pressure scaling (i.e.
either shifting of molecule centers with NPSCAL = 1 or scaling of atomic
coordinates when the box size is altered) occurs on both the native
coordinates and the reference (i.e. restraint or constrained) coordinates.
As your three groups are in different molecules, and you are doing
molecule based scaling, the relative positions are shifting.

There is two ways to hack around this problem (for the case of NTR=1; with
belly only the first option currently works as separate reference
coordinates are not maintained for the BELLY state).

(1) Alter the prmtop file to merge the first three molecules into a single
molecule. I usually copy the prmtop into a new file (prmtop.belly) and
then modify it by hand. I use this prmtop only for the NTR=1 or IBELLY=1
simulations.

(2) Alter runmd.f to NOT call ew_pscale IF ntr.gt.0 (i.e. comment out two
lines of code).

The molecule array is near the bottom of the PRMTOP file in A7 format
prmtop files. Search for "FLAG SOLVENT_POINTERS".

The numbers after this represent the final residue that is part of the
solvent (this will not change), the total number of molecules and the
first solvent molecule.

The array after this is the FLAG ATOMS_PER_MOLECULES and represents the
atom count for each molecule. If you want to merge all three molecules,
add them up and put the number in the first column, then shift the values
such that there are now two less entries. Then alter the total number of
molecules and first solvent molecule. For example, when merging two
molecules:

Before:

%FLAG SOLVENT_POINTERS
%FORMAT(3I8)
      62 4124 44
%FLAG ATOMS_PER_MOLECULE
%FORMAT(10I8)
     631 38 1 1 1 1 1 1 1 1
       1 1 1 1 1 1 1 1 1 1
       1 1 1 1 1 1 1 1 1 1
       1 1 1 1 1 1 1 1 1 1
       1 1 1 3 3 3 3 3 3 3
       3 3 3 3 3 3 3 3 3 3
       ...
       3 3 3 3
%FLAG BOX_DIMENSIONS

After:

%FLAG SOLVENT_POINTERS
%FORMAT(3I8)
      62 4123 43
%FLAG ATOMS_PER_MOLECULE
%FORMAT(10I8)
     669 1 1 1 1 1 1 1 1 1
       1 1 1 1 1 1 1 1 1 1
       1 1 1 1 1 1 1 1 1 1
       1 1 1 1 1 1 1 1 1 1
       1 1 3 3 3 3 3 3 3 3
       3 3 3 3 3 3 3 3 3 3
...
       3 3 3
%FLAG BOX_DIMENSIONS

Good luck!

\ Thomas E. Cheatham, III (Assistant Professor) College of Pharmacy, Depts of
| Medicinal Chemistry and of Pharmaceutics and Pharmaceutical Chemistry
| Adjunct Asst Prof of Bioengineering; Center for High Performance Computing
| University of Utah, 30 South 2000 East, Skaggs 201, Salt Lake City, UT 84112
|
| tec3_at_utah.edu (801) 587-9652; FAX: (801) 585-9119
\ BPRP295A / INSCC 418 http://www.chpc.utah.edu/~cheatham

-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu