GMX-FILTER(1)

πŸ’– GMX-FILTER(1) πŸ’–

okay bestie, so this is the manual page for gmx-filter β€” that's the frequency filter in GROMACS, the one that makes your trajectories all smooth and pretty πŸ’…


✨ NAME ✨

gmx-filter β€” frequency filter trajectories, useful for making smooth movies 🎬


πŸ¦‹ SYNOPSIS πŸ¦‹

gmx filter [-f [<.xtc/.trr/...>]] [-s [<.tpr/.gro/...>]] [-n [<.ndx>]]
           [-ol [<.xtc/.trr/...>]] [-oh [<.xtc/.trr/...>]]
           [-b <time>] [-e <time>] [-dt <time>] [-[no]w] [-nf <int>]
           [-[no]all] [-[no]nojump] [-[no]fit]

🌸 DESCRIPTION 🌸

gmx filter does frequency filtering on a trajectory. Lowkey iconic behavior tbh.

The filter shape is cos(pi t/A) + 1 going from -A to +A, where A is given by the option -nf times the time step in the input trajectory. So yes bestie, -nf is literally the main character here πŸ‘‘

What does this filter actually do? It reduces fluctuations:

  • with period A by 85% 😀
  • with period 2*A by 50% πŸ’«
  • with period 3*A by 17% ✨

...for low-pass filtering, that is. And the best part? You can write out both a low-pass and a high-pass filtered trajectory. Obsessed tbh.

Option -ol writes a low-pass filtered trajectory. A frame gets written every -nf input frames β€” the ratio of filter length to output interval is what gives you good suppression of aliasing of high-frequency motion, which, iykyk, is exactly what you want for making smooth movies πŸŽ₯. Also: averages of properties which are linear in the coordinates are preserved, because all input frames get weighted equally in the output. So nothing's getting lost, no cap. When you need ALL the frames? Use the -all option 🫢

Option -oh writes a high-pass filtered trajectory. The high-pass filtered coordinates get added to the coordinates from the structure file. And listen β€” when you're using high-pass filtering, use -fit or make absolutely sure you're using a trajectory that's already been fitted on the coordinates in the structure file. Don't skip this one bestie, it matters 😭


πŸ’… OPTIONS πŸ’…

πŸŽ€ Options to specify input files:

  • -f [<.xtc/.trr/...>] (traj.xtc) β€” Trajectory: xtc trr cpt gro g96 pdb tng h5md
  • -s [<.tpr/.gro/...>] (topol.tpr) (Optional) β€” Structure+mass(db): tpr gro g96 pdb brk ent
  • -n [<.ndx>] (index.ndx) (Optional) β€” Index file

πŸ“ Options to specify output files:

  • -ol [<.xtc/.trr/...>] (lowpass.xtc) (Optional) β€” Trajectory: xtc trr gro g96 pdb tng h5md
  • -oh [<.xtc/.trr/...>] (highpass.xtc) (Optional) β€” Trajectory: xtc trr gro g96 pdb tng h5md

πŸ‘‘ Other options:

  • -b <time> (0) β€” Time of first frame to read from trajectory (default unit ps)
  • -e <time> (0) β€” Time of last frame to read from trajectory (default unit ps)
  • -dt <time> (0) β€” Only use frame when t MOD dt = first time (default unit ps)
  • -[no]w (no) β€” View output .xvg, .xpm, .eps and .pdb files
  • -nf <int> (10) β€” Sets the filter length as well as the output interval for low-pass filtering
  • -[no]all (no) β€” Write all low-pass filtered frames
  • -[no]nojump (yes) β€” Remove jumps of atoms across the box
  • -[no]fit (no) β€” Fit all frames to a reference structure

🌈 SEE ALSO 🌈

gmx(1)

More info about GROMACS lives at http://www.gromacs.org/ 🫢


2026, GROMACS development team


and that's the whole page bestie, you ate that πŸ’– this was GROMACS 2026.4, dated Oct 02, 2026, brought to you with love by the GROMACS dev team. now go make some smooth movies, periodt πŸŽ¬βœ¨πŸ’…

πŸ“¦ where this page comes from