Task #2371
mtop searching needs reconsideration
Description
At https://gerrit.gromacs.org/#/c/6216/ we discussed some of the issues associated with how gmx_mtop objects are used, often in a not-very-const way that can invalidate the derived data that is stored alongside the raw topology information.
In writing and reviewing that patch, we did not remember that membed edits a topology, and so did not add the required call to the finalization routine, leading to #2364. Perhaps insert-molecules or genion is similarly broken? (check that for 2018, then re-target this task)
When we have API-driven simulations, we will need to have the ability to let the user do arbitrary operations on the topology, and for that to lead to correctly rebuilding whatever is required thereafter.
In the discussion at the above issue, I proposed that we construct an object from an mtop, and use that instead of a raw mtop in those parts of the code that use the derived information for efficient searching. As Teemu noted, that's potentially hundreds of callers, so we should decide carefully how to stage the work to make it manageable. (There are definitely alternative approaches, too)
Related issues
Associated revisions
History
#1 Updated by Gerrit Code Review Bot about 3 years ago
Gerrit received a related patchset '1' for Issue #2371.
Uploader: Mark Abraham (mark.j.abraham@gmail.com)
Change-Id: gromacs~release-2018~I27166acec903e4c0cf3b9a54aaf4b9db7d6974b0
Gerrit URL: https://gerrit.gromacs.org/7411
#2 Updated by Mark Abraham about 3 years ago
- Related to Bug #2364: g_membed not working on gromacs 2018 added
#3 Updated by Mark Abraham about 3 years ago
- Description updated (diff)
#4 Updated by Erik Lindahl about 3 years ago
- Target version changed from 2018 to future
Changing target since we should not do the complete redesign of mtop handling in the release branch, and the bug has a separate id.
#5 Updated by Mark Abraham about 3 years ago
- Target version changed from future to 2018
Returning target since I don't think anybody has yet done:
Perhaps insert-molecules or genion is similarly broken? (check that for 2018, then re-target this task)
#6 Updated by Mark Abraham about 3 years ago
- Target version changed from 2018 to future
All the other code that writes .top files (x2top, insert-molecules, genion, pdb2gmx) is OK, mostly because they do simple text-based hacking.
Fix membed by calling the proper mtop finalization routine
Fixes #2364
Refs #2371
Change-Id: I27166acec903e4c0cf3b9a54aaf4b9db7d6974b0