86b389767dc3185b8fd02cbe21276d65df7f1667 max Mon Apr 27 05:53:35 2020 -0700 adding multipleListOnlyAnd and multipleListOnlyOr to bigBed handling code. refs #25136 diff --git src/hg/hgTracks/bigBedTrack.c src/hg/hgTracks/bigBedTrack.c index 68e9640..0c68ee7 100644 --- src/hg/hgTracks/bigBedTrack.c +++ src/hg/hgTracks/bigBedTrack.c @@ -140,33 +140,36 @@ filter->comparisonType = COMPARE_WILDCARD; filter->wildCardString = cloneString(value); } return filter; } struct bigBedFilter *bigBedMakeFilterBy(struct cart *cart, struct bbiFile *bbi, struct trackDb *tdb, char *field, struct slName *choices) /* Add a bigBed filter using a trackDb filterBy statement. */ { struct bigBedFilter *filter; char *setting = getFilterType(cart, tdb, field, FILTERBY_SINGLE); AllocVar(filter); filter->fieldNum = getFieldNum(bbi, field); -if (setting && (sameString(setting, FILTERBY_SINGLE_LIST) || sameString(setting, FILTERBY_MULTIPLE_LIST_OR))) +if (setting && (sameString(setting, FILTERBY_SINGLE_LIST) + || sameString(setting, FILTERBY_MULTIPLE_LIST_OR) + || sameString(setting, FILTERBY_MULTIPLE_LIST_ONLY_OR))) filter->comparisonType = COMPARE_HASH_LIST_OR; -else if (setting && sameString(setting, FILTERBY_MULTIPLE_LIST_AND)) +else if (setting && sameString(setting, FILTERBY_MULTIPLE_LIST_AND) + || sameString(setting, FILTERBY_MULTIPLE_LIST_ONLY_AND)) filter->comparisonType = COMPARE_HASH_LIST_AND; else filter->comparisonType = COMPARE_HASH; 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 */ {