-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate_chemCPA_model_per_car_configs.py
More file actions
73 lines (61 loc) · 2.25 KB
/
Copy pathcreate_chemCPA_model_per_car_configs.py
File metadata and controls
73 lines (61 loc) · 2.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import os
from pathlib import Path
import yaml
from cmonge.utils import load_config
def change_and_save_configs(
base_config_path,
car_variants,
configs_save_path,
adata_path,
exp_base_dir,
):
with open(base_config_path, "r") as f:
base_config = yaml.safe_load(f)
with open(car_variants) as f:
cars = f.readlines()
cars = [car.rstrip() for car in cars]
for car in cars:
config = base_config.copy()
config["dataset"]["data_params"]["dataset_path"] = adata_path
config["dataset"]["data_params"]["split_key"] = f"{car}_ID"
exp_path = f"{exp_base_dir}/{car}/"
try:
os.makedirs(exp_path)
except FileExistsError:
print("directory exists")
config["training"]["save_dir"] = exp_path
config["model"]["pretrained_model_path"] = exp_path
config_file = configs_save_path / f"{car}_config.yml"
# Save in configs folder
with config_file.open("w") as f:
yaml.dump(config, f, default_flow_style=False)
# Save in experiment folder
with open(f"{exp_path}/config.yml", "w") as f:
yaml.dump(config, f, default_flow_style=False)
if __name__ == "__main__":
data_name = "CD4" # CD4, CD8
base_config_path = Path(
f"/Users/alicedriessen/Projects/car-conditional-monge/configs/chemCPA_{data_name}_ID_config_dummy_donor.yml"
)
configs_save_path = Path(
f"/Users/alicedriessen/Projects/car-conditional-monge/configs/chemCPA_per_car/{data_name}/",
)
exp_base_dir = Path(
f"/Users/alicedriessen/Box/LegacyFromOldColleagues/Alice/CAR_Tcells/Model/chemCPA/model_per_car/{data_name}"
)
adata_path = f"/Users/alicedriessen/Box/LegacyFromOldColleagues/Alice/CAR_Tcells/Model/OT/{data_name}_chemCPA_anno.h5ad"
car_variants = Path(
"/Users/alicedriessen/Box/LegacyFromOldColleagues/Alice/CAR_Tcells/Model/OT/CAR_variants.txt"
)
for d in [configs_save_path, exp_base_dir]:
try:
os.makedirs(d)
except FileExistsError:
print("Directory exists, overwriting files")
change_and_save_configs(
base_config_path,
car_variants,
configs_save_path,
adata_path,
exp_base_dir,
)