aegis_gui.utilities.manipulate
1import yaml 2import logging 3 4from aegis_sim.parameterization.default_parameters import DEFAULT_PARAMETERS 5from aegis_gui.utilities.utilities import get_config_path, get_container 6from aegis_sim.utilities.container import Container 7import subprocess 8 9running_processes = {} 10 11 12def make_config_file(filename, configs): 13 configs["PHENOMAP_SPECS"] = [] 14 configs["NOTES"] = [] 15 for k, v in configs.items(): 16 configs[k] = DEFAULT_PARAMETERS[k].convert(v) 17 logging.info("Making a config file.") 18 config_path = get_config_path(filename) 19 with open(config_path, "w") as file_: 20 yaml.dump(configs, file_) 21 22 23def run_simulation(filename, prerun_sim_path): 24 global running_processes 25 config_path = get_config_path(filename) 26 logging.info(f"Running a simulation at path {config_path}.") 27 if prerun_sim_path is None: 28 pickle_command = [] 29 else: 30 container = Container(prerun_sim_path) 31 latest_pickle_path = container.get_path(["pickles"])[-1] 32 logging.info(f"Using pickled population from {latest_pickle_path}.") 33 pickle_command = ["-p", latest_pickle_path] 34 process = subprocess.Popen( 35 ["aegis", "sim", "--config_path", config_path] + pickle_command 36 ) # used to use sys.executable for cross-platform 'python3' command 37 running_processes[filename] = process 38 39 40def terminate_simulation(simname): 41 container = get_container(filename=simname) 42 container.terminate()
running_processes =
{}
def
make_config_file(filename, configs):
13def make_config_file(filename, configs): 14 configs["PHENOMAP_SPECS"] = [] 15 configs["NOTES"] = [] 16 for k, v in configs.items(): 17 configs[k] = DEFAULT_PARAMETERS[k].convert(v) 18 logging.info("Making a config file.") 19 config_path = get_config_path(filename) 20 with open(config_path, "w") as file_: 21 yaml.dump(configs, file_)
def
run_simulation(filename, prerun_sim_path):
24def run_simulation(filename, prerun_sim_path): 25 global running_processes 26 config_path = get_config_path(filename) 27 logging.info(f"Running a simulation at path {config_path}.") 28 if prerun_sim_path is None: 29 pickle_command = [] 30 else: 31 container = Container(prerun_sim_path) 32 latest_pickle_path = container.get_path(["pickles"])[-1] 33 logging.info(f"Using pickled population from {latest_pickle_path}.") 34 pickle_command = ["-p", latest_pickle_path] 35 process = subprocess.Popen( 36 ["aegis", "sim", "--config_path", config_path] + pickle_command 37 ) # used to use sys.executable for cross-platform 'python3' command 38 running_processes[filename] = process
def
terminate_simulation(simname):