Exemple #1
0
    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()
Exemple #2
0
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))