Configuration API¶
SeqNado uses Pydantic for its configuration management. This page documents the primary configuration models.
Main Configuration¶
seqnado.config.SeqnadoConfig
¶
Bases: BaseModel
Configuration for the SeqNado workflow.
shift_for_tn5_insertion
property
¶
Return the Tn5 shift configuration for the specified assay.
set_default_pcr_duplicates
¶
Set default PCR duplicate handling based on assay type.
Source code in seqnado/config/core.py
migrate_remove_blacklist_to_qc
¶
Support legacy top-level remove_blacklist by moving it under qc.
Source code in seqnado/config/core.py
sync_peak_caller_tool_defaults
¶
Ensure peak-caller-specific tool configs exist when those methods are selected.
Source code in seqnado/config/core.py
require_bamnado_for_per_group_scaling
¶
Bamnado computes all per-group-technique scale factors (csaw-background/tmm/
median-of-ratios/cpm) via bam-normalize — there is no hand-rolled fallback.
Source code in seqnado/config/core.py
validate_qc_remove_blacklist
¶
Require a genome blacklist when blacklist removal is enabled.
Source code in seqnado/config/core.py
from_yaml
classmethod
¶
validate_assay_config_matches_assay
¶
Ensure the assay_config type matches the specified assay.
Source code in seqnado/config/core.py
create_assay_config
classmethod
¶
Create the appropriate assay config for the given assay type.
Source code in seqnado/config/core.py
seqnado.config.ProjectConfig
¶
Bases: BaseModel
Configuration for the SeqNado project.
Genome Configuration¶
seqnado.config.GenomeConfig
¶
Bases: BaseModel
Configuration for genome-related files and indices.
Assay Specific Configurations¶
seqnado.config.ATACAssayConfig
¶
Bases: BaseAssayConfig, PeakCallingMixin
Configuration specific to ATAC-seq assays.
validate_spikein_methods
classmethod
¶
Filter out incompatible spike-in methods for ATAC-seq.
ATAC-seq spike-in normalisation only supports ORLANDO (per-sample spike-in read count normalisation). WITH_INPUT requires paired input/control samples (a ChIP-seq concept ATAC-seq doesn't have), and DESEQ2/EDGER are gene-count based methods intended for RNA-seq.
Source code in seqnado/config/core.py
seqnado.config.ChIPAssayConfig
¶
Bases: BaseAssayConfig, PeakCallingMixin
Configuration specific to ChIP-seq assays.
seqnado.config.RNAAssayConfig
¶
Bases: BaseAssayConfig
Configuration specific to RNA-seq assays.
validate_spikein_methods
classmethod
¶
Filter out incompatible spike-in methods for RNA-seq.
WITH_INPUT requires paired input/control samples, which is a ChIP-seq concept. RNA-seq supports only ORLANDO, DESEQ2, and EDGER.
Source code in seqnado/config/core.py
validate_scale_methods
classmethod
¶
Filter out the per-group scaling technique for RNA-seq.
Bamnado library-scaling assumes roughly-equal signal across bins and is inappropriate for RNA-seq's compositional read-count bias (a handful of highly-expressed genes dominate). RNA-seq should use spike-in (orlando/ deseq2/edger) normalisation instead.