Skip to content

feat(deeptools): complete deeptools pipeline with plotHeatmap/plotProfile outputs and documentation - #154

Merged
kopardev merged 7 commits into
mainfrom
issue_7
Sep 29, 2026
Merged

kopardev merged 7 commits into
mainfrom
issue_7

Conversation

@kopardev

Copy link
Copy Markdown
Contributor

Changes

This PR completes the deeptools visualization pipeline by:

  1. Added deeptools_plot rule (ASAP: Deeptools peaks #7): Generates the final plotHeatmap/plotProfile TSS and metagene PDFs from the deeptools_mat matrices. These outputs are now wired into rule all so dryrun/run actually schedule them. Previously, nothing requested these outputs so Snakemake silently never ran deepTools past matrix generation.

  2. Fixed deeptools_mat configuration: Now uses the workdir's configured genome's TSS BED archive (config[GENOME]["tssBed"]) instead of an always-hardcoded hg38_tssbeds.tar.gz. Removed the unused {bedtype} wildcard.

  3. Updated documentation (Document ASPEN dryrun/run console output examples #147): docs/outputs.md now documents the actual output filenames and location (results/deeptools/{group}.{bamtype}.{TSS,metagene}.{heatmap,profile}.pdf) instead of the previously documented never-implemented protein_coding/all_samples naming scheme.

  4. Improved diagnostics (#000): Failed-run diagnostics now record the failing Snakemake rule and command in pipeline.status.json and the human-readable pipeline.failed marker, so users can immediately see which step (e.g., deeptools_mat) triggered the failure.

  5. Enhanced documentation (Document ASPEN dryrun/run console output examples #147): Added console output examples in docs/deployment.md with screenshots, explaining STEP/OK/INFO/NEXT messages and explicit links between wrapper messages and WORKDIR status files.

  6. Minor improvements: Suppress the NEXT prompt in dryrun when nothing needs to be done, improving user experience.

Issues

Fixes #7 (primary feature - complete deeptools outputs and visualization)
Related to #147 (documentation)
Related to #152 (resource scaling - included in same branch)
Related to #148 (SLURM failure detection - included in same branch)
Related to #146 (motif enrichment docs - included in same branch)

PR Checklist

  • This comment contains a description of changes with justifications, with any relevant issues linked.
  • Update docs if there are any API changes. (Updated docs/outputs.md, docs/deployment.md, and added example console outputs)
  • Update CHANGELOG.md with a short description of any user-facing changes and reference the PR number. (CHANGELOG.md updated with comprehensive entries)
  • Test run completes successfully on biowulf. (Test run completed: /data/Boufraqech_group/analysis/.temp/aspen_run_for_Ying_test5 — exit code 0, all 13 steps completed, deeptools outputs verified)

⚡ Generated using AI ⚡

Include the failing Snakemake rule and command in pipeline.status.json and pipeline.failed so failed runs point directly to the offending step.\n\n⚡ Generated using AI ⚡
Skip the "Submit run with..." NEXT hint after a dry-run that reports
"Nothing to be done", since there is no pending work to submit.

⚡ Generated using AI ⚡
…to rule all

deeptools_prep/deeptools_mat outputs were never requested by rule all
(or any other rule), so Snakemake never scheduled them regardless of
config/container fixes -- dry-run always reported "Nothing to be done"
even when the .mat.gz files had never been created.

- Add deeptools_plot rule: runs plotHeatmap/plotProfile on the TSS and
  metagene matrices to produce the final, user-facing heatmap/profile
  PDFs (results/deeptools/{group}.{bamtype}.{TSS,metagene}.{heatmap,profile}.pdf).
- Wire the new PDF outputs into rule all so they're actually scheduled.
- Fix deeptools_mat to use the workdir's configured genome's TSS BED
  archive (config[GENOME]["tssBed"]) instead of an always-hardcoded
  hg38_tssbeds.tar.gz, since ASPEN supports multiple genomes.
- Drop the unused {bedtype} wildcard from deeptools_mat/deeptools_plot;
  it was never populated by any config/rule and unused in the shell
  logic.
- Add a deeptools_plot entry to resources/cluster.json.
- Update docs/outputs.md to describe the actual output filenames and
  location instead of the previously documented, never-implemented
  protein_coding/all_samples naming scheme.

Validated with a real dry-run against a live workdir: previously
reported "Nothing to be done", now correctly schedules deeptools_prep,
deeptools_mat, and deeptools_plot jobs.

⚡ Generated using AI ⚡
@github-actions github-actions Bot added the ASPEN RepoName label Sep 29, 2026
pre-commit-ci Bot and others added 2 commits September 29, 2026 15:41
Document when deepTools outputs are generated, how to interpret them, and which normalization and annotation defaults apply. Expand the documentation content area and keep table columns aligned on large displays.

_commit message is ai-generated_

⚡ Generated using AI ⚡
@kopardev
kopardev merged commit 83a71fc into main Sep 29, 2026
5 checks passed
@kopardev
kopardev deleted the issue_7 branch September 29, 2026 21:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ASPEN RepoName

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ASAP: Deeptools peaks

1 participant