gmx cluster [-f[<.xtc/.trr/...>]] [-s[<.tpr/.gro/...>]] [-n[<.ndx>]] [-dm[<.xpm>]] [-om[<.xpm>]] [-o[<.xpm>]] [-g[<.log>]] [-dist[<.xvg>]] [-ev[<.xvg>]] [-conv[<.xvg>]] [-sz[<.xvg>]] [-tr[<.xpm>]] [-ntr[<.xvg>]] [-clid[<.xvg>]] [-cl[<.xtc/.trr/...>]] [-b<time>] [-e<time>] [-dt<time>] [-tu<enum>] [-[no]w] [-xvg<enum>] [-[no]dista] [-nlevels<int>] [-cutoff<real>] [-[no]fit] [-max<real>] [-skip<int>] [-[no]av] [-wcl<int>] [-nst<int>] [-rmsmin<real>] [-method<enum>] [-minstruct<int>] [-[no]binary] [-M<int>] [-P<int>] [-seed<int>] [-niter<int>] [-nrandom<int>] [-kT<real>] [-[no]pbc]

`gmx cluster` can cluster structures using several different methods.
Distances between structures can be determined from a trajectory
or read from an *.xpm* matrix file with the `-dm` option.
RMS deviation after fitting or RMS deviation of atom-pair distances
can be used to define the distance between structures.

single linkage: add a structure to a cluster when its distance to any
element of the cluster is less than `cutoff`.

Jarvis Patrick: add a structure to a cluster when this structure
and a structure in the cluster have each other as neighbors and
they have a least `P` neighbors in common. The neighbors
of a structure are the M closest structures or all structures within
`cutoff`.

Monte Carlo: reorder the RMSD matrix using Monte Carlo such that
the order of the frames is using the smallest possible increments.
With this it is possible to make a smooth animation going from one
structure to another with the largest possible (e.g.) RMSD between
them, however the intermediate steps should be as small as possible.
Applications could be to visualize a potential of mean force
ensemble of simulations or a pulling simulation. Obviously the user
has to prepare the trajectory well (e.g. by not superimposing frames).
The final result can be inspect visually by looking at the matrix
*.xpm* file, which should vary smoothly from bottom to top.

diagonalization: diagonalize the RMSD matrix.

gromos: use algorithm as described in Daura *et al.*
(*Angew. Chem. Int. Ed.* **1999**, *38*, pp 236-240).
Count number of neighbors using cut-off, take structure with
largest number of neighbors with all its neighbors as cluster
and eliminate it from the pool of clusters. Repeat for remaining
structures in pool.

When the clustering algorithm assigns each structure to exactly one cluster (single linkage, Jarvis Patrick and gromos) and a trajectory file is supplied, the structure with the smallest average distance to the others or the average structure or all structures for each cluster will be written to a trajectory file. When writing all structures, separate numbered files are made for each cluster.

Two output files are always written:

-owrites the RMSD values in the upper left half of the matrix and a graphical depiction of the clusters in the lower right half When-minstruct= 1 the graphical depiction is black when two structures are in the same cluster. When-minstruct> 1 different colors will be used for each cluster.-gwrites information on the options used and a detailed list of all clusters and their members.

Additionally, a number of optional output files can be written:

-distwrites the RMSD distribution.-evwrites the eigenvectors of the RMSD matrix diagonalization.-szwrites the cluster sizes.-trwrites a matrix of the number transitions between cluster pairs.-ntrwrites the total number of transitions to or from each cluster.-clidwrites the cluster number as a function of time.-clwrites average (with option-av) or central structure of each cluster or writes numbered files with cluster members for a selected set of clusters (with option-wcl, depends on-nstand-rmsmin). The center of a cluster is the structure with the smallest average RMSD from all other structures of the cluster.

Options to specify input files:

`-f`[<.xtc/.trr/...>] (traj.xtc) (Optional)- Trajectory:
*xtc**trr**cpt**gro**g96**pdb**tng* `-s`[<.tpr/.gro/...>] (topol.tpr) (Optional)- Structure+mass(db):
*tpr**gro**g96**pdb*brk ent `-n`[<.ndx>] (index.ndx) (Optional)- Index file
`-dm`[<.xpm>] (rmsd.xpm) (Optional)- X PixMap compatible matrix file

Options to specify output files:

`-om`[<.xpm>] (rmsd-raw.xpm)- X PixMap compatible matrix file
`-o`[<.xpm>] (rmsd-clust.xpm)- X PixMap compatible matrix file
`-g`[<.log>] (cluster.log)- Log file
`-dist`[<.xvg>] (rmsd-dist.xvg) (Optional)- xvgr/xmgr file
`-ev`[<.xvg>] (rmsd-eig.xvg) (Optional)- xvgr/xmgr file
`-conv`[<.xvg>] (mc-conv.xvg) (Optional)- xvgr/xmgr file
`-sz`[<.xvg>] (clust-size.xvg) (Optional)- xvgr/xmgr file
`-tr`[<.xpm>] (clust-trans.xpm) (Optional)- X PixMap compatible matrix file
`-ntr`[<.xvg>] (clust-trans.xvg) (Optional)- xvgr/xmgr file
`-clid`[<.xvg>] (clust-id.xvg) (Optional)- xvgr/xmgr file
`-cl`[<.xtc/.trr/...>] (clusters.pdb) (Optional)- Trajectory:
*xtc**trr**cpt**gro**g96**pdb**tng*

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 when t MOD dt = first time (ps)
`-tu`<enum> (ps)- Unit for time values: fs, ps, ns, us, ms, s
`-[no]w`(no)- View output
*.xvg*,*.xpm*,*.eps*and*.pdb*files `-xvg`<enum>- xvg plot formatting: xmgrace, xmgr, none
`-[no]dista`(no)- Use RMSD of distances instead of RMS deviation
`-nlevels`<int> (40)- Discretize RMSD matrix in this number of levels
`-cutoff`<real> (0.1)- RMSD cut-off (nm) for two structures to be neighbor
`-[no]fit`(yes)- Use least squares fitting before RMSD calculation
`-max`<real> (-1)- Maximum level in RMSD matrix
`-skip`<int> (1)- Only analyze every nr-th frame
`-[no]av`(no)- Write average iso middle structure for each cluster
`-wcl`<int> (0)- Write the structures for this number of clusters to numbered files
`-nst`<int> (1)- Only write all structures if more than this number of structures per cluster
`-rmsmin`<real> (0)- minimum rms difference with rest of cluster for writing structures
`-method`<enum> (linkage)- Method for cluster determination: linkage, jarvis-patrick, monte-carlo, diagonalization, gromos
`-minstruct`<int> (1)- Minimum number of structures in cluster for coloring in the
*.xpm*file `-[no]binary`(no)- Treat the RMSD matrix as consisting of 0 and 1, where the cut-off is given by
`-cutoff` `-M`<int> (10)- Number of nearest neighbors considered for Jarvis-Patrick algorithm, 0 is use cutoff
`-P`<int> (3)- Number of identical nearest neighbors required to form a cluster
`-seed`<int> (1993)- Random number seed for Monte Carlo clustering algorithm: <= 0 means generate
`-niter`<int> (10000)- Number of iterations for MC
`-nrandom`<int> (0)- The first iterations for MC may be done complete random, to shuffle the frames
`-kT`<real> (0.001)- Boltzmann weighting factor for Monte Carlo optimization (zero turns off uphill steps)
`-[no]pbc`(yes)- PBC check