erange version 4.0a dev release
[erange.git] / trimreads.py
index d246e1512a94601dfcaeb6bb4c3473dbe9755b07..88f8851f8d5d88a07f6433fbd34c6110cfe5f166 100755 (executable)
@@ -5,10 +5,12 @@
 #  Created by Ali Mortazavi on 8/12/08.
 #
 
-import sys, optparse
+import sys
+import optparse
 from cistematic.core import complement
+from commoncode import getConfigParser, getConfigBoolOption, getConfigOption
 
-print "%prog: version 2.1"
+print "trimreads: version 2.2"
 
 def main(argv=None):
     if not argv:
@@ -16,13 +18,7 @@ def main(argv=None):
 
     usage = "usage: python %prog length infile outfile [--fastq] [--fromback] [--paired] [--flip] [--filter maxN]"
 
-    parser = optparse.OptionParser(usage=usage)
-    parser.add_option("--fastq", action="store_true", dest="fastq")
-    parser.add_option("--fromback", action="store_true", dest="fromBack")
-    parser.add_option("--paired", action="store_true", dest="paired")
-    parser.add_option("--flip", action="store_true", dest="flipseq")
-    parser.add_option("--filter", type="int", dest="maxN")
-    parser.set_defaults(fastq=False, fromBack=False, paired=False, flipseq=False, maxN=None)
+    parser = getParser(usage)
     (options, args) = parser.parse_args(argv[1:])
 
     if len(args) < 3:
@@ -37,6 +33,27 @@ def main(argv=None):
     trimreads(length, infile, outfile, options.fastq, options.fromBack, options.paired, options.flipseq, options.maxN)
 
 
+def getParser(usage):
+    parser = optparse.OptionParser(usage=usage)
+    parser.add_option("--fastq", action="store_true", dest="fastq")
+    parser.add_option("--fromback", action="store_true", dest="fromBack")
+    parser.add_option("--paired", action="store_true", dest="paired")
+    parser.add_option("--flip", action="store_true", dest="flipseq")
+    parser.add_option("--filter", type="int", dest="maxN")
+
+    configParser = getConfigParser()
+    section = "trimreads"
+    fastq = getConfigBoolOption(configParser, section, "fastq", False)
+    fromBack = getConfigBoolOption(configParser, section, "fromBack", False)
+    paired = getConfigBoolOption(configParser, section, "paired", False)
+    flipseq = getConfigBoolOption(configParser, section, "flipseq", False)
+    maxN = getConfigOption(configParser, section, "maxN", None)
+
+    parser.set_defaults(fastq=fastq, fromBack=fromBack, paired=paired, flipseq=flipseq, maxN=maxN)
+
+    return parser
+
+
 def trimreads(length, inFileName, outFileName, fastq=False, fromBack=False, paired=False, flipseq=False, maxN=None):
     infile = open(inFileName)
     outfile = open(outFileName, "w")