The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Data & research · SKILL.md

model-fitting-internals

model-fitting-internals

Inspect and control PyDESeq2 staged model-fitting internals, normalization helpers, VST, AnnData storage keys, Cooks refits, and DefaultInference behavior.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: model-fitting-internals description: "Inspect and control PyDESeq2 staged model-fitting internals, normalization helpers, VST, AnnData storage keys, Cooks refits, and DefaultInference behavior." disable-model-invocation: true metadata: disco-role: operating license: MIT

PyDESeq2 Model-Fitting Internals

Use this sub-skill when an agent must inspect, debug, or manually control PyDESeq2's staged internals instead of only running the high-level DeseqDataSet.deseq2() wrapper.

Use When

  • You need the exact staged order for fit_size_factors, dispersion fitting, MAP shrinkage, LFC fitting, Cooks distances, and outlier refits.
  • You need to inspect where PyDESeq2 stores fitted values in obs, var, varm, layers, obsm, and uns.
  • You need leakage-safe train/test normalization with deseq2_norm_fit and deseq2_norm_transform.
  • You need to diagnose vst, vst_fit, or vst_transform failures and choose blind versus design-aware VST.
  • You need to reason about DefaultInference, n_cpus, joblib backends, or low_memory side effects.

Read First

  • references/internals-reference.md for staged fitting order, method responsibilities, storage keys, and inference behavior.
  • references/vst-and-normalization.md for size-factor modes, control genes, preprocessing helpers, VST order, and train/test patterns.
  • references/troubleshooting.md for actionable fixes for common internals failures and warnings.

Bundled Scripts

  • scripts/inspect_stepwise_pipeline.py runs a local synthetic stepwise fit with --n-cpus 1 by default and prints expected AnnData keys after each stage.
  • scripts/check_normalization.py demonstrates deseq2_norm_fit on training counts and deseq2_norm_transform on held-out counts without network access.

Example commands:

python scripts/inspect_stepwise_pipeline.py --help
python scripts/inspect_stepwise_pipeline.py --n-cpus 1 --use-design-vst
python scripts/check_normalization.py --help
python scripts/check_normalization.py --as-json

If PyDESeq2 is missing, install it with a generic package command such as python -m pip install pydeseq2 in the active Python environment.

Routing Boundaries

  • For standard end-to-end differential expression analysis with DeseqDataSet.deseq2() and DeseqStats, route to ../dea-workflows/SKILL.md.
  • For count/metadata schemas, CSV loading, AnnData construction, and validation failures, route to ../data-io-validation/SKILL.md.
  • For contrasts, p-values, adjusted p-values, LFC shrinkage, result tables, and plots, route to ../statistics-and-results/SKILL.md.

Safe Defaults

  • Prefer DefaultInference(n_cpus=1) in examples and verification unless the user explicitly asks to parallelize.
  • Prefer fit_type="parametric" for DESeq2-like defaults, but switch to fit_type="mean" when parametric trend fitting repeatedly falls back or the user asks for the mean trend.
  • Prefer size_factors_fit_type="ratio" when geometric means are valid; use "poscounts" for sparse positive-count settings and "iterative" only when the staged MLE behavior is intended.
  • For train/test workflows, fit ratio log means on training counts and transform held-out counts; do not recompute normalization facts on test counts unless the user explicitly accepts leakage.
Saved skills