c623dfdbd7c8bbb0cf8867194cd7a75c30946b22 braney Wed Oct 10 13:14:17 2012 -0700 look at thickStart and thickEnd when checking to see if a bed is exactly the same. (#7045) diff --git src/lib/basicBed.c src/lib/basicBed.c index 1295c65..f2ba258 100644 --- src/lib/basicBed.c +++ src/lib/basicBed.c @@ -1085,30 +1085,34 @@ /* Otherwise make up a range tree containing regions covered by a, * and figure out how much b overlaps it.. */ struct rbTree *rangeTree = bedToRangeTree(a); int overlap = bedRangeTreeOverlap(b, rangeTree); /* Clean up and return result. */ rangeTreeFree(&rangeTree); return overlap; } boolean bedExactMatch(struct bed *oldBed, struct bed *newBed) /* Return TRUE if it's an exact match. */ { if (oldBed->blockCount != newBed->blockCount) return FALSE; +if (oldBed->thickStart != newBed->thickStart) + return FALSE; +if (oldBed->thickEnd != newBed->thickEnd) + return FALSE; int oldSize = bedTotalBlockSize(oldBed); int newSize = bedTotalBlockSize(newBed); int overlap = bedSameStrandOverlap(oldBed, newBed); return (oldSize == newSize && oldSize == overlap); } boolean bedCompatibleExtension(struct bed *oldBed, struct bed *newBed) /* Return TRUE if newBed is a compatible extension of oldBed, meaning * all internal exons and all introns of old bed are contained, in the * same order in the new bed. */ { /* New bed must have at least as many exons as old bed... */ if (oldBed->blockCount > newBed->blockCount) return FALSE;