Example #1
0
 def test_setup_logging(self):
     logger = stools.setUpLogging(verbose=True, debug=True,
                                  logname='a_logger')
     # more than two handlers: console + log.txt
     self.assertEqual(len(logger.handlers), 2)
     # debug level
     self.assertTrue(logger.level == 10)
     # a log file has been created
     self.assertTrue(os.path.isfile('log.txt'))
     # bring down the logger
     stools.tearDownLogging('a_logger')
     # remove log file
     os.remove('log.txt')
     del logger
Example #2
0
 def test_setup_logging(self):
     logger = stools.setUpLogging(verbose=True,
                                  debug=True,
                                  logname='a_logger')
     # more than two handlers: console + log.txt
     self.assertEqual(len(logger.handlers), 2)
     # debug level
     self.assertTrue(logger.level == 10)
     # a log file has been created
     self.assertTrue(os.path.isfile('log.txt'))
     # bring down the logger
     stools.tearDownLogging('a_logger')
     # remove log file
     os.remove('log.txt')
     del logger
Example #3
0
 def test_sort_args(self):
     # make sure error is raised if no names.txt
     directory = '.'
     email = 'an.email'
     logger = stools.setUpLogging(verbose=False, debug=False,
                                  logname='testlogger')
     with self.assertRaises(stools.PrimingError):
         stools.sortArgs(directory, email, logger)
     # create a names.txt and test arguments returned
     names = ['name1', 'name2', 'name3', 'name4', 'name5', 'name6']
     with open('names.txt', 'w') as file:
         for name in names:
             file.write(name + '\n')
     res = stools.sortArgs(directory, email, logger)
     self.assertTrue(isinstance(res['terms'], list))
     self.assertTrue(isinstance(res['genedict'], dict))
     self.assertTrue(isinstance(res['paradict'], dict))
     os.remove('names.txt')
     # bring down the logger
     stools.tearDownLogging('testlogger')
     # remove its log file
     os.remove('log.txt')
Example #4
0
 def test_sort_args(self):
     # make sure error is raised if no names.txt
     directory = '.'
     email = 'an.email'
     logger = stools.setUpLogging(verbose=False,
                                  debug=False,
                                  logname='testlogger')
     with self.assertRaises(stools.PrimingError):
         stools.sortArgs(directory, email, logger)
     # create a names.txt and test arguments returned
     names = ['name1', 'name2', 'name3', 'name4', 'name5', 'name6']
     with open('names.txt', 'w') as file:
         for name in names:
             file.write(name + '\n')
     res = stools.sortArgs(directory, email, logger)
     self.assertTrue(isinstance(res['terms'], list))
     self.assertTrue(isinstance(res['genedict'], dict))
     self.assertTrue(isinstance(res['paradict'], dict))
     os.remove('names.txt')
     # bring down the logger
     stools.tearDownLogging('testlogger')
     # remove its log file
     os.remove('log.txt')
Example #5
0
# Set up runner

import os
from pglt.tools.setup_tools import getDirs
from pglt.tools.setup_tools import setUpLogging
from pglt.tools.system_tools import Runner

base_logger = setUpLogging(False, False)
folders = getDirs(base_logger)
runner = Runner(folders, 1, os.getcwd(), '*****@*****.**')
runner.setup(folders)
runner.run(folders, ['1'])
Example #6
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')