Repository navigation
Conversation
… overlaps The interval join skipped every record with a symbolic ALT or a breakend, though such a record writes its REF, anchor base included, like any other. A skipped record has no gene link, so a vcfp:LinkedSelector never selects it, and a prohibition on a gene panel does not reach it. vcf-rdfizer-testing experiment 17's arm 2 found this with the record-level check that found the `*` gap in v3.3.0. The 104 high-coverage 1000 Genomes genomes carry structural-variant calls (<INS:ME:...>, <DUP>, <INS>), and the rule withholding the 28 cancer-predisposition genes from research released the ones inside those genes: 110 records to a disease-specific research view and 58 to a general-research view, where the bcftools baseline withheld them. Carrier lists agreed throughout; only the record counts showed it. Every record whose REF is DNA bases now keys its REF span, whatever its ALT. INFO/END and breakend mates are still not read, so a structural variant links to the genes its anchor lies in, not to every gene it affects; the docs say so and point to a vcfp:RegionSelector where that matters. The SPDI join is unchanged: symbolic alleles and breakends have no allele sequence to express. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This was referenced Oct 9, 2026
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.
Problem
The gene linkers' interval join returned no key for any record whose ALT is a symbolic allele (
<DEL>,<DUP>,<INS:ME:ALU>, …) or a breakend (vcf_rdfizer_linking/runner.py). An unkeyed record has no gene link, so avcfp:LinkedSelectornever selects it. A prohibition on a gene panel therefore fails open for structural variants inside the panel's genes. This is the same class of gap that v3.3.1 closed for spanning-deletion*alleles (#32).How it was found
vcf-rdfizer-testing experiment 17, arm 2, rerun with v3.3.1 on 104 high-coverage 1000 Genomes genomes. The rerun added a record-level check that compares the records each governed release view keeps against the bcftools baseline:
Re-applying the baseline's rule to every record in the RDF route's decision log shows the cause. Every extra released record is a symbolic structural variant (66
<INS:ME:…>, 24<DUP>, 20<INS>for cardio) anchored inside a cancer-predisposition gene: BRCA2, WT1, NF2, STK11, TSC2, and others. None had a gene link. Carrier lists agreed throughout, because ClinVar does not match these records. Only the record counts showed the gap.The other arms are unaffected: their inputs contain no symbolic or breakend records.
Change
skipped_records.vcfp:RegionSelectorwhere that matters. Linking by full extent would need its own coordinate policy, and is left for later.datalinking.md,limitations.md(now including the arm-2 numbers),policy-demonstrator.md, and theensembl-genes-grch38andgene-demolinker READMEs.<DEL>,<INS:ME:ALU>, breakend and mixed ALTs to keep the REF span.<DEL>,<INS:ME:ALU>and breakend records anchored in a gene link to it, and a<DUP>anchored outside does not.Testing
Not in this PR
🤖 Generated with Claude Code