def main(): parser = argparse.ArgumentParser() parser.add_argument('--config', dest='config', help="parallyze config file", default='parallyze.conf') parser.add_argument('--procedure', dest='procedure', default='mutationTally', choices=['simulationRM', 'simulationEJB', 'dNdS', 'mutationTally', 'infoRegion', 'analyticalEJB']) parser.add_argument('--nonsynonymous', action='store_true') parser.add_argument('--synonymous', action='store_true') parser.add_argument('--noncoding', action='store_true') parser.add_argument('--pseudogene', action='store_true') parser.add_argument('--intergenic', action='store_true') parser.add_argument('--replicates', type=int) parser.add_argument('--genes_to_display', type=int) parser.add_argument('--fname') parser.add_argument('--gene_product', action='store_true') args = parser.parse_args() # print args.fname conf = SimpleConfig(config_keys, args.config) for fn in conf.GENOMEDIFF_FILES: assert os.path.isfile(fn) ''' The user can override most of the options in config file with (optional) flags at runtime. ''' if args.nonsynonymous: conf.NONSYNONYMOUS = True if args.synonymous: conf.SYNONYMOUS = True if args.noncoding: conf.NONCODING = True if args.pseudogene: conf.PSEUDOGENE = True if args.intergenic: conf.INTERGENIC = True if args.gene_product: conf.GENE_PRODUCT = True if args.replicates and args.replicates > 0: conf.REPLICATES = args.replicates if args.genes_to_display and args.genes_to_display >= 0: conf.GENES_TO_DISPLAY = args.genes_to_display ''' Store the set of mutation types to use, for later reference in the program. ''' conf.snp_types = set() if conf.NONSYNONYMOUS: conf.snp_types.add('nonsynonymous') if conf.SYNONYMOUS: conf.snp_types.add('synonymous') if conf.NONCODING: conf.snp_types.add('noncoding') if conf.PSEUDOGENE: conf.snp_types.add('pseudogene') if conf.INTERGENIC: conf.snp_types.add('intergenic') if args.procedure == 'simulationRM': simulationRM(conf) elif args.procedure == 'simulationEJB': simulationEJB(conf) elif args.procedure == 3: proc3(conf) elif args.procedure == 'dNdS': dNdS(conf) elif args.procedure == 'analyticalEJB': analyticalEJB(conf) elif args.procedure == 'mutationTally': mutationTally(conf, args) elif args.procedure == 'infoRegion': infoRegion(conf)