Skip to content

v5.4.0

Choose a tag to compare

@michael-denyer michael-denyer released this 10 Jun 01:34
· 2 commits to master since this release
7b7be05

Added

  • LOCO eigen-cache manifest (<prefix>.loco.cache_manifest.json): a content + parameter SHA-256 over the eigendecomposition determinants — the .bim is content-hashed, the .bed is fingerprinted by size + modification time (not content-hashed, to avoid re-reading large genotype files), plus MAF/missingness thresholds, the -ksnps restriction, and the analysed-sample mask. On read the key is recomputed and compared; a mismatch forces a full recompute. The manifest is invalidated before a rewrite and written only on success, so an interrupted recompute cannot leave a stale manifest validating a half-written cache. New module jamma.lmm.eigen_cache.

Fixed

  • Silent stale LOCO eigen cache: a cached eigendecomposition was reused whenever the per-chromosome files existed and matched on sample count, even if SNP filters, the -ksnps set, or the analysed-sample subset had changed (same sample count, different missingness pattern). Those runs now detect the changed inputs via the manifest and recompute.

Dependencies

  • numpy 2.4.5 → 2.4.6, hatchling 1.29.0 → 1.30.1, actions/checkout 6.0.2 → 6.0.3, astral-sh/setup-uv 8.1.0 → 8.2.0