--- a +++ b/analysis/submit.py @@ -0,0 +1,64 @@ +import argparse +import os +if __name__ == '__main__': + parser = argparse.ArgumentParser(description="An analyst for quick ML applications.", + add_help=False) + + parser.add_argument('-icd', action='store', dest='CODES',default= + '780.93,733.00,530.85,530.81,493.90,333.94,327.23,288.60,278.00,275.42' + ',250.00,250.40,729.1,585.9,571.8,564.1,473.9,472.0,428.9,331.0,285.9,277.7' + ',276.1,272.4,272.1,256.4,311',type=str, + help='Comma-separated list of icd-9 codes to run') + parser.add_argument('-ml',action='store',dest='MLS', type=str, + default='LogisticRegression') + parser.add_argument('--short',action='store_false',dest='LONG', default=True) + parser.add_argument('--local',action='store_true',dest='LOCAL', default=False) + parser.add_argument('--norare',action='store_true',dest='NORARE', default=False) + parser.add_argument('-n_trials',action='store',dest='NTRIALS', default=1) + parser.add_argument('-m',action='store',dest='M', default=16000) + parser.add_argument('-cutoffs',action='store',dest='CUTOFFS', type=str, default='') + parser.add_argument('-trials',action='store',dest='TRIALS', type=str, default='') + parser.add_argument('-results',action='store',dest='RDIR', type=str, default='/project/moore/users/lacava/geis-ehr/results') + parser.add_argument('-dir',action='store',dest='DIR', type=str, + default='/project/moore/users/lacava/geis-ehr/phased/') + + args = parser.parse_args() + + if len(args.TRIALS)>0: + args.NTRIALS = len(args.TRIALS.split(',')) + + codes = args.CODES.split(',') + cutoffs = args.CUTOFFS.split(',') + + q = 'moore_long' if args.LONG else 'moore_normal' + + if args.LOCAL: + lpc_options = '' + else: + lpc_options = '--lsf -q {Q} -m {M} -n_jobs 1'.format(Q=q,M=args.M) + + for c in codes: + for delay in cutoffs: + if delay != '': + dataset = args.DIR + 'icd9_' + c + '_cutoff' + delay + else: + dataset = args.DIR + 'icd9_' + c + + if len(args.TRIALS)>0: + cmd = ('python analyze.py {DATA} -ml {ML} -n_trials {NTR} {RARE} ' + '-trials {TR} {LPC}').format(DATA=dataset, + ML=args.MLS, + TR=args.TRIALS, + NTR=args.NTRIALS, + RARE='--norare' if args.NORARE else '', + LPC=lpc_options) + else: + cmd = ('python analyze.py {DATA} -ml {ML} -n_trials {NTR} {RARE} ' + '-results {RDIR} {LPC}').format(DATA=dataset, + ML=args.MLS, + NTR=args.NTRIALS, + RARE='--norare' if args.NORARE else '', + RDIR=args.RDIR, + LPC=lpc_options) + print(cmd) + os.system(cmd)