Skip to content

test: Add parity stability tests and Seminario benchmark#82

Merged
ericchansen merged 1 commit intomasterfrom
test/parity-benchmark
Mar 20, 2026
Merged

test: Add parity stability tests and Seminario benchmark#82
ericchansen merged 1 commit intomasterfrom
test/parity-benchmark

Conversation

@ericchansen
Copy link
Copy Markdown
Owner

Summary

Add parity stability tests and a runtime benchmark for the Rh-enamide Seminario pipeline.

Ref #74

Changes

  • Deterministic roundtrip test -- re-estimate from the same FF/molecules twice, assert identical results (1e-12 tolerance)
  • Parameter vector parity test -- collect max deviations across all bond/angle params vs fixture, fail if any > 1e-8
  • Seminario benchmark (@pytest.mark.slow) -- times parsing, molecule creation, and Seminario estimation separately with 10-run statistics

Benchmark results

Rh-enamide Seminario benchmark (9 structures)
  Jaguar parsing:     0.059s
  Molecule creation:  0.005s
  Seminario estimate: 0.0249s +/- 0.0002s (10 runs)
  Total (single run): 0.088s

Note on #74 scope

Full gradient-optimizer loop parity requires a Schrodinger/MacroModel MM backend which is not available in CI. The Seminario pipeline parity (QM parsing, Hessian projection, FF parameter estimation) is fully validated to 1e-8 tolerance across both rh-enamide and SN2 systems.

Testing

227 passed, 20 skipped (fast tier). Benchmark passes with --run-slow.

Add deterministic roundtrip test, parameter vector parity test with
max-deviation reporting, and a timed Seminario benchmark (slow-gated).

Rh-enamide pipeline completes in ~88ms total (25ms for Seminario
estimation across 9 structures, 10-run average).

Ref #74

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@ericchansen ericchansen merged commit fe2a4ed into master Mar 20, 2026
5 checks passed
@ericchansen ericchansen deleted the test/parity-benchmark branch March 20, 2026 15:31
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.

1 participant