e302bb6915d4003f97dacfa9637e78dc0fb98303 kent Tue Jan 12 18:44:00 2021 -0800 Fixing logic error I recently introduced. The checkbox by the log-transform on barCharts should behave better now. diff --git src/hg/lib/barChartUi.c src/hg/lib/barChartUi.c index 09fcee6..6e9e885 100644 --- src/hg/lib/barChartUi.c +++ src/hg/lib/barChartUi.c @@ -108,32 +108,34 @@ slReverse(&all); makeGroupCheckboxes(name, NULL, all); puts(""); char buf[512]; safef(buf, sizeof(buf), "%s%s", cgiMultListShadowPrefix(), name); cgiMakeHiddenVar(buf, "0"); } /* Convenience functions for hgTrackUi */ boolean barChartIsLogTransformed(struct cart *cart, char *track, struct trackDb *tdb) /* Return TRUE if bar chart needs to be log transformed */ { char cartVar[1024]; safef(cartVar, sizeof(cartVar), "%s.%s", track, BAR_CHART_LOG_TRANSFORM); +boolean isLog = TRUE; char *trans = trackDbSetting(tdb, "transformFunc"); -boolean isLog = sameWordOk(trans, "LOG"); +if (trans != NULL) + isLog = sameWord(trans, "LOG"); return cartCgiUsualBoolean(cart, cartVar, isLog); } void barChartUiLogTransform(struct cart *cart, char *track, struct trackDb *tdb) /* Checkbox to select log-transformed RPKM values */ /* NOTE: this code from gtexUi.c. Consider sharing. */ { char cartVar[1024]; safef(cartVar, sizeof(cartVar), "%s.%s", track, BAR_CHART_LOG_TRANSFORM); puts("Log10(x+1) transform:\n"); boolean isLogTransform = barChartIsLogTransformed(cart, track, tdb); cgiMakeCheckBoxWithId(cartVar, isLogTransform, cartVar); jsOnEventByIdF("change", cartVar, "barChartUiTransformChanged('%s');", track); } @@ -153,36 +155,37 @@ 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. */ { char cartVar[1024]; safef(cartVar, sizeof(cartVar), "%s.%s", trackName, BAR_CHART_MAX_VIEW_LIMIT); char *limitString = trackDbSettingOrDefault(tdb, BAR_CHART_LIMIT, "50"); double limit = atof(limitString); if (limit <= 0) limit = 0.001; return cartCgiUsualDouble(cart, cartVar, limit); } void barChartUiViewLimits(struct cart *cart, char *track, struct trackDb *tdb) /* Set viewing limits if log transform not checked */ /* NOTE: this code from gtexUi.c. Consider sharing. */ { -char cartVar[1024]; char buf[512]; boolean isLogTransform = barChartIsLogTransformed(cart, track, tdb); safef(buf, sizeof buf, "%sViewLimitsMaxLabel %s", track, isLogTransform ? "disabled" : ""); printf("View limits maximum:\n", buf); double viewMax = barChartCurViewMax(cart, track, tdb); +char cartVar[1024]; +safef(cartVar, sizeof(cartVar), "%s.%s", track, BAR_CHART_MAX_VIEW_LIMIT); cgiMakeDoubleVarWithExtra(cartVar, viewMax, 4, isLogTransform ? "disabled" : ""); char *unit = trackDbSettingClosestToHomeOrDefault(tdb, BAR_CHART_UNIT, ""); printf(" %s (range 0-%d)\n", buf, unit, round(barChartUiMaxMedianScore(tdb))); } // TODO: libify static boolean isUrl(char *url) { return startsWith("http://", url) || startsWith("https://", url) || startsWith("ftp://", url); } static void getCategsFromSettings(char *track, char *labelSetting, char *colorSetting,