src/hg/lib/hui.c 1.246
1.246 2009/11/06 22:25:42 braney
add transform function for wiggles
Index: src/hg/lib/hui.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/hui.c,v
retrieving revision 1.245
retrieving revision 1.246
diff -b -B -U 4 -r1.245 -r1.246
--- src/hg/lib/hui.c 4 Nov 2009 01:12:18 -0000 1.245
+++ src/hg/lib/hui.c 6 Nov 2009 22:25:42 -0000 1.246
@@ -1398,8 +1398,29 @@
cgiMakeDropList(var, wiggleGraphOptions, ArraySize(wiggleGraphOptions),
curVal);
}
+static char *wiggleTransformFuncOptions[] = {
+ "NONE",
+ "LOG"
+ };
+
+enum wiggleTransformFuncEnum wiggleTransformFuncToEnum(char *string)
+/* Convert from string to enum representation. */
+{
+int x = stringIx(string, wiggleTransformFuncOptions);
+if (x < 0)
+ errAbort("hui::wiggleTransformFuncToEnum() - Unknown option %s", string);
+return x;
+}
+
+void wiggleTransformFuncDropDown(char *var, char *curVal)
+/* Make drop down of options. */
+{
+cgiMakeDropList(var, wiggleTransformFuncOptions,
+ ArraySize(wiggleTransformFuncOptions), curVal);
+}
+
static char *wiggleAlwaysZeroOptions[] = {
"OFF",
"ON"
};
@@ -3345,8 +3366,9 @@
double tDbMinY; /* data range limits from trackDb type line */
double tDbMaxY; /* data range limits from trackDb type line */
int defaultHeight; /* pixels per item */
char *horizontalGrid = NULL; /* Grid lines, off by default */
+char *transformFunc = NULL; /* function to transform data points */
char *alwaysZero = NULL; /* Always include 0 in range */
char *lineBar; /* Line or Bar graph */
char *autoScale; /* Auto scaling on or off */
char *windowingFunction; /* Maximum, Mean, or Minimum */
@@ -3364,8 +3386,9 @@
wigFetchMinMaxYWithCart(cart,tdb,name, &minY, &maxY, &tDbMinY, &tDbMaxY, wordCount, words);
freeMem(typeLine);
+(void) wigFetchTransformFuncWithCart(cart,tdb,name, &transformFunc);
(void) wigFetchAlwaysZeroWithCart(cart,tdb,name, &alwaysZero);
(void) wigFetchHorizontalGridWithCart(cart,tdb,name, &horizontalGrid);
(void) wigFetchAutoScaleWithCart(cart,tdb,name, &autoScale);
(void) wigFetchGraphTypeWithCart(cart,tdb,name, &lineBar);
@@ -3410,8 +3433,13 @@
printf("Always include zero: ");
wiggleAlwaysZeroDropDown(option, alwaysZero);
puts("</TD></TR>");
+printf("<TR valign=center><th align=right>Transform function:</th><td align=left>");
+snprintf(option, sizeof(option), "%s.%s", name, TRANSFORMFUNC);
+printf("Transform data points by: ");
+wiggleTransformFuncDropDown(option, transformFunc);
+
printf("<TR valign=center><th align=right>Windowing function:</th><td align=left>");
snprintf(option, sizeof(option), "%s.%s", name, WINDOWINGFUNCTION );
wiggleWindowingDropDown(option, windowingFunction);