erange version 4.0a dev release
[erange.git] / intersects.py
index 67e7d3506bccfbc73102c82de849d0eb8553f3fa..b8846cce1547b8d33caeefd9de39adc8308d708d 100755 (executable)
@@ -3,9 +3,11 @@
 #  ENRAGE
 #
 
-import sys, optparse
+import sys
+import optparse
+from commoncode import getConfigParser, getConfigOption, getConfigBoolOption, getConfigIntOption
 
-print 'version 2.0'
+print "intersects: version 2.1"
 
 def main(argv=None):
     if not argv:
@@ -13,16 +15,7 @@ def main(argv=None):
 
     usage = "usage: python %prog infile1 infile2 outfile [options]"
 
-    parser = optparse.OptionParser(usage=usage)
-    parser.add_option("-d", dest="delimiter")
-    parser.add_option("--file3", dest="infile3")
-    parser.add_option("-1", type="int", dest="matchfield1")
-    parser.add_option("-2", type="int", dest="matchfield2")
-    parser.add_option("-3", type="int", dest="matchfield3")
-    parser.add_option("-reject1", dest="reject1file")
-    parser.add_option("-trackGID", action="store_true", dest="trackGID")
-    parser.set_defaults(delimiter="\t", infile3=None, matchField1=0, matchField2=0,
-                        matchField3=0, rejectFileName="", trackGID=False)
+    parser = getParser(usage)
     (options, args) = parser.parse_args(argv[1:])
 
     if len(args) < 3:
@@ -38,6 +31,32 @@ def main(argv=None):
                options.rejectFileName, options.trackGID)
 
 
+def getParser(usage):
+    parser = optparse.OptionParser(usage=usage)
+    parser.add_option("-d", dest="delimiter")
+    parser.add_option("--file3", dest="infile3")
+    parser.add_option("-1", type="int", dest="matchfield1")
+    parser.add_option("-2", type="int", dest="matchfield2")
+    parser.add_option("-3", type="int", dest="matchfield3")
+    parser.add_option("-reject1", dest="reject1file")
+    parser.add_option("-trackGID", action="store_true", dest="trackGID")
+
+    configParser = getConfigParser()
+    section = "geneMrnaCountsWeighted"
+    delimiter = getConfigOption(configParser, section, "delimiter", "\t")
+    infile3 = getConfigOption(configParser, section, "infile3", None)
+    matchField1 = getConfigIntOption(configParser, section, "matchField1", 0)
+    matchField2 = getConfigIntOption(configParser, section, "matchField2", 0)
+    matchField3 = getConfigIntOption(configParser, section, "matchField3", 0)
+    rejectFileName = getConfigOption(configParser, section, "rejectFileName", "\t")
+    trackGID = getConfigBoolOption(configParser, section, "trackGID", False)
+
+    parser.set_defaults(delimiter=delimiter, infile3=infile3, matchField1=matchField1, matchField2=matchField2,
+                        matchField3=matchField3, rejectFileName=rejectFileName, trackGID=trackGID)
+
+    return parser
+
+
 def intersects(infile1Name, infile2Name, outfileName, delimiter="\t", infile3Name=None,
                matchField1=0, matchField2=0, matchField3=0, rejectFileName="", trackGID=False):