Skip to content

v0.1.5 — Critical Fixes: Autodiff Test Suite & URL Migration

Choose a tag to compare

@elkins elkins released this 13 Jun 00:11
· 50 commits to main since this release

What's Changed

🔴 Critical Fixes

Repository URLs migrated to elkins-lab org

All references in README.md and pyproject.toml updated from github.com/elkins/ to github.com/elkins-lab/:

  • CI badge and codecov badge (were showing as broken/stale)
  • Both Colab notebook launch links (were returning 404)
  • Contributing link, Related Projects section, BibTeX citation URL

Missing autodiff test coverage — now added

The library's core promise is JAX auto-differentiability, but there were previously zero tests verifying that jax.grad works on any kernel. This release adds 68 new tests across 4 new files.

🆕 New Test Files

tests/conftest.py — Shared fixtures

Canonical biophysically-meaningful geometries (ideal α-helix, β-strand, Fibonacci N–H vectors, Gaussian density maps) shared across all test files.

tests/test_autodiff.py — 46 differentiability tests

Every kernel tested for: gradient exists, is finite (no NaN/Inf), is non-zero, has correct shape, and works inside jax.jit. Plus physics-correctness assertions:

  • SAXS Debye: grad + JIT + solvent subtraction + Hessian (jacfwd∘grad)
  • Karplus: dJ/dθ sign check at θ=5°
  • RDC: grad w.r.t. bond vectors and Saupe tensor; RDC = 0 at the magic angle (54.74°)
  • Chemical shifts: dδ/dφ, dδ/dψ; helix mean shift > sheet mean shift
  • Ring currents: shielding above ring (δ < 0), deshielding in-plane (δ > 0)
  • Rg: translation invariance, mass-weighted, single-atom edge case
  • NeRF: grad w.r.t. all four internal coordinates
  • Torsions, Kabsch RMSD, CD matrix method, FSC

tests/test_geometry_roundtrip.py — 11 round-trip tests

NeRF ↔ torsion round-trip is near-identity for helix, strand, and random geometries. Includes sign-convention and 2π-periodicity checks.

tests/test_e2e_gradient_descent.py — 10 integration tests

Real Adam gradient descent loops verifying the full pipeline works end-to-end: SAXS χ² refinement, NMR φ/ψ torsion refinement, Rg compaction/expansion, composite multi-observable joint loss.

🔧 Other

  • pyproject.toml: added optax>=0.1.0 to dev extras; mypy override for test files
    Full Changelog: v0.1.4...v0.1.5