[gmx-users] Re: Creating an atomtype where all nonbonded interactions are enumerated
Justin A. Lemkul
jalemkul at vt.edu
Thu Mar 22 19:08:04 CET 2012
Andrew DeYoung wrote:
> Hi Justin,
>
> Thank you very much for all your time and help!
>
> If you have time, can someone please help me understand how to read a .tpr
> file? I convertied my .tpr file to human-readable form using "gmxdump -s
> topol.tpr".
>
> Following an enumeration of all of the .mdp-like parameters, I see the
> following section:
>
> ------------------------------------------------------------------
> topology:
> name="IL"
> #atoms = 6144
> molblock (0):
> moltype = 0 "EMI"
> #molecules = 256
> #atoms_mol = 19
> #posres_xA = 0
> #posres_xB = 0
> molblock (1):
> moltype = 1 "BF4"
> #molecules = 256
> #atoms_mol = 5
> #posres_xA = 0
> #posres_xB = 0
> ffparams:
> atnr=8
> ntypes=100
> functype[0]=LJ_SR, c6= 3.35274590e-03, c12= 3.95094276e-06
> functype[1]=LJ_SR, c6= 2.60915095e-03, c12= 3.84019631e-06
> functype[2]=LJ_SR, c6= 2.80388421e-03, c12= 4.30620821e-06
> ;...
> functype[63]=LJ_SR, c6= 0.00000000e+00, c12= 0.00000000e+00
> functype[64]=BONDS, b0A= 1.46600e-01, cbA= 2.82000e+05, b0B=
> 1.46600e-01, cbB= 2.82000e+05
> ;...
> functype[70]=BONDS, b0A= 1.08000e-01, cbA= 3.07106e+05, b0B=
> 1.08000e-01, cbB= 3.07106e+05
> functype[71]=ANGLES, thA= 1.26400e+02, ctA= 5.85200e+02, thB=
> 1.26400e+02, ctB= 5.85200e+02
> ;...
> functype[81]=ANGLES, thA= 1.12700e+02, ctA= 8.36800e+02, thB=
> 1.12700e+02, ctB= 8.36800e+02
> functype[82]=RBDIHS, rbcA[0]= 1.94599991e+01, rbcA[1]=
> 0.00000000e+00, rbcA[2]=-1.94599991e+01, rbcA[3]= 0.00000000e+00, rbcA[4]=
> 0.00000000e+00, rbcA[5]= 0.00000000e+00
> rbcB[0]= 1.94599991e+01, rbcB[1]= 0.00000000e+00, rbcB[2]=-1.94599991e+01,
> rbcB[3]= 0.00000000e+00, rbcB[4]= 0.00000000e+00, rbcB[5]= 0.00000000e+00
> ;...
> functype[88]=RBDIHS, rbcA[0]= 6.65499985e-01, rbcA[1]=
> 1.99650002e+00, rbcA[2]= 0.00000000e+00, rbcA[3]=-2.66199994e+00, rbcA[4]=
> 0.00000000e+00, rbcA[5]= 0.00000000e+00
> rbcB[0]= 6.65499985e-01, rbcB[1]= 1.99650002e+00, rbcB[2]= 0.00000000e+00,
> rbcB[3]=-2.66199994e+00, rbcB[4]= 0.00000000e+00, rbcB[5]= 0.00000000e+00
> functype[89]=LJ14, c6A= 1.30457547e-03, c12A= 1.92009816e-06, c6B=
> 1.30457547e-03, c12B= 1.92009816e-06
> ;...
> functype[97]=LJ14, c6A= 6.12890653e-05, c12A= 1.49631507e-08, c6B=
> 6.12890653e-05, c12B= 1.49631507e-08
> functype[98]=BONDS, b0A= 1.39300e-01, cbA= 2.42672e+05, b0B=
> 1.39300e-01, cbB= 2.42672e+05
> functype[99]=ANGLES, thA= 1.09500e+02, ctA= 4.18400e+02, thB=
> 1.09500e+02, ctB= 4.18400e+02
> reppow = 12
> fudgeQQ = 0.5
> ------------------------------------------------------------------
>
> My question is, how can I tell which atomtypes or pairs (I am not sure if
> the indices refer to atomtypes or pairs) each "functype[*]=LJ_SR, c6=*,
> c12=*" refers to? Each LJ_SR entry is indexed, but how do I determine what
> the indices refer to?
>
> In my .itp files which comprise my homemade force field, I define 22 unique
> atomtypes, but here in the .tpr file, 63 LJ_SR entries are present. Does
> this mean that the LJ_SR entries refer to pairs of atoms?
>
I haven't dissected this information for a while, but here's my understanding.
Someone please correct me if I'm wrong. The list contains all the function
types that are used in the simulation, with each assigned an index. What you're
interested in are the LJ_SR parameters, which are constructed (again, this is
just my interpretation from systems that I have used) by stepping through all of
the atoms in each molecule and adding a new function when it is needed. That
is, for a simple protein using Gromos96 53A6, the first few lines are (my
comments added after ';'):
functype[0]=LJ_SR, c6= 2.43640970e-03, c12= 2.31952890e-06 ; NL-NL
functype[1]=LJ_SR, c6= 0.00000000e+00, c12= 0.00000000e+00 ; H-NL
functype[2]=LJ_SR, c6= 3.84514406e-03, c12= 1.50015503e-05 ; CH1-NL
functype[3]=LJ_SR, c6= 4.26569115e-03, c12= 8.87604438e-06 ; CH2-NL
Thus it is stepping through each new atomtype (mapped to N, H, C-alpha, C-beta,
etc) in the amino acid and generating parameters for interactions between itself
and all prior atomtypes that have been encountered. You can check in the
[nonbond_params] directive to see where some special values are used. For
Gromos96, NL-NL interactions have no special values to them, the normal C6/C12
parameters are used. This is not, however, the case for other atomtypes, where
special combinations are used.
> Later in the .tpr file, the residue types are listed, along with the atom
> names. For example,
>
> ------------------------------------------------------------------
> moltype (0):
> name="EMI"
> atoms:
> atom (19):
> atom[ 0]={type= 0, typeB= 0, ptype= Atom, m=
> 1.40067e+01, q= 1.50000e-01, mB= 1.40067e+01, qB= 1.50000e-01, resind= 0,
> atomnumber= 7}
> ;...
> atom[ 18]={type= 3, typeB= 3, ptype= Atom, m=
> 1.00790e+00, q= 6.00000e-02, mB= 1.00790e+00, qB= 6.00000e-02, resind= 0,
> atomnumber= 1}
> atom (19):
> atom[0]={name="NA"}
> ;...
> atom[18]={name="HC"}
> type (19):
> type[0]={name="NA",nameB="NA"}
> ;...
> type[18]={name="HC",nameB="HC"}
> residue (1):
> residue[0]={name="EMI", nr=1, ic=' '}
> cgs:
> nr=13
> cgs[0]={0..1}
> ;...
> cgs[12]={16..18}
> excls:
> nr=19
> nra=195
> excls[0][0..12]={0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13}
> ;...
> excls[18][187..194]={1, 6, 7, 14, 15, 16, 17, 18}
> Bond:
> nr: 57
> iatoms:
> 0 type=64 (BONDS) 0 2
> ;...
> 18 type=69 (BONDS) 7 18
> Angle:
> nr: 132
> iatoms:
> 0 type=71 (ANGLES) 2 0 3
> ;...
> 32 type=75 (ANGLES) 17 7 18
> Ryckaert-Bell.:
> nr: 165
> iatoms:
> 0 type=82 (RBDIHS) 0 3 1 5
> ;...
> 32 type=88 (RBDIHS) 15 6 7 18
> LJ-14:
> nr: 108
> iatoms:
> 0 type=89 (LJ14) 0 6
> ;...
> 35 type=97 (LJ14) 15 18
> ------------------------------------------------------------------
>
> and similarly for the other residues. But, I do not see LJ_SR entries in
> these residue sections. So, how can I determine what the LJ_SR entries are
> referring to near the beginning of the file?
>
That's what the "type=" field is for. Each interaction can be mapped back to an
earlier function type.
-Justin
--
========================================
Justin A. Lemkul
Ph.D. Candidate
ICTAS Doctoral Scholar
MILES-IGERT Trainee
Department of Biochemistry
Virginia Tech
Blacksburg, VA
jalemkul[at]vt.edu | (540) 231-9080
http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin
========================================
More information about the gromacs.org_gmx-users
mailing list