Repository navigation
Filter PacBio tumour-only SAVANA SVs against the SV PoN; cap ReConPlot SVs (#225) - #228
Draft
ljwharbers wants to merge 2 commits into
Draft
ljwharbers wants to merge 2 commits into
ljwharbers wants to merge 2 commits into
Conversation
…lot SVs SAVANA's PacBio classifier (`savana to --pb`) only rejects a call on matched-normal evidence, so without a normal nearly every germline SV comes out somatic, and RECONPLOT_SAVANA (one ggplot layer per SV) took 6-8 h (#225). The same VCF feeds VEP_SAVANA and Padfoot. - SAVANA_PON_FILTER / bin/savana_pon_filter.py: Severus's own PoN matching rule (extract_pon/add_pon) against the genome's pon_file, BND mates kept together. TUMORONLY_SAVANA routes PacBio somatic VCFs through it; ONT (SAVANA's TO model) and genomes without a PoN pass unchanged. --savana_pb_pon_filter turns it off. On a simulated PacBio tumour-only C8 (hg38) it keeps 761 of 27,591 events. - ReConPlot wrapper --max-svs (--reconplot_max_svs, default 2500): draw the best-supported junctions only; the harmonised SV table keeps them all. - Tests: SAVANA_PON_FILTER module test, TUMORONLY_SAVANA routing stub test, a RECONPLOT --max-svs case; RECONPLOT versions snapshots follow the VERSION bump. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Real-module run on the simulated PacBio tumour-only C8 (hg38): the PoN filter keeps 761 of 27,591 events and RECONPLOT_SAVANA finishes in 21 min with every figure drawn (unfiltered: not finished after 2 h). At --max-svs 2500 the genome-wide panel overflowed R's node stack, as it already does for BL1's 2,084 SAVANA junctions, so the default drops to 1000. The 761 survivors are still germline by C8's matched normal; the docs now say so. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
This branch has not been deployed
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.
Closes #225.
Why RECONPLOT_SAVANA took 6–8 h on PacBio tumour-only
SAVANA's PacBio classifier (
savana to --pb→classify_pacbio/pacbio_pass_somatic) only rejects a call on matched-normal evidence. With no normal, every germline SV with enough tumour reads is written to the somatic VCF. ReConPlot then adds one ggplot layer per SV. The same VCF also feeds VEP_SAVANA and Padfoot.Changes
SAVANA_PON_FILTER(bin/savana_pon_filter.py) filters the somatic VCF against the genome's Severus germline SV panel of normals (pon_file). It uses Severus's own matching rule (extract_pon/add_pon) and keeps or drops BND mates together.TUMORONLY_SAVANAsends only PacBio samples through it. ONT (SAVANA's trained tumour-only model) and genomes without a PoN pass through unchanged.<id>.pon_filtered.classified.somatic.vcfplus a summary TSV. The unfiltered VCF is still published.--savana_pb_pon_filter falseturns it off.--reconplot_max_svs(default 1000): ReConPlot draws only the best-supported SVs, and the title readstop N of M SVs. The harmonised*.reconplot_sv.tsvtable keeps every SV.Validation
Simulated PacBio tumour-only C8 (hg38): SAVANA's PacBio filter applied to the paired C8 breakpoints with the normal checks removed. The modules ran under Apptainer on one CPU.
--max-svs 1000--max-svs 2500devbecause of the same overflow.Tests
SAVANA_PON_FILTER.TUMORONLY_SAVANArouting: PacBio is filtered, ONT and no-PoN are not.--max-svs.versions.ymlmd5, from the wrapperVERSIONbump.PR checklist
docs/output.mdis updated.CHANGELOG.mdis updated.Follow-ups, not in this PR:
classify_pacbioupstream.🤖 Generated with Claude Code