[gmx-developers] Lowpass trajectory implementation
jhaberstroh at berkeley.edu
Wed Apr 12 19:50:07 CEST 2017
Thank you for the suggestion, but as you suggested it kind of misses the
point of what I was asking. Maybe *I* misunderstand the -aver option in
g_energy if that's the case. I'll give an example of what I want.
I want an additional trajectory output that averages over all steps (every
2fs), but I want it to be output every 10ps. This should result in a fairly
smooth trajectory without sacrificing temporal resolution below 10ps. I am
referring to this averaging procedure as "lowpass" filtering, though the
square window form would need to be more complicated to be strictly a
Alongside that, I want the instantaneous samples at every 10ps (i.e. the
current .xtc output), which includes fluctuations with random phases from
frequency components with periods much higher than 10ps, but in exchange
obeys boltzmann statistics.
If I could do it "in post", I would be fine, but I can't do it in post
without writing out every single time step, which is far too resource
intensive for my needs.
ps: I was subscribed to digest so I apologize if this does not remain
within the original thread, but I have fixed it now, so there should be no
Date: Wed, 12 Apr 2017 16:55:01 +0100
> From: David van der Spoel <spoel at xray.bmc.uu.se>
> To: gmx-developers at gromacs.org
> Subject: Re: [gmx-developers] Lowpass trajectory implementation
> Message-ID: <1d2ce3f6-2a0f-6137-e351-6a84b5eab007 at xray.bmc.uu.se>
> Content-Type: text/plain; charset=windows-1252; format=flowed
> 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
> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gromacs.org_gmx-developers