---
name: "gmx-genrestr"
section: "1"
platform: "linux"
package: "gromacs-data"
version: "2025.2-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/gmx-genrestr"
---

# gmx-genrestr(1)

Generate position restraints or distance restraints for index groups

## NAME

gmx-genrestr - Generate position restraints or distance restraints for index groups

## SYNOPSIS

```
gmx genrestr [-f [<.gro/.g96/...>]] [-n [<.ndx>]] [-o [<.itp>]]
             [-of [<.ndx>]] [-fc <vector>] [-freeze <real>]
             [-[no]disre] [-disre_dist <real>] [-disre_frac <real>]
             [-disre_up2 <real>] [-cutoff <real>] [-[no]constr]
```

## DESCRIPTION

**gmx genrestr** produces an #include file for a topology containing a list of atom numbers and three force constants for the *x*-, *y*-, and *z*-direction based on the contents of the **-f** file. A single isotropic force constant may be given on the command line instead of three components.

WARNING: Position restraints are interactions within molecules, therefore they must be included within the correct **\[ moleculetype \]** block in the topology. The atom indices within the **\[ position\_restraints \]** block must be within the range of the atom indices for that molecule type. Since the atom numbers in every moleculetype in the topology start at 1 and the numbers in the input file for **gmx genrestr** number consecutively from 1, **gmx genrestr** will only produce a useful file for the first molecule. You may wish to edit the resulting index file to remove the lines for later atoms, or construct a suitable index group to provide as input to **gmx genrestr**.

The **-of** option produces an index file that can be used for freezing atoms. In this case, the input file must be a *.pdb* file.

With the **-disre** option, half a matrix of distance restraints is generated instead of position restraints. With this matrix, that one typically would apply to Calpha atoms in a protein, one can maintain the overall conformation of a protein without tieing it to a specific position (as with position restraints).

## OPTIONS

Options to specify input files:

- **-f \[\<.gro/.g96/...\>\] (conf.gro)**

  Structure file: *gro* *g96* *pdb* brk ent esp *tpr*

- **-n \[\<.ndx\>\] (index.ndx) (Optional)**

  Index file

Options to specify output files:

- **-o \[\<.itp\>\] (posre.itp)**

  Include file for topology

- **-of \[\<.ndx\>\] (freeze.ndx) (Optional)**

  Index file

Other options:

- **-fc \<vector\> (1000 1000 1000)**

  Force constants (kJ/mol nm^2)

- **-freeze \<real\> (0)**

  If the **-of** option or this one is given an index file will be written containing atom numbers of all atoms that have a B-factor less than the level given here

- **-\[no\]disre (no)**

  Generate a distance restraint matrix for all the atoms in index

- **-disre\_dist \<real\> (0.1)**

  Distance range around the actual distance for generating distance restraints

- **-disre\_frac \<real\> (0)**

  Fraction of distance to be used as interval rather than a fixed distance. If the fraction of the distance that you specify here is less than the distance given in the previous option, that one is used instead.

- **-disre\_up2 \<real\> (1)**

  Distance between upper bound for distance restraints, and the distance at which the force becomes constant (see manual)

- **-cutoff \<real\> (-1)**

  Only generate distance restraints for atoms pairs within cutoff (nm)

- **-\[no\]constr (no)**

  Generate a constraint matrix rather than distance restraints. Constraints of type 2 will be generated that do generate exclusions.

## SEE ALSO

**[gmx(1)](/gmx/1.md)**

More information about GROMACS is available at \<*http://www.gromacs.org/*\>.

## COPYRIGHT

2025, GROMACS development team
