Tutorials:localframe

From biowiki
Jump to navigation Jump to search

Multipole definition and symmetry

Local frame definition (in kmpole.f of tinker source). Currently POLTYPE force to use the first two types.

  • Z-then-X (M are atom types in the parameter file)
 M1 MZ MX     q
              Dx  Dy  Dz
              Qxx
              Qxy  Qyy
              Qxz  Qyz  Qzz

Note the traceless requirements: Qxx+Qyy+Qzz=0

  • bisector: (e.g. for O in water)
M1 M2 -M2, or M1 -M2 M2, or M1 -M2 -M2 are equivalent (e.g. in the fig below the bisector the two H atoms define the Z for O). Note that you can also define bisector even the the last two atoms are not of the same type: M1 M2 -M3 when M2 and M3 are different types.


  • Z-then-bisector:
 M1 MZ -M2 -M3   q  (note th elast two frame defining atom types M2 and M3 both need to be negative!)

The two frames below are supported in Beta version of POLTYPE as of Nov 2018

  • Z-only: (this is useful for molecules such ash N2, O2 etc)
  M1 MZ 0   q

or 

   M1 MZ    q
  • 3-fold (trisector). This is useful for PO3 or NH3, where the trisectioe of P-O or N-H bonds is used as Z for P or N. For P in CH3PO3, we can also use z only above (C would be the MZ)
 M1 -M2 -M3 -M4 q

Symmetry in multipole components (need to enforced)

  • Typically for all frame definitions, including z-then-x, Dy, Qxy, Qyz components are zero, unless it is chiral such as C_alpha in protein (see below)
  • For bisector frame, if the two atom types in the frame def are the same (e.g. M N -N or M -N -N), POLTYPE forces dx, dy, Qxz, Qxy, Qyz =0 for symmetry reason. Nete that it is possible to use bisector when the two frame-def atoms are not the same (M -N -O); in that case, Tinker poledit.x does not force dx=Qxz=0 but POLTYPE always do. 
  • for chiral atom, use a forth atom type;
   M1 M2 M3 M4

Tinker automatically detect the change of chirality and assign the correct parameters by flipping the sign of Dy, Qxy, Qyz. For example, in the amoebapro.prm the multipole for Ca was derived for L form AA (multipole Ca N C Cb). If the parameter file is applied to D-form AA, the multipoles will be converted internally. If one derive the multipole using D- form, you need to put a negative sign in front of the y axis defining atom type (e.g. -Cb). When applied to L form, TINKER again will convert internally.

The chkpole.f in tinker/source handles this. The L form of Ca is defined by using N as the Z-axis (the Ca- N bond), C as the X-axis defining atom (in the C-Ca-N plane and perpendicular to Ca-N), and the Y-axis is along (acute angle with) the Ca-Cb bond. The sign of the parallelepiped volume below allows to check where is the Cb. Note that the Z-X definition can not be switched here.

   if (k.lt.0.and.vol.gt.0.0d0 .or.
&          k.gt.0.and.vol.lt.0.0d0) then
          yaxis(i) = -k
          pole(3,i) = -pole(3,i)
          pole(6,i) = -pole(6,i)
          pole(8,i) = -pole(8,i)
          pole(10,i) = -pole(10,i)
          pole(12,i) = -pole(12,i)
       end if
  • for EAB3 (e.g. -PO32-), three of the same B atom type connects to A. It is best to use Z-only frame. The Qxx and Qyy would be exactly the same for multipoles of A due to the symmetry (Qxx=Qyy=-1/2*Qzz), in addition to dx, dy, Qxz, Qxy, Qyz =0 (bisector frame requirement).

Example of Nitrate NO3-

Note NO3- is fairly flat and rigid so we are able to use Z-then-X for both N and O. For N, the Qxx and Qzz are equal (x and Z are in the plane, y is normal to the plane). For O, the "2 1 2" also works because the direction of "X" or "Y" is not affecting the (sign) of Qxx or Qyy.

#########################################
## AMOEBA Parameters for Nitrate Ion ##
#########################################

atom 1 1 N "Nitrate N" 7 14.007 3
atom 2 2 O "Nitrate O" 8 15.999 1

vdw 1 3.7100 0.1100
vdw 2 3.5100 0.1120

bond 1 2 390.0 1.2606
angle 2 1 2 155.00 120.00
strbnd 2 1 2 18.70 18.70
opbend 2 1 2 2 172.00

multipole 1 2 2 1.07363
                  0.00000 0.00000 0.00000
                  0.14407
                  0.00000 -0.28814
                  0.00000 0.00000 0.14407

multipole 2 1 2 -0.69121
                 0.00000 0.00000 0.04941
                -0.50067
                 0.00000 -0.08271
                 0.00000 0.00000 0.58338

polarize 1 1.0730 0.3900 2
polarize 2 0.8370 0.3900 1