2b9d8d6fe4ad7a276ec8294c6f615a5c2ed2ca79 max Thu Nov 12 02:07:14 2020 -0800 adding accession and strand to exon mouseover, refs #24395 diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c index cfc9c07..3569d15 100644 --- src/hg/hgTracks/simpleTracks.c +++ src/hg/hgTracks/simpleTracks.c @@ -2681,36 +2681,44 @@ int w = ex - sx; int exonIntronNumber; char *exonIntronText; int numExonIntrons = numExons; if (isExon) { exonIntronText = exonText; } else { exonIntronText = intronText; --numExonIntrons; // introns are one fewer than exons } - if (!revStrand) + char strandChar; + if (!revStrand) { exonIntronNumber = exonIx; - else + strandChar = '+'; + } + else { exonIntronNumber = numExonIntrons-exonIx+1; + strandChar = '-'; + } - safef(mouseOverText, sizeof(mouseOverText), "%s (%d/%d)", exonIntronText, exonIntronNumber, numExonIntrons); + if (!isEmpty(lf->name)) + safef(mouseOverText, sizeof(mouseOverText), "%s, strand %c, %s %d of %d", lf->name, strandChar, exonIntronText, exonIntronNumber, numExonIntrons); + else + safef(mouseOverText, sizeof(mouseOverText), "strand %c, %s %d of %d", strandChar, exonIntronText, exonIntronNumber, numExonIntrons); if (w > 0) // draw exon or intron if width is greater than 0 { tg->mapItem(tg, hvg, item, mouseOverText, tg->mapItemName(tg, item), sItem, eItem, sx, y, w, heightPer); picStart = ex; // prevent pileups. is this right? add 1? does it work? } } } if (isExon) { eLast = e; ref = ref->next; if (!ref)