Project

General

Profile

Task #2569

announce deprecations in GROMACS 2019

Added by Mark Abraham 2 months ago. Updated 11 days ago.

Status:
New
Priority:
Normal
Assignee:
Category:
core library
Target version:
Difficulty:
uncategorized
Close

Description

Suggestions for functionality to announce as deprecated, either to remove or replace at some later time.

Several of these are intended to clarify what combinations of things are actually supported in mdrun, simplifying its documentation challenge. Many things have custom input and output files, and we are a long way from all-works-with-all support. Many of the current decisions date from the time when we did not want to increase our install footprint of 80+ tools.

Current list:
  • aromatic vsite construction in pdb2gmx
  • gmx mdrun -rerun (replace with gmx rerun and gmx tpi; see also #1868)
  • gmx mdrun -membed (replace with gmx membed; we had the old g_membed, whose implementation we fixed, but the distinct tool is useful)
  • non-integrators in the integrator .mdp option (replace with gmx em along with an mdp option to choose an EM flavour; gmx nm)
  • gmx mdrun -gcom (need freedom to refactor integrators, and hopefully remove the motivation for this option; see also #1925)
  • Benchmarking functionality (gmx mdrun -nsteps n -resetstep x -resethway are not something normal mdrun users should use, and creates questions about gmx mdrun -c confout.gro and checkpointing; whereas gmx benchmark has a clear use and more options for implementations)
  • Aspects of editconf, trjconv, eneconv and trjcat that belong as separate tools (e.g. convert renumber cat subsample demux)
  • gmx do_dssp (at some point we will want to reimplement this natively)

We should also have a docs page for all features that are deprecated, along with the version in which they got that status. Release notes will record when they were removed.


Related issues

Related to GROMACS - Task #1925: remove concept of unilateral global communicationNew
Related to GROMACS - Task #1868: implement mdrun -rerun better, simplifying do_mdIn Progress
Related to GROMACS - Task #1781: re-design benchmarking functionalityAccepted
Related to GROMACS - Task #2495: replace -noconfout with mdp optionNew

History

#1 Updated by Mark Abraham 13 days ago

  • Description updated (diff)

#2 Updated by Mark Abraham 12 days ago

Mark Abraham wrote:

At today's Stockholm dev meeting we were generally in favour of 2019 noting the intent to remove or change the UI for most of these things. Notes below.

  • aromatic vsite construction in pdb2gmx

Deprecate in 2019 and remove for 2020.

  • gmx mdrun -rerun (replace with gmx rerun and gmx tpi; see also #1868)

2019 log files will note the intent to switch away from mdrun-based implementation for these two and normal-mode analysis (but without committing us to an approach now)

Separate discussion on energy groups. Rerun currently defaults to CPU if energy groups are on. Proposed that grompp warn when energy groups + PME are both on (as this combination is not clearly useful and can't run efficiently on a GPU). Agreed not nice that energy group .tpr + GPU NB writes zeroes (and we have had gmx-user posts confused about this). 2019 will make an energy group run default to the CPU, and issue a warning (ie. to console). (This is different from the way PME + FEP will not run PME on a GPU, because there is only one way to implement the user's requirements in that case, and those requirements are clearly useful ones.)

  • gmx mdrun -membed (replace with gmx membed; we had the old g_membed, whose implementation we fixed, but the distinct tool is useful)

Didn't discuss, but Mark observes that the same considerations apply as for rerun.

  • non-integrators in the integrator .mdp option (replace with gmx em along with an mdp option to choose an EM flavour; gmx nm)

This is a less clearly useful change. gmx em gives a little bit more freedom to implement warnings and have docs that make clear what command-line options work and don't work (but much is common with gmx mdrun).

  • gmx mdrun -gcom (need freedom to refactor integrators, and hopefully remove the motivation for this option; see also #1925)

2019 to note that this is deprecated, but we are not sure whether recent improvements are enough to remove this option, nor how bad a problem it might prove to be for integrator refactoring projects.

  • Benchmarking functionality (gmx mdrun -nsteps n -resetstep x -resethway are not something normal mdrun users should use, and creates questions about gmx mdrun -c confout.gro and checkpointing; whereas gmx benchmark has a clear use and more options for implementations)

Deprecate in 2019, probably implement in gmx benchmark for 2020.

  • Aspects of editconf, trjconv, eneconv and trjcat that belong as separate tools (e.g. convert renumber cat subsample demux)

Several of the command-line options of these tools should note on the terminal our intent to change how this functionality is supported.

  • gmx do_dssp (at some point we will want to reimplement this natively)

Christian to see if there is any low-hanging fruit to improve usability. MDAnalysis also uses a DSSP binary that users have to install.

#3 Updated by Szilárd Páll 11 days ago

What's the policy on backward-compatibility? For one year kept + warning, after we can brake things?

#4 Updated by Mark Abraham 10 days ago

  • Related to Task #1925: remove concept of unilateral global communication added

#5 Updated by Mark Abraham 10 days ago

  • Related to Task #1868: implement mdrun -rerun better, simplifying do_md added

#6 Updated by Mark Abraham 3 days ago

  • Related to Task #1781: re-design benchmarking functionality added

#7 Updated by Mark Abraham 3 days ago

  • Related to Task #2495: replace -noconfout with mdp option added

Also available in: Atom PDF