Bug #2577
pdb2gmx chainsep is broken
Description
In the course of developing tests for pdb2gmx -chainsep flag, I realized that this flag is currently broken. The tarballs for 2018.1 and 2018.2 are not affected.
After performing git bisect, the first bad commit is "Remove mols from gmx_mtop_t" 8dd3c9ae88004054b3b112c23f747d27a19d8d29
Associated revisions
History
#1 Updated by Mark Abraham over 2 years ago
- Description updated (diff)
#2 Updated by Mark Abraham over 2 years ago
- Target version changed from 2018.3 to 2019
- Affected version changed from 2018.3 to git master
If I understand Joe correctly, that commit is on master branch, so 2018.x is demonstrably unaffected
#3 Updated by Gerrit Code Review Bot over 2 years ago
Gerrit received a related patchset '4' for Issue #2577.
Uploader: Joe Jordan (e.jjordan12@gmail.com)
Change-Id: gromacs~master~I41a215b53e3a4bace7738c838f426047e6937d57
Gerrit URL: https://gerrit.gromacs.org/8089
#4 Updated by Joe Jordan over 2 years ago
The issue turned out to be that fillMoleculeIndices increments globalMolIndex (which becomes top.mols) at the beginning rather than the end of the for loop.
#5 Updated by Gerrit Code Review Bot over 2 years ago
Gerrit received a related patchset '1' for Issue #2577.
Uploader: Joe Jordan (e.jjordan12@gmail.com)
Change-Id: gromacs~master~I1b47e1743f6accf77ae67d232eb2c815edcff970
Gerrit URL: https://gerrit.gromacs.org/8147
#6 Updated by Joe Jordan over 2 years ago
Further testing has shown that http://redmine.gromacs.org/projects/gromacs/repository/revisions/8dd3c9ae88004054b3b112c23f747d27a19d8d29 does cause a change in behavior. Both before and after the change pdb file reading works correctly and the chainnum and chainid are read in correctly by readConfAndTopology in confio.cpp when this function is called by read_tps_conf in the same file. The function read_tps_conf is called directly by the pdb2gmx function read_pdball. Everything is the same up to when gmx_mtop_t_to_t_topology is called a few lines below readConfAndTopology. In this function, using as input a pdb file with only protein (I tried one and multiple chains and the results are the same) top.mols gets set as 0 before the change in question and as 1 after.
#7 Updated by Joe Jordan over 2 years ago
- Status changed from New to Resolved
Applied in changeset 4ad3d382ad4e45961e1105254208f6e54008deeb.
#8 Updated by Paul Bauer over 2 years ago
- Status changed from Resolved to Closed
Fix pdb2gmx -chainsep
Fixes #2577
This patch makes readConfAndAtoms public and has pdb2gmx call it
directly. Previously pdb2gmx called readConfAndTopology, which
then called readConfAndAtoms and then tpx_make_chain_identifiers,
the latter of which is suspected of being broken, as documented
in the TODO added here.
Change-Id: I1b47e1743f6accf77ae67d232eb2c815edcff970