pypi omicverse 2.4.0
omicverse 2.4.0

one hour ago

omicverse 2.4.0 — https://pypi.org/project/omicverse/2.4.0/ · pip install -U omicverse

42 commits since 2.3.2 — a multithreaded C++ backend becomes the default, plus new single-cell, spatial, bulk and imaging features and a round of performance work.

Multithreaded C++ backend (backend='cpp', default)

  • backend= / ov.settings.backend on qc, normalize_total, highly_variable_genes, preprocess, scale, pca, neighbors, umap, leiden, cosg, find_markers, powered by anndataoom-fast; backend='python' keeps the previous code; results independent of the thread count (#1022)
  • In memory and out of core: SEA-AD MTG (1.38M cells, 32 threads) standard workflow in 1.5 min with 13 GB peak memory
  • Leiden — brisc-style C++ Leiden by default under cpp (flavor='leidenalg_exact' for an exact leidenalg port); resolution lists in every mode (#1022, #1027)
  • UMAP — deterministic multithreaded layout; new ov.pp.localmap / ov.pp.pacmap
  • find_markers(method='cosg') streams from disk for AnnDataOOM (142 s / 105 GB → 2.1 s / 2.1 GB)

GPU mode

  • Works with rapids-singlecell 0.11–0.18; neighbors(method=...) no longer passed as the kNN algorithm (#1028)

Performance

  • pseudobulk up to 8.6x (#1026); AUCell 2.4x (#1025); co_occurrence memory 622 MB → 3.4 MB (#1024); scTenifoldKnk 24% (#1023)

Features

  • Single-cell: CellChat in PyTorch (run_cellchat); unified run_ccc (7 methods); dynamo perturbation backend; Scissor
  • Spatial: pluggable segmentation backends + seam-free tiling (#1001); match_cells / register_images (#999); marker-panel annotation (#1004)
  • Bulk & other: spike-in quantitative ChIP (#1021); multisite_harmonize (#1003); tumour/normal SNP-panel QC (#1020); pharmacophore-constrained docking (#1018); fit_choice_model (#1006); electrophysiology QC/ERP (#1002); radial cell annotation tree (#1019); ambient method='envelope' (#996)
  • pyedger from PyPI instead of a vendored copy (#986)

Fixes

  • ARPACK int32 overflow in UMAP spectral init at ~1.66M–2M cells (#990); TMM before voom in limma paths (#995); PCA no longer fits twice

Full notes: https://github.com/omicverse/omicverse-tutorials/blob/main/docs/Release_notes.md

Don't miss a new omicverse release

NewReleases is sending notifications on new releases.