Example #1
0
 def test_parse_arguments(self):
     # test the stages are returned correctly
     args = DummyArgs()
     _, _, _, _, _, _, stages = stools.parseArguments(args)
     self.assertEqual(stages, ['1', '2', '3', '4'])
     # test bad args
     with self.assertRaises(SystemExit):
         args = DummyArgs()
         args.email = None
         stools.parseArguments(args)
     with self.assertRaises(SystemExit):
         args = DummyArgs()
         args.threads = -10
         stools.parseArguments(args)
     with self.assertRaises(SystemExit):
         args = DummyArgs()
         args.stages = '1-8'
         stools.parseArguments(args)
     with self.assertRaises(SystemExit):
         args = DummyArgs()
         args.stages = '4-1'
         stools.parseArguments(args)
Example #2
0
 def test_parse_arguments(self):
     # test the stages are returned correctly
     args = DummyArgs()
     _, _, _, _, _, _, stages = stools.parseArguments(args)
     self.assertEqual(stages, ['1', '2', '3', '4'])
     # test bad args
     with self.assertRaises(SystemExit):
         args = DummyArgs()
         args.email = None
         stools.parseArguments(args)
     with self.assertRaises(SystemExit):
         args = DummyArgs()
         args.threads = -10
         stools.parseArguments(args)
     with self.assertRaises(SystemExit):
         args = DummyArgs()
         args.stages = '1-8'
         stools.parseArguments(args)
     with self.assertRaises(SystemExit):
         args = DummyArgs()
         args.stages = '4-1'
         stools.parseArguments(args)
Example #3
0
                        email=email, verbose=verbose, debug=debug,
                        logger=base_logger, retry=False)
        runner.setup()
        base_logger.info('Done.')
        # pickle runner for restart
        with open(argspath, 'w') as file:
            pickle.dump((nworkers, threads_per_worker, folders, email,
                         threads, verbose, debug, stages), file)
    # run stages
    runner.run()


if __name__ == '__main__':
    # make sure pglt knows about deps
    if not mafft or not raxml or not blastn:
        print('WARNING: Missing essential dependencies -- use `pglt_set_dependencies.py`')
    # parse args
    restart, retry, email, threads, verbose, debug, stages = \
        stools.parseArguments()
    # create base logger -- messages in parent folder log.txt
    base_logger = stools.setUpLogging(verbose, debug, 'base')
    try:
        main(restart, retry, email, threads, verbose, debug, stages,
             base_logger)
    except KeyboardInterrupt:
        base_logger.info('Execution halted by user')
        if verbose:
            sys.exit()
        else:
            sys.exit('Execution halted by user')