OA-only mode: handle oncoanalyser-only inputs (no DRAGEN) - #34
Open
qclayssen wants to merge 67 commits into
Open
OA-only mode: handle oncoanalyser-only inputs (no DRAGEN)#34qclayssen wants to merge 67 commits into
qclayssen wants to merge 67 commits into
Conversation
…11) * add params input for sigrap tools
* update "HIGH_INF_POS" to "HIGH_I_I_POS" in VCF header for latest pcgr version * update constant for pcgr 2.2.5
* change sage vcf header to match 2024 version * move check function * add check in rescue for sage vcf * change for consistencency with pcgr
…arallelisation because OOM hypermutated samples
…'t use more core and so more memory
…e_command. Fixes #26 - Commands now fail immediately instead of continuing silently
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Uses select() to multiplex both pipes in one thread, preventing pipe buffer deadlock and routing stderr to WARNING level.
Includes hypermutated flag fix (reads is_hypermutated from bolt JSON) and SNVs display cleanup.
Path.with_suffix() only replaces the last suffix everything after the final dot. The caller passes a path ending in .pass
….2.5 tabix check)
- smlv_somatic report: make --vcf_dragen_fp optional; skip dragen/bolt variant count comparison when absent; filt_* fields set to None in MultiQC YAML output - transfer_annotations_germline: handle CPSR writing no output files when zero variants pass filtering; treat absent TSV/VCF as empty annotation data and pass variants through unchanged
SAGE sets GT=./. for all variants; CPSR drops all records with missing genotype at report generation. Convert ./. to 0/1 via bcftools +setGT so CPSR produces meaningful germline predisposition output in OA-only mode.
PCGR can emit multiple rows for the same variant when it maps to multiple transcripts. Replace assert with tier-aware deduplication: keep the most actionable entry (lowest tier number), warn on duplicates.
Add PCGR_TIER_NORMALISE dict to constants.py; derive _TIER_ORDER from PCGR_TIERS_FILTERING. Removes inline tier string literals from pcgr.py.
PCGR can emit duplicate variant entries in its output VCF. The assert raised on the second occurrence; skip duplicates with a warning instead.
SQ is a DRAGEN FORMAT field; cyvcf2.Variant.format() raises KeyError (not None) when the field is absent from the header. In OA-only mode all variants come from SAGE which has no SQ field. Check the header once before iterating and skip the SQ path entirely when absent — SAGE QUAL values pass through unchanged. Also close VCF handles explicitly to flush bgzip output.
2 tasks
qclayssen
force-pushed
the
release/0.3.1-validated
branch
2 times, most recently
from
July 21, 2026 23:46
8f264d9 to
1a2a5ca
Compare
Conflicts resolved by taking oa-only-v2 content (superset of main): - CHANGELOG.md, constants.py, pcgr.py, report.py, test_pcgr_hypermutated.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
SQFORMAT field, etc).oa-onlybranch, which drives sash's OA-only pipeline mode against these container builds.Related