erange version 4.0a dev release
[erange.git] / buildMatrix.py
index 361f56e20d2e23d19606a4958ef955479d3fc135..c7b6dd0c801025552c365003cf9067b2550c6b0c 100755 (executable)
@@ -4,10 +4,12 @@
 #
 #  Created by Ali Mortazavi on 3/6/09.
 #
-import sys, string, optparse
-from commoncode import writeLog
+import sys
+import string
+import optparse
+from commoncode import writeLog, getConfigParser, getConfigOption, getConfigBoolOption
 
-versionString = "%prog: version 1.3"
+versionString = "buildMatrix: version 1.5"
 print versionString
 
 
@@ -17,11 +19,7 @@ def main(argv=None):
 
     usage = "usage: python %prog matrix.step.N-1 data.part matrix.step.N [--rescale] [--truncate maxRPKM] [--log altlogfile]"
 
-    parser = optparse.OptionParser(usage=usage)
-    parser.add_option("--rescale", action="store_true", dest="rescale")
-    parser.add_option("--truncate", type="int", dest="maxRPKM")
-    parser.add_option("--log", dest="logfilename")
-    parser.set_defaults(rescale=False, maxRPKM=None, logfilename="buildMatrix.log")
+    parser = makeParser(usage)
     (options, args) = parser.parse_args(argv[1:])
 
     if len(args) < 3:
@@ -43,6 +41,23 @@ def main(argv=None):
                 options.rescale, options.logfilename)
 
 
+def makeParser(usage=""):
+    parser = optparse.OptionParser(usage=usage)
+    parser.add_option("--rescale", action="store_true", dest="rescale")
+    parser.add_option("--truncate", type="int", dest="maxRPKM")
+    parser.add_option("--log", dest="logfilename")
+
+    configParser = getConfigParser()
+    section = "buildMatrix"
+    rescale = getConfigBoolOption(configParser, section, "rescale", False)
+    maxRPKM = getConfigOption(configParser, section, "maxRPKM", None)
+    logfilename = getConfigOption(configParser, section, "logfilename", "buildMatrix.log")
+
+    parser.set_defaults(rescale=rescale, maxRPKM=maxRPKM, logfilename=logfilename)
+
+    return parser
+
+
 def buildMatrix(inFileName, colfilename, outfilename, truncateRPKM,
                 maxRPKM=100000000, rescale=False, logfilename="buildMatrix.log"):