def test_predict(tmp_path): indir = os.path.join(data_dir, 'deepmased_trained') outdir = os.path.join(tmp_path, 'predict_cpu') args = ['--cpu_only', '--data_path', indir, '--save_path', outdir] args = Predict_CMD.parse_args(args) Predict_CMD.main(args) F = os.path.join(outdir, 'predictions', 'deepmased_trained', 'predictions.csv') assert os.path.isfile(F)
def test_predict_default_model(tmpdir, caplog): caplog.set_level(logging.INFO) save_path = tmpdir.mkdir('save_dir') args = [ '--cpu-only', '--save-path', str(save_path), os.path.join(data_dir, 'n10_r2/feature_files.tsv') ] args = Predict_CMD.parse_args(args) Predict_CMD.main(args)
def main(args=None): """Main entry point for application """ if args is None: args = sys.argv[1:] desc = 'DeepMAsED: Deep learning for Metagenome Assembly Error Detection' epi = """DESCRIPTION: Usage: DeepMAsED <subcommand> <subcommand_params> Example: DeepMAsED train -h For general info, see https://github.com/leylabmpi/DeepMAsED/ """ parser = argparse.ArgumentParser( description=desc, epilog=epi, formatter_class=argparse.RawTextHelpFormatter) parser.add_argument('--version', action='version', version=__version__) # subparsers subparsers = parser.add_subparsers() ## train train = Train.parse_args(subparsers=subparsers) train.set_defaults(func=Train.main) ## predict predict = Predict.parse_args(subparsers=subparsers) predict.set_defaults(func=Predict.main) ## evaluate evaluate = Evaluate.parse_args(subparsers=subparsers) evaluate.set_defaults(func=Evaluate.main) ## evaluate features = Features.parse_args(subparsers=subparsers) features.set_defaults(func=Features.main) # parsing args if args: args = parser.parse_args(args) else: args = parser.parse_args() # running subcommands if len(vars(args)) > 0: args.func(args) else: parser.parse_args(['--help'])
def main(args=None): """Main entry point for application """ if args is None: args = sys.argv[1:] desc = 'Template python script' epi = """DESCRIPTION: Test """ parser = argparse.ArgumentParser(description=desc, epilog=epi, formatter_class=argparse.RawTextHelpFormatter) parser.add_argument('--version', action='version', version='0.0.1') # subparsers subparsers = parser.add_subparsers() ## train train = Train.parse_args(subparsers=subparsers) train.set_defaults(func=Train.main) ## predict predict = Predict.parse_args(subparsers=subparsers) predict.set_defaults(func=Predict.main) ## evaluate evaluate = Evaluate.parse_args(subparsers=subparsers) evaluate.set_defaults(func=Evaluate.main) # parsing args if args: args = parser.parse_args(args) else: args = parser.parse_args() # running subcommands if len(vars(args)) > 0: args.func(args) else: parser.parse_args(['--help'])
def test_help(): args = ['-h'] with pytest.raises(SystemExit) as pytest_wrapped_e: Predict_CMD.parse_args(args) assert pytest_wrapped_e.type == SystemExit assert pytest_wrapped_e.value.code == 0
def test_predict_r3(tmpdir): out_path = tmpdir.mkdir('save_dir') model_path = os.path.join(data_dir, 'n1000_r3/', 'model') args = [os.path.join(data_dir, 'n1000_r3/'), '--cpu-only'] args = Predict_CMD.parse_args(args) Predict_CMD.main(args)