15 Commits

Author SHA1 Message Date
rdk
6fad858bc6 Audit follow-ups: bug fix, doc refresh, exception taxonomy, test hardening
Bug fix:
- PrincipalMomentsDescriptor.clampNonNegative now also clamps NaN. The
  v<0 check was false for NaN, so a NaN eigenvalue (possible if a future
  code path bypasses GridGenerator.isFiniteBox) would have propagated
  to the CSV output.

Doc refresh:
- breaking-changes.md: 2.6 entry for the multi-column descriptor
  migration + the -vis_pocket_grid / pocket_grid_vis_* renames.
- export-pocket-descriptors.md: step 4 rewrites a self-contradicting
  rationale — adding to the default list IS a breaking change for
  index-based parsers; recommends parse-by-name + breaking-changes.md
  note for future additions.
- export-pocket-grid.md: added "Adding a new per-grid-point descriptor"
  recipe (parallel to the per-pocket one); unified √3/2 precision to
  0.866 across docs and Params.groovy.
- README.md: added an "Opt-in tabular exports" subsection mentioning
  -export_pocket_descriptors, -export_pocket_grid, -vis_pocket_grid.
- testsets.sh "Full descriptor menu" now lists all seven shipped
  descriptors (was six).

Exception taxonomy:
- PocketDescriptorsRows.groovy and PocketGridBuilder.java now throw
  PrankException (was IllegalArgumentException) for user-facing config
  errors, matching the rest of the codebase.

Registry hardening:
- Both PocketDescriptorRegistry and PocketGridPointDescriptorRegistry
  now assert columnNames.size() == columnTypes.size() in register().
  A future descriptor with mismatched lists fails fast at class-load.

Quality fixes:
- PocketGridRows.getColumn uses BASE_COLS-1 instead of literal 3 for
  the pocket column. Removed dead 2-arg PocketGridRows constructor
  (only 3 test sites used it; now inlined).
- PocketGridPointContext gets a compact-constructor validator that
  rejects negative pointIndex/pocketRank, limiting blast radius of an
  int-arg swap.

Test hardening:
- VolsiteSmoothGridPointDescriptorTest + VolsiteGridPointDescriptorTest
  now pin sigma/radius in @BeforeEach AND restore in @AfterEach, so
  the Params singleton is clean for subsequent test classes.
- New tests: HIS ND1 double-flag (single atom setting donor+acceptor),
  PrincipalMoments at cardinality=2, PrincipalMoments two coincident
  points, GridGenerator NaN-box throw, PocketDescriptorRegistry
  register/unregister round-trip, MorphologicalCloser maxIters=1.
- Renamed respectsMaxIters → maxItersZeroIsNoOp (the test only covered
  the maxIters=0 case despite the general name); added maxIters=1
  companion that verifies one iteration of fill actually runs.
- Extracted RendererTestFixtures.tinyGrid (was byte-identical in both
  renderer test files); unified the volsite atomAt signatures so the
  parameter order can't get swapped between the two volsite tests.
2026-05-19 15:36:12 +02:00
rdk
f5ad22f604 Document 2.6 evaluation-metric fixes and note ligand-detection breaking change
Add documentation/dev/evaluation-metric-fixes-2.6.md covering DSO/DSWO integer-
division fixes, the ResidueSite DCC centroid fix, and the BioJava GroupType
ligand-detection fix. Mention the ligand-detection change in breaking-changes.md
since it shifts DCA/DCC on datasets containing GDP/GTP/ATP/SHR-like ligands.
2026-05-06 14:46:26 +02:00
rdk
9808a7723b prepare release 2.5.1 2025-08-07 19:37:25 +02:00
rdk
5cdc98978a cleanup main dir 2024-11-04 06:33:18 +01:00
rdk
b88fdd7a12 small update to docs and comments 2024-09-21 13:26:32 +02:00
rdk
fe86f90c9e update breaking-changes.md 2023-07-19 14:12:14 +02:00
rdk
ba67c10b56 prepare for release 2.4.1 2022-08-16 20:41:10 +02:00
rdk
fcc4587c01 update breaking changes 2022-01-31 10:39:45 +01:00
rdk
9483c21e31 remove unused parameters -conservation_origin and -load_conservation_paths 2021-07-08 19:49:44 +02:00
rdk
e30347a8c1 update Breaking changes 2020-11-17 15:32:01 +01:00
rdk
68f0a87b49 add feature setup documentation and improve tutorials 2020-11-17 15:03:40 +01:00
rdk
8e62c0ca59 update csv_file feature 2020-11-17 02:44:06 +01:00
rdk
86db2923a2 update breaking changes 2020-11-16 21:52:42 +01:00
rdk
f02e5ab4e2 add feature filters 2020-11-16 14:36:44 +01:00
rdk
c62c4c2a69 move breaking-changes to root dir 2020-11-15 19:04:50 +01:00