[gmx-developers] Lowpass trajectory implementation

David van der Spoel spoel at xray.bmc.uu.se
Wed Apr 12 17:55:05 CEST 2017

On 12/04/17 16:30, John Haberstroh wrote:
> Hello developers,
> I am interested in implementing a lowpass filter system for position and
> dihedral trajectories akin to the -aver option in g_energy ("Also print
> the exact average and rmsd stored in the energy frames (only when 1 term
> is requested)") . I have found that a lot of computational effort goes
> into eliminating aliased noise from very high frequencies in these
> position coordinates, and it would be nice to turn this noise down a few
> decibels. As it stands, it is not even possible to output dihedrals
> during simulation though they are ostensibly be computed, let alone to
> print moving averages alongside samples. That said, my first step would
> be doing these averages for atomic positions as it would be (maybe)
> pretty benign to extract dihedrals from the filtered atomic positions.
> I understand that averaged positions will not necessarily be physical
> configurations and do not obey boltzmann statistics. I am interested in
> this procedure for the sake of getting a degree of spectral
> separability. I also realize that the fluctuations will have to be
> captured in a covariance matrix to be appropriately described. These
> concerns are secondary to getting a signal with some semblance of low
> pass filtering.
> Any recommendations of where I should start for storing a rolling mean
> of atomic positions? I can probably piggy back on the trajectory dump
> procedures without issue if I can update this rolling mean every
> timestep, so if you know where I can create a new array that is
> persistent throughout the simulation, that would be the right kind of tip.
I must say it is not clear to me what you would get out of this, but 
making a variant of gmx trjconv that reads the first N frames and writes 
out the time averaged coordinates to a new trajectory could do the 
trick. A couple of lines of code should suffice.

> Thanks!
> John
> PS: I have edited gromacs source before, but only "brute forcing" a
> modification to the pull.c function for alternative biased sampling,
> which did not require generating any new persistent data variables. I do
> have some experience with the gromacs internals, though!

David van der Spoel, Ph.D., Professor of Biology
Head of Department, Cell & Molecular Biology, Uppsala University.
Box 596, SE-75124 Uppsala, Sweden. Phone: +46184714205.

More information about the gromacs.org_gmx-developers mailing list