2424c1937ada0fcaf1cd250108af48b77a59e021
braney
  Thu May 16 19:46:33 2019 -0700
some tweaks to lollipops

diff --git src/hg/hgTracks/lollyTrack.c src/hg/hgTracks/lollyTrack.c
index 8771ee8..89960ca 100644
--- src/hg/hgTracks/lollyTrack.c
+++ src/hg/hgTracks/lollyTrack.c
@@ -66,30 +66,31 @@
     mapBoxHgcOrHgGene(hvg, winStart, winEnd, xOff, yOff, width,  trackHeight,
                   tg->track, "", buffer, "hgTracks", FALSE, NULL);
     }
 // first draw the lines so they won't overlap any lollies
 for (pop = popList; pop; pop = pop->next)
     {
     int sx = ((pop->start - seqStart) + .5) * scale + xOff; // x coord of center (lower region)
     hvGfxLine(hvg, sx, yOff + trackHeight, sx , yOff+(trackHeight - pop->height), MG_GRAY);
     }
 
 // now draw the sucker part!
 for (pop = popList; pop; pop = pop->next)
     {
     int sx = ((pop->start - seqStart) + .5) * scale + xOff; // x coord of center (lower region)
     hvGfxCircle(hvg, sx, yOff + trackHeight - pop->radius - pop->height, pop->radius, pop->color, TRUE);
+    hvGfxCircle(hvg, sx, yOff + trackHeight - pop->radius - pop->height, pop->radius, MG_BLACK, FALSE);
     if (!noMapBoxes)
         mapBoxHgcOrHgGene(hvg, pop->start, pop->end, sx - pop->radius, yOff + trackHeight - pop->radius - pop->height - pop->radius, 2 * pop->radius,2 * pop->radius,
                           tg->track, pop->name, pop->name, NULL, TRUE, NULL);
     }
 }
 
 void lollyLeftLabels(struct track *tg, int seqStart, int seqEnd,
 	struct hvGfx *hvg, int xOff, int yOff, int width, int height,
 	boolean withCenterLabels, MgFont *font, Color color,
 	enum trackVisibility vis)
 // draw the labels on the left margin
 {
 struct lollyCartOptions *lollyCart = tg->lollyCart;
 int fontHeight = tl.fontHeight+1;
 int centerLabel = (height/2)-(fontHeight/2);
@@ -236,31 +237,31 @@
 
 double range = lollyCart->upperLimit - lollyCart->lowerLimit;
 int usableHeight = trackHeight - 2 * LOLLY_DIAMETER; 
 for(pop = popList; pop; pop = pop->next)
     {
     pop->radius = lollyCart->radius;
     pop->color = MG_RED;
     if (range == 0.0)
         {
         pop->height = usableHeight ;
         pop->color = lollyPalette[0] | 0xff000000;
         }
     else
         {
         pop->height = usableHeight * (pop->val  - lollyCart->lowerLimit) / range + LOLLY_DIAMETER;
-        int colorIndex = 8 * (pop->val  - lollyCart->lowerLimit) / range;
+        int colorIndex = floor(9.99 * (pop->val  - lollyCart->lowerLimit) / range );
         pop->color = lollyPalette[colorIndex] | 0xff000000;
         }
     }
 
 #ifdef NOTUSED   // a method of scaling assuming a sort of normal distribution
 double average = sumData/count;
 double stdDev = calcStdFromSums(sumData, sumSquares, count);
 
 for(pop = popList; pop; pop = pop->next)
     {
     if (pop->val > average + stdDev / 5)
         {
         pop->color = MG_RED;
         pop->radius = 8;
         pop->height = 3 * tl.fontHeight;