2fa680cd690905a0010a020adfcf88d09c6aac18 kate Sun Oct 4 14:57:32 2015 -0700 Add log transform option to display config. refs #15645 diff --git src/hg/lib/hui.c src/hg/lib/hui.c index 4a3b41b..907afe7 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -6704,62 +6704,69 @@ baseColorDrawOptDropDown(cart, tdb); indelShowOptionsWithNameExt(cart, tdb, name, "LRG transcript sequence", FALSE, FALSE); cfgEndBox(boxed); } void gtexGeneUi(struct cart *cart, struct trackDb *tdb, char *name, char *title, boolean boxed) /* GTEx (Genotype Tissue Expression) per gene data */ { boxed = cfgBeginBoxAndTitle(tdb, boxed, title); printf("<TABLE%s><TR><TD>",boxed?" width='100%'":""); char cartVarName[1024]; // Color scheme printf("<B>Tissue color scheme:</B>\n"); -safef(cartVarName, sizeof(cartVarName), "%s." GTEX_COLORS, name); +safef(cartVarName, sizeof(cartVarName), "%s.%s", name, GTEX_COLORS); char *selected = cartCgiUsualString(cart, cartVarName, GTEX_COLORS_DEFAULT); boolean isGtexColors = sameString(selected, GTEX_COLORS_GTEX); cgiMakeRadioButton(cartVarName, GTEX_COLORS_GTEX, isGtexColors); printf("GTEx\n"); cgiMakeRadioButton(cartVarName, GTEX_COLORS_RAINBOW, !isGtexColors); printf("rainbow\n"); +// Data transform +printf("<p><B>Log transform:</B>\n"); +safef(cartVarName, sizeof(cartVarName), "%s.%s", name, GTEX_LOG_TRANSFORM); +boolean isLogTransform = cartCgiUsualBoolean(cart, cartVarName, GTEX_LOG_TRANSFORM_DEFAULT); +cgiMakeCheckBox(cartVarName, isLogTransform); +printf("</p>\n"); + // Graph type printf("<p><b>Expression graph:</b><br>\n"); -safef(cartVarName, sizeof(cartVarName), "%s." GTEX_GRAPH, name); +safef(cartVarName, sizeof(cartVarName), "%s.%s", name, GTEX_GRAPH); char *graphType = cartCgiUsualString(cart, cartVarName, GTEX_GRAPH_DEFAULT); boolean isRaw = differentString(graphType, GTEX_GRAPH_NORMAL); printf(" \n"); cgiMakeRadioButton(cartVarName, GTEX_GRAPH_RAW, isRaw); printf("raw<br>\n"); boolean isSex = sameString(graphType, GTEX_GRAPH_SEX); printf(" \n"); printf(" \n"); cgiMakeRadioButton(cartVarName, GTEX_GRAPH_SEX, isSex); printf("compare by sex<br>\n"); boolean isAge = sameString(graphType, GTEX_GRAPH_AGE); printf(" \n"); printf(" \n"); cgiMakeRadioButton(cartVarName, GTEX_GRAPH_SEX, isAge); printf("compare by age\n"); char cartVarAge[1024]; -safef(cartVarAge, sizeof(cartVarAge), "%s." GTEX_GRAPH_AGE_YEARS, name); +safef(cartVarAge, sizeof(cartVarAge), "%s.%s", name, GTEX_GRAPH_AGE_YEARS); cgiMakeIntVarInRange(cartVarAge, GTEX_GRAPH_AGE_DEFAULT, "age range is 20-70 years", 2, "20", "70"); printf("years<br>\n"); printf(" \n"); cgiMakeRadioButton(cartVarName, GTEX_GRAPH_NORMAL, !isRaw); printf("normalized\n"); cfgEndBox(boxed); } struct trackDb *rFindView(struct trackDb *forest, char *view) // Return the trackDb on the list that matches the view tag. Prefers ancestors before decendents { struct trackDb *tdb; for (tdb = forest; tdb != NULL; tdb = tdb->next)