[gmx-developers] Lowpass trajectory implementation

Justin Lemkul jalemkul at vt.edu
Thu Apr 13 00:25:35 CEST 2017


It sounds like you may want to start by looking at gmx filter -ol and the 
underlying code.

-Justin

On 4/12/17 1:50 PM, John Haberstroh wrote:
> Hello Mark,
>
> 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 lowpass filter.
>
> 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.
>
> Thanks,
> John
>
> 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 further issues.
>
>     Date: Wed, 12 Apr 2017 16:55:01 +0100
>     From: David van der Spoel <spoel at xray.bmc.uu.se <mailto:spoel at xray.bmc.uu.se>>
>     To: gmx-developers at gromacs.org <mailto:gmx-developers at gromacs.org>
>     Subject: Re: [gmx-developers] Lowpass trajectory implementation
>     Message-ID: <1d2ce3f6-2a0f-6137-e351-6a84b5eab007 at xray.bmc.uu.se
>     <mailto: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 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 <tel:%2B46184714205>.
>     http://www.icm.uu.se
>
>
>
>

-- 
==================================================

Justin A. Lemkul, Ph.D.
Ruth L. Kirschstein NRSA Postdoctoral Fellow

Department of Pharmaceutical Sciences
School of Pharmacy
Health Sciences Facility II, Room 629
University of Maryland, Baltimore
20 Penn St.
Baltimore, MD 21201

jalemkul at outerbanks.umaryland.edu | (410) 706-7441
http://mackerell.umaryland.edu/~jalemkul

==================================================


More information about the gromacs.org_gmx-developers mailing list