cg_annealer = cg_pyrosetta.CG_monte_carlo.CGMonteCarloAnnealer( seq_mover=sequence_mover, score_function=energy_function, pose=pose, param_file_object=annealer_params) # Setup Configuration/Energy observer for saving minimum energy structures struct_obs = cg_pyrosetta.CG_monte_carlo.StructureObserver( cg_annealer.get_mc_sim()) energy_obs = cg_pyrosetta.CG_monte_carlo.EnergyObserver( cg_annealer.get_mc_sim()) cg_annealer.registerObserver(struct_obs) cg_annealer.registerObserver(energy_obs) # Run Annealer cg_annealer.run_schedule() min_pose = cg_annealer._cg_mc_sim.get_minimum_energy_pose() print("Writing structure to:") print(job.fn("minimum.pdb")) min_pose.dump_pdb(job.fn("minimum.pdb")) end = time.time() t_rep = end - start print(t_rep, "seconds") job.data['timing'] = t_rep if __name__ == '__main__': FlowProject().main()
def main(): global task_args, other_args, modelPathObj assert all(map(lambda x: x is not None, [ model_path, modelScript, expCode, workspaceRoot, expProjectName ])) modelPathObj = Path(__file__).parent / model_path task_parser = argparse.ArgumentParser(add_help=False) task_parser.add_argument("--config", "-c", default=None) task_parser.add_argument("--exp_regex", default=None) task_parser.add_argument("--arg_regex", default=None) task_parser.add_argument("--model_args", default="", type=str) task_parser.add_argument("--clear_workspace", action="store_true") task_parser.add_argument("--clean_workspace", action="store_true") if ("run" in sys.argv[1:]) or ("exec" in sys.argv[1:]) or ("--help" in sys.argv[1:]): task_parser.add_argument("--tuning", action="store_true") task_parser.add_argument("--use_env", default=None) task_parser.add_argument("--interactive", "-i", action="store_true") task_parser.add_argument("--exp_tags", nargs="+", default=[]) task_parser.add_argument("--check_paths", action="store_true") task_parser.add_argument("--export_dataset", default=None) extra_arguments_func(task_parser) task_args, other_args = task_parser.parse_known_args() if not hasattr(task_args, "model_args"): task_args.model_args = "" task_args.split_filter = None task_args.split_doc_filter = None if task_args.config: with open(task_args.config, "r") as args_in: argsDict = json.load(args_in) if "model_args" in argsDict: if task_args.model_args: task_args.model_args = [ (arg + " " + task_args.model_args) for arg in argsDict["model_args"]] else: task_args.model_args = argsDict["model_args"] if "exp_regex" in argsDict: task_args.exp_regex = argsDict["exp_regex"] if "arg_regex" in argsDict: task_args.arg_regex = argsDict["arg_regex"] if "exp_tags" in argsDict: task_args.exp_tags = argsDict["exp_tags"] if "split_filter" in argsDict: task_args.split_filter = argsDict["split_filter"] if "split_doc_filter" in argsDict: task_args.split_doc_filter = argsDict["split_doc_filter"] if ("-f" not in other_args) and ("-j" not in other_args): if "graph_filter_dict" in argsDict: graph_filter_dict = argsDict["graph_filter_dict"] sys.argv += ["-f", json.dumps(graph_filter_dict)] print(sys.argv) elif "graph_filter" in argsDict: graph_filter = argsDict["graph_filter"] sys.argv += ["-f"] + graph_filter print(sys.argv) if task_args.clean_workspace: sys.argv += ["-o", "clean_workspace"] if task_args.clear_workspace: sys.argv += ["-o", "clear_workspace"] if task_args.model_args and type(task_args.model_args) is str: task_args.model_args = task_args.model_args.split(";") print("Model args: {}".format(task_args.model_args)) if not (modelPathObj.exists() and modelPathObj.is_dir()): raise ValueError("Path {} does not exist or is not a folder. \n" "Please change the 'model_path' variable in the script.".format(model_path)) if ("--debug" in other_args) or ("--show-traceback" in other_args) or vars(task_args).get("tuning", False): flags.log_to_terminal = True print("Log to terminal enabled.") if ("status" in sys.argv[1:]): while sys.argv[1] != "status": del sys.argv[1] FlowProject().main() else: task_help_parser = argparse.ArgumentParser(parents=[task_parser]) FlowProject().main(parser=task_help_parser) if task_args.model_args: print("Model args: {}".format(task_args.model_args))