38e7e5b2ba6c75af76567448c241e50771da786d kate Wed Oct 10 14:10:52 2018 -0700 Fix bug in cluster mode introduced by split labels. refs #21917 diff --git src/hg/hgTracks/interactTrack.c src/hg/hgTracks/interactTrack.c index 6994269..62c5fcd 100644 --- src/hg/hgTracks/interactTrack.c +++ src/hg/hgTracks/interactTrack.c @@ -320,36 +320,39 @@ tInfo->offset = interactUiOffset(tg->tdb); tInfo->drawUp = trackDbSettingClosestToHomeOn(tg->tdb, INTERACT_UP); tInfo->clusterMode = interactUiClusterMode(cart, tg->track, tg->tdb); if (!tInfo->clusterMode && !isLinkedFeaturesMode(tg)) { // draw curve display tg->mapsSelf = TRUE; tg->totalHeight = interactTotalHeight; tg->drawLeftLabels = interactNoLeftLabels; tg->freeItems = interactFreeItems; return; } // convert to BEDs for linked feature display -tg->itemName = interactLfLeftEndName; -tg->mapItem = interactLfMapItem; struct interact *inters = tg->items, *inter; struct linkedFeatures *lfs = NULL, *lf; struct hash *intersCluster = hashNew(0); boolean doColor = !tg->colorShades; +if (!tInfo->clusterMode) + { + tg->itemName = interactLfLeftEndName; + tg->mapItem = interactLfMapItem; + } for (inter = inters; inter; inter = inter->next) { if (tInfo->clusterMode) { boolean byTarget = sameString(tInfo->clusterMode, INTERACT_CLUSTER_TARGET); // hash by source or target name char *name = (byTarget ? inter->targetName : inter->sourceName); lf = (struct linkedFeatures *) hashFindVal(intersCluster, name); if (lf) { // add a simple feature for the other end (source or target) to the linked feature struct simpleFeature *sf = NULL; AllocVar(sf); // tweak interact struct for intrachromsomal item to ease next steps