erange version 4.0a dev release
[erange.git] / makerdsfromblat.py
index f92d5f512c43f18d13b709241f991b4d985fd38b..37576ca867fb2283f9a5d497c0bbca7d06191f7e 100755 (executable)
@@ -11,10 +11,13 @@ try:
 except:
     pass
 
-import sys, string, optparse
-from commoncode import readDataset, writeLog
+import sys
+import string
+import optparse
+from commoncode import writeLog, getConfigParser, getConfigOption, getConfigIntOption, getConfigBoolOption
+import ReadDataset
 
-verstring = "%prog: version 3.9"
+verstring = "makerdsfromblat: version 3.10"
 print verstring
 
 def main(argv=None):
@@ -23,19 +26,7 @@ def main(argv=None):
 
     usage = "usage: python %prog label infilename outrdsfile [propertyName::propertyValue] [options]"
 
-    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("--rawreadID", action="store_false", dest="trimReadID")
-    parser.add_option("--forceRNA", action="store_true", dest="forceRNA")
-    parser.add_option("--flag", action="store_true", dest="flagReads")
-    parser.add_option("--strict", type="int", dest="minSpliceLength",
-                      help="min required bp on each side of a splice")
-    parser.add_option("--spliceonly", action="store_true", dest="spliceOnly")
-    parser.add_option("--verbose", action="store_true", dest="verbose")
-    parser.add_option("--cache", type="int", dest="cachePages")
-    parser.add_option("--RNA", dest="geneDataFileName")
-    parser.set_defaults(init=True, doIndex=False, trimReadID=True, minSpliceLength=0, forceRNA=False, flagReads=False, spliceOnly=False, verbose=False, cachePages=100000, geneDataFileName="")
+    parser = getParser(usage)
     (options, args) = parser.parse_args(argv[1:])
 
     if len(args) < 3:
@@ -67,6 +58,40 @@ def main(argv=None):
                    options.cachePages, options.geneDataFileName, propertyList)
 
 
+def getParser(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("--rawreadID", action="store_false", dest="trimReadID")
+    parser.add_option("--forceRNA", action="store_true", dest="forceRNA")
+    parser.add_option("--flag", action="store_true", dest="flagReads")
+    parser.add_option("--strict", type="int", dest="minSpliceLength",
+                      help="min required bp on each side of a splice")
+    parser.add_option("--spliceonly", action="store_true", dest="spliceOnly")
+    parser.add_option("--verbose", action="store_true", dest="verbose")
+    parser.add_option("--cache", type="int", dest="cachePages")
+    parser.add_option("--RNA", dest="geneDataFileName")
+
+    configParser = getConfigParser()
+    section = "makerdsfromblat"
+    init = getConfigBoolOption(configParser, section, "init", True)
+    doIndex = getConfigBoolOption(configParser, section, "doIndex", False)
+    trimReadID = getConfigBoolOption(configParser, section, "trimReadID", True)
+    minSpliceLength = getConfigIntOption(configParser, section, "minSpliceLength", 0)
+    forceRNA = getConfigBoolOption(configParser, section, "forceRNA", False)
+    flagReads = getConfigBoolOption(configParser, section, "flagReads", False)
+    spliceOnly = getConfigBoolOption(configParser, section, "spliceOnly", False)
+    verbose = getConfigBoolOption(configParser, section, "verbose", False)
+    cachePages = getConfigIntOption(configParser, section, "cachePages", 100000)
+    geneDataFileName = getConfigOption(configParser, section, "geneDataFileName", "")
+
+    parser.set_defaults(init=init, doIndex=doIndex, trimReadID=trimReadID, minSpliceLength=minSpliceLength, forceRNA=forceRNA,
+                        flagReads=flagReads, spliceOnly=spliceOnly, verbose=verbose, cachePages=cachePages,
+                        geneDataFileName=geneDataFileName)
+
+    return parser
+
+
 def makerdsfromblat(label, filename, outdbname, dataType="DNA", init=True,
                     doIndex=False,trimReadID=True, minSpliceLength=0,
                     forceRNA=False, theFlag="", spliceOnly=False,
@@ -115,7 +140,7 @@ def makerdsfromblat(label, filename, outdbname, dataType="DNA", init=True,
 
         genedatafile.close()
 
-    rds = readDataset(outdbname, init, dataType, verbose=True)
+    rds = ReadDataset.ReadDataset(outdbname, init, dataType, verbose=True)
 
     #check that our cacheSize is better than the dataset's default cache size
     defaultCacheSize = rds.getDefaultCacheSize()