erange 4.0a dev release with integrated cistematic
[erange.git] / rnapath / processvelvet.py
index 0af43d10a6aba7c67bf1e7c3cb5b4ad7ca00bcc4..80ed1dd9a48439cfba793668deec2d4419063c90 100644 (file)
@@ -1,7 +1,8 @@
 import sys
 import optparse
+from erange.commoncode import getConfigParser, getConfigOption, getConfigIntOption, getConfigBoolOption
 
-print "%prog: version 1.1"
+print "processvelvet: version 1.2"
 
 def main(argv=None):
     if not argv:
@@ -9,12 +10,7 @@ def main(argv=None):
 
     usage = "usage: python %prog infile outfile [--prefix contigpref] [--filter pslfile] [--min bp] [--keepcov]"
 
-    parser = optparse.OptionParser(usage=usage)
-    parser.add_option("--prefix", dest="contigPrefix")
-    parser.add_option("--filter", dest="filterFileName")
-    parser.add_option("--min", type="int", dest="minSize")
-    parser.add_option("--keepcov", action="store_true", dest="keepCoverage")
-    parser.set_defaults(contigPrefix="chr", filterFileName="", minSize=0, keepCoverage=False)
+    parser = getParser(usage)
     (options, args) = parser.parse_args(argv[1:])
 
     if len(args) < 2:
@@ -27,6 +23,25 @@ def main(argv=None):
     processvelvet(infile, outfile, options.contigPrefix, options.filterFileName, options.minSize, options.keepCoverage)
 
 
+def getParser(usage):
+    parser = optparse.OptionParser(usage=usage)
+    parser.add_option("--prefix", dest="contigPrefix")
+    parser.add_option("--filter", dest="filterFileName")
+    parser.add_option("--min", type="int", dest="minSize")
+    parser.add_option("--keepcov", action="store_true", dest="keepCoverage")
+
+    configParser = getConfigParser()
+    section = "processvelvet"
+    contigPrefix = getConfigOption(configParser, section, "contigPrefix", "chr")
+    filterFileName = getConfigOption(configParser, section, "filterFileName", "")
+    minSize = getConfigIntOption(configParser, section, "minSize", 0)
+    keepCoverage = getConfigBoolOption(configParser, section, "keepCoverage", False)
+
+    parser.set_defaults(contigPrefix=contigPrefix, filterFileName=filterFileName, minSize=minSize, keepCoverage=keepCoverage)
+
+    return parser
+
+
 def processvelvet(inFileName, outFileName, contigPrefix="chr", filterFileName="", minSize=0, keepCoverage=False):
     infile = open(inFileName)
     outfile = open(outFileName, "w")