d51631f0fa655b66dfd432cfb3ba95b3b058fa64
braney
  Thu Feb 10 12:00:02 2022 -0800
change sequence logo view back to coming on at codon coloring level
instead of base level since I cannot replicate the bug I was seeing.

diff --git src/hg/hgTracks/wigTrack.c src/hg/hgTracks/wigTrack.c
index 87deb7a..231d4d5 100644
--- src/hg/hgTracks/wigTrack.c
+++ src/hg/hgTracks/wigTrack.c
@@ -1283,35 +1283,39 @@
                 MgFont *font = tl.font;
                 int height = dataValue * scaleFactor;
                 unsigned color = MG_BLACK;
                 if (base == 'a')
                     color = MG_RED;
                 else if (base == 't')
                     color = MG_GREEN;
                 else if (base == 'c')
                     color = MG_BROWN;
                 else if (base == 'g')
                     color = MG_BLUE;
                 if (abs(dataValue) > 0.1)
                     {
                     if (dataValue < 0)
                         {
+                        // useful for debug, fills a box where letter goes
+                        // hvGfxBox(hvg, x, yOff+graphUpperLimit * scaleFactor, width, -height, MG_BLACK);
                         hvGfxTextInBox(hvg, x, yOff+graphUpperLimit * scaleFactor, width - 1, dataValue * scaleFactor,
                             color, font, string);
                         }
                     else
                         {
+                        // useful for debug, fills a box where letter goes
+                        // hvGfxBox(hvg, x, yOff-height+graphUpperLimit * scaleFactor, width, height, MG_BLACK);
                         hvGfxTextInBox(hvg, x, yOff-height+graphUpperLimit * scaleFactor, width - 1, dataValue * scaleFactor,
                             color, font, string);
                         }
                     }
                 if (((boxTop+boxHeight) == 0) && !isnan(dataValue))
                     boxHeight += 1;
                 }
 	    double stackValue = dataValue;
 
 	    if ((yOffsets != NULL) && (numTrack > 0))
 		stackValue += yOffsets[(numTrack-1) *  width + x1];
 	    if (stackValue > graphUpperLimit)
                 {
 		doLine(image, x, yOff, 2, clipColor);
                 }
@@ -1583,32 +1587,32 @@
     }
 
 /* if we're autoscaling and the range is 0 this implies that all values
  * in the given range are the same.  We create a bottom of the scale
  * by subtracting one from the only value.
  * This results in drawing a box that fills the range. */
 if (graphUpperLimit == graphLowerLimit)
     {
     graphLowerLimit = graphUpperLimit - 1;
     }
 graphRange = graphUpperLimit - graphLowerLimit;
 
 wigTrackSetGraphOutputDefault(tg, xOff, yOff, width, hvg);
 
 struct wigMouseOver *mouseOverData = NULL;
-//if (zoomedToCodonLevel && trackDbSettingOn(tg->tdb, "logo"))
-if (zoomedToBaseLevel && trackDbSettingOn(tg->tdb, "logo"))
+if (zoomedToCodonLevel && trackDbSettingOn(tg->tdb, "logo"))
+//if (zoomedToBaseLevel && trackDbSettingOn(tg->tdb, "logo"))
     mouseOverData = logoPreDrawContainer(preContainer,
         preDrawZero, width, tg, hvg, xOff, yOff,
         graphUpperLimit, graphLowerLimit, graphRange, vis, wigCart, seqStart, seqEnd);
 else
     mouseOverData = graphPreDrawContainer(preContainer,
         preDrawZero, width, tg, hvg, xOff, yOff,
         graphUpperLimit, graphLowerLimit, graphRange, vis, wigCart);
 
 drawZeroLine(vis, wigCart->horizontalGrid,
     graphUpperLimit, graphLowerLimit,
     hvg, xOff, yOff, width, tg->lineHeight);
 
 drawArbitraryYLine(vis, (enum wiggleGridOptEnum)wigCart->yLineOnOff,
     graphUpperLimit, graphLowerLimit,
     hvg, xOff, yOff, width, tg->lineHeight, wigCart->yLineMark, graphRange,