[gmx-users] How can I concatenate multiple g96 configurations into a single trajectory?

Andrew DeYoung adeyoung at andrew.cmu.edu
Mon Mar 17 20:11:56 CET 2014


I have been creating several .g96 configuration files "by hand" (actually,
using a scripting language). 

I like .g96 as a configuration file format because it provides 9 decimal
places of precision for the x, y, and z coordinates of the position and
velocity of atoms in my system -- whereas .gro and .pdb configuration file
formats offer much lower precision.  My system is crystalline, and I found
many months ago that the lower precision offered by .gro and .pdb is not
quite enough to achieve the exact bond lengths that I want in my crystal.
Many months ago, Professor van der Spoel suggested on this list that I
switch to .g96 for my configurations.

So for many months I have been successfully using .g96 configurations as
input to grompp to make the .tpr files necessary for simulation.  

Today, however, I am trying to do something somewhat unusual, and I run into
an unusual problem.  Suppose I have made three .g96 configurations "by
hand": conf1.g96, conf2.g96, and conf3.g96.  I want to compute the
single-point energy of all three configurations.

(Why would I want to do this?  I have written code in a scripting language
to generate frames in which a particular angle is "scanned" from one extreme
to the other; I want to use Gromacs to simply compute the single-point
energy at each frame in the "scan," without taking any MD moves.) 

One way to do this might be to run three different zero-step MD simulations,
by passing the three configurations separately to grompp, obtaining three
separate .tpr files, and passing those three .tpr files to mdrun.  But this
documentation page


warns that zero-step MD simulations have "complications related to catering
to possible restarts" and is not recommended.  Doing it that way is also a
little inconvenient because eventually I will have dozens or hundreds of
separate "handmade" .g96 configurations for which to calculate the
single-point energy, and running hundreds of zero-step simulations would
probably require some sort of bash script.

So, my thought is to concatenate the three (or more) .g96 configurations
into a single trajectory, and then feed that trajectory to the -rerun switch
of mdrun to compute the energy of each frame.  

My question is, how can I concatenate three (or more) .g96 configurations
into a single trajectory of any type?

I have tried:

trjcat -f conf1.g96 conf2.g96 conf3.g96 -o output.trr

But I get this error message:

Program trjcat, VERSION 4.5.5
Source code file: trxio.c, line: 693

Fatal error:
Reading trajectories in .g96 format is broken. Please use
a different file format.
For more information and tips for troubleshooting, please check the GROMACS
website at http://www.gromacs.org/Documentation/Errors

Reading trajectories in .g96 format may be broken, but reading
CONFIGURATIONS in .g96 is not broken, as far as I know (I routinely pass g96
configurations to the -c switch of grompp).  

Is there any other way I can concatenate three (or more) .g96 configurations
into a single trajectory of any type (.trr, .xtc, etc) -- WITHOUT going
through .gro or .pdb (e.g., by converting from .g96 using editconf), which
have lower precision?

Thanks so much for your time!

Andrew DeYoung
Carnegie Mellon University

More information about the gromacs.org_gmx-users mailing list