Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion benchmarks/benchmarks/preprocessing_counts.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@


def cache_adata(dataset: Dataset, layer: KeyCount) -> None:
"""Without this caching, asv was running several processes which meant the data was repeatedly downloaded."""
adata, batch_key = get_count_dataset(dataset, layer=layer)
assert "lop1p" not in adata.uns
adata.uns["batch_key"] = batch_key
Expand All @@ -40,6 +39,7 @@ class PreprocessingCountsSuite: # noqa: D101
param_names = ("dataset", "layer")

def setup_cache(self) -> None:
"""Without this caching, asv was running several processes which meant the data was repeatedly downloaded."""
for dataset, layer in product(*self.params):
cache_adata(dataset, layer)

Expand Down
32 changes: 18 additions & 14 deletions benchmarks/benchmarks/tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@

from __future__ import annotations

from pathlib import Path

import anndata as ad

import scanpy as sc
Expand All @@ -13,42 +15,44 @@


class ToolsSuite: # noqa: D101
def setup_cache(self) -> None:
def setup_cache(self) -> Path:
adata = pbmc68k_reduced()
assert "X_pca" in adata.obsm
adata.write_h5ad("adata.h5ad")
adata.write_h5ad(path := Path("adata.h5ad"))
# we need to have a parameter, else asv doesn’t run `setup_cache` before `setup`
return path

def setup(self) -> None:
self.adata = ad.read_h5ad("adata.h5ad")
def setup(self, path: Path) -> None:
self.adata = ad.read_h5ad(path)

def time_umap(self) -> None:
def time_umap(self, *_) -> None:
sc.tl.umap(self.adata, rng=None)

def peakmem_umap(self) -> None:
def peakmem_umap(self, *_) -> None:
sc.tl.umap(self.adata, rng=None)

def time_diffmap(self) -> None:
def time_diffmap(self, *_) -> None:
sc.tl.diffmap(self.adata)

def peakmem_diffmap(self) -> None:
def peakmem_diffmap(self, *_) -> None:
sc.tl.diffmap(self.adata)

def time_leiden(self) -> None:
def time_leiden(self, *_) -> None:
sc.tl.leiden(self.adata, flavor="igraph")

def peakmem_leiden(self) -> None:
def peakmem_leiden(self, *_) -> None:
sc.tl.leiden(self.adata, flavor="igraph")

def time_rank_genes_groups(self) -> None:
def time_rank_genes_groups(self, *_) -> None:
sc.tl.rank_genes_groups(self.adata, "bulk_labels", method="wilcoxon")

def peakmem_rank_genes_groups(self) -> None:
def peakmem_rank_genes_groups(self, *_) -> None:
sc.tl.rank_genes_groups(self.adata, "bulk_labels", method="wilcoxon")

def time_combat(self) -> None:
def time_combat(self, *_) -> None:
sc.pp.combat(self.adata, key="bulk_labels")

def peakmem_combat(self) -> None:
def peakmem_combat(self, *_) -> None:
sc.pp.combat(self.adata, key="bulk_labels")


Expand Down
Loading