X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=erange.git;a=blobdiff_plain;f=scatterfields.py;h=32d623c277b02dbc2fc57d93a7ab896c914a60e4;hp=60649ff5eb803f9b989e500592c7c499a4abbf41;hb=0d3e3112fd04c2e6b44a25cacef1d591658ad181;hpb=5e4ae21098dba3d1edcf11e7279da0d84c3422e4 diff --git a/scatterfields.py b/scatterfields.py index 60649ff..32d623c 100755 --- a/scatterfields.py +++ b/scatterfields.py @@ -17,10 +17,11 @@ from pylab import * import math, cmath import sys import optparse +from commoncode import getConfigParser, getConfigOption, getConfigIntOption, getConfigFloatOption, getConfigBoolOption alphaVal = 0.5 -print "%prog: version 3.1" +print "scatterfields: version 3.2" def main(argv=None): if not argv: @@ -28,28 +29,7 @@ def main(argv=None): usage = __doc__ - parser = optparse.OptionParser(usage=usage) - parser.add_option("--xmin", type="float", dest="forcexmin") - parser.add_option("--ymin", type="float", dest="forceymin") - parser.add_option("--xmax", type="float", dest="forcexmax") - parser.add_option("--ymax", type="float", dest="forceymax") - parser.add_option("--doLogF1", action="store_true", dest="doLogF1") - parser.add_option("--doLogF2", action="store_true", dest="doLogF2") - parser.add_option("--arcsinh", action="store_true", dest="doArcsinh") - parser.add_option("--order", type="int", dest="fitOrder") - parser.add_option("--base", type="int", dest="base") - parser.add_option("--markGenes", dest="markFile") - parser.add_option("--markfold", type="float", dest="foldChange") - parser.add_option("--noregression", action="store_false", dest="doRegression") - parser.add_option("--large", action="store_true", dest="plotLarge") - parser.add_option("--markdiag", action="store_true", dest="markDiag") - parser.add_option("--title", type="int", dest="figtitle") - parser.add_option("--verbose", action="store_true", dest="verbose") - parser.set_defaults(forcexmin=0.0, forceymin=0.0, forcexmax=-1, forceymax=-1, doLogF1=False, - doLogF2=False, doArcsinh=False, fitOrder=1, base=10, markFile=None, - foldChange=None, doRegression=True, plotLarge=False, markDiag=False, - figtitle="", verbose=False) - + parser = getParser(usage) (options, args) = parser.parse_args(argv[1:]) if len(args) < 6: @@ -70,6 +50,52 @@ def main(argv=None): options.markDiag, options.figtitle, options.verbose) +def getParser(usage): + parser = optparse.OptionParser(usage=usage) + parser.add_option("--xmin", type="float", dest="forcexmin") + parser.add_option("--ymin", type="float", dest="forceymin") + parser.add_option("--xmax", type="float", dest="forcexmax") + parser.add_option("--ymax", type="float", dest="forceymax") + parser.add_option("--doLogF1", action="store_true", dest="doLogF1") + parser.add_option("--doLogF2", action="store_true", dest="doLogF2") + parser.add_option("--arcsinh", action="store_true", dest="doArcsinh") + parser.add_option("--order", type="int", dest="fitOrder") + parser.add_option("--base", type="int", dest="base") + parser.add_option("--markGenes", dest="markFile") + parser.add_option("--markfold", type="float", dest="foldChange") + parser.add_option("--noregression", action="store_false", dest="doRegression") + parser.add_option("--large", action="store_true", dest="plotLarge") + parser.add_option("--markdiag", action="store_true", dest="markDiag") + parser.add_option("--title", type="int", dest="figtitle") + parser.add_option("--verbose", action="store_true", dest="verbose") + + configParser = getConfigParser() + section = "scatterfields" + forcexmin = getConfigFloatOption(configParser, section, "forcexmin", 0.0) + forceymin = getConfigFloatOption(configParser, section, "forceymin", 0.0) + forcexmax = getConfigIntOption(configParser, section, "forcexmax", -1) + forceymax = getConfigIntOption(configParser, section, "forceymax", -1) + doLogF1 = getConfigBoolOption(configParser, section, "doLogF1", False) + doLogF2 = getConfigBoolOption(configParser, section, "doLogF2", False) + doArcsinh = getConfigBoolOption(configParser, section, "doArcsinh", False) + fitOrder = getConfigIntOption(configParser, section, "fitOrder", 1) + base = getConfigIntOption(configParser, section, "base", 10) + markFile = getConfigOption(configParser, section, "markFile", None) + foldChange = getConfigOption(configParser, section, "foldChange", None) + doRegression = getConfigBoolOption(configParser, section, "doRegression", True) + plotLarge = getConfigBoolOption(configParser, section, "plotLarge", False) + markDiag = getConfigBoolOption(configParser, section, "markDiag", False) + figtitle = getConfigOption(configParser, section, "figtitle", "") + verbose = getConfigBoolOption(configParser, section, "verbose", False) + + parser.set_defaults(forcexmin=forcexmin, forceymin=forceymin, forcexmax=forcexmax, forceymax=forceymax, doLogF1=doLogF1, + doLogF2=doLogF2, doArcsinh=doArcsinh, fitOrder=fitOrder, base=base, markFile=markFile, + foldChange=foldChange, doRegression=doRegression, plotLarge=plotLarge, markDiag=markDiag, + figtitle=figtitle, verbose=verbose) + + return parser + + def scatterfields(infilename, xaxis, xField, yaxis, yField, outfilename, forcexmin=0.0, forceymin=0.0, forcexmax=-1, forceymax=-1, doLogF1=False, doLogF2=False, doArcsinh=False, fitOrder=1, base=10, markFile=None, foldChange=None, doRegression=True, plotLarge=False,