X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=erange.git;a=blobdiff_plain;f=profilebins.py;fp=profilebins.py;h=094b09707622847d4d7ab57945ffceb9dbd65675;hp=46274f52c401a7b0a08e2171b4c0147e857b8857;hb=0d3e3112fd04c2e6b44a25cacef1d591658ad181;hpb=5e4ae21098dba3d1edcf11e7279da0d84c3422e4 diff --git a/profilebins.py b/profilebins.py index 46274f5..094b097 100755 --- a/profilebins.py +++ b/profilebins.py @@ -9,8 +9,11 @@ try: except: pass -import sys, optparse -print "%prog: version 2.2" +import sys +import optparse +from commoncode import getConfigParser, getConfigOption, getConfigBoolOption, getConfigFloatOption + +print "profilebins: version 2.3" def main(argv=None): @@ -19,17 +22,7 @@ def main(argv=None): usage = "usage: python %prog label infile1 [--upstream infile2] [--downstream infile3] [--uplength kb] [--downlength kb] [--gene geneName] [--genes genefile] [--append] outfile" - parser = optparse.OptionParser(usage=usage) - parser.add_option("--upstream", dest="upfilename") - parser.add_option("--downstream", dest="downfilename") - parser.add_option("--uplength", type="float", dest="uplength") - parser.add_option("--downlength", type="int", dest="") - parser.add_option("--gene", dest="gene") - parser.add_option("--genes", dest="genefile") - parser.add_option("--append", action="store_true", dest="doAppend") - parser.set_defaults(upfilename=None, downfilename=None, uplength=0.0, downlength=0.0, - gene=None, genefile=None, doAppend=False) - + parser = makeParser(usage) (options, args) = parser.parse_args(argv[1:]) if len(args) < 3: @@ -45,6 +38,32 @@ def main(argv=None): options.doAppend) +def makeParser(usage=""): + parser = optparse.OptionParser(usage=usage) + parser.add_option("--upstream", dest="upfilename") + parser.add_option("--downstream", dest="downfilename") + parser.add_option("--uplength", type="float", dest="uplength") + parser.add_option("--downlength", type="int", dest="") + parser.add_option("--gene", dest="gene") + parser.add_option("--genes", dest="genefile") + parser.add_option("--append", action="store_true", dest="doAppend") + + configParser = getConfigParser() + section = "profilebins" + upfilename = getConfigOption(configParser, section, "upfilename", None) + downfilename = getConfigOption(configParser, section, "downfilename", None) + uplength = getConfigFloatOption(configParser, section, "uplength", 0.0) + downlength = getConfigFloatOption(configParser, section, "downlength", 0.0) + gene = getConfigOption(configParser, section, "gene", None) + genefile = getConfigOption(configParser, section, "genefile", None) + doAppend = getConfigBoolOption(configParser, section, "doAppend", False) + + parser.set_defaults(upfilename=upfilename, downfilename=downfilename, uplength=uplength, downlength=downlength, + gene=gene, genefile=genefile, doAppend=doAppend) + + return parser + + def profilebins(label, infilename, outfilename, upfilename=None, downfilename=None, uplength=0.0, downlength=0.0, gene=None, genefile=None, doAppend=False):