084a585151e73cb78ffaf40b962af771b166dd91
[alexxy/gromacs.git] / docs / reference-manual / topologies / topology-file-formats.rst
1 File formats
2 ------------
3
4 .. _topfile:
5
6 Topology file
7 ~~~~~~~~~~~~~
8
9 The topology file is built following the |Gromacs| specification for a
10 molecular topology. A :ref:`top` file can be generated by
11 :ref:`pdb2gmx <gmx pdb2gmx>`. All possible entries in the topology file are
12 listed in :numref:`Tables %s <tab-topfile1>` and
13 :numref:`%s <tab-topfile2>`. Also tabulated are: all the units of
14 the parameters, which interactions can be perturbed for free energy
15 calculations, which bonded interactions are used by
16 :ref:`grompp <gmx grompp>` for generating exclusions, and which bonded
17 interactions can be converted to constraints by :ref:`grompp <gmx grompp>`.
18
19 .. |VCR| replace:: V\ :math:`^{(cr)}`
20 .. |WCR| replace:: W\ :math:`^{(cr)}`
21 .. |CRO| replace:: :math:`^{(cr)}`
22 .. |TREF| replace:: :numref:`Table %s <tab-topfile2>`
23 .. |AKJM| replace:: :math:`a~\mathrm{kJ~mol}^{-1}`
24 .. |KJN6| replace:: :math:`\mathrm{kJ~mol}^{-1}~\mathrm{nm}^{-6}`
25 .. |BNM| replace:: :math:`b~\mathrm{nm}^{-1}`
26 .. |C6LJ| replace:: :math:`c_6`
27 .. |STAR| replace:: :math:`^{(*)}`
28 .. |NREX| replace:: :math:`n_{ex}^{(nrexcl)}`
29 .. |QEMU| replace:: :math:`q` (e); :math:`m` (u) 
30 .. |MQM| replace:: :math:`q,m`
31
32 .. _tab-topfile1:
33
34 .. table:: The :ref:`topology <top>` file.
35
36         +------------------------------------------------------------------------------------------------------------+
37         | Parameters                                                                                                 |
38         +===================+===========================+=====+====+=========================================+=======+
39         | interaction type  | directive                 | #   | f. | parameters                              | F. E. |
40         |                   |                           | at. | tp |                                         |       |
41         +-------------------+---------------------------+-----+----+-----------------------------------------+-------+
42         | *mandatory*       | ``defaults``              |            non-bonded function type;                       |
43         |                   |                           |            combination rule\ |CRO|;                        |
44         |                   |                           |            generate pairs (no/yes);                        |
45         |                   |                           |            fudge LJ (); fudge QQ ()                        |
46         +-------------------+---------------------------+------------------------------------------------------------+
47         | *mandatory*       | ``atomtypes``             |            atom type; m (u); q (e); particle type;         | 
48         |                   |                           |            |VCR| ; |WCR|                                   |
49         +-------------------+---------------------------+------------------------------------------------------------+
50         |                   | ``bondtypes``             |  (see |TREF|, directive ``bonds``)                         |
51         +                   +                           +                                                            +
52         |                   | ``pairtypes``             |  (see |TREF|, directive ``pairs``)                         |
53         +                   +                           +                                                            +
54         |                   | ``angletypes``            |  (see |TREF|, directive ``angles``)                        |
55         +                   +                           +                                                            +
56         |                   | ``dihedraltypes``\ |STAR| |  (see |TREF|, directive ``dihedrals``)                     |
57         +                   +                           +                                                            +
58         |                   | ``constrainttypes``       |  (see |TREF|, directive ``constraints``)                   |
59         +-------------------+---------------------------+-----+----+-------------------------------------------------+
60         | LJ                | ``nonbond_params``        |  2  | 1  |  |VCR|  ; |WCR|                                 |
61         +                   +                           +     +    +                                                 +
62         | Buckingham        | ``nonbond_params``        |  2  | 2  |  |AKJM| ; |BNM|;                                |
63         |                   |                           |     |    |  |C6LJ| (|KJN6|)                                |
64         +-------------------+---------------------------+-----+----+-------------------------------------------------+
65
66 .. table:: 
67
68         +------------------------------------------------------------------------------------------------------------+
69         | Molecule definition(s)                                                                                     |
70         +===================+===========================+============================================================+
71         | *mandatory*       | ``moleculetype``          | molecule name; |NREX|                                      |
72         +-------------------+---------------------------+-----+----------------------------------------------+-------+
73         | *mandatory*       | ``atoms``                 | 1   | atom type; residue number;                   | type  |
74         |                   |                           |     | residue name; atom name;                     |       |
75         |                   |                           |     | charge group number; |QEMU|                  | |MQM| |
76         +-------------------+---------------------------+-----+----------------------------------------------+-------+
77         | intra-molecular interaction and geometry definitions as described in |TREF|                                |
78         +------------------------------------------------------------------------------------------------------------+
79
80 .. table::
81
82         +-------------+---------------+------------------------------------+
83         | System      |               |                                    |
84         +=============+===============+====================================+
85         | *mandatory* | ``system``    | system name                        |
86         +-------------+---------------+------------------------------------+
87         | *mandatory* | ``molecules`` | molecule name; number of molecules |
88         +-------------+---------------+------------------------------------+
89
90 .. table::
91
92         +------------------------------+----------------------------------------------------+
93         | Inter-molecular interactions |                                                    |
94         +==============================+====================================================+
95         | *optional*                   | ``intermolecular_interactions``                    |
96         +------------------------------+----------------------------------------------------+
97         | one or more bonded interactions as described in |TREF|, with two or more atoms,   |
98         | no interactions that generate exclusions, no constraints, use global atom numbers |
99         +-----------------------------------------------------------------------------------+
100
101 .. parsed-literal::
102
103     '\# at' is the required number of atom type indices for this directive
104     'f. tp' is the value used to select this function type
105     'F. E.' indicates which of the parameters can be interpolated in free energy calculations
106     |CRO| the combination rule determines the type of LJ parameters, see 
107     |STAR| for ``dihedraltypes`` one can specify 4 atoms or the inner (outer for improper) 2 atoms
108     |NREX| exclude neighbors :math:`n_{ex}` bonds away for non-bonded interactions
109     For free energy calculations, type, :math:`q` and :math:`m`  or no parameters should be added
110     for topology 'B' (:math:`\lambda = 1`) on the same line, after the normal parameters.
111
112 .. |BZERO| replace:: :math:`b_0`
113 .. |KB| replace:: :math:`k_b`
114 .. |KDR| replace:: :math:`k_{dr}`
115 .. |NM2| replace:: (kJ mol\ :math:`^{-1}`\ nm\ :math:`^{-2}`
116 .. |NM4| replace:: (kJ mol\ :math:`^{-1}`\ nm\ :math:`^{-4}`
117 .. |DKJ| replace:: :math:`D` (kJ mol\ :math:`^{-1}`
118 .. |BETA| replace:: :math:`\beta` (nm\ :math:`^{-1}`
119 .. |C23| replace:: :math:`C_{i=2,3}` (kJ mol\ :math:`^{-1}\ nm\ :math:`^{-i}`
120 .. |BMM| replace:: :math:`b_m`
121 .. |GE0| replace:: :math:`\geq 0`
122 .. |KO| replace:: :math:`k` 
123 .. |KJM| replace:: kJ mol\ :math:`^{-1}`
124 .. |LUU| replace:: low, up\ :math:`_1`,\ :math:`_2`
125 .. |MV| replace:: :math:`V`
126 .. |MW| replace:: :math:`W`
127 .. |QIJ| replace:: :math:`q_i`; :math:`q_j`
128 .. |THE0| replace:: :math:`\theta_0`
129 .. |KTHE| replace:: :math:`k_\theta`
130 .. |KJR2| replace:: kJ mol\ :math:`^{-1}`\ rad\ :math:`^{-2}`
131 .. |RN13| replace:: :math:`r_{13}`
132 .. |KUB| replace:: :math:`k_{UB}`
133 .. |C024| replace:: :math:`C_{i=0,1,2,3,4}`
134 .. |KJRI| replace:: kJ mol\ :math:`^{-1}`\ rad\ :math:`^{-i}`
135 .. |PHIS| replace:: :math:`\phi_s`
136 .. |PHI0| replace:: :math:`\phi_0`
137 .. |KPHI| replace:: :math:`k_\phi`
138 .. |PHIK| replace:: :math:`\phi,k`
139 .. |XI0| replace:: :math:`\xi_0`
140 .. |KXI| replace:: :math:`k_\xi`
141 .. |C0| replace:: :math:`C_0`
142 .. |C1| replace:: :math:`C_1`
143 .. |C2| replace:: :math:`C_2`
144 .. |C3| replace:: :math:`C_3`
145 .. |C4| replace:: :math:`C_4`
146 .. |C5| replace:: :math:`C_5`
147 .. |A0| replace:: :math:`a_0`
148 .. |A1| replace:: :math:`a_1`
149 .. |A2| replace:: :math:`a_2`
150 .. |A3| replace:: :math:`a_3`
151 .. |A4| replace:: :math:`a_4`
152 .. |DOH| replace:: :math:d_{\mbox{\sc oh}}`
153 .. |DHH| replace:: :math:d_{\mbox{\sc hh}}`
154 .. |AO| replace:: :math:`a`
155 .. |BO| replace:: :math:`b`
156 .. |CO| replace:: :math:`c`
157 .. |DO| replace:: :math:`d`
158 .. |KX| replace:: :math:`k_{x}`
159 .. |KY| replace:: :math:`k_{y}`
160 .. |KZ| replace:: :math:`k_{z}`
161 .. |GO| replace:: :math:`g`
162 .. |RO| replace:: :math:`r`
163 .. |DPHI| replace:: :math:`\Delta\phi`
164 .. |DIHR| replace:: :math:`k_{\mathrm{dihr}}`
165 .. |THET| replace:: :math:`\theta`
166 .. |NM| replace:: nm\ :math:`^{-1}`
167 .. |KC| replace:: :math:`k_c`
168 .. |THEK| replace:: :math:`\theta,k`
169 .. |R1E| replace:: :math:`r_{1e}`
170 .. |R2E| replace:: :math:`r_{2e}`
171 .. |R3E| replace:: :math:`r_{3e}`
172 .. |KRR| replace:: :math:`k_{rr'}`
173 .. |KRTH| replace:: :math:`k_{r\theta}`
174 .. |ALPH| replace:: :math:`\alpha`; |CO| (U nm\ :math:`^{\alpha}`
175 .. |UM1| replace:: U\ :math:`^{-1}`
176
177 .. _tab-topfile2:
178
179 .. table:: Details of ``[ moleculetype ]`` directives
180
181             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
182             | Name of interaction                | Topology file directive    | num.       | func.     | Order of parameters and their units                                     | use in     | 
183             |                                    |                            | atoms [1]_ | type [2]_ |                                                                         | F.E.? [3]_ |
184             +====================================+============================+============+===========+=========================================================================+============+
185             | bond                               | ``bonds`` [4]_, [5]_       | 2          | 1         | |BZERO| (nm); |KB| |NM2|                                                | all        | 
186             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
187             | G96 bond                           | ``bonds`` [4]_, [5]_       | 2          | 2         | |BZERO| (nm); |KB| |NM4|                                                | all        |
188             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
189             | Morse                              | ``bonds`` [4]_, [5]_       | 2          | 3         | |BZERO| (nm); |DKJ|; |BETA|                                             | all        | 
190             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
191             | cubic bond                         | ``bonds`` [4]_, [5]_       | 2          | 4         | |BZERO| (nm); |C23|                                                     |            | 
192             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
193             | connection                         | ``bonds`` [4]_             | 2          | 5         |                                                                         |            | 
194             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
195             | harmonic potential                 | ``bonds``                  | 2          | 6         | |BZERO| (nm); |KB| |NM2|                                                | all        | 
196             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
197             | FENE bond                          | ``bonds`` [4]_             | 2          | 7         | |BMM|   (nm); |KB| |NM2|                                                |            | 
198             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
199             | tabulated bond                     | ``bonds`` [4]_             | 2          | 8         | table number (|GE0|); |KO| |KJM|                                        | |KO|       |
200             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
201             | tabulated bond [6]_                | ``bonds``                  | 2          | 9         | table number (|GE0|); |KO| |KJM|                                        | |KO|       |
202             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
203             | restraint potential                | ``bonds``                  | 2          | 10        | |LUU| (nm); |KDR| (|NM2|)                                               | all        | 
204             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
205             | extra LJ or Coulomb                | ``pairs``                  | 2          | 1         | |MV| [7]_; |MW| [7]_                                                    | all        | 
206             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
207             | extra LJ or Coulomb                | ``pairs``                  | 2          | 2         | fudge QQ (); |QIJ| (e), |MV| [7]_; |MW| [7]_                            |            | 
208             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
209             | extra LJ or Coulomb                | ``pairs_nb``               | 2          | 1         | |QIJ| (e); |MV| [7]_; |MW| [7]_                                         |            | 
210             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
211             | angle                              | ``angles`` [5]_            | 3          | 1         | |THE0| (deg); |KTHE| (|KJR2|)                                           | all        | 
212             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
213             | G96 angle                          | ``angles`` [5]_            | 3          | 2         | |THE0| (deg); |KTHE| (|KJM|)                                            | all        | 
214             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
215             | cross bond-bond                    | ``angles``                 | 3          | 3         | |R1E|, |R2E| (nm); |KRR| (|NM2|)                                        |            | 
216             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
217             | cross bond-angle                   | ``angles``                 | 3          | 4         | |R1E|, |R2E|, |R3E| (nm); |KRTH| (|NM2|)                                |            | 
218             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
219             | Urey-Bradley                       | ``angles`` [5]_            | 3          | 5         | |THE0| (deg); |KTHE| (|KJR2|); |RN13| (nm); |KUB| (|NM2|)               | all        |
220             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
221             | quartic angle                      | ``angles`` [5]_            | 3          | 6         | |THE0| (deg); |C024| (|KJRI|)                                           |            | 
222             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
223             | tabulated angle                    | ``angles``                 | 3          | 8         | table number (|GE0|); |KO| (|KJM|)                                      | |KO|       | 
224             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
225             |  |  restricted                     |                            |            |           |                                                                         |            |
226             |  |  bending potential              | ``angles``                 | 3          | 10        | |THE0| (deg); |KTHE| (|KJM|)                                            |            | 
227             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
228             | proper dihedral                    | ``dihedrals``              | 4          | 1         | |PHIS| (deg); |KPHI| (|KJM|); multiplicity                              | |PHIK|     | 
229             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
230             | improper dihedral                  | ``dihedrals``              | 4          | 2         | |XI0| (deg); |KXI| (|KJR2|)                                             | all        | 
231             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
232             | Ryckaert-Bellemans dihedral        | ``dihedrals``              | 4          | 3         | |C0|, |C1|, |C2|, |C3|, |C4|, |C5| (|KJM|)                              | all        | 
233             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
234             | periodic improper dihedral         | ``dihedrals``              | 4          | 4         | |PHIS| (deg); |KPHI| (|KJM|); multiplicity                              | |PHIK|     | 
235             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
236             | Fourier dihedral                   | ``dihedrals``              | 4          | 5         | |C1|, |C2|, |C3|, |C4|, |C5| (|KJM|)                                    | all        | 
237             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
238             | tabulated dihedral                 | ``dihedrals``              | 4          | 8         | table number (|GE0|); |KO| (|KJM|)                                      | |KO|       |
239             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
240             | proper dihedral (multiple)         | ``dihedrals``              | 4          | 9         | |PHIS| (deg); |KPHI| (|KJM|); multiplicity                              | |PHIK|     | 
241             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
242             | restricted dihedral                | ``dihedrals``              | 4          | 10        | |PHI0| (deg); |KPHI| (|KJM|)                                            |            | 
243             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
244             | combined bending-torsion potential | ``dihedrals``              | 4          | 11        | |A0|, |A1|, |A2|, |A3|, |A4| (|KJM|)                                    |            | 
245             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
246             | exclusions                         | ``exclusions``             | 1          |           | one or more atom indices                                                |            | 
247             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
248             | constraint                         | ``constraints`` [4]_       | 2          | 1         | |BZERO| (nm)                                                            | all        | 
249             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
250             | constraint [6]_                    | ``constraints``            | 2          | 2         | |BZERO| (nm)                                                            | all        | 
251             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
252             | SETTLE                             | ``settles``                | 1          | 1         | |DOH|, |DHH| (nm)                                                       |            | 
253             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
254             | 2-body virtual site                | ``virtual_sites2``         | 3          | 1         | |AO| ()                                                                 |            | 
255             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
256             | 3-body virtual site                | ``virtual_sites3``         | 4          | 1         | |AO|, |BO| ()                                                           |            | 
257             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
258             | 3-body virtual site (fd)           | ``virtual_sites3``         | 4          | 2         | |AO| (); |DO| (nm)                                                      |            | 
259             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
260             | 3-body virtual site (fad)          | ``virtual_sites3``         | 4          | 3         | |THET| (deg); |DO| (nm)                                                 |            | 
261             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
262             | 3-body virtual site (out)          | ``virtual_sites3``         | 4          | 4         | |AO|, |BO| (); |CO| (|NM|)                                              |            | 
263             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
264             | 4-body virtual site (fdn)          | ``virtual_sites4``         | 5          | 2         | |AO|, |BO| (); |CO| (nm)                                                |            | 
265             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
266             | N-body virtual site (COG)          | ``virtual_sitesn``         | 1          | 1         | one or more constructing atom indices                                   |            | 
267             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
268             | N-body virtual site (COM)          | ``virtual_sitesn``         | 1          | 2         | one or more constructing atom indices                                   |            | 
269             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
270             | N-body virtual site (COW)          | ``virtual_sitesn``         | 1          | 3         |  |  one or more pairs consisting of                                     |            |
271             |                                    |                            |            |           |  |  constructing atom index and weight                                  |            | 
272             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
273             | position restraint                 | ``position_restraints``    | 1          | 1         | |KX|, |KY|, |KZ| (|NM2|)                                                | all        |
274             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
275             | flat-bottomed position restraint   | ``position_restraints``    | 1          | 2         | |GO|, |RO| (nm), |KO| (|NM2|)                                           |            | 
276             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
277             | distance restraint                 | ``distance_restraints``    | 2          | 1         | type; label; |LUU| (nm); weight ()                                      |            | 
278             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
279             | dihedral restraint                 | ``dihedral_restraints``    | 4          | 1         | |PHI0| (deg); |DPHI| (deg); |DIHR| (|KJR2|)                             | all        | 
280             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
281             | orientation restraint              | ``orientation_restraints`` | 2          | 1         | exp.; label; |ALPH|; obs. (U); weight (|UM1|)                           |            |
282             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
283             | angle restraint                    | ``angle_restraints``       | 4          | 1         | |THE0| (deg); |KC| (|KJM|); multiplicity                                | |THEK|     | 
284             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
285             | angle restraint (z)                | ``angle_restraints_z``     | 2          | 1         | |THE0| (deg); |KC| (|KJM|); multiplicity                                | |THEK|     | 
286             +------------------------------------+----------------------------+------------+-----------+-------------------------------------------------------------------------+------------+
287
288 .. [1]
289    The required number of atom indices for this directive
290    
291 .. [2]
292    The index to use to select this function type
293    
294 .. [3]
295    Indicates which of the parameters can be interpolated in free energy calculations
296    
297 .. [4]
298    This interaction type will be used by :ref:`grompp <gmx grompp>` for generating exclusions
299    
300 .. [5]
301    This interaction type can be converted to constraints by :ref:`grompp <gmx grompp>`
302    
303 .. [7]
304    The combination rule determines the type of LJ parameters, see
305    
306 .. [6]
307    No connection, and so no exclusions, are generated for this interaction
308
309 Description of the file layout:
310
311 -  Semicolon (;) and newline characters surround comments
312
313 -  On a line ending with :math:`\backslash` the newline character is
314    ignored.
315
316 -  Directives are surrounded by ``[`` and ``]``
317
318 -  The topology hierarchy (which must be followed) consists of three
319    levels:
320
321    -  the parameter level, which defines certain force-field
322       specifications (see :numref:`Table %s <tab-topfile1>`)
323
324    -  the molecule level, which should contain one or more molecule
325       definitions (see :numref:`Table %s <tab-topfile2>`)
326
327    -  the system level, containing only system-specific information
328       (``[ system ]`` and ``[ molecules ]``)
329
330 -  Items should be separated by spaces or tabs, not commas
331
332 -  Atoms in molecules should be numbered consecutively starting at 1
333
334 -  Atoms in the same charge group must be listed consecutively
335
336 -  The file is parsed only once, which implies that no forward
337    references can be treated: items must be defined before they can be
338    used
339
340 -  Exclusions can be generated from the bonds or overridden manually
341
342 -  The bonded force types can be generated from the atom types or
343    overridden per bond
344
345 -  It is possible to apply multiple bonded interactions of the same type
346    on the same atoms
347
348 -  Descriptive comment lines and empty lines are highly recommended
349
350 -  Starting with |Gromacs| version 3.1.3, all directives at the parameter
351    level can be used multiple times and there are no restrictions on the
352    order, except that an atom type needs to be defined before it can be
353    used in other parameter definitions
354
355 -  If parameters for a certain interaction are defined multiple times
356    for the same combination of atom types the last definition is used;
357    starting with |Gromacs| version 3.1.3 :ref:`grompp <gmx grompp>` generates
358    a warning for parameter redefinitions with different values
359
360 -  Using one of the ``[ atoms ]``,
361    ``[ bonds ]``, ``[ pairs ]``,
362    ``[ angles ]``, etc. without having used
363    ``[ moleculetype ]`` before is meaningless and generates
364    a warning
365
366 -  Using ``[ molecules ]`` without having used
367    ``[ system ]`` before is meaningless and generates a
368    warning.
369
370 -  After ``[ system ]`` the only allowed directive is
371    ``[ molecules ]``
372
373 -  Using an unknown string in ``[ ]`` causes all the data
374    until the next directive to be ignored and generates a warning
375
376 Here is an example of a topology file, ``urea.top``:
377
378 ::
379
380     ;
381     ;       Example topology file
382     ;
383     ; The force-field files to be included
384     #include "amber99.ff/forcefield.itp"
385
386     [ moleculetype ]
387     ; name  nrexcl
388     Urea         3
389
390     [ atoms ]
391        1  C  1  URE      C      1     0.880229  12.01000   ; amber C  type
392        2  O  1  URE      O      2    -0.613359  16.00000   ; amber O  type
393        3  N  1  URE     N1      3    -0.923545  14.01000   ; amber N  type
394        4  H  1  URE    H11      4     0.395055   1.00800   ; amber H  type
395        5  H  1  URE    H12      5     0.395055   1.00800   ; amber H  type
396        6  N  1  URE     N2      6    -0.923545  14.01000   ; amber N  type
397        7  H  1  URE    H21      7     0.395055   1.00800   ; amber H  type
398        8  H  1  URE    H22      8     0.395055   1.00800   ; amber H  type
399
400     [ bonds ]
401         1       2
402         1       3       
403         1   6
404         3       4
405         3       5
406         6       7
407         6       8
408
409     [ dihedrals ] 
410     ;   ai    aj    ak    al funct  definition
411          2     1     3     4   9     
412          2     1     3     5   9     
413          2     1     6     7   9     
414          2     1     6     8   9     
415          3     1     6     7   9     
416          3     1     6     8   9     
417          6     1     3     4   9     
418          6     1     3     5   9     
419
420     [ dihedrals ] 
421          3     6     1     2   4     
422          1     4     3     5   4         
423          1     7     6     8   4
424
425     [ position_restraints ]
426     ; you wouldn't normally use this for a molecule like Urea,
427     ; but we include it here for didactic purposes
428     ; ai   funct    fc
429        1     1     1000    1000    1000 ; Restrain to a point
430        2     1     1000       0    1000 ; Restrain to a line (Y-axis)
431        3     1     1000       0       0 ; Restrain to a plane (Y-Z-plane)
432
433     [ dihedral_restraints ]
434     ; ai   aj    ak    al  type  phi  dphi  fc
435         3    6     1    2     1  180     0  10
436         1    4     3    5     1  180     0  10
437
438     ; Include TIP3P water topology
439     #include "amber99/tip3p.itp"
440
441     [ system ]
442     Urea in Water
443
444     [ molecules ]
445     ;molecule name   nr.
446     Urea             1
447     SOL              1000
448
449 Here follows the explanatory text.
450
451 **#include “amber99.ff/forcefield.itp” :** this includes
452 the information for the force field you are using, including bonded and
453 non-bonded parameters. This example uses the AMBER99 force field, but
454 your simulation may use a different force field. :ref:`grompp <gmx grompp>`
455 will automatically go and find this file and copy-and-paste its content.
456 That content can be seen in
457 ``share/top/amber99.ff/forcefield.itp}``, and it
458 is
459
460 ::
461
462     #define _FF_AMBER
463     #define _FF_AMBER99
464
465     [ defaults ]
466     ; nbfunc        comb-rule       gen-pairs       fudgeLJ fudgeQQ
467     1               2               yes             0.5     0.8333
468
469     #include "ffnonbonded.itp"
470     #include "ffbonded.itp"
471
472 The two ``#define`` statements set up the conditions so that
473 future parts of the topology can know that the AMBER 99 force field is
474 in use.
475
476 **[ defaults ] :**
477
478 -  ``nbfunc`` is the non-bonded function type. Use 1 (Lennard-Jones) or 2
479    (Buckingham)
480
481 -  ``comb-rule`` is the number of the combination rule (see :ref:`nbpar`).
482
483 -  ``gen-pairs`` is for pair generation. The default is
484    ‘no’, *i.e.* get 1-4 parameters from the pairtypes list. When
485    parameters are not present in the list, stop with a fatal error.
486    Setting ‘yes’ generates 1-4 parameters that are not present in the
487    pair list from normal Lennard-Jones parameters using
488    ``fudgeLJ``
489
490 -  ``fudgeLJ`` is the factor by which to multiply
491    Lennard-Jones 1-4 interactions, default 1
492
493 -  ``fudgeQQ`` is the factor by which to multiply
494    electrostatic 1-4 interactions, default 1
495
496 -  :math:`N` is the power for the repulsion term in a 6-\ :math:`N`
497    potential (with nonbonded-type Lennard-Jones only), starting with
498    |Gromacs| version 4.5, :ref:`grompp <gmx mdrun>` also reads and applies
499    :math:`N`, for values not equal to 12 tabulated interaction functions
500    are used (in older version you would have to use user tabulated
501    interactions).
502
503 **Note** that ``gen-pairs``, ``fudgeLJ``,
504 ``fudgeQQ``, and :math:`N` are optional.
505 ``fudgeLJ`` is only used when generate pairs is set to
506 ‘yes’, and ``fudgeQQ`` is always used. However, if you want
507 to specify :math:`N` you need to give a value for the other parameters
508 as well.
509
510 Then some other ``#include`` statements add in the large
511 amount of data needed to describe the rest of the force field. We will
512 skip these and return to ``urea.top``. There we will see
513
514 **[ moleculetype ] :** defines the name of your molecule
515 in this :ref:`top` and nrexcl = 3 stands for excluding
516 non-bonded interactions between atoms that are no further than 3 bonds
517 away.
518
519 **[ atoms ] :** defines the molecule, where
520 ``nr`` and ``type`` are fixed, the rest is user
521 defined. So ``atom`` can be named as you like,
522 ``cgnr`` made larger or smaller (if possible, the total
523 charge of a charge group should be zero), and charges can be changed
524 here too.
525
526 **[ bonds ] :** no comment.
527
528 **[ pairs ] :** LJ and Coulomb 1-4 interactions
529
530 **[ angles ] :** no comment
531
532 **[ dihedrals ] :** in this case there are 9 proper
533 dihedrals (funct = 1), 3 improper (funct = 4) and no Ryckaert-Bellemans
534 type dihedrals. If you want to include Ryckaert-Bellemans type dihedrals
535 in a topology, do the following (in case of *e.g.* decane):
536
537 ::
538
539     [ dihedrals ]
540     ;  ai    aj    ak    al funct       c0       c1       c2
541         1    2     3     4     3 
542         2    3     4     5     3
543
544 In the original implementation of the potential for
545 alkanes \ :ref:`131 <refRyckaert78>` no 1-4 interactions were used, which means that in
546 order to implement that particular force field you need to remove the
547 1-4 interactions from the ``[ pairs ]`` section of your
548 topology. In most modern force fields, like OPLS/AA or Amber the rules
549 are different, and the Ryckaert-Bellemans potential is used as a cosine
550 series in combination with 1-4 interactions.
551
552 **[ position_restraints ] :** harmonically restrain the selected particles to reference
553 positions (:ref:`positionrestraint`). The reference positions are read
554 from a separate coordinate file by :ref:`grompp <gmx grompp>`.
555
556 **[ dihedral_restraints ] :** restrain selected dihedrals to a reference value. The
557 implementation of dihedral restraints is described in section
558 :ref:`dihedralrestraint` of the manual. The parameters specified in
559 the ``[dihedral_restraints]`` directive are as follows:
560
561 -  ``type`` has only one possible value which is 1
562
563 -  ``phi`` is the value of :math:`\phi_0` in :eq:`eqn. %s <eqndphi>` and
564    :eq:`eqn. %s <eqndihre>` of the manual.
565
566 -  ``dphi`` is the value of :math:`\Delta\phi` in :eq:`eqn. %s <eqndihre>` of the
567    manual.
568
569 -  ``fc`` is the force constant :math:`k_{dihr}` in :eq:`eqn. %s <eqndihre>` of the
570    manual.
571
572 **#include “tip3p.itp” :** includes a topology file that was already
573 constructed (see section :ref:`molitp`).
574
575 **[ system ] :** title of your system, user-defined
576
577 **[ molecules ] :** this defines the total number of (sub)molecules in your system
578 that are defined in this :ref:`top`. In this example file, it stands for 1
579 urea molecule dissolved in 1000 water molecules. The molecule type ``SOL``
580 is defined in the ``tip3p.itp`` file. Each name here must correspond to a
581 name given with ``[ moleculetype ]`` earlier in the topology. The order of the blocks of
582 molecule types and the numbers of such molecules must match the
583 coordinate file that accompanies the topology when supplied to :ref:`grompp <gmx grompp>`.
584 The blocks of molecules do not need to be contiguous, but some tools
585 (e.g. :ref:`genion <gmx genion>`) may act only on the first or last such block of a
586 particular molecule type. Also, these blocks have nothing to do with the
587 definition of groups (see sec. :ref:`groupconcept` and
588 sec. :ref:`usinggroups`).
589
590 .. _molitp:
591
592 Molecule.itp file
593 ~~~~~~~~~~~~~~~~~
594
595 If you construct a topology file you will use frequently (like the water
596 molecule, ``tip3p.itp``, which is already constructed for
597 you) it is good to make a ``molecule.itp`` file. This only
598 lists the information of one particular molecule and allows you to
599 re-use the ``[ moleculetype ]`` in multiple systems without
600 re-invoking :ref:`pdb2gmx <gmx pdb2gmx>` or manually copying and pasting. An
601 example ``urea.itp`` follows:
602
603 ::
604
605     [ moleculetype ]
606     ; molname   nrexcl
607     URE         3
608
609     [ atoms ]
610        1  C  1  URE      C      1     0.880229  12.01000   ; amber C  type
611     ...
612        8  H  1  URE    H22      8     0.395055   1.00800   ; amber H  type
613
614     [ bonds ]
615         1       2
616     ...
617         6       8
618     [ dihedrals ] 
619     ;   ai    aj    ak    al funct  definition
620          2     1     3     4   9     
621     ...
622          6     1     3     5   9     
623     [ dihedrals ] 
624          3     6     1     2   4     
625          1     4     3     5   4         
626          1     7     6     8   4
627
628 Using :ref:`itp` files results in a very short
629 :ref:`top` file:
630
631 ::
632
633     ;
634     ;       Example topology file
635     ;
636     ; The force field files to be included
637     #include "amber99.ff/forcefield.itp"
638
639     #include "urea.itp"
640
641     ; Include TIP3P water topology
642     #include "amber99/tip3p.itp"
643
644     [ system ]
645     Urea in Water
646
647     [ molecules ]
648     ;molecule name   nr.
649     Urea             1
650     SOL              1000
651
652 Ifdef statements
653 ~~~~~~~~~~~~~~~~
654
655 A very powerful feature in |Gromacs| is the use of ``#ifdef``
656 statements in your :ref:`top` file. By making use of this
657 statement, and associated ``#define`` statements like were
658 seen in ``amber99.ff/forcefield.itp`` earlier,
659 different parameters for one molecule can be used in the same
660 :ref:`top` file. An example is given for TFE, where there is
661 an option to use different charges on the atoms: charges derived by De
662 Loof et al. :ref:`132 <refLoof92>` or by Van Buuren and
663 Berendsen \ :ref:`133 <refBuuren93a>`. In fact, you can use much of the
664 functionality of the C preprocessor, ``cpp``, because
665 :ref:`grompp <gmx grompp>` contains similar pre-processing functions to scan
666 the file. The way to make use of the ``#ifdef`` option is as
667 follows:
668
669 -  either use the option ``define = -DDeLoof`` in the
670    :ref:`mdp` file (containing :ref:`grompp <gmx grompp>` input
671    parameters), or use the line ``#define DeLoof`` early in
672    your :ref:`top` or :ref:`itp` file; and
673
674 -  put the ``#ifdef`` statements in your
675    :ref:`top`, as shown below:
676
677
678 ::
679
680     ...
681
682
683
684     [ atoms ]
685     ; nr     type     resnr    residu     atom      cgnr      charge        mass
686     #ifdef DeLoof
687     ; Use Charges from DeLoof
688        1        C        1        TFE        C         1        0.74        
689        2        F        1        TFE        F         1       -0.25        
690        3        F        1        TFE        F         1       -0.25        
691        4        F        1        TFE        F         1       -0.25        
692        5      CH2        1        TFE      CH2         1        0.25        
693        6       OA        1        TFE       OA         1       -0.65        
694        7       HO        1        TFE       HO         1        0.41        
695     #else
696     ; Use Charges from VanBuuren
697        1        C        1        TFE        C         1        0.59        
698        2        F        1        TFE        F         1       -0.2         
699        3        F        1        TFE        F         1       -0.2         
700        4        F        1        TFE        F         1       -0.2         
701        5      CH2        1        TFE      CH2         1        0.26        
702        6       OA        1        TFE       OA         1       -0.55        
703        7       HO        1        TFE       HO         1        0.3         
704     #endif
705
706     [ bonds ]
707     ;  ai    aj funct           c0           c1
708         6     7     1 1.000000e-01 3.138000e+05 
709         1     2     1 1.360000e-01 4.184000e+05 
710         1     3     1 1.360000e-01 4.184000e+05 
711         1     4     1 1.360000e-01 4.184000e+05 
712         1     5     1 1.530000e-01 3.347000e+05 
713         5     6     1 1.430000e-01 3.347000e+05 
714     ...
715
716 This mechanism is used by :ref:`pdb2gmx <gmx pdb2gmx>` to implement optional position
717 restraints (:ref:`positionrestraint`) by ``#include``-ing an :ref:`itp` file
718 whose contents will be meaningful only if a particular ``#define`` is set
719 (and spelled correctly!)
720
721 Topologies for free energy calculations
722 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
723
724 Free energy differences between two systems, A and B, can be calculated
725 as described in sec. :ref:`fecalc`. Systems A and B are described by
726 topologies consisting of the same number of molecules with the same
727 number of atoms. Masses and non-bonded interactions can be perturbed by
728 adding B parameters under the ``[ atoms ]`` directive. Bonded interactions can be
729 perturbed by adding B parameters to the bonded types or the bonded
730 interactions. The parameters that can be perturbed are listed in
731 :numref:`Tables %s <tab-topfile1>` and :numref:`%s <tab-topfile2>`.
732 The :math:`\lambda`-dependence of the
733 interactions is described in section sec. :ref:`feia`. The bonded
734 parameters that are used (on the line of the bonded interaction
735 definition, or the ones looked up on atom types in the bonded type
736 lists) is explained in :numref:`Table %s <tab-topfe>`. In most cases, things should
737 work intuitively. When the A and B atom types in a bonded interaction
738 are not all identical and parameters are not present for the B-state,
739 either on the line or in the bonded types, :ref:`grompp <gmx grompp>` uses the A-state
740 parameters and issues a warning. For free energy calculations, all or no
741 parameters for topology B (:math:`\lambda = 1`) should be added on the
742 same line, after the normal parameters, in the same order as the normal
743 parameters. From |Gromacs| 4.6 onward, if :math:`\lambda` is treated as a
744 vector, then the ``bonded-lambdas`` component controls all bonded terms that
745 are not explicitly labeled as restraints. Restrain terms are controlled
746 by the ``restraint-lambdas`` component.
747
748 .. |NOT| replace:: :math:`-`
749
750 .. _tab-topfe:
751
752 .. table:: The bonded parameters that are used for free energy topologies,
753            on the line of the bonded interaction definition or looked up
754            in the bond types section based on atom types. A and B indicate the
755            parameters used for state A and B respectively, + and |NOT| indicate
756            the (non-)presence of parameters in the topology, x indicates that
757            the presence has no influence.
758
759            +--------------------+---------------+---------------------------------+---------+
760            | B-state atom types | parameters    | parameters in bonded types      |         |
761            +                    +               +-----------------+---------------+         +
762            | all identical to   | on line       | A atom types    | B atom types  | message |
763            +                    +-------+-------+-------+---------+-------+-------+         +
764            | A-state atom types | A     | B     | A     | B       | A     | B     |         |
765            +====================+=======+=======+=======+=========+=======+=======+=========+
766            |                    | +AB   | |NOT| | x     | x       |       |       |         |
767            |                    | +A    | +B    | x     | x       |       |       |         |
768            | yes                | |NOT| | |NOT| | |NOT| | |NOT|   |       |       | error   |
769            |                    | |NOT| | |NOT| | +AB   | |NOT|   |       |       |         |
770            |                    | |NOT| | |NOT| | +A    | +B      |       |       |         |
771            +--------------------+-------+-------+-------+---------+-------+-------+---------+
772            |                    | +AB   | |NOT| | x     | x       | x     | x     | warning |
773            |                    | +A    | +B    | x     | x       | x     | x     |         |
774            |                    | |NOT| | |NOT| | |NOT| | |NOT|   | x     | x     | error   |
775            | no                 | |NOT| | |NOT| | +AB   | |NOT|   | |NOT| | |NOT| | warning |
776            |                    | |NOT| | |NOT| | +A    | +B      | |NOT| | |NOT| | warning |
777            |                    | |NOT| | |NOT| | +A    | x       | +B    | |NOT| |         |
778            |                    | |NOT| | |NOT| | +A    | x       | +     | +B    |         |
779            +--------------------+-------+-------+-------+---------+-------+-------+---------+
780
781
782
783 Below is an example of a topology which changes from 200 propanols to
784 200 pentanes using the GROMOS-96 force field.
785
786 ::
787
788      
789     ; Include force field parameters
790     #include "gromos43a1.ff/forcefield.itp"
791
792     [ moleculetype ]
793     ; Name            nrexcl
794     PropPent          3
795
796     [ atoms ]
797     ; nr type resnr residue atom cgnr  charge    mass  typeB chargeB  massB
798       1    H    1     PROP    PH    1   0.398    1.008  CH3     0.0  15.035
799       2   OA    1     PROP    PO    1  -0.548  15.9994  CH2     0.0  14.027
800       3  CH2    1     PROP   PC1    1   0.150   14.027  CH2     0.0  14.027
801       4  CH2    1     PROP   PC2    2   0.000   14.027
802       5  CH3    1     PROP   PC3    2   0.000   15.035
803
804     [ bonds ]
805     ;  ai    aj funct    par_A  par_B 
806         1     2     2    gb_1   gb_26
807         2     3     2    gb_17  gb_26
808         3     4     2    gb_26  gb_26
809         4     5     2    gb_26
810
811     [ pairs ]
812     ;  ai    aj funct
813         1     4     1
814         2     5     1
815
816     [ angles ]
817     ;  ai    aj    ak funct    par_A   par_B
818         1     2     3     2    ga_11   ga_14
819         2     3     4     2    ga_14   ga_14
820         3     4     5     2    ga_14   ga_14
821
822     [ dihedrals ]
823     ;  ai    aj    ak    al funct    par_A   par_B
824         1     2     3     4     1    gd_12   gd_17
825         2     3     4     5     1    gd_17   gd_17
826
827     [ system ]
828     ; Name
829     Propanol to Pentane
830
831     [ molecules ]
832     ; Compound        #mols
833     PropPent          200
834
835 Atoms that are not perturbed, ``PC2`` and
836 ``PC3``, do not need B-state parameter specifications, since
837 the B parameters will be copied from the A parameters. Bonded
838 interactions between atoms that are not perturbed do not need B
839 parameter specifications, as is the case for the last bond in the
840 example topology. Topologies using the OPLS/AA force field need no
841 bonded parameters at all, since both the A and B parameters are
842 determined by the atom types. Non-bonded interactions involving one or
843 two perturbed atoms use the free-energy perturbation functional forms.
844 Non-bonded interactions between two non-perturbed atoms use the normal
845 functional forms. This means that when, for instance, only the charge of
846 a particle is perturbed, its Lennard-Jones interactions will also be
847 affected when lambda is not equal to zero or one.
848
849 **Note** that this topology uses the GROMOS-96 force field, in which the
850 bonded interactions are not determined by the atom types. The bonded
851 interaction strings are converted by the C-preprocessor. The force-field
852 parameter files contain lines like:
853
854 ::
855
856     #define gb_26       0.1530  7.1500e+06
857
858     #define gd_17     0.000       5.86          3
859
860 .. _constraintforce:
861
862 Constraint forces
863 ~~~~~~~~~~~~~~~~~
864
865 | The constraint force between two atoms in one molecule can be
866   calculated with the free energy perturbation code by adding a
867   constraint between the two atoms, with a different length in the A and
868   B topology. When the B length is 1 nm longer than the A length and
869   lambda is kept constant at zero, the derivative of the Hamiltonian
870   with respect to lambda is the constraint force. For constraints
871   between molecules, the pull code can be used, see sec. :ref:`pull`.
872   Below is an example for calculating the constraint force at 0.7 nm
873   between two methanes in water, by combining the two methanes into one
874   “molecule.” **Note** that the definition of a “molecule” in |Gromacs|
875   does not necessarily correspond to the chemical definition of a
876   molecule. In |Gromacs|, a “molecule” can be defined as any group of
877   atoms that one wishes to consider simultaneously. The added constraint
878   is of function type 2, which means that it is not used for generating
879   exclusions (see sec. :ref:`excl`). Note that the constraint free energy
880   term is included in the derivative term, and is specifically included
881   in the ``bonded-lambdas`` component. However, the free energy for changing
882   constraints is *not* included in the potential energy differences used
883   for BAR and MBAR, as this requires reevaluating the energy at each of
884   the constraint components. This functionality is planned for later
885   versions.
886
887 ::
888
889     ; Include force-field parameters
890     #include "gromos43a1.ff/forcefield.itp"
891
892     [ moleculetype ]
893     ; Name            nrexcl
894     Methanes               1
895
896     [ atoms ]
897     ; nr   type   resnr  residu   atom    cgnr     charge    mass
898        1    CH4     1     CH4      C1       1          0    16.043
899        2    CH4     1     CH4      C2       2          0    16.043
900     [ constraints ]
901     ;  ai    aj funct   length_A  length_B
902         1     2     2        0.7       1.7
903
904     #include "gromos43a1.ff/spc.itp"
905
906     [ system ]
907     ; Name
908     Methanes in Water
909
910     [ molecules ]
911     ; Compound        #mols
912     Methanes              1
913     SOL                2002
914
915 Coordinate file
916 ~~~~~~~~~~~~~~~
917
918 Files with the :ref:`gro` file extension contain a molecular
919 structure in GROMOS-87 format. A sample piece is included below:
920
921 ::
922
923     MD of 2 waters, reformat step, PA aug-91
924         6
925         1WATER  OW1    1   0.126   1.624   1.679  0.1227 -0.0580  0.0434
926         1WATER  HW2    2   0.190   1.661   1.747  0.8085  0.3191 -0.7791
927         1WATER  HW3    3   0.177   1.568   1.613 -0.9045 -2.6469  1.3180
928         2WATER  OW1    4   1.275   0.053   0.622  0.2519  0.3140 -0.1734
929         2WATER  HW2    5   1.337   0.002   0.680 -1.0641 -1.1349  0.0257
930         2WATER  HW3    6   1.326   0.120   0.568  1.9427 -0.8216 -0.0244
931        1.82060   1.82060   1.82060
932
933 This format is fixed, *i.e.* all columns are in a fixed position. If you
934 want to read such a file in your own program without using the |Gromacs|
935 libraries you can use the following formats:
936
937 **C-format:**
938 ``“%5i%5s%5s%5i%8.3f%8.3f%8.3f%8.4f%8.4f%8.4f”``
939
940 Or to be more precise, with title *etc.* it looks like this:
941
942 ::
943
944       "%s\n", Title
945       "%5d\n", natoms
946       for (i=0; (i<natoms); i++) {
947         "%5d%-5s%5s%5d%8.3f%8.3f%8.3f%8.4f%8.4f%8.4f\n",
948           residuenr,residuename,atomname,atomnr,x,y,z,vx,vy,vz
949       }
950       "%10.5f%10.5f%10.5f%10.5f%10.5f%10.5f%10.5f%10.5f%10.5f\n",
951         box[X][X],box[Y][Y],box[Z][Z],
952         box[X][Y],box[X][Z],box[Y][X],box[Y][Z],box[Z][X],box[Z][Y]
953
954 **Fortran format:**
955 ``(i5,2a5,i5,3f8.3,3f8.4)``
956
957 So ``confin.gro`` is the |Gromacs| coordinate file and is
958 almost the same as the GROMOS-87 file (for GROMOS users: when used with
959 ``ntx=7``). The only difference is the box for which |Gromacs|
960 uses a tensor, not a vector.