Skip to content

v8.2.3

Choose a tag to compare

@michael-denyer michael-denyer released this 02 Oct 14:13
f67602c

Added

  • A release updates the bio.tools entry.
    build-wheels.yml calls the new biotools.yml workflow after the PyPI
    upload, which sends docs/biotools.json with scripts/update_biotools.py
    and the BIOTOOLS_TOKEN secret. biotools.yml also runs on
    workflow_dispatch, without building wheels.
    tests/test_release_metadata.py fails while CITATION.cff or
    docs/biotools.json names a version other than the one in pyproject.toml.

Changed

  • docs/biotools.json names release 8.2.3 instead of 8.0.4, lists BGEN v1.2
    input, and its example command reads the default .npy kinship file.
  • The formal models follow the agent-formal-verify 0.2 layout. The two Lean
    models share one Lake project in lean/, and each model's deliberate bugs
    live in a .mutations file beside it instead of in constants and branches
    inside the model. docs/TESTING.md §4 has one row per model and the
    commands to rerun them. lean/check_mutations.py and
    docs/formal-verification.md are removed.
  • CITATION.cff names release 8.2.2 instead of 8.0.2, and the release
    checklists in docs/DEVELOPMENT.md and docs/DEPLOYMENT.md include updating
    it.
  • The README pipeline diagram and docs/architecture.png show the -loco
    path: per-chromosome kinship, eigendecomposition and association.

Fixed

  • The NumPy SNP-statistics fallback computes variances in double precision for
    float32 genotypes, as the native kernel does and as the fallback's means
    already did. Float32 variances used to differ from the float64 result by up
    to 2e-5 relative at 1,940 samples. Runs that load the native kernel are
    unchanged, and so are float64 inputs. The fallback's temporary memory for a
    float32 chunk rises from 1.75 to 2.75 times the chunk.
  • The test suite no longer leaves jamma.jlinalg loaded with the native
    extension in a session that set JAMMA_FORCE_NUMPY_FALLBACK. In the weekly
    sanitizer run every test after tests/test_force_numpy_fallback.py saw the
    extension at call time, which hid a failing test_abi_version. The four
    tests/test_snp_stats.py deselections in sanitizers.yml are gone.
  • The NumPy SNP-statistics fallback gives the same means and variances for the
    same genotypes whatever their memory order. A C-ordered matrix and a
    Fortran-ordered PLINK read used to differ by about 1e-15 in the variance.
    The native kernel was already order-independent.
  • The weekly sanitizer run passes again (#492). The stale-ABI rebuild test no
    longer inherits JAMMA_FORCE_NUMPY_FALLBACK, and the GEMMA equivalence
    report is skipped when the AddressSanitizer runtime is loaded, where it no
    longer fits its 300 s timeout.