# gmx gangle#

## Synopsis#

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

`-s` [<.tpr/.gro/…>] (topol.tpr) (Optional)

Input structure: tpr gro g96 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