| from __future__ import annotations |
|
|
| import shutil |
| import subprocess |
| import sys |
| from pathlib import Path |
|
|
| import numpy as np |
|
|
| ROOT = Path(__file__).resolve().parents[1] |
| DATA = ROOT.parent / 'SimplexTasks-12-data' |
| RESULTS = ROOT / 'results' / 'tables' |
| OUTPUTS = ROOT / 'outputs' / 'figures' |
|
|
|
|
| def stage_inputs() -> None: |
| if not DATA.exists(): |
| raise SystemExit('SimplexTasks-12-data bundle not found next to the code bundle') |
| RESULTS.mkdir(parents=True, exist_ok=True) |
| OUTPUTS.mkdir(parents=True, exist_ok=True) |
| for subdir in ['figure_inputs', 'table_inputs']: |
| src_dir = DATA / 'data' / 'summaries' / subdir |
| if not src_dir.exists(): |
| continue |
| for src in src_dir.iterdir(): |
| if src.is_file(): |
| shutil.copy2(src, RESULTS / src.name) |
|
|
| d2_dir = DATA / 'data' / 'synthetic' / 'D2' |
| if d2_dir.exists(): |
| release_dir = ROOT / 'release' / 'simplextasks-12' / 'synthetic' / 'd2_pure_scale' |
| release_dir.mkdir(parents=True, exist_ok=True) |
| np.savez( |
| release_dir / 'task.npz', |
| U=np.load(d2_dir / 'U.npy'), |
| sigma_true=np.load(d2_dir / 'sigma_true.npy'), |
| ) |
|
|
|
|
| def main() -> None: |
| stage_inputs() |
| commands = [ |
| [sys.executable, str(ROOT / 'scripts' / 'make_figures.py'), '--results-dir', str(RESULTS), '--output-dir', str(OUTPUTS)], |
| [sys.executable, str(ROOT / 'scripts' / 'plot_pbmc_sensitivity.py'), '--output', str(OUTPUTS / 'fig8_pbmc_sensitivity.pdf')], |
| ] |
| for cmd in commands: |
| subprocess.check_call(cmd, cwd=ROOT) |
|
|
|
|
| if __name__ == '__main__': |
| main() |
|
|