src/hg/lib/wiggleCart.c 1.23

1.23 2009/11/06 22:25:42 braney
add transform function for wiggles
Index: src/hg/lib/wiggleCart.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/wiggleCart.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -b -B -U 4 -r1.22 -r1.23
--- src/hg/lib/wiggleCart.c	18 Sep 2009 20:05:10 -0000	1.22
+++ src/hg/lib/wiggleCart.c	6 Nov 2009 22:25:42 -0000	1.23
@@ -461,8 +461,33 @@
     }
 return(cloneString(ret));
 }
 
+/*	transformFunc - none by default **********************************/
+enum wiggleGridOptEnum wigFetchTransformFuncWithCart(struct cart *theCart,
+    struct trackDb *tdb, char *name,char **optString)
+{
+boolean compositeLevel = isNameAtCompositeLevel(tdb,name);
+char *transformFunc;
+enum wiggleTransformFuncEnum ret = wiggleTransformFuncNone;
+char * tdbDefault = trackDbSettingClosestToHome(tdb, TRANSFORMFUNC);
+
+transformFunc = cloneString(cartOptionalStringClosestToHome(theCart, tdb, compositeLevel, TRANSFORMFUNC));
+
+if ((transformFunc == NULL) && (tdbDefault != NULL))
+    transformFunc = cloneString(tdbDefault);
+
+if (optString && transformFunc)
+    *optString = cloneString(transformFunc);
+
+if (transformFunc)
+    {
+    ret = wiggleTransformFuncToEnum(transformFunc);
+    freeMem(transformFunc);
+    }
+return(ret);
+}
+
 /*	alwaysZero - off by default **********************************/
 enum wiggleGridOptEnum wigFetchAlwaysZeroWithCart(struct cart *theCart,
     struct trackDb *tdb, char *name,char **optString)
 {