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/encode.c src/hg/hgTracks/encode.c
index f731673..32e15a8 100644
--- src/hg/hgTracks/encode.c
+++ src/hg/hgTracks/encode.c
@@ -196,31 +196,31 @@
 if ((filter = bigBedMakeNumberFilter(cart, bbi, tg->tdb, SCORE_FILTER, "0:1000", "score")) != NULL)
     slAddHead(&filters, filter);
 if ((filter = bigBedMakeNumberFilter(cart, bbi, tg->tdb, SIGNAL_FILTER, NULL, "signalValue")) != NULL)
     slAddHead(&filters, filter);
 if ((filter = bigBedMakeNumberFilter(cart, bbi, tg->tdb, PVALUE_FILTER, NULL, "pValue")) != NULL)
     slAddHead(&filters, filter);
 if ((filter = bigBedMakeNumberFilter(cart, bbi, tg->tdb, QVALUE_FILTER, NULL, "qValue")) != NULL)
     slAddHead(&filters, filter);
 if (compositeChildHideEmptySubtracks(cart, tg->tdb, NULL, NULL))
    labelTrackAsFiltered(tg);
 
 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))
         {
         struct encodePeak *peak = encodePeakGeneralLoad(bedRow, pt);
         struct linkedFeatures *lf = lfFromEncodePeak((struct slList *)peak, tg->tdb, scoreMin, scoreMax);
 
         if (lf)
             slAddHead(&lfList, lf);
         else 
             filtered++;
         }
     else
         filtered++;
     }
 if (filtered)
    labelTrackAsFilteredNumber(tg, filtered);