Changed
- Updated dependency and build support for
numpy>=2,<3. - Dropped support for Python 3.8 and 3.9; supported Python versions are now
3.10, 3.11, 3.12, and 3.13. - Reworked genotype backends so the default
magenpybackend uses native
BED-backed C++ kernels, reducing reliance on thepandas-plink/xarray
stack for core genotype operations. - Promoted the
bed-readerbackend to a fully supported backend with coverage
for genotype extraction, sparse and dense conversion, variant statistics,
scoring, GWAS, and LD computation. - Renamed command-line scripts from
magenpy_ldandmagenpy_simulateto
mgp_compute_ldandmgp_simulate, and standardized CLI logging through
the package logger interface. - Updated GitHub Actions CI and wheel workflows, including newer macOS runner
versions and Python/Numpy build targets. - Improved documentation across installation, command-line usage, genotype
backends, LD workflows, citation, and container-based usage.
Added
- Added native C++/Cython code paths for PLINK BED-backed genotype extraction,
variant statistics, quantitative-trait GWAS, and score/statistical kernels. - Added three new command-line utilities for interacting with pre-computed
magenpy LD matrices:mgp_extract_ldfor extracting dense LD submatrices by SNP list or genomic
region.mgp_prune_ldfor LD-based pruning of variant lists or harmonized summary
statistics.mgp_expand_ldfor expanding focal SNP lists to include LD neighbors.
- Added support for reading local ZipStore-backed LD matrices and for streaming
LD matrices hosted on Hugging Face. - Added a DockerHub publishing workflow and refreshed Docker CLI container
support, including PLINK/PLINK2 availability and validation of all CLI tools. - Added Apptainer documentation for running the DockerHub image on shared
computing systems where Docker is unavailable. - Added and expanded tests for the native
magenpybackend,bed-reader
backend, PLINK backend comparisons, LD matrix handling, CLI scripts, and
summary-statistics parsers. - Added
uv-based manual testing instructions and refreshed package metadata
for the 0.2 release. - Added citation and AI declaration documentation.
Fixed
- Improved robustness of GWAS summary-statistics parsers, including support for
additional column-name conventions and stricter parser tests. - Added support for writing summary statistics in supported output formats,
making the parser layer more useful for format conversion workflows. - Improved robustness of LD matrix creation and conversion from sparse inputs,
including handling of row-wise gaps in the upper-triangular LD representation. - Fixed and improved phenotype simulation,
xarrayGenotypeMatrix, and utility
behavior encountered during the Python/Numpy/backend upgrade work. - Improved command-line tests and documentation so installed scripts, Docker
checks, and documentation now use the samemgp_*command names.