03eac611bbafeb3463e1efcea835f85b4198092a
max
Wed May 21 08:02:11 2025 -0700
adapting intron tooltip text for genePred, refs #33749
diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c
index 46dff1be32e..e2759204520 100644
--- src/hg/hgTracks/simpleTracks.c
+++ src/hg/hgTracks/simpleTracks.c
@@ -3061,53 +3061,60 @@
codonex = (codonex > picEnd) ? picEnd : codonex;
int w = codonex - codonsx;
if (w > 0)
{
// temporarily remove the mouseOver from the lf, since linkedFeatureMapItem will always
// prefer a lf->mouseOver over the itemName
char *oldMouseOver = lf->mouseOver;
lf->mouseOver = NULL;
dyStringClear(codonDy);
// if you change this text, make sure you also change hgTracks.js:mouseOverToLabel
if (!isEmpty(existingText))
dyStringPrintf(codonDy, "Transcript: %s
", existingText);
int codonHgvsIx = (codon->codonIndex - 1) * 3;
if (codonHgvsIx >= 0)
- dyStringPrintf(codonDy, "cDNA: c.%d-%d
", codonHgvsIx + 1, codonHgvsIx + 3);
+ dyStringPrintf(codonDy, "Codons: c.%d-%d
", codonHgvsIx + 1, codonHgvsIx + 3);
// if you change the text below, also change hgTracks:mouseOverToExon
dyStringPrintf(codonDy, "Strand: %c
Exon: %s %d of %d
%s",
strandChar, exonIntronText, exonIntronNumber, numExonIntrons, 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)
{
- char *sep = "";
- if (!isEmpty(existingText))
- sep = "
";
-
// if you change this text, make sure you also change hgTracks.js:mouseOverToLabel
// if you change the text below, also change hgTracks:mouseOverToExon
- safef(mouseOverText, sizeof(mouseOverText), "Transcript: %s%scDNA: Zoom in to show position
Strand: %c
Exon: %s %d of %d
%s",
- existingText, sep, strandChar, exonIntronText, exonIntronNumber, numExonIntrons, phaseText);
+ char *posNote = "";
+ char *exonOrIntron = "Intron";
+ if (isExon)
+ {
+ posNote = "Codons: Zoom in to show cDNA position
";
+ exonOrIntron = "Exon";
+ }
+
+
+ safef(mouseOverText, sizeof(mouseOverText), "Transcript: %s
%s"
+ "Strand: %c
%s: %s %d of %d
%s",
+ existingText, posNote, strandChar, exonOrIntron, exonIntronText,
+ exonIntronNumber, numExonIntrons, phaseText);
// temporarily remove the mouseOver from the lf, since linkedFeatureMapItem will always
// prefer a lf->mouseOver over the itemName
char *oldMouseOver = lf->mouseOver;
lf->mouseOver = NULL;
tg->mapItem(tg, hvg, item, mouseOverText, tg->mapItemName(tg, item),
sItem, eItem, sx, y, w, heightPer);
// and restore the old mouseOver
lf->mouseOver = oldMouseOver;
picStart = ex; // prevent pileups. is this right? add 1? does it work?
// JC: Why do we care about pileups? First mapbox drawn wins.
}
}
}