fbe150e763738e5715612695e315f6341f604e84 kate Tue Mar 29 17:53:46 2016 -0700 Added option to suppres display of gene model (instead just show a line covering gene extent). Kind of works, but theres a layout problem that causes bottom-most gene to be cut off diff --git src/hg/lib/gtexUi.c src/hg/lib/gtexUi.c index ce8f782..d11b04f 100644 --- src/hg/lib/gtexUi.c +++ src/hg/lib/gtexUi.c @@ -276,83 +276,92 @@ safef(buf, sizeof(buf), "%s%s", cgiMultListShadowPrefix(), name); cgiMakeHiddenVar(buf, "0"); } void gtexGeneUi(struct cart *cart, struct trackDb *tdb, char *track, char *title, boolean boxed) /* GTEx (Genotype Tissue Expression) per gene data */ { if (cartVarExists(cart, "ajax")) isPopup = TRUE; boxed = cfgBeginBoxAndTitle(tdb, boxed, title); printf("\n\n
", isPopup ? 75 : 100, boxed ?" width='100%'":""); char cartVar[1024]; -char *selected = NULL; char buf[512]; +/* Filter on coding genes */ + +printf("
"); +printf("Limit to protein coding genes:\n"); +safef(cartVar, sizeof(cartVar), "%s.%s", track, GTEX_CODING_GENE_FILTER); +boolean isCodingOnly = cartCgiUsualBoolean(cart, cartVar, GTEX_CODING_GENE_FILTER_DEFAULT); +cgiMakeCheckBox(cartVar, isCodingOnly); + +/* Show exons in gene model */ +printf("  Show GTEx gene model\n"); +safef(cartVar, sizeof(cartVar), "%s.%s", track, GTEX_SHOW_EXONS); +boolean showExons = cartCgiUsualBoolean(cart, cartVar, GTEX_SHOW_EXONS_DEFAULT); +cgiMakeCheckBox(cartVar, showExons); +printf("
"); + /* Data transform. When selected, the next control (view limits max) is disabled */ printf("
Log10 transform:\n"); safef(cartVar, sizeof(cartVar), "%s.%s", track, GTEX_LOG_TRANSFORM); boolean isLogTransform = cartCgiUsualBoolean(cart, cartVar, GTEX_LOG_TRANSFORM_DEFAULT); safef(buf, sizeof buf, "onchange='gtexTransformChanged(\"%s\")'", track); cgiMakeCheckBoxJS(cartVar, isLogTransform, buf); /* Viewing limits max. This control is disabled if log transform is selected */ // construct class so JS can toggle safef(buf, sizeof buf, "%sViewLimitsMaxLabel %s", track, isLogTransform ? "disabled" : ""); printf("  View limits maximum:\n", buf); safef(cartVar, sizeof(cartVar), "%s.%s", track, GTEX_MAX_LIMIT); int viewMax = cartCgiUsualInt(cart, cartVar, GTEX_MAX_LIMIT_DEFAULT); cgiMakeIntVarWithExtra(cartVar, viewMax, 4, isLogTransform ? "disabled" : ""); char *version = gtexVersion(tdb->table); printf(" RPKM (range 0-%d)\n", buf, round(gtexMaxMedianScore(version))); printf("
"); -/* Filter on coding genes */ -printf("
Limit to protein coding genes:\n"); -safef(cartVar, sizeof(cartVar), "%s.%s", track, GTEX_CODING_GENE_FILTER); -boolean isCodingOnly = cartCgiUsualBoolean(cart, cartVar, GTEX_CODING_GENE_FILTER_DEFAULT); -cgiMakeCheckBox(cartVar, isCodingOnly); -printf("
"); - +#ifdef COMPARISON /* Sample selection */ printf("
Samples: "); safef(cartVar, sizeof(cartVar), "%s.%s", track, GTEX_SAMPLES); -selected = cartCgiUsualString(cart, cartVar, GTEX_SAMPLES_DEFAULT); +char *selected = cartCgiUsualString(cart, cartVar, GTEX_SAMPLES_DEFAULT); boolean isAllSamples = sameString(selected, GTEX_SAMPLES_ALL); safef(buf, sizeof buf, "onchange='gtexSamplesChanged(\"%s\")'", track); char *command = buf; cgiMakeOnClickRadioButton(cartVar, GTEX_SAMPLES_ALL, isAllSamples, command); printf("All\n"); cgiMakeOnClickRadioButton(cartVar, GTEX_SAMPLES_COMPARE_SEX, !isAllSamples, command); printf("Compare by gender\n"); printf("
"); /* Comparison type. Disabled if All samples selected. */ safef(buf, sizeof buf, "%sComparisonLabel %s", track, isAllSamples ? "disabled" : ""); printf("
Comparison display:", buf); safef(cartVar, sizeof(cartVar), "%s.%s", track, GTEX_COMPARISON_DISPLAY); selected = cartCgiUsualString(cart, cartVar, GTEX_COMPARISON_DEFAULT); boolean isMirror = sameString(selected, GTEX_COMPARISON_MIRROR); cgiMakeRadioButton(cartVar, GTEX_COMPARISON_DIFF, !isMirror); printf("Difference graph", buf); cgiMakeRadioButton(cartVar, GTEX_COMPARISON_MIRROR, isMirror); printf("Two graphs\n", buf); printf("
"); +#endif /* Color scheme */ // We don't need the rainbow color scheme, but may want another (e.g. different // colors for brain tissues), so leaving code in for now. #ifdef COLOR_SCHEME printf("

Tissue colors:\n"); safef(cartVar, sizeof(cartVar), "%s.%s", track, GTEX_COLORS); selected = cartCgiUsualString(cart, cartVar, GTEX_COLORS_DEFAULT); boolean isGtexColors = sameString(selected, GTEX_COLORS_GTEX); cgiMakeRadioButton(cartVar, GTEX_COLORS_GTEX, isGtexColors); printf("GTEx\n"); cgiMakeRadioButton(cartVar, GTEX_COLORS_RAINBOW, !isGtexColors); printf("Rainbow\n"); printf("

"); #endif