示例#1
0
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)