d18b793186d29af399659630096721baefbb21b2
braney
  Thu Oct 3 09:54:59 2019 -0700
make default score filters work on bigBeds

diff --git src/hg/hgTracks/bigBedTrack.c src/hg/hgTracks/bigBedTrack.c
index c7406ca..90054b6 100644
--- src/hg/hgTracks/bigBedTrack.c
+++ src/hg/hgTracks/bigBedTrack.c
@@ -190,30 +190,41 @@
 filter->valueHash = newHash(5);
 filter->numValuesInHash = slCount(choices);
 
 for(; choices; choices = choices->next)
     hashStore(filter->valueHash, choices->name);
 
 return filter;
 }
 
 struct bigBedFilter *bigBedBuildFilters(struct cart *cart, struct bbiFile *bbi, struct trackDb *tdb)
 /* Build all the numeric and filterBy filters for a bigBed */
 {
 struct bigBedFilter *filters = NULL, *filter;
 struct slName *filterSettings = trackDbSettingsWildMatch(tdb, FILTER_NUMBER_WILDCARD);
 
+if ((filterSettings == NULL) && !trackDbSettingOn(tdb, "noScoreFilter"))
+    {
+    AllocVar(filter);
+    slAddHead(&filters, filter);
+    filter->fieldNum = 4;
+    filter->comparisonType = COMPARE_MORE;
+    char buffer[2048];
+    safef(buffer, sizeof buffer, "%s.scoreFilter", tdb->track);
+    filter->value1 = cartUsualDouble(cart, buffer, 0.0);
+    }
+
 for(; filterSettings; filterSettings = filterSettings->next)
     {
     char *fieldName = extractFieldName(filterSettings->name, FILTER_NUMBER_NAME);
     if (sameString(fieldName, "noScore"))
         continue;
     if ((filter = bigBedMakeNumberFilter(cart, bbi, tdb, filterSettings->name, NULL, fieldName)) != NULL)
         slAddHead(&filters, filter);
     }
 
 filterSettings = trackDbSettingsWildMatch(tdb, FILTER_TEXT_WILDCARD);
 
 for(; filterSettings; filterSettings = filterSettings->next)
     {
     char *fieldName = extractFieldName(filterSettings->name, FILTER_TEXT_NAME);
     if ((filter = bigBedMakeFilterText(cart, bbi, tdb, filterSettings->name,  fieldName)) != NULL)