rewrite of findall.py and MakeRdsFromBam to fix bugs resulting from poor initial...
[erange.git] / checkrmask.py
index 9f58983195902265c5981d720487a4283d1ca870..457e4c1f9ebedb7b4daf6137f9f8b850635afb28 100755 (executable)
@@ -4,12 +4,14 @@ try:
 except:
     pass
 
-import sqlite3 as sqlite
-import sys, string, optparse
+import sys
+import string
+import optparse
 import os.path
-from commoncode import writeLog
+import sqlite3 as sqlite
+from commoncode import writeLog, getConfigParser, getConfigOption, getConfigIntOption
 
-versionString = "%prog: version 3.5"
+versionString = "checkrmask: version 3.6"
 print versionString
 
 
@@ -19,11 +21,7 @@ def main(argv=None):
 
     usage = "usage: python %prog dbfile infile outfile goodfile [--startField field] [--cache numPages] [--log logfile]"
 
-    parser = optparse.OptionParser(usage=usage)
-    parser.add_option("--cache", type="int", dest="cachePages")
-    parser.add_option("--startField", type="int", dest="startField")
-    parser.add_option("--log", dest="logfilename")
-    parser.set_defaults(cachePages=500000, startField=0, logfilename=None)
+    parser = makeParser(usage)
     (options, args) = parser.parse_args(argv[1:])
 
     if len(args) < 4:
@@ -38,6 +36,23 @@ def main(argv=None):
     checkrmask(dbfile, filename, outfile, goodfile, options.startField, options.cachePages, options.logfilename)
 
 
+def makeParser(usage=""):
+    parser = optparse.OptionParser(usage=usage)
+    parser.add_option("--cache", type="int", dest="cachePages")
+    parser.add_option("--startField", type="int", dest="startField")
+    parser.add_option("--log", dest="logfilename")
+
+    configParser = getConfigParser()
+    section = "checkrmask"
+    cachePages = getConfigIntOption(configParser, section, "cachePages", 500000)
+    startField = getConfigIntOption(configParser, section, "startField", 0)
+    logfilename = getConfigOption(configParser, section, "logfilename", None)
+
+    parser.set_defaults(cachePages=cachePages, startField=startField, logfilename=logfilename)
+
+    return parser
+
+
 def checkrmask(dbfile, filename, outFileName, goodFileName, startField=0, cachePages=500000, logfilename=None):
 
     outfile = open(outFileName, "w")
@@ -177,7 +192,7 @@ def checkrmask(dbfile, filename, outFileName, goodFileName, startField=0, cacheP
             outfile.write(outline + "\n")
 
         if len(finalresults) == 0:
-            outline = "%s\tNR\tNR\t%0.00" % line
+            outline = "%s\tNR\tNR\t0.00" % line
             print outline
             outfile.write(outline + "\n")
 
@@ -186,4 +201,4 @@ def checkrmask(dbfile, filename, outFileName, goodFileName, startField=0, cacheP
 
 
 if __name__ == "__main__":
-    main(sys.argv)
\ No newline at end of file
+    main(sys.argv)