def main(args): if workflow.parse_workflow_commands(): return options = parse_dimple_commands(args) check_ccp4_envvars() wf = workflow.Workflow(options.output_dir, from_job=options.from_step) utils.start_log(os.path.join(options.output_dir, "dimple.log"), output_dir=options.output_dir) utils.log_value("version", __version__) utils.start_log_screen(os.path.join(options.output_dir, "screen.log")) try: dimple(wf=wf, opt=options) check_contaminants_if_bad(wf, mtz=options.mtz) exit_status = 0 except workflow.JobError as e: put_error(e.msg, comment=e.note) try: utils.report_disk_space([wf.output_dir, os.getenv("CCP4_SCR")]) except KeyboardInterrupt: comment("\nok, exiting...") exit_status = 1 except RuntimeError as e: put_error(e) exit_status = 1 finally: comment("\n") if options.cleanup: wf.delete_files(wf.temporary_files) wf.options = options wf.dump_pickle() return exit_status
def main(args): if workflow.parse_workflow_commands(): return options = parse_dimple_commands(args) for necessary_var in ("CCP4", "CCP4_SCR"): if necessary_var not in os.environ: put_error('$%s not found, giving up' % necessary_var) sys.exit(1) if not os.path.isdir(os.environ["CCP4_SCR"]): put_error('No such directory: $CCP4_SCR, refmac shall not work!') wf = workflow.Workflow(options.output_dir, from_job=options.from_step) utils.start_log(os.path.join(options.output_dir, "dimple.log"), output_dir=options.output_dir) utils.log_value("version", __version__) utils.start_log_screen(os.path.join(options.output_dir, "screen.log")) try: dimple(wf=wf, opt=options) exit_status = 0 except workflow.JobError as e: put_error(e.msg, comment=e.note) try: utils.report_disk_space([wf.output_dir, os.getenv("CCP4_SCR")]) except KeyboardInterrupt: comment("\nok, exiting...") exit_status = 1 except RuntimeError as e: put_error(e) exit_status = 1 finally: comment("\n") if options.cleanup: wf.delete_files(wf.temporary_files) wf.options = options wf.dump_pickle() return exit_status
def main(args): if workflow.parse_workflow_commands(): return options = parse_dimple_commands(args) check_ccp4_envvars() try: wf = workflow.Workflow(options.output_dir, from_job=options.from_step) utils.start_log(os.path.join(options.output_dir, 'dimple.log'), output_dir=options.output_dir) utils.log_value('version', __version__) utils.start_log_screen(os.path.join(options.output_dir, 'screen.log')) dimple(wf=wf, opt=options) check_contaminants_if_bad(wf, mtz=options.mtz) exit_status = 0 except workflow.JobError as e: put_error(e.msg, comment=e.note) try: utils.report_disk_space([wf.output_dir, os.getenv('CCP4_SCR')]) except KeyboardInterrupt: comment('\nok, exiting...') exit_status = 1 except (RuntimeError, IOError, OSError) as e: put_error(e) exit_status = 1 finally: comment('\n') if options.cleanup: wf.delete_files(wf.temporary_files) wf.options = options try: wf.dump_pickle() except IOError as e: put_error(e) exit_status = 1 return exit_status