6fe8c222be4d3cd6eee020f34d29984164e8626f jnavarr5 Wed Jun 24 11:24:32 2026 -0700 Fix exon length mouseOver on the codon-level path to match the other path: Length moved to the Exon line with a space before bp, refs #37439 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c index b0bcc4872cf..9ade9a18eaa 100644 --- src/hg/hgTracks/simpleTracks.c +++ src/hg/hgTracks/simpleTracks.c @@ -3085,32 +3085,32 @@ lf->mouseOver = NULL; dyStringClear(codonDy); // if you change this text, make sure you also change hgTracks.js:mouseOverToLabel if (!isEmpty(existingText)) dyStringPrintf(codonDy, "<b>Transcript: </b> %s<br>", existingText); int codonHgvsIx = (codon->codonIndex - 1) * 3; if (codonHgvsIx >= 0) { int cStart = codonHgvsIx + 1; int cEnd = codonHgvsIx + 3; int pStart = codonHgvsIx / 3; dyStringPrintf(codonDy, "<b>Codons: </b> c.%d-%d (p.%d-%d)<br>", cStart, cEnd, pStart, pStart+1); } // if you change the text below, also change hgTracks:mouseOverToExon - dyStringPrintf(codonDy, "<b>Strand: </b> %s <b>Length: </b>%dbp<br><b>Exon: </b>%s %d of %d<br>%s", - strandStr, e - s, exonIntronText, exonIntronNumber, numExonIntrons, phaseText); + dyStringPrintf(codonDy, "<b>Strand: </b> %s<br><b>Exon: </b>%s %d of %d <b>Length: </b>%d bp<br>%s", + strandStr, exonIntronText, exonIntronNumber, numExonIntrons, e - s, phaseText); tg->mapItem(tg, hvg, item, codonDy->string, tg->mapItemName(tg, item), sItem, eItem, codonsx, y, w, heightPer); // and restore the mouseOver lf->mouseOver = oldMouseOver; } } } } } else // either an intron, or else an exon zoomed out too far for codons (or no codons) { // if you change this text, make sure you also change hgTracks.js:mouseOverToLabel // if you change the text below, also change hgTracks:mouseOverToExon char *posNote = ""; char *exonOrIntron = "Intron";