erange version 4.0a dev release
[erange.git] / regiontobed.py
index e6ce22a5e170f7a8ae515e349415b6ec2bb630b4..96624114a48545214d7ca3e2de17e960af9ee096 100755 (executable)
@@ -12,9 +12,12 @@ try:
 except:
     pass
 
-import sys, math, optparse
+import sys
+import math
+import optparse
+from commoncode import getConfigParser, getConfigOption, getConfigBoolOption
 
-print "%prog: version 3.1"
+print "regiontobed: version 3.2"
 
 
 def usage():
@@ -27,15 +30,7 @@ def main(argv=None):
 
     usage = __doc__
 
-    parser = optparse.OptionParser(usage=usage)
-    parser.add_option("--color", dest="color")
-    parser.add_option("--score", type="int", dest="scoreField")
-    parser.add_option("--narrowPeak", action="store_true", dest="doNarrow")
-    parser.add_option("--broadPeak", action="store_true", dest="doBroad")
-    parser.add_option("--itemRgb", action="store_true", dest="itemRGB")
-    parser.add_option("--nolabel", action="store_true", dest="noLabel")
-    parser.set_defaults(color="0,0,0", scoreField=None, doNarrow=False,
-                        doBroad=False, itemRGB=False, noLabel=False)
+    parser = getParser(usage)
     (options, args) = parser.parse_args(argv[1:])
 
     if len(args) < 3:
@@ -51,6 +46,30 @@ def main(argv=None):
                 options.itemRGB, options.noLabel)
 
 
+def getParser(usage):
+    parser = optparse.OptionParser(usage=usage)
+    parser.add_option("--color", dest="color")
+    parser.add_option("--score", type="int", dest="scoreField")
+    parser.add_option("--narrowPeak", action="store_true", dest="doNarrow")
+    parser.add_option("--broadPeak", action="store_true", dest="doBroad")
+    parser.add_option("--itemRgb", action="store_true", dest="itemRGB")
+    parser.add_option("--nolabel", action="store_true", dest="noLabel")
+
+    configParser = getConfigParser()
+    section = "regiontobed"
+    color = getConfigOption(configParser, section, "color", "0,0,0")
+    scoreField = getConfigOption(configParser, section, "scoreField", None)
+    doNarrow = getConfigBoolOption(configParser, section, "doNarrow", False)
+    doBroad = getConfigBoolOption(configParser, section, "doBroad", False)
+    itemRGB = getConfigBoolOption(configParser, section, "itemRGB", False)
+    noLabel = getConfigBoolOption(configParser, section, "noLabel", False)
+
+    parser.set_defaults(color=color, scoreField=scoreField, doNarrow=doNarrow,
+                        doBroad=doBroad, itemRGB=itemRGB, noLabel=noLabel)
+
+    return parser
+
+
 def regiontobed(factorlabel, regionFileName, outFileName, color="0,0,0",
                 scoreField=None, doNarrow=False, doBroad=False, itemRGB=False,
                 noLabel=False):