3d1baa9a169fe449fc22aa04eaf02a3ae137781d
kent
  Mon Jan 11 15:01:03 2021 -0800
Making transformFunc apply to barCharts.  Adding barChartLimit.

diff --git src/hg/inc/barChartUi.h src/hg/inc/barChartUi.h
index 6723b3e..d1d9b04 100644
--- src/hg/inc/barChartUi.h
+++ src/hg/inc/barChartUi.h
@@ -1,99 +1,107 @@
 /* barChart track UI */
 
 /* Copyright (C) 2015 The Regents of the University of California 
  * See README in this or parent directory for licensing information. */
 #ifndef BAR_CHARTUI_H
 #define BAR_CHARTUI_H
 
 /* Color scheme */
 #define BAR_CHART_COLORS                     "colorScheme"
 #define BAR_CHART_COLORS_RAINBOW             "rainbow"
 
 /* Color scheme from user */
 #define BAR_CHART_COLORS_USER                "user"
 #define BAR_CHART_COLORS_DEFAULT             BAR_CHART_COLORS_USER
 
 /* Data transform */
     // WARNING: this also appears in JS
 #define BAR_CHART_LOG_TRANSFORM              "logTransform"
 #define BAR_CHART_LOG_TRANSFORM_DEFAULT      TRUE
 
 /* Data range and viewing limits */
 #define BAR_CHART_MAX_LIMIT                  "maxLimit"
 #define BAR_CHART_MAX_LIMIT_DEFAULT          10000
     // WARNING: this also appears in JS
 #define BAR_CHART_MAX_VIEW_LIMIT             "maxViewLimit"
 #define BAR_CHART_MAX_VIEW_LIMIT_DEFAULT     50
 
+#define BAR_CHART_LIMIT	"barChartLimit"
+
 /* Category (bar) info */
 #define BAR_CHART_MAX_CATEGORIES        1000
 
 /* Category filter */
 #define BAR_CHART_CATEGORY_SELECT      "categories"
 
 /* Labels for categories */
 #define BAR_CHART_CATEGORY_LABELS        "barChartBars"
 #define BAR_CHART_CATEGORY_LABEL         "barChartLabel"
 #define BAR_CHART_CATEGORY_LABEL_DEFAULT "Categories"
 
 /* Colors for categories */
 #define BAR_CHART_CATEGORY_COLORS        "barChartColors"
 
 /* Labels and colors */
 #define BAR_CHART_CATEGORY_URL          "barChartCategoryUrl"
 
 /* Units to display on bar mouseover */
 #define BAR_CHART_UNIT                   "barChartUnit"
 
 /* Measurement type -- e.g. 'median'. Shown as part of label on details page. Default is "" */
 #define BAR_CHART_METRIC                 "barChartMetric"
 
 /* Suppress whiteout behind graph (to show highlight and blue lines) */
 #define BAR_CHART_NO_WHITEOUT         "noWhiteout"
 #define BAR_CHART_NO_WHITEOUT_DEFAULT        FALSE
 
 /* Support limiting graphs to small or medium hights (bypass semantic zoom) */
 #define BAR_CHART_MAX_GRAPH_SIZE                 "barChartMaxSize"
 #define BAR_CHART_MAX_GRAPH_SIZE_SMALL           "small"
 #define BAR_CHART_MAX_GRAPH_SIZE_MEDIUM          "medium"
 #define BAR_CHART_MAX_GRAPH_SIZE_LARGE           "large"
 #define BAR_CHART_MAX_GRAPH_SIZE_DEFAULT          BAR_CHART_MAX_GRAPH_SIZE_LARGE
 #define BAR_CHART_SIZE_WINDOWS                   "barChartSizeWindows"
 
 void barChartCfgUi(char *database, struct cart *cart, struct trackDb *tdb, char *track, 
                         char *title, boolean boxed);
 /* Bar chart track type */
 
 #define barChartAutoSqlString \
 "table barChartBed\n" \
 "\"BED6+ with additional fields for category count and values\"\n" \
     "(\n" \
     "string chrom;       \"Reference sequence chromosome or scaffold\"\n" \
     "uint   chromStart;  \"Start position in chromosome\"\n" \
     "uint   chromEnd;    \"End position in chromosome\"\n" \
     "string name;        \"Item identifier\"\n" \
     "uint   score;       \"Score from 0-1000; derived from total median all categories (log-transformed and scaled)\"\n" \
     "char[1] strand;     \"+ or - for strand\"\n" \
     "uint expCount;      \"Number of categories\"\n" \
     "float[expCount] expScores; \"Comma separated list of category values\"\n" \
     ")\n"
 
+double barChartCurViewMax(struct cart *cart, char *trackName, struct trackDb *tdb);
+/* Look up max value to scale for this bar chart - consults both cart and trackDb defaults. */
+
+boolean barChartIsLogTransformed(struct cart *cart, char *trackName, struct trackDb *tdb);
+/* Return TRUE if bar chart needs to be log transformed */
+
 double barChartUiMaxMedianScore();
 /* Max median score, for scaling */
 
 struct barChartCategory *barChartUiGetCategories(char *database, struct trackDb *tdb);
 /* Get category colors and descriptions.  
  * If barChartLabel setting contains label list, assign rainbow colors.
  * O/w look for a table naed track+Category, and use labels and colors there */
 
 struct barChartCategory *barChartUiGetCategoryById(int id, char *database, 
                                                         struct trackDb *tdb);
 /* Get category info by id */
 
 char *barChartUiGetCategoryLabelById(int id, char *database, struct trackDb *tdb);
 /* Get label for a category id */
 
 char *barChartUiGetLabel(char *database, struct trackDb *tdb);
 /* Get label for category list */
 
 #endif /* BAR_CHARTUI_H */