FAQ¶
What does QuantNado create now?¶
QuantNado currently creates one .zarr store per sample with quantnado dataset create. You can then open the directory directly or combine those stores into a single multi-sample .zarr.
Which inputs are required for dataset create?¶
- BAM-based assays use
--bamfile METHuses--bamfileand--methylation_fileSNPuses--vcf_fileChIPandCUT&TAGcan also use--ipRNAcan also use--stranded
Which assays are supported?¶
ATAC, ChIP, RNA, CUT&TAG, METH, SNP, and MCC.
How do I open a dataset in Python?¶
You can also open a combined store:
What is the difference between assay and modality?¶
assayfilters samples by biological type, such asRNAorATACmodalityselects a concrete array key, such ascoverage,rna_fwd, orchip_h3k27ac
Most analysis methods accept both.
How do I combine per-sample stores?¶
quantnado dataset combine \
--stores dataset/ATAC_1.zarr dataset/RNA_1.zarr dataset/METH_1.zarr \
--output dataset/combined.zarr
How do I count RNA features?¶
signal_matrix, features = qn.quantify_signal(
gtf_file="genes.gtf",
feature_type="gene",
assay="RNA",
modality="coverage",
)
Use quantify_signal() when you want a feature-by-sample matrix derived from stored QuantNado signal.
If you specifically want the counting API:
counts, features = qn.count_features(
gtf_file="genes.gtf",
feature_type="gene",
engine="signal",
assay="RNA",
)
What is the difference between reduce(), extract(), quantify_signal(), and count_features()?¶
reduce()summarises signal over intervals and returns anxr.Datasetextract()bins signal around genomic features and returns anxr.DataArrayquantify_signal()returns a feature-by-sample matrix plus feature metadata from stored signalcount_features(engine="signal")uses the counting API shape but still summarises stored signal today
How do grouping and subsetting work?¶
Use group_by() to cache reusable sample-group namespaces, then intersect them in subset():
qn.group_by(
ip="ip",
treatment={"control": ["control"], "treated": ["treated"]},
spikein={"spikein": ["spikein", "rx"]},
match="contains",
)
subset = qn.subset(
assay="RNA",
group={"treatment": "treated", "spikein": "spikein"},
)
All filters in subset() are combined with AND.
Does QuantNado support peak calling?¶
Yes. quantnado call-peaks works directly from a QuantNado dataset and supports quantile, seacr, and lanceotron.
Do BAM files need indexes?¶
Yes. BAM inputs should be coordinate-sorted and indexed with .bai.
Does QuantNado support cloud storage?¶
The current workflow is documented around local filesystem paths. If you are working on remote storage, it is usually safest to build stores on the mounted filesystem you intend to use and validate performance there.
Is the dataset writable after creation?¶
The read API is designed for analysis. Typical workflows treat created stores as analysis inputs and write derived results to separate files.