56f851c10e07b46bb5c033f871aa7885743739b7 kate Thu Oct 3 15:33:01 2019 -0700 Fix bug with bigNarrowPeak packability. refs #24249 diff --git src/hg/hgTracks/bedTrack.c src/hg/hgTracks/bedTrack.c index e399778..babf553 100644 --- src/hg/hgTracks/bedTrack.c +++ src/hg/hgTracks/bedTrack.c @@ -80,32 +80,33 @@ list = bedTabixReadBeds(btf, chromName, winStart, winEnd, loader); bedTabixFileClose(&btf); } else if (tg->isBigBed) { // avoid opening an unneeded db connection for bigBed; required not to use mysql for parallel fetch tracks struct lm *lm = lmInit(0); struct bigBedInterval *bb, *bbList = bigBedSelectRange(tg, chromName, winStart, winEnd, lm); struct bbiFile *bbi = fetchBbiForTrack(tg); char *bedRow[bbi->fieldCount]; char startBuf[16], endBuf[16]; struct bigBedFilter *filters = bigBedBuildFilters(cart, bbi, tg->tdb); if (filters) labelTrackAsFiltered(tg); + // also label parent composite track filtered struct trackDb *parentTdb = tdbGetComposite(tg->tdb); - if (parentTdb && compositeHideEmptySubtracks(cart, parentTdb, NULL, NULL)) + if (parentTdb && (filters || compositeHideEmptySubtracks(cart, parentTdb, NULL, NULL))) parentTdb->longLabel = labelAsFiltered(parentTdb->longLabel); if (tg->itemName == bedName && !trackDbSettingClosestToHomeOn(tg->tdb, "linkIdInName")) tg->itemName = bigBedItemName; bigBedLabelCalculateFields(cart, tg->tdb, bbi, &tg->labelColumns); for (bb = bbList; bb != NULL; bb = bb->next) { bigBedIntervalToRow(bb, chromName, startBuf, endBuf, bedRow, ArraySize(bedRow)); if (!bigBedFilterInterval(bedRow, filters)) continue; bed = loader(bedRow); // FIXME BRANEY: either disable for all tracks with NUM_FIELDS > label field or better, // fix how label is stored so it doesn't trash custom bed field // BRANEY says: the loader should be returning bed structures which include the label field.