def main(argv=None): """script main. parses command line options in sys.argv, unless *argv* is given. """ if argv is None: argv = sys.argv # setup command line parser parser = E.OptionParser(version="%prog version: $Id$", usage=globals()["__doc__"]) parser.add_option("-t", "--test", dest="test", type="string", help="supply help") parser.add_option("--time", dest="timepoints", type="string", help="a comma-separated list of time points measured") parser.add_option("--replicates", dest="reps", type="string", help="a comma-separated list of replicate IDs") parser.add_option("--conditions", dest="conditions", type="string", help="a comma-separated list of experimental conditions") parser.add_option("--orders", dest="orders", type="int", help="order of polynomial terms to include in" "maSigPro linear model") parser.add_option("--fdr", dest="fdr", type="string", help="FDR for calling DEGs") parser.add_option("--padjust", dest="padjust", type="string", help="multiple testing correction to apply to" "control FDR") parser.add_option("--stepwise", dest="stepwise", type="string", help="stepwise regression to use") parser.add_option("--pinclude", dest="pinclude", type="string", help="p-value for inclusion in stepwise regression") parser.add_option("--rsquared", dest="rsquared", type="string", help="rsquared cut-off for DEG reporting") parser.add_option("--var-group", dest="vargroup", type="string", help="variable group reporting. each, all or" "group") parser.add_option("--task", dest="task", type="string", help="analysis task to be executed") parser.add_option("--infile", dest="infile", type="string", help="input file path") parser.add_option("--quantile", dest="quantile", type="int", help="see pipeline.ini for explanation") # add common options (-h/--help, ...) and parse command line (options, args) = E.Start(parser, argv=argv) infile = argv[-1] parser.set_defaults(cutHeight=0, conditions=None, split=False, cluster_size=30) if options.task == "deseq": timepoints = [int(x) for x in options.timepoints.split(",")] timepoints.sort() reps = [x for x in options.reps.split(",")] if not options.conditions: conditions = None else: conditions = [x for x in options.conditions.split(",")] data_frame = TS.deseqNormalize(infile=infile, time_points=timepoints, reps=reps, conditions=conditions) elif options.task == "masigpro": data_frame = TS.maSigPro(infile=infile, order_terms=int(options.orders), fdr=float(options.fdr), adjust=options.padjust, stepwise=options.stepwise, include_p=float(options.pinclude), rsq=float(options.rsquared), var_group=options.vargroup) elif options.task == "sumcovar": timepoints = [int(x) for x in options.timepoints.split(",")] reps = [x for x in options.reps.split(",")] data_frame = TS.covarFilter(infile=infile, time_points=timepoints, replicates=reps, quantile=int(options.quantile)) elif options.task == "average_expression": data_frame = TS.avTimeExpression(infile) else: pass data_frame.to_csv(options.stdout, sep="\t", header=True, index_label="gene_id") # Write footer and output benchmark information. E.Stop()
def main(argv=None): """script main. parses command line options in sys.argv, unless *argv* is given. """ if argv is None: argv = sys.argv # setup command line parser parser = E.OptionParser(version="%prog version: $Id$", usage=globals()["__doc__"]) parser.add_option("-t", "--test", dest="test", type="string", help="supply help") parser.add_option("--time", dest="timepoints", type="string", help="a comma-separated list of time points measured") parser.add_option("--replicates", dest="reps", type="string", help="a comma-separated list of replicate IDs") parser.add_option("--conditions", dest="conditions", type="string", help="a comma-separated list of experimental conditions") parser.add_option("--orders", dest="orders", type="int", help="order of polynomial terms to include in" "maSigPro linear model") parser.add_option("--fdr", dest="fdr", type="string", help="FDR for calling DEGs") parser.add_option("--padjust", dest="padjust", type="string", help="multiple testing correction to apply to" "control FDR") parser.add_option("--stepwise", dest="stepwise", type="string", help="stepwise regression to use") parser.add_option("--pinclude", dest="pinclude", type="string", help="p-value for inclusion in stepwise regression") parser.add_option("--rsquared", dest="rsquared", type="string", help="rsquared cut-off for DEG reporting") parser.add_option("--var-group", dest="vargroup", type="string", help="variable group reporting. each, all or" "group") parser.add_option("--task", dest="task", type="string", help="analysis task to be executed") parser.add_option("--infile", dest="infile", type="string", help="input file path") parser.add_option("--quantile", dest="quantile", type="int", help="see pipeline.ini for explanation") (options, args) = E.Start(parser, argv=argv) infile = argv[-1] parser.set_defaults(cutHeight=0, conditions=None, split=False, cluster_size=30) if options.task == "deseq": timepoints = [int(x) for x in options.timepoints.split(",")] timepoints.sort() reps = [x for x in options.reps.split(",")] if not options.conditions: conditions = None else: conditions = [x for x in options.conditions.split(",")] data_frame = TS.deseqNormalize(infile=infile, time_points=timepoints, reps=reps, conditions=conditions) elif options.task == "masigpro": data_frame = TS.maSigPro(infile=infile, order_terms=int(options.orders), fdr=float(options.fdr), adjust=options.padjust, stepwise=options.stepwise, include_p=float(options.pinclude), rsq=float(options.rsquared), var_group=options.vargroup) elif options.task == "sumcovar": timepoints = [int(x) for x in options.timepoints.split(",")] reps = [x for x in options.reps.split(",")] data_frame = TS.covarFilter(infile=infile, time_points=timepoints, replicates=reps, quantile=int(options.quantile)) elif options.task == "average_expression": data_frame = TS.avTimeExpression(infile) else: pass data_frame.to_csv(options.stdout, sep="\t", header=True, index_label="gene_id") # Write footer and output benchmark information. E.Stop()