efac0c1abcc802cd0bbd039e99c23c27e3166f70 lrnassar Tue Jul 7 12:38:35 2026 -0700 Fix BP7 miscategorization in TP53 Provisional Classification track. BP7 is a computational code (synonymous/intronic, SpliceAI-based), not a clinical one; it was incorrectly grouped with PS1/PS2/PS4/PP1/PP4/BS4 as requiring clinical observations. Reworded the docstring and mouseover to note BP7 is out of scope for this missense-only track. refs #37399 diff --git src/hg/makeDb/scripts/tp53/tp53ProvisionalClass.py src/hg/makeDb/scripts/tp53/tp53ProvisionalClass.py index 0986e8bee81..88cb7c72196 100644 --- src/hg/makeDb/scripts/tp53/tp53ProvisionalClass.py +++ src/hg/makeDb/scripts/tp53/tp53ProvisionalClass.py @@ -6,31 +6,33 @@ from applicable evidence codes the VCEP has pre-computed: * PM1 hotspot (Clinical Domains + cancerhotspots.org) * PS3 / BS3 (CSpec GN009 v2.4.0 Table S3) * PP3 / BP4 (CSpec GN009 v2.4.0 Table S2) * BA1 / BS1 / PM2 (gnomAD v4.1 exomes, per CSpec FAF/grpmax thresholds) * BS2 (FLOSSIES healthy-women-over-70 cohort) * Splicing PP3 (SpliceAI >= 0.2) The point sum is bucketed into P / LP / VUS / LB / B per the CSpec classification ranges. BA1 is stand-alone Benign and forces class = Benign regardless of other evidence. DELIBERATELY EXCLUDED from the sum (documented in every mouseover): - PVS1 (null variants only; handled in separate track) - - PS1 / PS2 / PS4 / PP1 / PP4 / BS4 / BP7 (require clinical observations) + - PS1 / PS2 / PS4 / PP1 / PP4 / BS4 (require clinical observations) + - BP7 (computational, but synonymous/intronic only; out of scope for this + missense-only track) This is NOT a VCEP classification — the warning is in every mouseover since clinicians live in the mouseover, not the description page. bigBed 9+9. """ import argparse import json import os import re import sys import openpyxl @@ -362,31 +364,32 @@ if g is None: continue if strand == '-': g_ref = rcomp.get(c_ref, c_ref) g_alt = rcomp.get(c_alt, c_alt) else: g_ref = c_ref g_alt = c_alt if (chrom, g + 1, g_ref, g_alt) in flossies_lookup: return True return False CAVEATS_STR = ( "PVS1 (null variants only — see PVS1 tracks); " - "PS1/PS2/PS4/PP1/PP4/BS4/BP7 (require clinical observations)." + "PS1/PS2/PS4/PP1/PP4/BS4 (require clinical observations); " + "BP7 (synonymous/intronic; N/A to missense)." ) HEADER_WARNING = ( "" "NON-FINAL: NOT a VCEP classification — preliminary point-sum only." "" ) def mouseover(name, cls, pts, pm1, ps3, pp3, af_lbl, bs2_lbl, applied, spliceai, splice_pp3_active, splice_overrode_bp4, codon, ba1): splice_section = "" if spliceai and spliceai > 0: if splice_pp3_active and splice_overrode_bp4: