erange version 4.0a dev release
[erange.git] / makerdsfrombowtie.py
index 3534a8827c9538fdc05ba193cd792ef7bf5aab72..14be260cdf0721b0514098a22d3a07423756c41b 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, getConfigBoolOption, getConfigIntOption
+import ReadDataset
 
-verstring = "%prog: version 4.1"
+verstring = "makerdsfrombowtie: version 4.2"
 print verstring
 
 def main(argv=None):
@@ -23,21 +26,7 @@ def main(argv=None):
 
     usage = "usage: python %prog label infilename outrdsfile [propertyName::propertyValue] [options]"
 
-    parser = optparse.OptionParser(usage=usage)
-    parser.add_option("--RNA", dest="genedatafilename")
-    parser.add_option("--append", action="store_false", dest="init")
-    parser.add_option("--index", action="store_true", dest="doIndex")
-    parser.add_option("--spacer", type="int", dest="spacer")
-    parser.add_option("--rawreadID", action="store_false", dest="trimReadID")
-    parser.add_option("--forcepair", type="int", dest="forceID")
-    parser.add_option("--flip", action="store_true", dest="flip")
-    parser.add_option("--verbose", action="store_true", dest="verbose")
-    parser.add_option("--strip", action="store_true", dest="stripSpace")
-    parser.add_option("--cache", type="int", dest="cachePages")
-    parser.set_defaults(genedatafilename=None, init=True, doIndex=False, spacer=2,
-                        trimReadID=True, forceID=None, flip=False, verbose=False,
-                        stripSpace=False, cachePages=100000)
-
+    parser = getParser(usage)
     (options, args) = parser.parse_args(argv[1:])
 
     if len(args) < 3:
@@ -60,6 +49,39 @@ def main(argv=None):
                       propertyList)
 
 
+def getParser(usage):
+    parser = optparse.OptionParser(usage=usage)
+    parser.add_option("--RNA", dest="genedatafilename")
+    parser.add_option("--append", action="store_false", dest="init")
+    parser.add_option("--index", action="store_true", dest="doIndex")
+    parser.add_option("--spacer", type="int", dest="spacer")
+    parser.add_option("--rawreadID", action="store_false", dest="trimReadID")
+    parser.add_option("--forcepair", type="int", dest="forceID")
+    parser.add_option("--flip", action="store_true", dest="flip")
+    parser.add_option("--verbose", action="store_true", dest="verbose")
+    parser.add_option("--strip", action="store_true", dest="stripSpace")
+    parser.add_option("--cache", type="int", dest="cachePages")
+
+    configParser = getConfigParser()
+    section = "makerdsfrom bowtie"
+    genedatafilename = getConfigOption(configParser, section, "genedatafilename", None)
+    init = getConfigBoolOption(configParser, section, "init", True)
+    doIndex = getConfigBoolOption(configParser, section, "doIndex", False)
+    spacer = getConfigIntOption(configParser, section, "spacer", 2)
+    trimReadID = getConfigBoolOption(configParser, section, "trimReadID", True)
+    forceID = getConfigOption(configParser, section, "forceID", None)
+    flip = getConfigBoolOption(configParser, section, "flip", False)
+    verbose = getConfigBoolOption(configParser, section, "verbose", False)
+    stripSpace = getConfigBoolOption(configParser, section, "stripSpace", False)
+    cachePages = getConfigIntOption(configParser, section, "cachePages", 100000)
+
+    parser.set_defaults(genedatafilename=genedatafilename, init=init, doIndex=doIndex, spacer=spacer,
+                        trimReadID=trimReadID, forceID=forceID, flip=flip, verbose=verbose,
+                        stripSpace=stripSpace, cachePages=cachePages)
+
+    return parser
+
+
 def makerdsfrombowtie(label, filename, outdbname, genedatafilename=None, init=True,
                       doIndex=False, spacer=2, trimReadID=True, forceID=None,
                       flip=False, verbose=False, stripSpace=False, cachePages=100000,
@@ -112,7 +134,7 @@ def makerdsfrombowtie(label, filename, outdbname, genedatafilename=None, init=Tr
 
         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()