Skip to content

v0.2.0 — Harmony batch integration + WNN multimodal analysis

Choose a tag to compare

@shanikawm shanikawm released this 05 Jul 17:22
5ec1bcc

First feature release since 0.1.x. Adds batch-effect correction, weighted multimodal integration, and two more dimensionality reductions — all validated against the published wheel (156 tests + all 9 tutorial scripts).

Highlights

Batch correction / integration (v0.2.0)

  • run_harmony(...) — Harmony batch correction via harmonypy; stores a DimReduc("harmony") usable downstream (find_neighbors(reduction="harmony"), etc.). Verified to lower per-batch silhouette while preserving cell-type separation.
  • integrate_layers(...) — Seurat v5 dispatch API (method="harmony"; cca/rpca raise NotImplementedError, on the roadmap).
  • New [integration] extra: pip install "shanuz[integration]" (pulls harmonypy).

Multimodal WNN (v0.4.0)

  • find_multi_modal_neighbors(...) — Weighted Nearest Neighbor analysis (Hao et al. 2021). Learns per-cell modality weights, builds joint wknn/wsnn graphs, and writes <assay>.weight columns.
  • run_umap(graph=...) — embed a precomputed graph (e.g. wsnn) directly, so find_clusters / run_umap work on the joint WNN graph.

Additional reductions (v0.5.0)

  • run_ica (embeddings + loadings) and run_tsne.

Tutorials & docs

  • CBMC CITE-seq tutorial extended with a WNN section (run_wnn, Step 8).
  • README links made absolute so they render on the PyPI page; test count updated (156).

Install

pip install "shanuz[integration]"   # + Harmony
pip install "shanuz[all]"           # everything

Notes

  • WNN uses the roadmap-sanctioned scale-invariant weight approximation (validated by structure recovery, not bit-exact R parity).
  • Deferred to future cycles: CCA/RPCA + IntegrateData, v0.3.0 reference mapping, DESeq2 pseudobulk, SketchData/BPCells.

PyPI: https://pypi.org/project/shanuz/0.2.0/
Full diff: v0.1.2...v0.2.0