ff04ae9d89641156d7b93d03e1d6162c8e070355
lrnassar
  Mon Jul 20 17:01:25 2026 -0700
Fix TP53 Provisional Classification bigBed type declaration from 9+9 to 9+10. The AUTOSQL and emitted data have 10 extra fields, and the trackDb declares bigBed 9 + 10, but the bedToBigBed -type arg and the docstring said 9+9. Corrected both so the bigBed header extraFieldCount is right and the script is self-consistent. refs #37399

diff --git src/hg/makeDb/scripts/tp53/tp53ProvisionalClass.py src/hg/makeDb/scripts/tp53/tp53ProvisionalClass.py
index 2557ca05b54..50982ce9e63 100644
--- src/hg/makeDb/scripts/tp53/tp53ProvisionalClass.py
+++ src/hg/makeDb/scripts/tp53/tp53ProvisionalClass.py
@@ -13,31 +13,31 @@
   * 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 (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.
+bigBed 9+10.
 """
 
 import argparse
 import json
 import os
 import re
 import sys
 
 import openpyxl
 
 sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
 import tp53FuncLib as lib
 
 DEFAULT_OUTDIR = "/hive/users/lrnassar/claude/RM37399/provisionalClass"
 SRC_S3 = "/hive/users/lrnassar/claude/RM37399/tp53_downloads/Functional-worksheet.xlsx"
@@ -549,31 +549,31 @@
           "cancerhotspots: {}   AF: {}   FLOSSIES BS2: {}".format(
               len(s3), len(s2), len(hotspots),
               len(af_lookup), len(flossies_lookup)))
 
     tx = lib.get_transcript_info(db)
     bed_lines = generate_bed(s3, s2, hotspots, af_lookup, flossies_lookup, tx)
     print("  {} BED rows".format(len(bed_lines)))
 
     as_file = os.path.join(outdir, "TP53ProvisionalClass.as")
     lib.write_autosql(as_file, AUTOSQL)
     bed = os.path.join(outdir, "TP53ProvisionalClass_{}.bed".format(db))
     with open(bed, 'w') as f:
         f.write("\n".join(bed_lines) + "\n")
     lib.run_sort_bed(bed)
     bb = os.path.join(outdir, "TP53ProvisionalClass{}.bb".format(db.capitalize()))
-    lib.run_bedToBigBed(bed, as_file, bb, lib.chrom_sizes_path(db), "bed9+9")
+    lib.run_bedToBigBed(bed, as_file, bb, lib.chrom_sizes_path(db), "bed9+10")
     print("  wrote {}".format(bb))
 
     from collections import Counter
     cnt = Counter()
     af_cnt = Counter()
     bs2_cnt = 0
     with open(bed) as f:
         for line in f:
             flds = line.split("\t")
             cnt[flds[9]] += 1
             af_cnt[flds[15]] += 1
             if flds[16] == 'BS2':
                 bs2_cnt += 1
     print("  Class distribution:")
     for k, n in cnt.most_common():