.. _gmx gangle:

gmx gangle
==========

Synopsis
--------

.. parsed-literal::

    gmx gangle [:strong:`-f` :emphasis:`[<.xtc/.trr/...>]`] [:strong:`-s` :emphasis:`[<.tpr/.gro/...>]`] [:strong:`-n` :emphasis:`[<.ndx>]`]
               [:strong:`-oav` :emphasis:`[<.xvg>]`] [:strong:`-oall` :emphasis:`[<.xvg>]`] [:strong:`-oh` :emphasis:`[<.xvg>]`]
               [:strong:`-b` :emphasis:`<time>`] [:strong:`-e` :emphasis:`<time>`] [:strong:`-dt` :emphasis:`<time>`] [:strong:`-tu` :emphasis:`<enum>`]
               [:strong:`-fgroup` :emphasis:`<selection>`] [:strong:`-xvg` :emphasis:`<enum>`] [:strong:`-[no]rmpbc`]
               [:strong:`-[no]pbc`] [:strong:`-sf` :emphasis:`<file>`] [:strong:`-selrpos` :emphasis:`<enum>`]
               [:strong:`-seltype` :emphasis:`<enum>`] [:strong:`-g1` :emphasis:`<enum>`] [:strong:`-g2` :emphasis:`<enum>`] [:strong:`-binw` :emphasis:`<real>`]
               [:strong:`-group1` :emphasis:`<selection>`] [:strong:`-group2` :emphasis:`<selection>`]

Description
-----------

``gmx gangle`` computes different types of angles between vectors.
It supports both vectors defined by two positions and normals of
planes defined by three positions.
The z axis or the local normal of a sphere can also be used as
one of the vectors.
There are also convenience options 'angle' and 'dihedral' for
calculating bond angles and dihedrals defined by three/four
positions.

The type of the angle is specified with ``-g1`` and ``-g2``.
If ``-g1`` is ``angle`` or ``dihedral``, ``-g2``
should not be specified.
In this case, ``-group1`` should specify one or more selections,
and each should contain triplets or quartets of positions that define
the angles to be calculated.

If ``-g1`` is ``vector`` or ``plane``, ``-group1``
should specify selections that contain either pairs (``vector``)
or triplets (``plane``) of positions. For vectors, the positions
set the endpoints of the vector, and for planes, the three positions
are used to calculate the normal of the plane. In both cases,
``-g2`` specifies the other vector to use (see below).

With ``-g2 vector`` or ``-g2 plane``, ``-group2`` should
specify another set of vectors. ``-group1`` and ``-group2``
should specify the same number of selections. It is also allowed to
only have a single selection for one of the options, in which case
the same selection is used with each selection in the other group.
Similarly, for each selection in ``-group1``, the corresponding
selection in ``-group2`` should specify the same number of
vectors or a single vector. In the latter case, the angle is
calculated between that single vector and each vector from the other
selection.

With ``-g2 sphnorm``, each selection in ``-group2`` should
specify a single position that is the center of the sphere.
The second vector is calculated as the vector from the center to the
midpoint of the positions specified by ``-group1``.

With ``-g2 z``, ``-group2`` is not necessary, and angles
between the first vectors and the positive Z axis are calculated.

With ``-g2 t0``, ``-group2`` is not necessary, and angles
are calculated from the vectors as they are in the first frame.

There are three options for output:
``-oav`` writes an xvg file with the time and the average angle
for each frame.
``-oall`` writes all the individual angles.
``-oh`` writes a histogram of the angles. The bin width can be
set with ``-binw``.
For ``-oav`` and ``-oh``, separate average/histogram is
computed for each selection in ``-group1``.

Options
-------

Options to specify input files:

``-f`` [<.xtc/.trr/...>] (traj.xtc) (Optional)
    Input trajectory or single configuration: :ref:`xtc` :ref:`trr` :ref:`cpt` :ref:`gro` :ref:`g96` :ref:`pdb` :ref:`tng`
``-s`` [<.tpr/.gro/...>] (topol.tpr) (Optional)
    Input structure: :ref:`tpr` :ref:`gro` :ref:`g96` :ref:`pdb` brk ent
``-n`` [<.ndx>] (index.ndx) (Optional)
    Extra index groups

Options to specify output files:

``-oav`` [<.xvg>] (angaver.xvg) (Optional)
    Average angles as a function of time
``-oall`` [<.xvg>] (angles.xvg) (Optional)
    All angles as a function of time
``-oh`` [<.xvg>] (anghist.xvg) (Optional)
    Histogram of the angles

Other options:

``-b`` <time> (0)
    First frame (ps) to read from trajectory
``-e`` <time> (0)
    Last frame (ps) to read from trajectory
``-dt`` <time> (0)
    Only use frame if t MOD dt == first time (ps)
``-tu`` <enum> (ps)
    Unit for time values: fs, ps, ns, us, ms, s
``-fgroup`` <selection>
    Atoms stored in the trajectory file (if not set, assume first N atoms)
``-xvg`` <enum> (xmgrace)
    Plot formatting: xmgrace, xmgr, none
``-[no]rmpbc``  (yes)
    Make molecules whole for each frame
``-[no]pbc``  (yes)
    Use periodic boundary conditions for distance calculation
``-sf`` <file>
    Provide selections from files
``-selrpos`` <enum> (atom)
    Selection reference positions: atom, res_com, res_cog, mol_com, mol_cog, whole_res_com, whole_res_cog, whole_mol_com, whole_mol_cog, part_res_com, part_res_cog, part_mol_com, part_mol_cog, dyn_res_com, dyn_res_cog, dyn_mol_com, dyn_mol_cog
``-seltype`` <enum> (atom)
    Default selection output positions: atom, res_com, res_cog, mol_com, mol_cog, whole_res_com, whole_res_cog, whole_mol_com, whole_mol_cog, part_res_com, part_res_cog, part_mol_com, part_mol_cog, dyn_res_com, dyn_res_cog, dyn_mol_com, dyn_mol_cog
``-g1`` <enum> (angle)
    Type of analysis/first vector group: angle, dihedral, vector, plane
``-g2`` <enum> (none)
    Type of second vector group: none, vector, plane, t0, z, sphnorm
``-binw`` <real> (1)
    Binwidth for -oh in degrees
``-group1`` <selection>
    First analysis/vector selection
``-group2`` <selection>
    Second analysis/vector selection

.. only:: man

   See also
   --------

   :manpage:`gmx(1)`

   More information about |Gromacs| is available at <http://www.gromacs.org/>.