first pass cleanup of cistematic/genomes; change bamPreprocessing
[erange.git] / rnaEditing.py
index 30de5a33da307441c684ebaa41aa5f3152962f89..f6f714a03c35b9e91117e34bad9329af25c7b990 100644 (file)
@@ -1,11 +1,7 @@
-"""
-Based on shell script provided by Ali.
-"""
-
 import sys
 import optparse
-from Erange import chksnp, getSNPs, getSNPGeneInfo, analyzego, getNovelSNPs, makeSNPtrack, rnaAToIFilter
-from Erange.commoncode import countDuplicatesInList
+import chksnp, getSNPs, getSNPGeneInfo, analyzego, getNovelSNPs, makeSNPtrack, rnaAToIFilter
+from commoncode import countDuplicatesInList, getConfigParser, getConfigOption
 
 
 def main(argv=None):
@@ -14,14 +10,7 @@ def main(argv=None):
 
     usage = "usage: python %prog dbfile snpsfile genome rpkmfile [options]"
 
-    parser = optparse.OptionParser(usage=usage)
-    parser.add_option("--goprefix", dest="prefix")
-    parser.add_option("--novelsnp", dest="novelsnpoutfilename")
-    parser.add_option("--bedfile", dest="bedoutfilename")
-    parser.add_option("--cache", type="int", dest="cachePages")
-    parser.add_option("--snpDB", action="append", dest="snpDBList",
-                      help="additional snp db files to check will be searched in order given")
-    parser.set_defaults(prefix=None, novelsnpoutfilename=None, bedoutfilename=None, cachePages=None, snpDBList=[])
+    parser = getParser(usage)
     (options, args) = parser.parse_args(argv[1:])
 
     if len(args) < 4:
@@ -33,6 +22,32 @@ def main(argv=None):
     genome = args[2]
     rpkmfilename = args[3]
 
+    rnaEditing(dbfile, hitfile, genome, rpkmfilename, options)
+
+
+def getParser(usage):
+    parser = optparse.OptionParser(usage=usage)
+    parser.add_option("--goprefix", dest="prefix")
+    parser.add_option("--novelsnp", dest="novelsnpoutfilename")
+    parser.add_option("--bedfile", dest="bedoutfilename")
+    parser.add_option("--cache", type="int", dest="cachePages")
+    parser.add_option("--snpDB", action="append", dest="snpDBList",
+                      help="additional snp db files to check will be searched in order given")
+
+    configParser = getConfigParser()
+    section = "rnaEditing"
+    prefix = getConfigOption(configParser, section, "prefix", None)
+    novelsnpoutfilename = getConfigOption(configParser, section, "novelsnpoutfilename", None)
+    bedoutfilename = getConfigOption(configParser, section, "bedoutfilename", None)
+    cachePages = getConfigOption(configParser, section, "cachePages", None)
+
+    parser.set_defaults(prefix=prefix, novelsnpoutfilename=novelsnpoutfilename, bedoutfilename=bedoutfilename,
+                        cachePages=cachePages, snpDBList=[])
+
+    return parser
+
+
+def rnaEditing(dbfile, hitfile, genome, rpkmfilename, options):
     if options.cachePages is not None:
         doCache = True
     else: