v0.2.0 — Harmony batch integration + WNN multimodal analysis
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 viaharmonypy; stores aDimReduc("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/rpcaraiseNotImplementedError, on the roadmap).- New
[integration]extra:pip install "shanuz[integration]"(pullsharmonypy).
Multimodal WNN (v0.4.0)
find_multi_modal_neighbors(...)— Weighted Nearest Neighbor analysis (Hao et al. 2021). Learns per-cell modality weights, builds jointwknn/wsnngraphs, and writes<assay>.weightcolumns.run_umap(graph=...)— embed a precomputed graph (e.g.wsnn) directly, sofind_clusters/run_umapwork on the joint WNN graph.
Additional reductions (v0.5.0)
run_ica(embeddings + loadings) andrun_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]" # everythingNotes
- 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