f10c83b2788951052a605dccbca7b13e100f8d30 angie Thu Sep 17 11:07:52 2015 -0700 Oops, forgot to check whether a region search had no results - thx Matt! fixes #16038 diff --git src/lib/annoStreamBigWig.c src/lib/annoStreamBigWig.c index 933c0ba..7a93d1e 100644 --- src/lib/annoStreamBigWig.c +++ src/lib/annoStreamBigWig.c @@ -49,30 +49,33 @@ if (self->intervalQueryLm == NULL) self->intervalQueryLm = lmInit(0); if (sSelf->chrom != NULL) { uint start = sSelf->regionStart; if (minChrom) { if (differentString(minChrom, sSelf->chrom)) errAbort("annoStreamBigWig %s: nextRow minChrom='%s' but region chrom='%s'", sSelf->name, minChrom, sSelf->chrom); if (start < minEnd) start = minEnd; } self->intervalList = bigWigIntervalQuery(self->bbi, sSelf->chrom, start, sSelf->regionEnd, self->intervalQueryLm); + // If there are no intervals in the query region, we're done. + if (self->intervalList == NULL) + self->eof = TRUE; } else { // Genome-wide query: break it into chrom-by-chrom queries. if (self->queryChrom == NULL) self->queryChrom = self->chromList; else self->queryChrom = self->queryChrom->next; if (minChrom != NULL) { // Skip chroms that precede minChrom while (self->queryChrom != NULL && strcmp(self->queryChrom->name, minChrom) < 0) self->queryChrom = self->queryChrom->next; } if (self->queryChrom == NULL)