Fix off-by-one in 1-indexed loops in docking/membrane/misc (split 4/4 of #707) - #733
Merged
lyskov merged 1 commit intoJul 23, 2026
Conversation
…tch / loops / misc) Split from RosettaCommons#707. Off-by-one in 1-indexed loops (< -> <=), last element was silently skipped: - docking/DockingEnsemblePrepackProtocol.cc x2 (chain identity validation) - docking/metrics.cc x2 (cutpoint scan in Fnonnat) - membrane/MPLipidAccessibility.cc x2 (slice iteration) - antibody/residue_selector/CDRResidueSelector.cc - match/output/UpstreamDownstreamCollisionFilter.cc - loops/util.cc x3 (non-protein-chunk and per-loop accounting) - cartesian/md.cc x2 (per-atom state save / derivative check) - cutoutdomain/CutOutDomain.cc (find_nearest_res) - enzdes/EnzRepackMinimize.cc (movable-residue collection for backrub) - moves/PyMOLMover.cc (relevant_residues mask init -- last entry left default false despite the intent of 'all relevant') membrane/util.cc: comment-only. This documents WHY a nearby loop intentionally stays '< chains.size()' (the trailing MEM virtual chain must be excluded); no behavior change. Note: this batch changes the output of several regression tests -- enzdes, inverse_rotamer_remodel, ligand_dock_cholesterol, mp_f19_relax, mpil_load_implicit_lipids. The changes are intentional but results-affecting and warrant scientific sign-off before merge.
roccomoretti
approved these changes
Jul 6, 2026
lyskov
approved these changes
Jul 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
One of four PRs splitting #707 (originally a single 35-file off-by-one batch) into coherent, per-subsystem pieces, so each can be reviewed and its regression-test impact assessed independently. #707 is being closed in favor of these four. The split is deliberate — the individual diffs are below the usual bundling threshold — because the changes are behavior-affecting and the maintainer asked to isolate regression-test impact per subsystem.
This PR: docking / membrane / antibody / match / loops / misc movers (11 files).
Off-by-one in 1-indexed loops (
<→<=)The last element was silently skipped:
docking/DockingEnsemblePrepackProtocol.cc×2 — chain identity validationdocking/metrics.cc×2 — cutpoint scan incalc_Fnonnatmembrane/MPLipidAccessibility.cc×2 — slice iterationantibody/residue_selector/CDRResidueSelector.ccmatch/output/UpstreamDownstreamCollisionFilter.ccloops/util.cc×3 — non-protein-chunk and per-loop accountingcartesian/md.cc×2 — per-atom state save / derivative checkcutoutdomain/CutOutDomain.cc—find_nearest_resenzdes/EnzRepackMinimize.cc— movable-residue collection for backrubmoves/PyMOLMover.cc—relevant_residuesmask init (last entry left defaultfalsedespite the intent of "all relevant")Comment-only
membrane/util.cc— documents why a nearby loop intentionally stays< chains.size()(the trailing MEM virtual chain must be excluded). No behavior change.Regression tests
This PR carries most of #707's results-affecting changes:
enzdesandinverse_rotamer_remodel(enzdes/EnzRepackMinimize.cc),ligand_dock_cholesterol(docking/),mp_f19_relaxandmpil_load_implicit_lipids(membrane/MPLipidAccessibility.cc). These output changes are intentional but results-affecting and warrant scientific sign-off before merge.