Visualizing pre-processing results¶
%load_ext autoreload
%autoreload 2
import holoviews as hv
from hv_anndata import A, register
from hv_anndata import scanpy as hv_sc
from hv_anndata.plotting import utils as hv_sc_utils
register()
hv.extension("bokeh")
import scanpy as sc
adata = sc.datasets.pbmc68k_reduced()
adata.layers["counts"] = adata.raw.X
del adata.raw
adata
AnnData object with n_obs × n_vars = 700 × 765
obs: 'bulk_labels', 'n_genes', 'percent_mito', 'n_counts', 'S_score', 'G2M_score', 'phase', 'louvain'
var: 'n_counts', 'means', 'dispersions', 'dispersions_norm', 'highly_variable'
uns: 'bulk_labels_colors', 'louvain', 'louvain_colors', 'neighbors', 'pca', 'rank_genes_groups'
obsm: 'X_pca', 'X_umap'
varm: 'PCs'
obsp: 'connectivities', 'distances'
layers: None (.X), 'counts'
scanpy.pl.highest_expr_genes()
tool to get the data:
hv.HeatMap(
hv_sc_utils.highest_expr_genes(adata), [A.obs.index, A.var.index], A.X[:, :]
).opts(responsive=True, height=400, xrotation=30)
/home/docs/checkouts/readthedocs.org/user_builds/hv-anndata/checkouts/latest/src/hv_anndata/plotting/utils.py:55: UserWarning: Some cells have zero counts
norm_expr = sc.pp.normalize_total(
plotting function using above data
hv_sc.highest_expr_genes(adata, layer="counts")
/home/docs/.local/share/hatch/env/virtual/hv-anndata/STk7F69l/docs/lib/python3.13/site-packages/numba/cpython/hashing.py:477: UserWarning: FNV hashing is not implemented in Numba. See PEP 456 https://www.python.org/dev/peps/pep-0456/ for rationale over not using FNV. Numba will continue to work, but hashes for built in types will be computed using siphash24. This will permit e.g. dictionaries to continue to behave as expected, however anything relying on the value of the hash opposed to hash as a derived property is likely to not work as expected.
warnings.warn(msg)
scanpy.pl.highly_variable_genes()
sc.pp.highly_variable_genes(adata)
# sc.pl.highly_variable_genes(adata)
hv_sc.highly_variable_genes(adata)
scanpy.pl.scrublet_score_distribution()
TODO:
batches
missing:
where are the y ticks on the y axis?
adata_sim = sc.pp.scrublet_simulate_doublets(adata)
sc.pp.scrublet(adata, adata_sim)
# sc.pl.scrublet_score_distribution(adata)
hv_sc.scrublet_score_distribution(adata)