QuantNado
quantnado.api.QuantNado
¶
Facade wrapping :class:QuantNadoDataset with analysis convenience methods.
Construction
qn = QuantNado.open("dataset/") # directory of per-sample zarrs qn = QuantNado.open("combined.zarr") # combined store
Basic access
qn.sample_names qn.assays qn.chromosomes region = qn.sel(chrom="chr1", start=1_000_000, end=1_001_000) tree = qn.to_datatree()
Source code in quantnado/api.py
open
classmethod
¶
Open an existing QuantNado store (auto-detects layout).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str | Path
|
Directory of per-sample |
required |
Source code in quantnado/api.py
subset
¶
subset(
assay: "str | Sequence[str] | None" = None,
samples: "str | Sequence[str] | None" = None,
ip: "str | Sequence[str] | None" = None,
group: "str | Sequence[str] | dict[str, str | Sequence[str]] | None" = None,
) -> "QuantNado"
Return a filtered QuantNado view. See :meth:QuantNadoDataset.subset.
Source code in quantnado/api.py
info_of
¶
sel
¶
sel(
chrom: str,
start: int | None = None,
end: int | None = None,
assay: str | Sequence[str] | None = None,
samples: str | Sequence[str] | None = None,
) -> xr.Dataset
Extract a genomic region as an xr.Dataset.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chrom
|
str
|
Chromosome name (e.g. |
required |
start
|
int | None
|
1-based start position (inclusive). Defaults to 1. |
None
|
end
|
int | None
|
1-based end position (inclusive). Defaults to chromosome length. |
None
|
assay
|
str | Sequence[str] | None
|
Restrict to samples of this assay type. |
None
|
samples
|
str | Sequence[str] | None
|
Explicit sample names (overrides assay). |
None
|
Returns:
| Type | Description |
|---|---|
Dataset
|
dims: sample × position; one data_var per assay. |
Source code in quantnado/api.py
to_datatree
¶
Return the full dataset as an xr.DataTree (one node per chromosome).
combine
classmethod
¶
combine(
src: Path | str,
output: Path | str,
overwrite: bool = True,
n_workers: int = 1,
) -> "QuantNado"
Combine a directory of per-sample zarrs into a single combined zarr.
Source code in quantnado/api.py
normalise
¶
normalise(
data: "xr.Dataset | xr.DataArray | pd.DataFrame | None" = None,
*,
method: str = "cpm",
assay: str | Sequence[str] | None = None,
samples: str | Sequence[str] | None = None,
library_sizes: "pd.Series | dict | None" = None,
feature_lengths: "pd.Series | Any | None" = None,
) -> "xr.Dataset | xr.DataArray | pd.DataFrame | Any"
Normalise coverage signal or feature counts. See :meth:QuantNadoDataset.normalise.
Source code in quantnado/api.py
pca
¶
pca(
data_or_query=None,
n_components: int = 5,
assay: str | Sequence[str] | None = None,
samples: str | Sequence[str] | None = None,
modality: str | Sequence[str] | None = None,
chromosome: str | None = None,
nan_handling_strategy: str = "drop",
standardize: bool = False,
random_state: int | None = None,
subset_size: int | None = None,
subset_strategy: str = "random",
) -> tuple[Any, xr.DataArray]
Run PCA on reduced genomic signal. See :meth:QuantNadoDataset.pca.
Source code in quantnado/api.py
metaplot
¶
metaplot(
data: DataArray,
data_rev: DataArray | None = None,
*,
assay: str | Sequence[str] | None = None,
samples: str | Sequence[str] | None = None,
modality: str | Sequence[str] | None = None,
groups: dict[str, list[str]] | None = None,
flip_minus_strand: bool = True,
error_stat: str | None = "sem",
palette=None,
reference_point: float | None = 0,
reference_label: str = "TSS",
xlabel: str = "Relative position",
ylabel: str | None = None,
title: str = "Metagene profile",
figsize: tuple[float, float] = (8, 4),
ax: Any = None,
filepath: str | Path | None = None,
) -> Any
Plot a metagene profile. See :meth:QuantNadoDataset.metaplot.
Source code in quantnado/api.py
tornadoplot
¶
tornadoplot(
data: DataArray,
data_rev: DataArray | None = None,
*,
assay: str | Sequence[str] | None = None,
samples: str | Sequence[str] | None = None,
modality: str | Sequence[str] | None = None,
sample_names: list[str] | None = None,
groups: dict[str, list[str]] | None = None,
flip_minus_strand: bool = True,
sort_by: str | None = "mean",
vmin: float | None = None,
vmax: float | None = None,
scale_each: bool = False,
cmap: str | None = None,
reference_point: float | None = 0,
reference_label: str = "TSS",
xlabel: str = "Relative position",
ylabel: str | None = None,
title: str = "Signal heatmap",
figsize: tuple[float, float] | None = None,
filepath: str | Path | None = None,
) -> list
Tornado / heatmap plot. See :meth:QuantNadoDataset.tornadoplot.
Source code in quantnado/api.py
heatmap
¶
heatmap(
data: Dataset,
*,
assay: str | Sequence[str] | None = None,
samples: str | Sequence[str] | None = None,
variable: str = "mean",
title: str = "Signal heatmap",
cmap: str = "viridis",
figsize: tuple[float, float] = (10, 8),
filepath: str | Path | None = None,
**kwargs,
) -> Any
Heatmap of reduced signal. See :meth:QuantNadoDataset.heatmap.
Source code in quantnado/api.py
correlate
¶
correlate(
data: Dataset,
*,
assay: str | Sequence[str] | None = None,
samples: str | Sequence[str] | None = None,
variable: str = "mean",
method: str = "pearson",
title: str = "Sample correlation",
figsize: tuple[float, float] = (8, 7),
filepath: str | Path | None = None,
**kwargs,
) -> tuple[pd.DataFrame, Any]
Compute and plot sample correlation. See :meth:QuantNadoDataset.correlate.
Source code in quantnado/api.py
locus_plot
¶
reduce
¶
reduce(
intervals_path: str | None = None,
ranges_df=None,
gtf_path: str | None = None,
feature_type: str | None = None,
reduction: str = "mean",
assay: str | Sequence[str] | None = None,
samples: str | Sequence[str] | None = None,
modality: str | Sequence[str] | None = None,
**kwargs,
)
Reduce signal over genomic intervals. See :meth:QuantNadoDataset.reduce.
Source code in quantnado/api.py
count_features
¶
count_features(
gtf_file: str | None = None,
bed_file: str | None = None,
ranges_df=None,
feature_type: str = "gene",
engine: str = "signal",
assay: str | Sequence[str] | None = None,
samples: str | Sequence[str] | None = None,
modality: str | Sequence[str] | None = None,
**kwargs,
)
Count reads over features. See :meth:QuantNadoDataset.count_features.
Source code in quantnado/api.py
quantify_signal
¶
quantify_signal(
gtf_file: str | None = None,
bed_file: str | None = None,
ranges_df=None,
feature_type: str = "gene",
assay: str | Sequence[str] | None = None,
samples: str | Sequence[str] | None = None,
modality: str | Sequence[str] | None = None,
return_metadata: bool = True,
**kwargs,
)
Quantify stored signal over features. See :meth:QuantNadoDataset.quantify_signal.
Source code in quantnado/api.py
extract
¶
library_sizes
¶
library_sizes(
assay: str | Sequence[str] | None = None,
samples: str | Sequence[str] | None = None,
)
Return total mapped reads per sample. See :meth:QuantNadoDataset.library_sizes.
Source code in quantnado/api.py
pca_scree
¶
pca_scatter
¶
Scatter plot of PCA-transformed samples. See :meth:QuantNadoDataset.pca_scatter.