84c72a0b98ac521ed93dc5df4d321e75f69c1c9b
braney
  Thu Oct 24 18:08:19 2019 -0700
add trackDb setting "autoScale group"

diff --git src/hg/lib/wiggleCart.c src/hg/lib/wiggleCart.c
index ddf8e81..b403e75 100644
--- src/hg/lib/wiggleCart.c
+++ src/hg/lib/wiggleCart.c
@@ -405,45 +405,53 @@
 
 if (optString)
     *optString = cloneString(horizontalGrid);
 
 ret = wiggleGridStringToEnum(horizontalGrid);
 freeMem(horizontalGrid);
 return(ret);
 }       /*      enum wiggleGridOptEnum wigFetchHorizontalGridWithCart() */
 
 enum wiggleScaleOptEnum wigFetchAutoScaleWithCart(struct cart *theCart, struct trackDb *tdb, 
                                                   char *name, char **optString)
 /****** autoScale - off by default ***************************************/
 {
 char *autoString = wiggleScaleEnumToString(wiggleScaleAuto);
 char *manualString = wiggleScaleEnumToString(wiggleScaleManual);
+char *cumulativeString = wiggleScaleEnumToString(wiggleScaleCumulative);
 char *Default = manualString;
 char *notDefault = autoString;
 boolean parentLevel = isNameAtParentLevel(tdb,name);
 char *autoScale = NULL;
 enum wiggleScaleOptEnum ret;
 
 
 autoScale = cloneString(cartOptionalStringClosestToHome(theCart, tdb, parentLevel, AUTOSCALE));
 
 if (!autoScale) /*      if nothing from the Cart, check trackDb/settings */
     {
     /*  It may be the autoScale=on/off situation from custom tracks */
     char * tdbDefault = trackDbSettingClosestToHomeOrDefault(tdb, AUTOSCALE, "NONE");
     if (sameWord(tdbDefault,"on"))
 	autoScale = cloneString(autoString);
+    else if (sameWord(tdbDefault,"group"))
+        {
+        if (parentLevel)
+            autoScale = cloneString(cumulativeString);
+        else
+            autoScale = cloneString(autoString);
+        }
     else if (sameWord(tdbDefault,"off"))
 	autoScale = cloneString(manualString);
     else
 	{
 	if (isCustomTrack(tdb->track))
 	    // backwards defaults for custom tracks, autoScale on
 	    autoScale = wigCheckBinaryOption(tdb,notDefault,Default,
 		AUTOSCALEDEFAULT, AUTOSCALE);
 	else
 	    autoScale = wigCheckBinaryOption(tdb,Default,notDefault,
 		AUTOSCALEDEFAULT, AUTOSCALE);
 	}
     }
 
 if (optString)