fab970524dae1a360fed5951f1b69c8491cdc352 braney Fri Jul 20 10:01:47 2018 -0700 make bigNarrowPeak support signalFilter on signalValue field. This means that arbitrary number filtering doesn't work on bigNarrowPeak diff --git src/hg/hgTracks/encode.c src/hg/hgTracks/encode.c index 3184b6d..18bc296 100644 --- src/hg/hgTracks/encode.c +++ src/hg/hgTracks/encode.c @@ -178,44 +178,41 @@ { struct linkedFeatures *lfList = NULL; enum encodePeakType pt = 0; int scoreMin = atoi(trackDbSettingClosestToHomeOrDefault(tg->tdb, "scoreMin", "0")); int scoreMax = atoi(trackDbSettingClosestToHomeOrDefault(tg->tdb, "scoreMax", "1000")); pt = narrowPeak; tg->customInt = pt; struct bbiFile *bbi = fetchBbiForTrack(tg); struct lm *lm = lmInit(0); struct bigBedInterval *bb, *bbList = bigBedIntervalQuery(bbi, chromName, winStart, winEnd, 0, lm); int fieldCount = 10; char *bedRow[fieldCount]; char startBuf[16], endBuf[16]; -struct bigBedFilter *filters = bigBedBuildFilters(cart, bbi, tg->tdb) ; -#ifdef NOTNOW struct bigBedFilter *filters = NULL; struct bigBedFilter *filter; if ((filter = bigBedMakeFilter(cart, bbi, tg->tdb, SCORE_FILTER, "0:1000", "score")) != NULL) slAddHead(&filters, filter); if ((filter = bigBedMakeFilter(cart, bbi, tg->tdb, SIGNAL_FILTER, NULL, "signalValue")) != NULL) slAddHead(&filters, filter); if ((filter = bigBedMakeFilter(cart, bbi, tg->tdb, PVALUE_FILTER, NULL, "pValue")) != NULL) slAddHead(&filters, filter); if ((filter = bigBedMakeFilter(cart, bbi, tg->tdb, QVALUE_FILTER, NULL, "qValue")) != NULL) slAddHead(&filters, filter); -#endif for (bb = bbList; bb != NULL; bb = bb->next) { bigBedIntervalToRow(bb, chromName, startBuf, endBuf, bedRow, ArraySize(bedRow)); if (bigBedFilterInterval(bedRow, filters)) { struct encodePeak *peak = encodePeakGeneralLoad(bedRow, pt); struct linkedFeatures *lf = lfFromEncodePeak((struct slList *)peak, tg->tdb, scoreMin, scoreMax); if (lf) slAddHead(&lfList, lf); } } slReverse(&lfList);