erange version 4.0a dev release
[erange.git] / makerdsfrombed.py
index 4f38d51ffd2e470d3cf91d9e2d5e38c84f2f6355..83ad010f73aab7e7994f28422c7474d3395a3b2b 100755 (executable)
@@ -10,10 +10,13 @@ try:
 except:
     pass
 
-import sys, string, optparse
-from commoncode import readDataset, writeLog
+import sys
+import string
+import optparse
+from commoncode import writeLog, getConfigParser, getConfigIntOption, getConfigBoolOption
+import ReadDataset
 
-verstring = "%prog: version 2.1" % sys.argv[0]
+verstring = "makerdsfrombed: version 2.2"
 print verstring
 
 
@@ -23,12 +26,7 @@ def main(argv=None):
 
     usage = "usage: python %prog label bedfile outrdsfile [--append] [--index] [propertyName::propertyValue] [--cache numPages]"
 
-    parser = optparse.OptionParser(usage=usage)
-    parser.add_option("--append", action="store_false", dest="init")
-    parser.add_option("--index", action="store_true", dest="doIndex")
-    parser.add_option("--cache", type="int", dest="cachePages")
-    parser.add_option("--RNA", action="store_true", dest="rnaDataType")
-    parser.set_defaults(init=True, rnaDataType=False, doIndex=False, cachePages=100000)
+    parser = makeParser(usage)
     (options, args) = parser.parse_args(argv[1:])
 
     if len(args) < 3:
@@ -54,6 +52,25 @@ def main(argv=None):
     makerdsfrombed(label, filename, outdbname, options.init, dataType, options.doIndex, options.cachePages, propertyList)
 
 
+def makeParser(usage=""):
+    parser = optparse.OptionParser(usage=usage)
+    parser.add_option("--append", action="store_false", dest="init")
+    parser.add_option("--index", action="store_true", dest="doIndex")
+    parser.add_option("--cache", type="int", dest="cachePages")
+    parser.add_option("--RNA", action="store_true", dest="rnaDataType")
+
+    configParser = getConfigParser()
+    section = "makerdsfrombed"
+    init = getConfigBoolOption(configParser, section, "init", True)
+    rnaDataType = getConfigBoolOption(configParser, section, "RNA", False)
+    doIndex = getConfigBoolOption(configParser, section, "doIndex", False)
+    cachePages = getConfigIntOption(configParser, section, "cachePages", 100000)
+
+    parser.set_defaults(init=init, rnaDataType=rnaDataType, doIndex=doIndex, cachePages=cachePages)
+
+    return parser
+
+
 def makerdsfrombed(label, filename, outdbname, init=True, dataType="DNA", doIndex=False, cachePages=100000, propertyList=[]):
     readsize = 0
     padsize = 0
@@ -64,7 +81,7 @@ def makerdsfrombed(label, filename, outdbname, init=True, dataType="DNA", doInde
 
     infile = open(filename,"r")
 
-    rds = readDataset(outdbname, init, dataType, verbose=True)
+    rds = ReadDataset.ReadDataset(outdbname, init, dataType, verbose=True)
     if not init:
         rds.dropIndex()