834f46edc09af6e2b82bad2021629615a678221b braney Wed Nov 15 11:45:33 2023 -0800 bigBed items that match hgFind.matches automatically pass filters (this time pay attention to bbi->definedFieldCount to make sure there is a name field. diff --git src/hg/hgTracks/bedTrack.c src/hg/hgTracks/bedTrack.c index d097246..bc55890 100644 --- src/hg/hgTracks/bedTrack.c +++ src/hg/hgTracks/bedTrack.c @@ -89,31 +89,31 @@ char *bedRow[bbi->fieldCount]; char startBuf[16], endBuf[16]; struct bigBedFilter *filters = bigBedBuildFilters(cart, bbi, tg->tdb); if (compositeChildHideEmptySubtracks(cart, tg->tdb, NULL, NULL)) labelTrackAsHideEmpty(tg); if (tg->itemName == bedName && !trackDbSettingClosestToHomeOn(tg->tdb, "linkIdInName")) tg->itemName = bigBedItemName; bigBedLabelCalculateFields(cart, tg->tdb, bbi, &tg->labelColumns); unsigned filtered = 0; for (bb = bbList; bb != NULL; bb = bb->next) { bigBedIntervalToRow(bb, chromName, startBuf, endBuf, bedRow, ArraySize(bedRow)); - if (!bigBedFilterInterval(bedRow, filters)) + if (!bigBedFilterInterval(bbi, bedRow, filters)) { filtered++; continue; } bed = loader(bedRow); // FIXME BRANEY: either disable for all tracks with NUM_FIELDS > label field or better, // fix how label is stored so it doesn't trash custom bed field // BRANEY says: the loader should be returning bed structures which include the label field. if (differentString(tg->tdb->type, "bigInteract")) bed->label = bigBedMakeLabel(tg->tdb, tg->labelColumns, bb, chromName); slAddHead(&list, bed); } if (filtered) labelTrackAsFilteredNumber(tg, filtered);