6bd9e5d7816b693462f8db468253aea8f999fb81 galt Mon Aug 18 04:32:11 2025 -0700 initial check-in minimal bigBedTrack diff --git src/hg/hgTracks/bigBedTrack.c src/hg/hgTracks/bigBedTrack.c index 48a606ab637..7e4aa8d367d 100644 --- src/hg/hgTracks/bigBedTrack.c +++ src/hg/hgTracks/bigBedTrack.c @@ -482,35 +482,42 @@ maxItems = sqlUnsigned(maxItemsStr); set = TRUE; } return maxItems; } struct bigBedInterval *bigBedSelectRangeExt(struct track *track, char *chrom, int start, int end, struct lm *lm, int maxItems) /* Return list of intervals in range. */ { struct bigBedInterval *result = NULL; /* protect against temporary network error */ struct errCatch *errCatch = errCatchNew(); -boolean filtering = FALSE; // for the moment assume we're not filtering + +//GALT DEBUG RESTORE ? boolean filtering = FALSE; // for the moment assume we're not filtering + if (errCatchStart(errCatch)) { struct bbiFile *bbi = fetchBbiForTrack(track); result = bigBedIntervalQuery(bbi, chrom, start, end, bigBedMaxItems() + 1, lm); + /* //GALT DEBUG RESTORE + This causes some real issues for MR, I have a work-around on another branch, + but since hgTracks already has code that works right and sets limitWiggle for tracks automatically, + without this, testing is not helping. + if (slCount(result) > bigBedMaxItems()) { if (filtering) errAbort("Too many items in window to filter.Zoom in or remove filters to view track."); else { // use summary levels if (track->visibility != tvDense) { track->limitedVis = tvFull; track->limitWiggle = TRUE; track->limitedVisSet = TRUE; } else { @@ -524,30 +531,31 @@ char *denseCoverage = trackDbSettingClosestToHome(track->tdb, "denseCoverage"); if (denseCoverage != NULL) { double endVal = atof(denseCoverage); if (endVal <= 0) { AllocVar(track->sumAll); *track->sumAll = bbiTotalSummary(bbi); } } } else freez(&track->summary); } } + */ track->bbiFile = NULL; } errCatchEnd(errCatch); if (errCatch->gotError) { track->networkErrMsg = cloneString(errCatch->message->string); track->drawItems = bigDrawWarning; track->totalHeight = bigWarnTotalHeight; result = NULL; } errCatchFree(&errCatch); return result; }