Usage¶
Assumptions¶
Examples below assume:
You have an
AnnDataobject calledadata.adata.rawis populated when using raw-expression helpers.Common QC columns (for example
total_countsandn_genes_by_counts) are available when referenced.
Basic workflow¶
import scanpy as sc
import scanpy_plus as sp
adata = sc.read_h5ad("example.h5ad")
# Optional: restore matrix from adata.raw
adata = sp.get_from_raw(adata)
# QC helpers
adata.obs["is_outlier"] = sp.is_outlier(adata, metric="total_counts", nmads=5)
# Preprocessing helper
adata = sp.pp.assign_sex(adata)
# Dimension reduction helper
adata = sp.tl.tryumap(adata)
# Interactive UMAP export
sp.pl.plotly_umap(
adata,
color_col="leiden",
obs_cols=["sample", "condition"],
write_to_file="umap.html",
)
Common workflows¶
1. Batch-aware HVG selection¶
adata = sp.pp.clean_batches(adata, batch_key="batch", new_batch_key="batch_clean")
adata_hvg = sp.pp.select_hvg(adata, batch_key="batch_clean")
Expected output: adata_hvg.var contains the HVG mask for downstream modeling.
2. SCVI-ready analysis¶
adata_hvg = sp.tl.clean_genes(adata)
model = sp.tl.run_scvi(adata_hvg)
Expected output: a trained SCVI model and latent embedding stored in adata_hvg.obsm.
3. Split and restore AnnData objects¶
sp.io.write_adata_split(adata, "adata_parts")
adata_reloaded = sp.io.read_adata_split("adata_parts", read_X=True)
Expected output: a reconstructed AnnData object that can be re-used in later sessions.