Exemplo n.º 1
0
    logging.getLogger().setLevel(logging_level)

    # Set up job runner
    if options.runner == 'simple':
        runner = JobRunner.SimpleJobRunner()
    elif options.runner == 'ge':
        runner = JobRunner.GEJobRunner(queue=options.ge_queue)
    elif options.runner == 'drmaa':
        runner = JobRunner.DRMAAJobRunner(queue=options.ge_queue)
    else:
        logging.error("Unknown job runner: '%s'" % options.runner)
        sys.exit(1)

    # Set up and run pipeline
    pipeline = Pipeline.PipelineRunner(runner,max_concurrent_jobs=options.max_concurrent_jobs,
                                       jobCompletionHandler=JobCleanup,
                                       groupCompletionHandler=lambda group,jobs,
                                       email=options.email_addr: SendReport(email,group,jobs))
    for data_dir in data_dirs:
        # Get for this directory
        print "Collecting data from %s" % data_dir
        if options.input_type == "solid":
            run_data = Pipeline.GetSolidDataFiles(data_dir,pattern=options.pattern)
        elif options.input_type == "solid_paired_end":
            run_data = Pipeline.GetSolidPairedEndFiles(data_dir,pattern=options.pattern)
        elif options.input_type == "fastq":
            run_data = Pipeline.GetFastqFiles(data_dir,pattern=options.pattern)
        elif options.input_type == "fastqgz":
            run_data = Pipeline.GetFastqGzFiles(data_dir,pattern=options.pattern)
        else:
            logging.error("Unknown input type: '%s'" % options.input_type)
            sys.exit(1)