Skip to content

Add hydroxyproline hyp as aa#550

Closed
smoe wants to merge 4 commits into
BALL-Project:masterfrom
smoe:Add_Hydroxyproline_Hyp_as_AA
Closed

Add hydroxyproline hyp as aa#550
smoe wants to merge 4 commits into
BALL-Project:masterfrom
smoe:Add_Hydroxyproline_Hyp_as_AA

Conversation

@smoe
Copy link
Copy Markdown
Contributor

@smoe smoe commented Jun 8, 2015

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

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>
@okohlbacher
Copy link
Copy Markdown
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
… decisions.md

All 5 named PRs (#600 #640 #554 #546 #550) dispositioned:
- #600: already closed-as-obsolete (round-1)
- #640: merged via cherry-pick 9c6d868
- #554 #546 #550: C++ slice merged via 45dce69; SIP deferred to 999.15

Bundle-escape clause DID NOT FIRE — all 5 dispositioned in <1h.
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants