Repository navigation
Releases: ou6326/pygapit
Releases · ou6326/pygapit
Release list
pyGAPIT 2.0.0
Added
- Finalize the 2.0 storage, streaming-ingestion, HoloViews visualization, and
scientific-parity features described in the two release candidates below.
Changed
- Promote
2.0.0rc2to the stable 2.0 release without further runtime changes
after the complete CI, package, supported-platform, optional-feature, and
GAPIT 3.5 parity gates passed. - Require Python 3.12 or newer and support Windows x86-64, Linux x86-64 and
ARM64, and macOS on Apple Silicon.
Full Changelog: v2.0.0rc2...v2.0.0
pyGAPIT 2.0.0rc2
Changed
- Support macOS on Apple Silicon only; remove the Intel macOS platform because
the required Numba/llvmlite stack is unavailable for the supported Python
versions. - Run supported-platform smoke tests through the locked Pixi environments and
keep R-free installation checks isolated from the GAPIT parity environment.
Security
- Pin GitHub Actions to immutable commit SHAs, let Dependabot maintain those
pins, minimize publication permissions, and gate the CI matrix behind a
single required status check.
Maintenance
- Add structured issue forms, a pull-request template, and a security policy
for external reports and contributions.
Full Changelog: v2.0.0rc1...v2.0.0rc2
pyGAPIT 2.0.0rc1
Added
- Typed
Visualizationobjects with independently assignable notebook
backends, direct nativerender(), and format-aware saving. Static formats
select Matplotlib automatically; 3D PCA excludes Bokeh. - Backend-neutral HoloViews objects for Manhattan, QQ, kinship, PCA, genomic
selection, and phenotype plots, with rendering and saving delegated to
HoloViews' Matplotlib, Bokeh, and Plotly backends, built on shared,
backend-independent Manhattan data and genomic-axis preparation. - A reproducible benchmark for genomic-axis and complete Manhattan data
preparation, HoloViews object construction, and opt-in Matplotlib, Bokeh, or
Plotly rendering at configurable marker counts. - An optional backend using the Zarr Python 3.x API and Zarr format 2 storage,
with the same labeled, chunk-readable contract as NumPy and HDF5. - Chunked conversion between labeled NumPy, HDF5, and Zarr genotype stores
without materializing the complete genotype matrix. - Direct bounded sample-row import from numeric GD/GM files into any
genotype-store backend without rescanning the source for every marker block. - Single-pass marker-block import from HapMap files into any genotype-store
backend. - A reproducible large-marker benchmark over bounded numeric import, VanRaden
kinship, PCA, a GLM marker scan, Manhattan preparation, and rendering at
100k, 1M, and 10M markers with selectable NumPy, HDF5, and Zarr store
backends, reporting wall time and process peak RSS. - A staged numeric-import profiler that separates source and metadata setup,
TSV parsing plus imputation, and NumPy persistence.
Changed
- Document the Python 3.12 and HoloViews visualization migration from 1.2.4.
- Reuse precomputed genomic ordering when building GWAS tables and bypass
DataFrame sorting and merging when multi-model results already share marker
order. - Store Manhattan hover fields as HoloViews value dimensions instead of
allocating backend-specific formatted labels. - Replace backend-specific plotting arguments and native figure return values
with a typed HoloViews visualization view; construction selects notebook
display preference whilerender()andsave_plot()handle output. - Use a linear, low-allocation genomic-axis path when chromosome blocks are
contiguous while preserving arbitrary-order input compatibility. - Reuse zero-copy chromosome slices while constructing exact Manhattan points
and combine alternating chromosome colors in one categorical Datashader
raster. - Require Python 3.12 or newer and test the complete optional-storage stack on
Python 3.12 and 3.14. - Extend disk-backed top-level workflows through SUPER selection and sBLUP
prediction while materializing and reusing only the bounded pseudo-QTN
candidate pool. - Support bounded disk-backed marker scans in direct and top-level CMLM.
- Extend direct and top-level MLMM to disk-backed marker batches while reading
only its selected cofactors into each fixed-effect design. - Support disk-backed FarmCPU iterations through the shared bounded GLM scan,
reward substitution, and pseudo-QTN kinship paths. - Add disk-backed BLINK with bounded GLM and LD-pruning reads, plus reuse of its
truncated BIC candidate pool. - Support disk-backed cBLUP prediction by streaming VanRaden marker blocks;
compression still operates on the complete in-memory kinship matrix.
Removed
-
Backend-native plotting functions are removed rather than deprecated, with
no compatibility wrappers:manhattan_plot()→manhattan()plussave_plot()manhattan_interactive()→manhattan(..., backend="bokeh" | "plotly")pca_plot_3d_interactive()→pca_plot_3d()
-
The plotting
save_path=parameters, such asqq_plot(..., save_path=)and
kinship_heatmap(..., save_path=). Construct aVisualizationand call
save_plot()instead.MIGRATING.mdrecords the full mapping.
Fixed
- Failed NumPy, HDF5, and Zarr writes remove the incomplete genotype store so
the same destination can be retried safely. - Failed plot generation no longer reports stale files from an earlier run as
outputs produced by the current analysis. - Static-bin FarmCPU no longer derives a pseudo-kinship REML variance fit.
GAPIT's static-bin path returns no variance components, so the result fields
vg,ve, andh2are now fixed at0.0instead of an unsupported
estimate. - sBLUP PEV for intentionally low-rank pseudo-kinship now inverts the kinship
at GAPIT'sMASS::ginvtolerance instead of NumPy's smaller default cutoff,
so PEV and prediction-error values match the R reference. - MLMM reproduces GAPIT's complete forward and backward cofactor paths, so the
retained model and its marker statistics match the R reference at every
iteration.
Full Changelog: v1.2.4...v2.0.0rc1
pyGAPIT 1.2.4
Full Changelog: v1.2.3...v1.2.4
pyGAPIT 1.2.3
Full Changelog: v1.2.2...v1.2.3
pyGAPIT 1.2.2
pyGAPIT 1.2.1
- Publish the distribution as
pygapit-ngwhile retainingpygapitas the
import package and command-line entry point.