- Fix pytest deprecation warning {pr}
2879
{smaller}P Angerer
- {func}
~scanpy.pp.scrublet
and {func}~scanpy.pp.scrublet_simulate_doublets
were moved from {mod}scanpy.external.pp
to {mod}scanpy.pp
. Thescrublet
implementation is now maintained as part of scanpy {pr}2703
{smaller}P Angerer
- {func}
scanpy.pp.pca
, {func}scanpy.pp.scale
, {func}scanpy.pl.embedding
, and {func}scanpy.experimental.pp.normalize_pearson_residuals_pca
now support amask
parameter {pr}2272
{smaller}C Bright, T Marcella, & P Angerer
- Enhanced dask support for some internal utilities, paving the way for more extensive dask support {pr}
2696
{smaller}P Angerer
- {func}
scanpy.pp.highly_variable_genes
supports dask for the defaultseurat
andcell_ranger
flavors {pr}2809
{smaller}P Angerer
- New function {func}
scanpy.get.aggregate
which allows grouped aggregations over your data. Useful for pseudobulking! {pr}2590
{smaller}Isaac Virshup
{smaller}Ilan Gold
{smaller}Jon Bloom
- {func}
scanpy.pp.neighbors
now has atransformer
argument allowing the use of different ANN/ KNN libraries {pr}2536
{smaller}P Angerer
- {func}
scanpy.experimental.pp.highly_variable_genes
usingflavor='pearson_residuals'
now uses numba for variance computation and is faster {pr}2612
{smaller}S Dicks & P Angerer
- {func}
scanpy.tl.leiden
now offersigraph
's implementation of the leiden algorithm via viaflavor
when set toigraph
.leidenalg
's implementation is still default, but discouraged. {pr}2815
{smaller}I Gold
- {func}
scanpy.pp.highly_variable_genes
has new flavorseurat_v3_paper
that is in its implementation consistent with the paper description in Stuart et al 2018. {pr}2792
{smaller}E Roellin
- {func}
scanpy.datasets.blobs
now accepts arandom_state
argument {pr}2683
{smaller}E Roellin
- {func}
scanpy.pp.pca
and {func}scanpy.pp.regress_out
now accept a layer argument {pr}2588
{smaller}S Dicks
- {func}
scanpy.pp.subsample
withcopy=True
can now be called in backed mode {pr}2624
{smaller}E Roellin
- {func}
scanpy.external.pp.harmony_integrate
now runs with 64 bit floats improving reproducibility {pr}2655
{smaller}S Dicks
- {func}
scanpy.tl.rank_genes_groups
no longer warns that it's default was changed from t-test_overestim_var to t-test {pr}2798
{smaller}L Heumos
scanpy.pp.calculate_qc_metrics
now allowsqc_vars
to be passed as a string {pr}2859
{smaller}N Teyssier
- {func}
scanpy.pp.scale
now clipsnp.ndarray
also at- max_value
for zero-centering {pr}2913
{smaller}S Dicks
- Re-add search-as-you-type, this time via
readthedocs-sphinx-search
{pr}2805
{smaller}P Angerer
- Fixed a lot of broken usage examples {pr}
2605
{smaller}P Angerer
- Improved harmonization of return field of
sc.pp
andsc.tl
functions {pr}2742
{smaller}E Roellin
- Improved docs for
percent_top
argument of {func}~scanpy.pp.calculate_qc_metrics
{pr}2849
{smaller}I Virshup
- Updated {func}
~scanpy.read_visium
such that it can read spaceranger 2.0 files {smaller}L Lehner
- Fix {func}
~scanpy.pp.normalize_total
for dask {pr}2466
{smaller}P Angerer
- Fix setting
sc.settings.verbosity
in some cases {pr}2605
{smaller}P Angerer
- Fix all remaining pandas warnings {pr}
2789
{smaller}P Angerer
- Fix some annoying plotting warnings around violin plots {pr}
2844
{smaller}P Angerer
- Scanpy now has a test job which tests against the minumum versions of the dependencies. In the process of implementing this, many bugs associated with using older versions of
pandas
,anndata
,numpy
, andmatplotlib
were fixed. {pr}2816
{smaller}I Virshup
- Fix warnings caused by internal usage of
pandas.DataFrame.stack
withpandas>=2.1
{pr}2864
{smaller}I Virshup
- {func}
scanpy.get.aggregate
now always returns {class}numpy.ndarray
{pr}2893
{smaller}S Dicks
- Removes self from array of neighbors for
use_approx_neighbors = True
in {func}~scanpy.pp.scrublet
{pr}2896
{smaller}S Dicks
- Scanpy is now tested against python 3.12 {pr}
2863
{smaller}ivirshup
- Fix testing package build {pr}
2468
{smaller}P Angerer
- Dropped support for Python 3.8. More details here. {pr}
2695
{smaller}P Angerer
- Deprecated specifying large numbers of function parameters by position as opposed to by name/keyword in all public APIs.
e.g. prefer
sc.tl.umap(adata, min_dist=0.1, spread=0.8)
oversc.tl.umap(adata, 0.1, 0.8)
{pr}2702
{smaller}P Angerer
- Dropped support for
umap<0.5
for performance reasons. {pr}2870
{smaller}P Angerer