2126da777ab1677598eeb020127005477ee51ac9 braney Tue Mar 2 14:49:29 2021 -0800 when counting overlaps for density coverage, make zero width elements cover a single base. diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c index 07d9b09..67ee538 100644 --- src/hg/hgTracks/simpleTracks.c +++ src/hg/hgTracks/simpleTracks.c @@ -4461,30 +4461,32 @@ unsigned *counts = needHugeZeroedMem(size * sizeof(unsigned)); extern int linkedFeaturesItemStart(struct track *tg, void *item); boolean isLinkedFeature = ( track->itemStart == linkedFeaturesItemStart); for (item = items; item; item = item->next) { if (isLinkedFeature) { struct linkedFeatures *lf = (struct linkedFeatures *)item; struct simpleFeature *sf; for (sf = lf->components; sf != NULL; sf = sf->next) { unsigned start = sf->start; unsigned end = sf->end; + if (start == end) + end++; if (positiveRangeIntersection(start, end, winStart, winEnd) <= 0) continue; int x1 = max((int)start - (int)winStart, 0); int x2 = min((int)end - (int)winStart, size); for(; x1 < x2; x1++) counts[x1]++; } } else { unsigned start = track->itemStart(track, item); unsigned end = track->itemEnd(track, item); if (positiveRangeIntersection(start, end, winStart, winEnd) <= 0)