g_permute: A Permutation-Reduced Phase Space Density Compaction

Friedemann Reinhard, Oliver Lange, Jochen Hub, Jürgen Haas, and Helmut Grubmüller

Overlay of 200 frames of an MD trajectory containing 216 water molecules in a cubic box.

Biomolecular processes are governed by free energy changes and thus depend on a fine-tuned interplay between entropy and enthalpy. To calculate accurate values for entropies from simulations is particularly challenging for the solvation shell of proteins, which contribute crucially to the total entropy of solvated proteins, due to the diffusive motion of the solvent molecules. Accordingly, for each frame of a molecular dynamics trajectory, our software relabels the solvent molecules, such that the resulting configuration space volume is reduced by a factor of N! with N being the number of solvent molecules. The combinatorial explosion of a naive implementation is here overcome by transforming the task into a linear assignment problem, for which algorithms with complexity O(N^3) exist. We have shown in previous research that the solvent entropy can be estimated from such a compacted trajectory by established entropy estimation methods. In this paper, we describe the software implementation which also allows applications beyond entropy estimation, such as the permutation of lipids in membrane bilayers.

Installation on Unix/Linux Systems

To install g_permute, move the tar-file to your favourite directory and enter:

tar xvzf g_permute-1_12_tar.gz

Then follow the instructions given in the INSTALL file.


First you will build liblap in .g_permute/liblap and then g_permute in .g_permute/src. Be aware that the 3.3.x version of Gromacs is needed for compiling the executable (install script supplied call "bash g_permute/instGMX331.sh").


F. Reinhard, O.F. Lange, J.S. Hub, J. Haas, and H. Grubmüller, "g_permute: Permutation-reduced phase space density compaction.," Computer Physics Communications 180 (3), 455-458 (2009).
Go to Editor View