ac2ff1a8119e79a5d98fcd06e7afd8a32c73d473 max Wed Feb 1 08:25:31 2023 -0800 adding query strand and position as color and mouseover to BLAT results tracks, refs #30578 diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index 3be6943..cc7cdd5 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -967,30 +967,40 @@ pslxFileOpen(pslFileName, &qt, &tt, &f); if (qt == gftProt) { setTgDarkLightColors(tg, 0, 80, 150); tg->colorShades = NULL; sizeMul = 3; } tg->itemName = linkedFeaturesName; while ((psl = pslNext(f)) != NULL) { if (sameString(psl->tName, chromName) && psl->tStart < winEnd && psl->tEnd > winStart) { lf = lfFromPslx(psl, sizeMul, TRUE, FALSE, tg); sprintf(buf2, "%s %s", ss, psl->qName); lf->extra = cloneString(buf2); + + // set mouse over and color to indicate query position and strand + char over[256]; + safef(over, sizeof over, "%d-%d of %d bp, strand %c", psl->qStart, psl->qEnd, psl->qSize, psl->strand[0]); + lf->mouseOver = cloneString(over); + if (sameString(psl->strand, "+")) + lf->filterColor = MAKECOLOR_32(0,0,0); + else + lf->filterColor = MAKECOLOR_32(0,0,100); + slAddHead(&lfList, lf); /* Don't free psl -- used in drawing phase by baseColor code. */ } else pslFree(&psl); } slSort(&lfList, linkedFeaturesCmpStart); lineFileClose(&f); tg->items = lfList; } static void addUserSeqBaseAndIndelSettings(struct trackDb *tdb) /* If user sequence is a dna or rna alignment, add settings to enable * base-level differences and indel display. */ {