262c843cbd3e96a92f7f56bab9054c5fcdf7541c gperez2 Mon Aug 25 09:19:43 2025 -0700 Making updates to the C code related to the bigDbSnp mouseOver, refs #36249 diff --git src/hg/hgTracks/variation.c src/hg/hgTracks/variation.c index b6fa8a222c9..b804da0d58e 100644 --- src/hg/hgTracks/variation.c +++ src/hg/hgTracks/variation.c @@ -2730,32 +2730,39 @@ if (cartUsualBooleanClosestToHome(cart, tdb, FALSE, "label.maf", FALSE)) { bdsAppendMaf(bds, freqSourceIx, dy); } // If the alleles are too long, print the class as a backup. if (tooLong) dyStringPrintf(dy, " %s", bigDbSnpClassToString(bds->class)); if (cartUsualBooleanClosestToHome(cart, tdb, FALSE, "label.func", FALSE)) bdsAppendFunc(bds, dy); return dyStringCannibalize(&dy); } static char *bdsMouseOver(struct bigDbSnp *bds) /* Simulate mouseover with options... */ { -struct dyString *dy = dyStringCreate("%s:", bds->name); + struct dyString *dy = dyStringNew(256); + // dbSNP ID + dyStringPrintf(dy, "<b>dbSNP ID</b>: %s<br>", bds->name); + // Reference/alt alleles + dyStringAppend(dy, "<b>Ref/Alt allele(s)</b>: "); bdsAppendRefAlt(bds, dy); + dyStringAppend(dy, "<br>"); + // Functional effects + dyStringAppend(dy, "<b>Functional effects</b>: "); bdsAppendFunc(bds, dy); return dyStringCannibalize(&dy); } static void paranoidCheckMnvLengths(struct bigDbSnp *bds) /* Make sure an mnv variant's alleles are all the same length. */ { if (bds->class != bigDbSnpMnv) errAbort("paranoidCheckMnvLengths: expected %s class=bigDbSnpMnv=%d, got %d", bds->name, bigDbSnpMnv, bds->class); int refLen = strlen(bds->ref); if (refLen != bds->chromEnd - bds->chromStart) errAbort("paranoidCheckMnvLengths: %s: length of ref '%s' is %d but chromEnd - chromStart is %d", bds->name, bds->ref, refLen, bds->chromEnd - bds->chromStart); int aIx;