Changelog¶
All notable changes to this project are documented in this file.
0.6.0 - 2026-08-31¶
Added¶
- Complete assay-aware ATAC-seq and ChIP-seq branches with pre-DE, differential, and post-DE analysis stages.
- ChIP-seq narrow, domain, gene-body, and diffuse modes with feature definitions matched to distinct signal geometries.
- Replicate-aware IDR consensus for narrow ATAC/ChIP analysis, including ENCODE-style pseudoreplicate diagnostics and configurable replicate pairing.
- Explicit biological- and technical-replicate handling with independent processing before BAM-level technical-replicate merging.
- Metadata-driven chromatin differential analysis with peak/region/gene annotations, assay-aware QC, enrichment, motif analysis, and signal profiles.
- Packaged Differential Explorer support for gene, peak, gene-body, and bin result trees.
- Added Shiny to the main environment and a lightweight
omnomnomics-explorerenvironment with a standaloneomnomnomics-de-applauncher for local result inspection. - ATAC/ChIP SPP, FRiP, and library-complexity QC with configurable deterministic subsampling caps.
- Genome helper support for normalized genomepy installations, direct HISAT2/STAR index construction, blacklist retrieval, and persistent motif-database caching.
- Assay-specific step maps that hide internal workflow rule numbering.
- ATAC/ChIP post-DE interpretation reports now write explicit
signal_runs.tsvandmotif_runs.tsvstatus tables covering computed, reused, skipped, no-motif, timeout, and failure outcomes. - ChIP
--broad-mode genebodyand--broad-mode diffusedocumentation for feature definitions, DE behavior, and post-DE interpretation outputs. - Peak annotations and differential-chromatin result tables now include explicit
nearest_promoter_geneanddistance_to_nearest_promoter_bpfields.
Changed¶
- Skewer is the default trimmer after validation identified intermittent fastp worker hangs; fastp remains available as an opt-in alternative.
- Peak calling and IDR preparation are decomposed into scheduler-visible Snakemake jobs instead of parallelizing substantial work inside one worker allocation.
- BigWigs use complete BAMs with CPM normalization, while expensive diagnostic QC can use recorded deterministic subsamples.
- User-facing step selection, monitoring, and documentation consistently use assay-specific step numbers.
- Post-DE profile documentation now reflects the custom matplotlib renderer used to keep legends outside the signal axes.
- Motif analysis documentation now describes the permanent MEME-format motif database cache under the configured genome assembly root.
- Peak annotation derives gene spans and strand-aware promoters from transcript or exon records when a GTF has no
genefeatures, while retaining alternative transcript start sites. - DE summary plots suppress redundant metadata annotations, enrichment discovery includes nested clusterProfiler result directories, and enrichment plot margins accommodate long titles.
- QC distance plots use sample identifiers, equivalent metadata partitions collapse to one annotation, and combined-summary pathway and motif labels are compacted without altering result tables.
- Post-DE signal profiles use fixed figure margins so labels and external legends remain inside the PDF canvas.
- Post-DE signal and motif renderers share region-label formatting at their common workflow scope.
- AME motif reports recognize MEME's
motif_alt_IDandadj_p-valuecolumns, showing factor names and adjusted significance values. - Chromatin partial reruns enter peak QC and pre-DE analysis through durable peak and annotation BED files instead of disposable completion markers.
Fixed¶
- Ensembl-style chromosome names are supported in gene-body and diffuse ChIP feature construction.
- Gene spans and promoters can be reconstructed from transcript or exon records when annotations lack explicit
genefeatures. - Chromatin partial reruns preserve valid upstream outputs and schedule missing signal-track dependencies through Snakemake.
- Peak counting stages input files without shared-directory races and reuses valid count-table caches.
- Sparse IDR comparisons fall back to pooled MACS3 peaks with an explicit status instead of failing the workflow.
- MultiQC discovery and custom-content generation avoid duplicate reports and tolerate cleaned intermediates through cached metrics.
Notes¶
- Pre-DE deepTools profile plots may still place legends inside the plot panel; post-DE profile plots use the newer renderer.
0.5.0 - 2026-04-14¶
Added¶
- Installable Python package layout under
src/with CLI entry point and packaged workflow assets. - Environment specifications for reproducible installs, including dedicated macOS test environment support.
- Site-config resolution with user-level config discovery and packaged fallback.
- Genome helper commands (
omnomnomics genomes ...) for assembly discovery and installation workflows. - Track color helper subcommands (
create-track-color-table,display-track-color-table). - Controller-job submission model for HPC orchestration, with controller script generation and controller logging.
- Monitor mode with step-state summary and recent log tail display.
- Retention policy support (
all,pruned,minimal) with post-run cleanup behavior. - Soft max project size guard with stage-aware cleanup and optional skipping of space-heavy branches.
- Flow-QC metric caching to preserve downstream reporting when cleanup removes intermediate files.
- Step-level tracking artifacts (started/completed/failed markers, per-step summaries, step command/notes logs).
- Aggregate alignment QC outputs and MultiQC custom content generation.
- Metadata-driven sample derivation for naming, grouping, and coloring:
sample_idsample_typesample_color- Metadata-derived table output per run (
metadata_derived.tsv) in run config output. - Differential-expression design preflight for RNA step 12:
- auto-build mode from selected metadata columns
- explicit formula mode
- optional interaction-term toggle for auto-built designs
- full-rank design validation via
Rscript/DESeq2-compatible model matrix checks
Changed¶
- Pipeline internals moved from legacy repository-root script assumptions to packaged path resolution.
- Configuration responsibilities clarified across workflow defaults, site config, and per-run resolved config.
- BigWig generation modernized to
bamCoverage-based outputs, including stranded RNA plus/minus tracks. - Trackhub construction decoupled from HOMER defaults and driven directly from BigWig outputs.
- Count-table generation moved to modern assay-specific paths (
featureCountsfor RNA; assay-aware count logic for downstream modes). - Step selection and resume behavior improved with clearer mode filtering and selected-step bookkeeping.
- Logging improved for command provenance, tool version capture, and storage-guard decisions.
- Metadata requirements standardized:
- first metadata column is
filename - reserved derived columns are blocked in user metadata
- selectors accept named columns or 1-based indices
- Filename normalization standardized across CLI preflight and workflow runtime so metadata
filenamevalues can map from FASTQ/BAM/BigWig-style names to internal sample keys.
Fixed¶
- Multiple same-day run logging and backup handling issues for run and tools logs.
- Snakemake submission pacing and status-refresh behavior under HPC scheduler load.
- Merge and parsing bugs in sample-name normalization and grouping separators.
- Step 10/11 and related DAG edge cases that could block valid execution paths.
- RNA-specific track coloring and grouped hub generation edge cases.
- Legacy sample-matching mismatch in step 12 by supporting both:
- derived
sample_idheaders - normalized filename-key style headers from existing count tables
--dry-runbehavior to prevent unintended controllersbatchsubmission and run Snakemake dry-run directly.- Step 9 failure mode when no
.bwinputs are present by skipping trackhub creation gracefully instead of aborting the whole run.
Notes¶
- Optional HOMER tag directory export remains available but is no longer required on the default path.
- Planned next hardening area: resumable recovery after partial cleanup/failure when later-stage artifacts exist but earlier sentinels/intermediates are missing.