14b9ad8df1f99ac5300f52cda10ce8066c9289c6 braney Wed Dec 17 12:40:40 2025 -0800 use the bigBed header for the number of bed fields if it is NOT specified in trackDb, otherwise use the number in the trackDb type. diff --git src/hg/hgc/bigBedClick.c src/hg/hgc/bigBedClick.c index 2638b8dd9f9..f167a70a88b 100644 --- src/hg/hgc/bigBedClick.c +++ src/hg/hgc/bigBedClick.c @@ -387,31 +387,31 @@ if (quickLiftFile) bbList = quickLiftGetIntervals(quickLiftFile, bbi, chrom, ivStart, ivEnd, &chainHash); else bbList = bigBedIntervalQuery(bbi, chrom, ivStart, ivEnd, 0, lm); /* Get bedSize if it's not already defined. */ if (bedSize != 0) // defined in trackDb { // check to make sure trackDb number is the same as the number // of defined fields if (bedSize != bbi->definedFieldCount) warn("trackDb for %s has type with %d bed fields but the bigBed file %s has %d bed fields. Fields may be printed with the wrong contents.", tdb->track, bedSize, fileName, bbi->definedFieldCount); } boolean bigBedOnePath = cfgOptionBooleanDefault("bigBedOnePath", FALSE); -if (bigBedOnePath || (bedSize == 0)) +if (bigBedOnePath && (bedSize == 0)) bedSize = bbi->definedFieldCount; char *scoreFilter = cartOrTdbString(cart, tdb, "scoreFilter", NULL); int minScore = 0; if (scoreFilter) minScore = atoi(scoreFilter); /* Find particular item in list - matching start, and item if possible. */ boolean found = FALSE; boolean firstTime = TRUE; struct bigBedInterval *bb; for (bb = bbList; bb != NULL; bb = bb->next) { if (bedSize > 3) {