Add hydroxyproline hyp as aa#550
Closed
smoe wants to merge 4 commits into
Closed
Conversation
okohlbacher
added a commit
that referenced
this pull request
May 15, 2026
Adds Phase 5.2 as a new in-scope item with per-PR disposition matrix: - #640 FindXDR refactor: investigate-then-close-or-rebase (XDR may be gone post-Phase-4) - #600 Travis-CI integration: close .travis.yml part (Travis dead), cherry-pick 4 orthogonal files - #554 Omega torsion: extract C++ slice (residueRotamerSet, residue.C), defer .sip to Phase 6 - #550 HYP residue: rebase + merge in v1.6.1 (no Python parts, pure C+++data gap fix) - #546 Insertion code printing: extract C++ slice (residue.{h,C}), defer .sip to Phase 6 Plan breakdown (A/B/C/D) sequenced to avoid residue.C merge conflicts (C bundles #554+#546; D HYP runs after C OR merges into it). Release criterion 4 added: each open PR must reach a recorded disposition. Open question 3 added: XDR-still-used grep verifies #640's path. Open question 4 added: maintainer policy on cherry-picking from departed contributors. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
okohlbacher
added a commit
that referenced
this pull request
May 16, 2026
…ygiene audit (3-round Codex-reviewed) Cross-checks ROADMAP.md against MILESTONE-CONTEXT.md, CONCERNS.md, recent commits, debug sessions, planning artifacts, and open issues/PRs to surface items deferred to v1.6.2 (or "v1.6.x housekeeping") that never made it into the backlog, plus hygiene fixes for stale entries. Three rounds of adversarial Codex review (v1 REJECT-AND-REWORK → v2 APPROVE-WITH-FIXES → v3 APPROVE-AS-IS). Key Codex catches: - v1 claimed 6 forgotten items: 2 were false positives (ContourSurface bug from stale CONCERNS.md; B3 baseline already recorded). 2 were tracking-fixes-not- backlog (Phase 9 progress-table row; glwidget debug doc reconcile). - v2 added Phase 999.21 Qt 6 regressions (CR-01/02/03) based on stale 05-VERIFICATION.md — all three are actually fixed in current code (HTMLPage.C:36, molecularControl.C:500, PresentaBALLView.C:41, pyWidget.C:349). REMOVED in v3. - v2 also overstated 999.7 remaining scope — gl_profile landed in 7b28685. NARROWED in v3 to Windows driver capture only. Net findings: - 2 real source-level additions for v1.6.2 backlog: A1: 999.22 Tier-C warning census + (a)-subset (NOT wholesale ~3700 cleanup) A3: 999.21 DockResultFile QtXml dead-code cleanup (1 hour) - 1 stretch addition: A4: 999.23 CIF Bison grammar audit (defer to v1.7 if v1.6.2 fills up) - 1 progress-cleanup not a backlog item: A2: Phase 9 close — CI wiring already in tree (b2bb718 + 61bf5a7), only 3 baseline failures need triage + flip gatekeeper to blocking - §B PR triage decision: use 999.14 with named "5-PR legacy bundle" (#640, #600, #554, #550, #546); NOT a new Phase 5.2 unless triage turns into real merge code work - 5 hygiene fixes (§C2/C3/C4 + §D1/D2/D4/D5): - Mark Phase 999.4 as COMPLETED via Phase 4.1 - Narrow Phase 999.7 scope to Windows driver capture only - Mark Phase 5.1 B3 baseline carry-forward as RESOLVED (run 25953405453) - Remove false ContourSurface bug from CONCERNS.md - Update ROADMAP Phase 9 row to reflect partial completion - Reconcile glwidget-port-misprojection debug session status - Add "Updates / Resolution log" pointer on 05-VERIFICATION.md → 05-HUMAN-UAT.md (the recurring trap of stale planning docs misleading future audits) - §E workflow gap: no v1.6.2 MILESTONE-CONTEXT.md yet; create when v1.6.1 tags - §F recommended v1.6.2 shape: 5 build-accel/CI-hygiene phases + Phase 9 close + 999.14 PR triage + 999.21 dead-code; ~7-11 days core effort (patch shape) Audit is approve-as-is; §G action items totaling ~2 hours of edits can apply in a separate follow-up commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-Authored-By: Codex (GPT-5.5) <noreply@openai.com>
okohlbacher
added a commit
that referenced
this pull request
May 16, 2026
… + 3 new backlog entries) Follow-up commit to 11c8e0f. Applies all 8 §G action items from the audit in a single focused change. ROADMAP.md hygiene (§C2/C3/C4 + §D2): - Phase 9 row: 0/0 Not started → (partial) In Progress (v1.6.2); CI wiring + coverage + JUnit reporter landed in b2bb718 + 61bf5a7; 3 baseline failures remain (Directory_test, AmberFF_test, AssignBondOrderProcessor_test2). - Phase 5.1 row: B3 carry-forward marked RESOLVED — 3495 → 0 on run 25953405453 per 05.1-08-SUMMARY.md + 05.1-UAT.md. - Phase 999.4 header: "PROMOTED to Phase 4.1" → "COMPLETED via Phase 4.1 (2026-05-15)" with completion citation. - Phase 999.7 entry: scope-narrowed per audit §C3. Build-system pain (SEED-005-1 Linux aqtinstall, SEED-005-2 Windows vcpkg baseline) and macOS gl_profile=(compatibility|none) relaxation all CLOSED by other phases (commit 54da903, run 25953405453, commit 7b28685). Only SEED-005-3 Windows VM driver-behaviour capture remains; defer to v2.0 post-PIPE-01 unless Windows-access contributor surfaces sooner. - Phase 999.5 (Open-PR triage): closed as superseded by Phase 999.14. ROADMAP.md backlog (§B): - Phase 999.14: added named "5-PR legacy bundle" subtask per audit §B + MILESTONE-CONTEXT.md:270-279 (#640 FindXDR, #600 Travis-CI, #554 Omega torsion, #550 hydroxyproline AA, #546 residue insertion code). Table per-PR with likely category. Bundle-escape clause: spin out as Phase 5.2 if rebase work exceeds ~3 days. Target milestone explicit: v1.6.2. ROADMAP.md new backlog entries (§A1/A3/A4): - Phase 999.21 (DockResultFile QtXml dead-code cleanup, v1.6.2, 1 hour) — was Phase 5.1 BLOCKER-A2, never picked up. - Phase 999.22 (warning census + (a)-subset, v1.6.2, ≤2 weeks) — recast from "clean ~3700 warnings wholesale" to census + small-subset-only, per Codex correction. Includes residual Windows C4910/C4834. - Phase 999.23 (CIF Bison grammar audit, v1.6.2 or v1.7, 1-2 days) — scope narrowed to CIF only (count 3 vs 5 reconcile during phase); other 7 Bison grammars out of scope. Doc hygiene (§D1/D4/D5): - CONCERNS.md ContourSurface entry: marked NOT-A-BUG with audit citation (implementation at contourSurface.h:302-306 is correct; original audit inspected only the declaration). Includes lesson-for-future-audits. - 05-VERIFICATION.md: added "⚠ STALE FINDINGS" banner pointing readers at 05-HUMAN-UAT.md as the rolling-resolution source of truth + new `resolution_log:` frontmatter field. Two roadmap audits (v1 + v2) were misled by reading this snapshot without cross-checking HUMAN-UAT. - glwidget-port-misprojection.md: added `audit_notes:` frontmatter citing audit §D4 — status stays awaiting_human_verify (cannot be auto-closed; needs interactive macOS visual recheck), with explicit action for whoever runs the recheck. §E (v1.6.2 MILESTONE-CONTEXT.md creation) deferred — appropriate trigger is "v1.6.1 has tagged + shipped," not yet true. Net ROADMAP delta: - Active phases unchanged. - Backlog: 5 v1.6.2 phases → 8 (added 999.21/22/23). - 999.5 closed (superseded), 999.4 closed (promoted+completed), 999.7 narrowed. - Progress table reflects current state for Phase 5.1 (B3 done) and Phase 9 (CI wiring landed, 3 failures remain). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-Authored-By: Codex (GPT-5.5) <noreply@openai.com>
okohlbacher
added a commit
that referenced
this pull request
May 16, 2026
Three remaining v1.6.2 PLAN.md execution prompts, written via /gsd-plan-phase pattern to complete the milestone planning round: - 999.22 (WARN-CENSUS-01, CENSUS-ONLY per 2026-05-16 Open Q3): Pull tri-OS green CI build logs, build CENSUS.md per-warning x file x cause classification tagged (a)/(b)/(c), file three deferral backlog stubs (999.22a v1.7 mechanical, 999.22b v2.0 blocked-by-999.6, 999.22c v1.7 per-site). Zero source-code changes. - Phase 9 close (TEST-CLOSE-01 + TEST-CLOSE-02): Six tasks. Triage the 3 baseline failures (Directory_test, AmberFF_test with Linux cross-check for FP-precision-vs-regression diagnosis, AssignBondOrderProcessor_test2 fine-penalty), pre-flip green-list verification, flip macOS+Linux gatekeeper continue-on-error true->false in ci.yml + release.yml mirror, file Phase 999.24 Windows-test-gatekeeper backlog stub. Disposition heuristic: <2h -> FIX, 2-8h or FP-driven -> QUARANTINE, v2.0-architectural -> KNOWN-CASUALTY. - 999.14 triage (TRIAGE-01 + TRIAGE-02 + TRIAGE-03): Five tasks. Snapshot open issues+PRs to JSON baselines, categorize per 5-category rubric with templated close comments + decisions.md audit trail, stale-docs audit applying f176b8b pattern (banner + resolution_log frontmatter) to VERIFICATION.md files with stale rows resolved in sibling HUMAN-UAT.md, 5-PR legacy bundle (#640 FindXDR / #600 Travis-CI / #554 Omega / #550 HYP / #546 InsertionCode) with per-PR scope-check + rebase-or-close + 3-day bundle-escape clause routing spillover to Phase 5.2, wire 999.5 <-> 999.14 supersedes pointer. All three closes the v1.6.2 milestone planning round; execution can now proceed via /gsd-execute-phase 999.16 (and others) without re-planning. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
okohlbacher
added a commit
that referenced
this pull request
May 16, 2026
Round-1 of Phase 999.14 TRIAGE-01 categorization, scoped to external-author
items only (maintainer-team batch deferred per safety constraint — needs
explicit user confirmation before closing).
Inventory: 176 open issues + 5 open PRs (baselines snapshotted into
.planning/triage-999.14/{issues,prs}-baseline.json).
External items processed (16 items): 10 closed, 5 keep, 2 needs-investigation.
- close-as-fixed (2): #655, #661 (release request → v1.6.1 shipped 2026-05-16)
- close-as-obsolete (8): #543 #545 #558 #573 #654 #657 #658 + PR #600
(tutorials → C++17 default; SIP-disabled items; FreeBSD unsupported;
BALL 1.1.1 ancient; Travis-CI replaced by GitHub Actions)
- close-as-stale (2): #563 #575 (>9yr old, no maintainer interest)
- keep (5): #663 (sip6 → 999.15), #627 (Windows Directory → BALL 2.0),
PRs #554 #550 #546 (5-PR legacy bundle, deferred to Phase 5.2)
- needs-investigation (2): #662 (live QMBasisSet.h missing-include bug),
#659 (Python find_package — tied to 999.15 SIP decision)
Deferred for user confirmation:
- 160 maintainer-team-authored issues (anhi/tkemmer/dstoeckel/pbrach/Laura-K)
- 1 maintainer-team PR (#640 philthiel)
- Surface-scan flags ≥9 anhi items as RTfact-removed → easy obsoletes if
batch confirmation comes through.
Not executed this round (deferred to coordinate with concurrent sessions):
- TRIAGE-02 (VERIFICATION.md ↔ HUMAN-UAT.md stale-docs audit)
- TRIAGE-03 (5-PR legacy bundle rebase work)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 16, 2026
Contributor
|
This was resolved by the v1.6 modernization work. Specifically: commit 45dce69 (feat(999.14-01): merge C++ slice of PRs #546 #554 #550) in Phase 999.14 (TRIAGE-03). The C++ portion of this PR (HYP hydroxyproline support: PRO.db fragment definition, peptides.C non-standard AA table extension, peptideBuilder.C is_proline_ HYP handling, residue.C torsion error logging improvements) was applied to v1.6-modernization. The SIP/Python portion is deferred to Phase 999.15 (PyBALL v2 rewrite). Thank you for the contribution. |
okohlbacher
added a commit
that referenced
this pull request
May 16, 2026
…n C+D) Cherry-picked and manually applied the C++ portions (SIP/.sip files excluded per TRIAGE-03 plan; Phase 999.15 handles SIP/Python rewrite). PR #546 (Residue insertion code FullName types, smoe, 2015): - include/BALL/KERNEL/residue.h: add ADD_RESIDUE_ID_AND_INSERTION_CODE + ADD_VARIANT_EXTENSIONS_AND_ID_AND_INSERTION_CODE to FullNameType enum; fix enum comment doxygen alignment. - source/KERNEL/residue.C: extend getFullName() to append insertion code when the new enum variants are used. PR #554 (Omega torsion angles, smoe, 2015): - include/BALL/STRUCTURE/residueRotamerSet.h: add hasTorsionOmega(), getTorsionOmega(), setTorsionOmega() declarations + has_torsion_omega_ + omega_ member vars. - source/STRUCTURE/residueRotamerSet.C: implement omega torsion methods; initialise has_torsion_omega_(false)/omega_(0) in default + parameterised constructors and copy-constructor/operator=; add 3 method definitions. - source/KERNEL/residue.C: fix wrong comment in hasTorsionOmega() ("phi...N-terminus" -> "omega...C-terminus"). PR #550 (Hydroxyproline HYP residue, smoe, 2015): - source/KERNEL/residue.C: add error-logging else branches in getTorsionPsi() and getTorsionPhi() when hasTorsionXxx() returns false. - source/STRUCTURE/peptideBuilder.C: treat HYP like PRO in the is_proline_ flag (both have covalent backbone-sidechain ring). - include/BALL/STRUCTURE/peptideBuilder.h: improve is_proline_ doc comment. - source/STRUCTURE/peptides.C: extend one_letter_codes + three_letter_codes to cover ambiguity codes (ASX/GLX) and non-standard AAs (CIT/HEY/HYP/ORN/THX). - data/fragments/PRO.db: add 1OB/1OH oxygen atoms + bonds 40/41; add HYP variant (deletes 2HB/OXT/1H/2H); add 2OB/2OH to Default/PRO-M/PRO-C/PRO-N delete lists. Build: libBALL.dylib green (cmake --build build/ci-macos --target BALL -j 8).
okohlbacher
added a commit
that referenced
this pull request
May 16, 2026
…-01/02/03 complete Phase 999.14 execution complete: TRIAGE-01: 176 issues + 5 PRs categorized; 82 net closes (3-round pass); 99 kept; 2 needs-investigation parked. decisions.md audit trail covers every baseline item. TRIAGE-02: 7 VERIFICATION.md files audited; f176b8b stale-findings banner already applied to 05-VERIFICATION.md; 0 new banners needed; STALE-DOCS-AUDIT.md written. TRIAGE-03: 5-PR bundle dispositioned: - #600 closed-as-obsolete (Travis-CI, prior session) - #640 merged via cherry-pick 9c6d868 (FindXDR refactor — XDR still in use) - #554/#546/#550 C++ slice merged 45dce69; SIP deferred to Phase 999.15 Bundle-escape clause DID NOT FIRE. Task 5: ROADMAP 999.14 Plans line updated; 999.5 ↔ 999.14 bidirectional supersedes pointer confirmed. REQUIREMENTS.md: TRIAGE-01/02/03 all marked Complete.
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.
Hello,
we are working with collagens on our end that are full with hydroxyproline and are represented only as unknown/? proteins for which no torsion angles are returned. This is somewhat unfortunate and from what we grasped so far we hence need hydroxyproline added as part of the standard repertoire of residues - it appears in 157 entries in PDB and some sources, sadly I found none on the PDB site, claim that HYP should be understood upfront and not need any separate definition. The patches provided shall be sufficient to have HYP accepted in ATOM lines.
At some point we also need to build peptides with HYP - well, regular PRO would be fine. I had thought that this might just be a variant of PRO and performed respective changesto the PRO.db file, i.e. I introduced the extra oxygen at the position of 2HB and ... not knowing any better, please help, just placed another hydrogen a bit off. Connections were created. Nodes deleted. I just have no clue whatsoever if the link from HYP in a PDB ATOM line to that variant of PRO would be made at all.
Hoping for you all to like this challenge for one reason or another and chime in,
best,
Steffen