erange version 4.0a dev release
[erange.git] / getgosig.py
index b04dca6c77f385258dcda2ff4a8657ad59b3eeb0..59d4174a3a32509be91057996746a79f7a8eba41 100755 (executable)
@@ -11,8 +11,10 @@ import sys
 import optparse
 import matplotlib
 from pylab import *
+from commoncode import getConfigParser, getConfigIntOption
 
-print "%prog: version 2.1"
+
+print "getgosig: version 2.2"
 
 def main(argv=None):
     if not argv:
@@ -20,11 +22,7 @@ def main(argv=None):
 
     usage = "usage: python %prog genome outimage gofileroot1 title1 cohortsize1 [gofileroot2 title2 cohortsize2 ...] [--fontsize pts] [--length in] [--width in]"
 
-    parser = optparse.OptionParser(usage=usage)
-    parser.add_option("--fontsize", type="int", dest="fontSize")
-    parser.add_option("--length", type="int", dest="length")
-    parser.add_option("--width", type="int", dest="width")
-    parser.set_defaults(fontSize=5, length=10, width=7)
+    parser = makeParser(usage)
     (options, args) = parser.parse_args(argv[1:])
 
     if len(args) < 5:
@@ -46,6 +44,23 @@ def main(argv=None):
     getgosig(genome, imagename, fileroots, titles, options.fontSize, options.length, options.width)
 
 
+def makeParser(usage=""):
+    parser = optparse.OptionParser(usage=usage)
+    parser.add_option("--fontsize", type="int", dest="fontSize")
+    parser.add_option("--length", type="int", dest="length")
+    parser.add_option("--width", type="int", dest="width")
+
+    configParser = getConfigParser()
+    section = "getgosig"
+    fontSize = getConfigIntOption(configParser, section, "fontSize", 5)
+    length = getConfigIntOption(configParser, section, "length", 10)
+    width = getConfigIntOption(configParser, section, "width", 7)
+
+    parser.set_defaults(fontSize=fontSize, length=length, width=width)
+
+    return parser
+
+
 def getgosig(genome, imagename, fileroots=[], titles=[], fontSize=5, length=10, width=7):
     hg = Genome(genome)
     allgodesc = hg.allGOterms()