Skip to content

Releases: ou6326/pygapit

pyGAPIT 2.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 02:53
v2.0.0
11677fd

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.0rc2 to 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

pyGAPIT 2.0.0rc2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Sep 19:57
v2.0.0rc2
326f5b8

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

pyGAPIT 2.0.0rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Sep 19:56

Added

  • Typed Visualization objects with independently assignable notebook
    backends, direct native render(), 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 while render() and save_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() plus save_plot()
    • manhattan_interactive() → manhattan(..., backend="bokeh" | "plotly")
    • pca_plot_3d_interactive() → pca_plot_3d()
  • The plotting save_path= parameters, such as qq_plot(..., save_path=) and
    kinship_heatmap(..., save_path=). Construct a Visualization and call
    save_plot() instead. MIGRATING.md records 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, and h2 are now fixed at 0.0 instead of an unsupported
    estimate.
  • sBLUP PEV for intentionally low-rank pseudo-kinship now inverts the kinship
    at GAPIT's MASS::ginv tolerance 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

Choose a tag to compare

@github-actions github-actions released this 12 Sep 03:28

Full Changelog: v1.2.3...v1.2.4

pyGAPIT 1.2.3

Choose a tag to compare

@github-actions github-actions released this 05 Sep 14:26

Full Changelog: v1.2.2...v1.2.3

pyGAPIT 1.2.2

Choose a tag to compare

@ou6326 ou6326 released this 04 Sep 17:37

Full Changelog: v1.2.1...v1.2.2

pyGAPIT 1.2.1

Choose a tag to compare

@ou6326 ou6326 released this 02 Sep 04:48
  • Publish the distribution as pygapit-ng while retaining pygapit as the
    import package and command-line entry point.