Skip to content

Release v0.3.15#141

Merged
riasc merged 1 commit into
mainfrom
release/v0.3.15
May 26, 2026
Merged

Release v0.3.15#141
riasc merged 1 commit into
mainfrom
release/v0.3.15

Conversation

@riasc
Copy link
Copy Markdown
Collaborator

@riasc riasc commented May 26, 2026

Summary

Changed

Cuts the v0.3.15 patch release. ## [Unreleased] is split into ## [0.3.15] - 2026-05-25 plus a fresh empty ## [Unreleased] block; the two ### Changed subsections (separated by ### Fixed from the merge order) are consolidated. No code changes.

Highlights from this release

Performance / threading audit (closes #127):

  • Hardcoded threads: values across 10 rules audited and either capped or coupled to {threads} in shell. Most impactful: hlatyping_mhcI_SE/PE dropped from threads: 64 to threads: 1 because OptiType is single-threaded (ILP solver; wrapper never passes a threads arg to the tool) — the previous 64 was forcing snakemake to reserve cores the tool never used and serializing the downstream workflow (Audit hardcoded threads values; cap and couple to {threads} #138).
  • split_bamfile_RG capped at min(10, config["threads"]); dnaseq_postproc dropped from 6→4 (samtools threading plateaus past ~4); rnaseq_postproc_* shell -@N literals coupled to -@ {threads} so the directive value is what samtools actually receives.

Catalog snakefmt cross-version compatibility:

  • Three multi-line params: extra=f"""...""" blocks (STAR alignments + FilterMutectCalls) rewritten as adjacent-string-literal (...) form, eliminating the indent disagreement between snakefmt 0.11.5 (catalog) and 2.0.0 (our CI) that was keeping the catalog's formatting: failed flag on (Rewrite multi-line params extras as adjacent string literals #139).

Log readability (closes #121):

  • Prioritization step now prints a banner header per vartype (=== somatic.snvs ===), throttles the per-unit progress to ~10 lines instead of 2000+, and emits a wall-clock summary at vartype completion. Two leftover debug print() calls in reference.py:Counts.__init__ removed (Improve prioritization log readability per-vartype #140).

Open work moved out of v0.3.15

#116 (NMD detection for all variant sources) was moved to ScanNeo v0.4.x after investigation surfaced a deeper bug: the non-fusion transcript construction uses pre-mRNA (intron-inclusive genome slice) rather than spliced mRNA. The full engineering plan for the proper fix is preserved as a comment on #116.

QC

  • I, as a human being, have reviewed this CHANGELOG cut
  • CI all green
  • ## [Unreleased] is empty and ## [0.3.15] - 2026-05-25 is populated correctly with the consolidated sections
  • After merge: tag v0.3.15, push tag, publish GitHub release with the CHANGELOG [0.3.15] section as the release notes, close the v0.3.15 milestone

Summary by CodeRabbit

  • Bug Fixes

    • Resolved workflow compatibility issues across different formatting tool versions.
  • Chores

    • Improved logging output formatting and progress reporting.
    • Optimized workflow thread configuration for better resource utilization.

Review Change Stack

@riasc riasc added this to the v0.3.15 milestone May 26, 2026
@riasc riasc added the release Road to the new release label May 26, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 26, 2026

📝 Walkthrough

Walkthrough

This PR adds a new release entry 0.3.15 to the changelog, documenting three substantive changes: improved per-vartype prioritization log formatting and throttled progress output, auditing and capping hardcoded workflow threads: values tied to the {threads} configuration parameter, and fixing snakefmt cross-version compatibility for multi-line params: extra=... blocks.

Changes

Release 0.3.15 Documentation

Layer / File(s) Summary
Release 0.3.15 changelog entry
CHANGELOG.md
New versioned release entry 0.3.15 (2026-05-25) records three improvements: (1) prioritization log readability via per-vartype headers and throttled progress output with debug print removal, (2) workflow thread auditing and capping by binding rule directives to {threads} configuration (e.g., OptiType hlatyping_mhcI_SE/PE reduced to single-thread with corresponding samtools/bowtie2 -@ adjustments), and (3) snakefmt compatibility fix for multi-line params: extra=... blocks by rewriting rules to avoid backslash-continued indentation variation.

Possibly Related PRs

  • ylab-hi/ScanNeo2#138: Implements the workflow thread auditing and capping changes documented in this changelog entry, binding rule directives to {threads} and reducing OptiType to single-thread.
  • ylab-hi/ScanNeo2#124: Addresses the snakefmt compatibility issue for multi-line params: extra=... blocks by refactoring helper functions and eliminating parse failures.

Estimated Code Review Effort

🎯 1 (Trivial) | ⏱️ ~2 minutes


🐰 Release notes bound in words so clear,
Version bumped and improvements here—
Logs now glow with kindly light,
Threads aligned and parsing right! 📋✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Release v0.3.15' is concise and clearly summarizes the main change—cutting a patch release and updating the changelog with version-specific entries.
Linked Issues check ✅ Passed The pull request fulfills coding objectives from #127 (hardcoded threads audit and parameterization across rules) and #121 (prioritization log formatting improvements).
Out of Scope Changes check ✅ Passed The changelog entry documents only changes scoped to #127 and #121; no out-of-scope code alterations are present beyond the intended release updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v0.3.15

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@riasc
Copy link
Copy Markdown
Collaborator Author

riasc commented May 26, 2026

Review (Claude)

Release PR for v0.3.15. CodeRabbit reported "No actionable comments 🎉".

Verified locally

  • Diff is exactly the expected CHANGELOG split + section consolidation: ## [0.3.15] - 2026-05-25 header inserted; the second ### Changed block (PR Audit hardcoded threads values; cap and couple to {threads} #138's threads audit entry) is moved up into the first ### Changed block so the section appears once, not twice. No code changes.
  • All 3 PRs merged since v0.3.14 are captured under ## [0.3.15]:
PR Section Mentioned
#138 — threads audit ### Changed
#139 — snakefmt cross-version compat ### Fixed
#140 — prioritization log readability ### Changed
  • [Unreleased] is empty (correctly), [0.3.15] - 2026-05-25 is populated.
  • Branch / label / milestone match the release-via-PR convention: release/v0.3.15, release label, v0.3.15 milestone.
  • CI all 5 checks green.

Findings

None. Pure CHANGELOG cut, no code changes.

Note on the deferred work

#116 (NMD detection for all variant sources) was moved to ScanNeo v0.4.x mid-release after investigation found that the non-fusion transcript construction in variants.py:80-90 uses pre-mRNA (intron-inclusive genome slice) rather than spliced mRNA. The full engineering plan + the in-repo finding chain is preserved as a comment on #116 so the work can be picked up cleanly later.

Post-merge checklist (your call after /merge-pr)

@riasc riasc merged commit f8a3897 into main May 26, 2026
7 checks passed
@riasc riasc deleted the release/v0.3.15 branch May 26, 2026 02:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Road to the new release

Projects

None yet

1 participant