snapatac2.metrics.summary_by_chrom#
- snapatac2.metrics.summary_by_chrom(adata, *, mode='count', n_jobs=8)[source]#
Compute per-cell summary statistics for each chromosome.
Run this metric after
import_fragmentshas attached fragment metadata to the AnnData object. The returned dictionary contains one vector per chromosome, with one value per cell.Anti-Patterns#
Do NOT call this function on an AnnData object that lacks imported fragments.
Do NOT pass this result directly as a matrix without aligning chromosome keys; dictionary order is not a biological ordering guarantee.
- param adata:
AnnData object, or a list of AnnData objects, with imported fragments. When a list is provided, compute chromosome summaries for each object in parallel.
- type adata:
AnnData|list[AnnData]- param mode:
Statistic to compute per chromosome and per cell. Use “sum” for summed values, “mean” for mean values, or “count” for counts.
- type mode:
Literal['sum','mean','count']- param n_jobs:
Number of jobs to run when
adatais a list. Ifn_jobs=-1, use all available CPUs.- type n_jobs:
- returns:
Mapping from chromosome name to a one-dimensional array of per-cell summary values. When
adatais a list, returns a list of such mappings.- rtype:
Examples
>>> import snapatac2 as snap >>> data = snap.pp.import_fragments( ... snap.datasets.pbmc500(downsample=True), ... chrom_sizes=snap.genome.hg38, ... sorted_by_barcode=False, ... ) >>> chrom_counts = snap.metrics.summary_by_chrom(data, mode="count") >>> chrom_counts["chr1"].shape[0] == data.n_obs True