Skip to content

Release/0.7.1 - #60

Draft
qclayssen wants to merge 73 commits into
mainfrom
release/0.7.1
Draft

Release/0.7.1#60
qclayssen wants to merge 73 commits into
mainfrom
release/0.7.1

Conversation

@qclayssen

@qclayssen qclayssen commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Release 0.7.1

Patch release: bolt 0.3.1 → 0.3.2.

Fixed

  • Bump bolt to 0.3.2: PCGR now gracefully skips hypermutated samples whose variant count still exceeds the per-chunk ceiling (sash#52), and PCGR chunk runs disable MSI/TMB estimates that were meaningless on partial VCFs

Dependencies

Tool Old New
bolt 0.3.1 0.3.2

Prerequisite PRs

  • bolt #36 — single-chunk bcftools merge guard (CLEAN, CI green)
  • bolt #33 — Release 0.3.2 (pending full-pipeline validation)
  • sash #59 — VCF2MAF skip when PCGR skipped (targets this branch)

Relationship to 0.7.0

sash 0.7.0 (PR #39, bolt 0.3.1 + sigrap 0.3.0) is validated — Jijuan ran the PDAC cohort through sash 0.7.0 and validated the results. PR #39 is ready to merge; 0.7.1 can land after 0.7.0.

qclayssen and others added 30 commits October 2, 2025 12:58
* add ref data for pcgr 2.2.1

* add vep path pcgr

* edit refdata path for vep pcgr

* update pcgr report name name

* change path VEP ref data

* update container version

* remove VEP version

* change bolt version to test
* add process and config for vcf2maf

* fix path vep data

* remove duplicate

* fix and linting

* remove params from VCF2MAF process

* fix and simplify process

* add meta.key to channel

* add genome build as input

* add dockerfile

* Make sigrap (HRDetect, MutationalPatterns) individual process (#16)

* remove trace of genome build and hardcode in VCF2MAF

* use biocontainers container for vcf2maf

* remove string interpolation

* change to stub no version template

* revert deleted line
* change sigrap container

* change cancer report container

* latest bolt version

* update meta id sigrap

* bump sigrap

* remove print

* restaure metadata sigrap

* change multiqc container

* add param for pcgr chunck size

* add mutpat predefined dbs argument

* update container

* add back formating comment
* fix channel prepare reference

* refactor tarball extraction to use proper channel patterns. Follow oncoanalyser pattern for tarball extraction with .collect() and .map()

* adapte extraction tarball to match pcgr expected vep structure

* fix dir name extract tarball for VEP

* change to adapt strip compoment for pcgr data
qclayssen and others added 19 commits May 13, 2026 15:33
   ghcr.io/umccr/bolt:0.3.0
* allow explicit DRAGEN VCF paths in samplesheet

Add optional dragen_somatic_vcf and dragen_germline_vcf samplesheet
filetypes. When present, they override the path constructed from
tumor_id/normal_id. Enables cohorts where DRAGEN and oncoanalyser
outputs use different sample ID prefixes (e.g. APGI).

Add nf-tests covering default path construction and explicit override.

* chore: add TODO to document new dragen vcf filetypes in usage.md

* fix dragen relative path from sample sheet
…#54)

* fix process PAVE_SOMATIC  checks for MNVTAG in the VCF header before filtering

* fix MNVTAG filter: use variable input path and add nf-tests

- Replace cp with direct variable pass-through when MNVTAG absent (no
  disk copy, works on ICAv2 GDS and AWS Batch)
- Fix typo: mnv_filtred -> mnv_filtered
- Remove unnecessary intermediate file cleanup
- Add stub nf-tests with fixtures for with/without MNVTAG header cases
- Add .nf-test/ and .nf-test.log to .gitignore
Resolve conflicts keeping 0.7.0 versions for all bolt containers and
version fields. Merge CHANGELOG to include 0.6.4 release from main.
- Fix label syntax: split 'process_medium_memory', 'process_long' into
  separate label directives (sigrap/mutpat, bolt/cancer_report, bolt/annotate)
- Remove unused args declaration in sigrap/mutpat and sigrap/hrdetect
- Fix ch_misc_data_channel to value channel with .first() so reference
  data is broadcast across all samples, not just the first
- Remove path '.command.*' from extract_tarball outputs (captures internal
  Nextflow debug files, not workflow results)
- Hardcode vcf2maf version to 1.6.22 (--help exits non-zero, unreliable)
- Fix trailing whitespace in prepare_input.nf CHORD path lines
- Document optional dragen_somatic_vcf/dragen_germline_vcf samplesheet
  fields with example
- Document pcgr_variant_chunk_size parameter for hypermutated samples
- Update citation version from 0.6.0 to 0.7.0
…vent PURPLE receiving mnv_filtered intermediate
Ships the graceful PCGR skip on samples whose per-chunk variant count
exceeds MAX_SOMATIC_VARIANTS, plus disable_estimates on chunked runs
where MSI/TMB on partial VCFs is meaningless. Variant tag suffixes
(-pcgr, -circos, -multiqc, -gpgr, -snpeff) preserved.
Moves hrdetect and mutpat modules off the personal docker.io/qclayssen
dev build to the official umccr ghcr release image.
…ash #39)

Address Stephen's review: remove the dead else-branch that handled plain
directory miscdata_paths inputs. Tarballs are now the only supported mode
for pcgr_dir/vep_dir — a clear error is raised if no tarball entries are
found in miscdata_paths.

Adds nf-test for the tarball extraction path (prepare_reference subworkflow).

BREAKING CHANGE: miscdata_paths entries requiring extraction (pcgr_dir,
vep_dir) must be provided as .tar.gz/.tgz archives. Plain directory
inputs are no longer supported.
Reflects the current bolt 0.3.x tiered filtering approach (replaces
outdated bolt v0.2.18 select_variants description). Documents the two
silent failure modes in PCGR (Python-side variant drop + R-side HTML
skip) that justify the 450k threshold.

References bolt/docs/adr/001-max-somatic-variants-450k.md for the
detailed boundary analysis.
qclayssen and others added 4 commits July 22, 2026 14:41
…es (#59)

When bolt PASS VCF exceeds 450k variants, select_pcgr_variants raises
RuntimeError and PCGR is skipped. Mark pcgr_pass_vcf, pcgr_dir, and
pcgr_report as optional so the process exits 0 and non-PCGR outputs
(stats, AFs, counts) are still published for gpgr. Filter the VCF2MAF
input channel to skip samples where pcgr_pass_vcf was not emitted.

Closes #52
…t samples

BOLT_SMLV_SOMATIC_REPORT unconditionally moved output/pcgr/*.html, which
does not exist when PCGR/VCF2MAF are skipped for samples exceeding the
sash #59 variant-count cap (ADR-001) -- causing the whole process to
hard-fail on exactly the samples that skip is meant to handle.

Adds nf-test coverage: optional PCGR emits let the process exit 0 when
skipped, and the vcf2maf_input_filter channel chain drops the skipped
sample's null entry before it reaches VCF2MAF.
bolt's actual safety threshold is 450,000 (MAX_SOMATIC_VARIANTS), not
500,000 (PCGR's own hard limit, which bolt stays under). Also documents
that the Hypermutated flag is computed from the raw DRAGEN count and can
trip on non-PASS noise alone, without any TMB-affecting filtering having
occurred - verified against a real sample's FILTER tag counts.
bcftools view -h | grep -q could receive SIGPIPE mid-write on large
real VCF headers (thousands of ##contig lines); under pipefail this
flipped the if to the else branch even when MNVTAG was present,
feeding unfiltered variants into PAVE 1.8. Write the header to a file
first so there's no pipe for pipefail to trip on.

Adds a standalone regression test that reproduces the race against a
synthetic large header and confirms the fix.

Fixes #66
Exercises the actual script: block against ghcr.io/umccr/bolt:0.3.2-pcgr,
covering the mv output/pcgr/*.html guard fix (sash #59 / ADR-001) that
stub-mode tests can't reach since -stub bypasses script: entirely.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants