forked from scverse/scanpy
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtools.py
More file actions
52 lines (34 loc) · 1.37 KB
/
tools.py
File metadata and controls
52 lines (34 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
"""Benchmark tool operations in Scanpy.
API documentation: <https://scanpy.readthedocs.io/en/stable/api/tools.html>.
"""
from __future__ import annotations
import anndata as ad
import scanpy as sc
from ._utils import pbmc68k_reduced
class ToolsSuite: # noqa: D101
def setup_cache(self) -> None:
adata = pbmc68k_reduced()
assert "X_pca" in adata.obsm
adata.write_h5ad("adata.h5ad")
def setup(self) -> None:
self.adata = ad.read_h5ad("adata.h5ad")
def time_umap(self) -> None:
sc.tl.umap(self.adata, rng=None)
def peakmem_umap(self) -> None:
sc.tl.umap(self.adata, rng=None)
def time_diffmap(self) -> None:
sc.tl.diffmap(self.adata)
def peakmem_diffmap(self) -> None:
sc.tl.diffmap(self.adata)
def time_leiden(self) -> None:
sc.tl.leiden(self.adata, flavor="igraph")
def peakmem_leiden(self) -> None:
sc.tl.leiden(self.adata, flavor="igraph")
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:
sc.tl.rank_genes_groups(self.adata, "bulk_labels", method="wilcoxon")
def time_combat(self) -> None:
sc.pp.combat(self.adata, key="bulk_labels")
def peakmem_combat(self) -> None:
sc.pp.combat(self.adata, key="bulk_labels")