# g_cluster (1) - Linux Man Pages

## g_cluster: clusters structures

## NAME

g_cluster - clusters structures## SYNOPSIS

**g_cluster**

**-f**

*traj.xtc*

**-s**

*topol.tpr*

**-n**

*index.ndx*

**-dm**

*rmsd.xpm*

**-o**

*rmsd-clust.xpm*

**-g**

*cluster.log*

**-dist**

*rmsd-dist.xvg*

**-ev**

*rmsd-eig.xvg*

**-sz**

*clust-size.xvg*

**-tr**

*clust-trans.xpm*

**-ntr**

*clust-trans.xvg*

**-clid**

*clust-id.xvg*

**-cl**

*clusters.pdb*

**-[no]h**

**-nice**

*int*

**-b**

*time*

**-e**

*time*

**-dt**

*time*

**-tu**

*enum*

**-[no]w**

**-[no]xvgr**

**-[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*

**-kT**

*real*

## DESCRIPTION

g_cluster can cluster structures with 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.

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 eleminate 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:

** -o** writes 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.

** -g** writes 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:

** -dist** writes the RMSD distribution.

** -ev** writes the eigenvectors of the RMSD matrix
diagonalization.

** -sz** writes the cluster sizes.

** -tr** writes a matrix of the number transitions between
cluster pairs.

** -ntr** writes the total number of transitions to or from
each cluster.

** -clid** writes the cluster number as a function of time.

** -cl** writes 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
** -nst** and ** -rmsmin**).

## FILES

**-f**

*traj.xtc*

**Input, Opt.**

**-s*** topol.tpr*
**Input, Opt.**

**-n*** index.ndx*
**Input, Opt.**

**-dm*** rmsd.xpm*
**Input, Opt.**

**-o*** rmsd-clust.xpm*
**Output**

**-g*** cluster.log*
**Output**

**-dist*** rmsd-dist.xvg*
**Output, Opt.**

**-ev*** rmsd-eig.xvg*
**Output, Opt.**

**-sz*** clust-size.xvg*
**Output, Opt.**

**-tr*** clust-trans.xpm*
**Output, Opt.**

**-ntr*** clust-trans.xvg*
**Output, Opt.**

**-clid*** clust-id.xvg*
**Output, Opt.**

**-cl*** clusters.pdb*
**Output, Opt.**

## OTHER OPTIONS

**-[no]h**

*no*

**-nice*** int*** 19**

**-b*** time*** 0 **

**-e*** time*** 0 **

**-dt*** time*** 0 **

**-tu*** enum*** ps**

** ps**,

**,**fs

**,**ns

**,**us

ms

s

**-[no]w***no *

**-[no]xvgr***yes *

**-[no]dista***no *

**-nlevels*** int*** 40**

**-cutoff*** real*** 0.1 **

**-[no]fit***yes *

**-max*** real*** -1 **

**-skip*** int*** 1**

**-[no]av***no *

**-wcl*** int*** 0**

**-nst*** int*** 1**

**-rmsmin*** real*** 0 **

**-method*** enum*** linkage**

** linkage**,

**,**jarvis-patrick

**,**monte-carlo

diagonalization

gromos

**-minstruct*** int*** 1**

**-[no]binary***no *

**-M*** int*** 10**

**-P*** int*** 3**

**-seed*** int*** 1993**

**-niter*** int*** 10000**

**-kT*** real*** 0.001 **