Skip to content

Releases

v0.2.5

Choose a tag to compare

@Wainberg Wainberg released this 04 Nov 14:59
  • DE(): test all non-reference levels of the first non-intercept term by default
  • Documentation fixes

v0.2.4

Choose a tag to compare

@Wainberg Wainberg released this 31 Oct 21:35
  • harmonize(): match Harmony2 more closely

v0.2.3

Choose a tag to compare

@Wainberg Wainberg released this 25 Oct 04:52
  • Fix performance regression in hvg()

v0.2.2

Choose a tag to compare

@Wainberg Wainberg released this 23 Oct 22:01
  • In k-nearest neighbors, skip blocks of 64 cells where even the nearest one does not beat the current worst neighbor
  • Speed up hvg() for CSR count matrices

v0.2.1

Choose a tag to compare

@Wainberg Wainberg released this 23 Oct 00:45
dc9f181
  • Fix UMAP correctness issues vs. umap-learn and speed up gradient descent
  • Speed up PaCMAP and LocalMAP

v0.2.0

Choose a tag to compare

@Wainberg Wainberg released this 13 Oct 21:01
  • Harmony: several-fold speedup; remove original=True
  • Add Python 3.15 support

v0.1.8

Choose a tag to compare

@Wainberg Wainberg released this 04 Oct 19:43
  • Port scikit-misc to pure Cython and drop it as a dependency

v0.1.7

Choose a tag to compare

@Wainberg Wainberg released this 02 Oct 21:46
  • hvg(): min_cells now considers total, not per-dataset/batch, detection rate
  • harmonize(): reduce memory usage on large datasets by capping chunks at 4096
  • harmonize(): fix buffer overflow
  • harmonize(): fix for tau > 0
  • normalize(): vectorize log1p()
  • hvg(): fix when specifying exclude
  • pca(): compute standard deviation as double for accuracy
  • find_doublets(): compute doublet pair probabilities directly from integer detection counts
  • plot_heatmap(): flip heatmap so rows are plotted top to bottom
  • plot_volcano(): plot zero p-values at the smallest float64 instead of dropping them
  • de(): fix multiple edge-case bugs
  • Create internal threadpoolctl version to avoid threadpoolctl 3.7.0's MKL BLAS oversubscription, and drop as a dependency
  • New brisc_blas() function to list which BLAS implementation brisc is using
  • Fix bugs in plotting functions
  • Fix memory corruption when concatenating arrays with mixed data types
  • Fix polars deprecation warnings
  • Avoid implicit float-to-double promotions
  • Stricter warning checks
  • Bump minimum required polars version from 1.41.0 to 1.43.0

v0.1.6

Choose a tag to compare

@keon-arbabi keon-arbabi released this 17 Sep 16:04

Fix ~10x slowdowns on NUMA nodes with fragmented memory: numa_zeros() no longer requests transparent huge pages with MADV_HUGEPAGE when the kernel would compact memory synchronously to satisfy the request (transparent_hugepage/defrag = always, madvise or defer+madvise). With enabled=always the kernel still uses free huge pages; on fragmented nodes it now falls back to local 4 KB pages instead of stalling in compaction and placing huge pages on remote NUMA nodes.

v0.1.5

Choose a tag to compare

@Wainberg Wainberg released this 17 Aug 15:39
  • Fix integer column handling in Pseudobulk._create_design_matrix(), used in de() and regress_out()