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

========================================
--
gmx-users mailing list    [email protected]
http://lists.gromacs.org/mailman/listinfo/gmx-users
Please search the archive at 
http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
Please don't post (un)subscribe requests to the list. Use the www interface or send it to [email protected].
Can't post? Read http://www.gromacs.org/Support/Mailing_Lists

Reply via email to