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)