T01 — Simulate a Training Experiment¶
Goal: Generate a 27-run Box-Behnken training dataset using the CHO
CloneX simulator and produce Fig. 4 (training trajectories).
Script: examples/01_simulate_training_experiment.py
What the script does¶
Instantiates
CHOSimulator(clone="CloneX", seed=0).Calls
generate_box_behnken_experiment(n_days=28, seed=0), which returns 27 runs (4-factor Box-Behnken design with 3 centre points).Serialises each run to
runs/run_NNN.json.Plots VCD trajectories and saves
fig4_training_trajectories.pdf.
Running¶
python examples/01_simulate_training_experiment.py
# → runs/run_000.json … run_026.json
# → fig4_training_trajectories.pdf
Alternatively, via the CLI:
perfusio simulate --clone CloneX --n-days 28 --out runs/
Key code¶
from perfusio.simulator.cho_perfusion import CHOSimulator
from perfusio.viz.static import fig4_training_trajectories
sim = CHOSimulator(clone="CloneX", seed=0)
runs = sim.generate_box_behnken_experiment(n_days=28, seed=0)
# len(runs) == 27 (24 edge + 3 centre)
fig = fig4_training_trajectories(runs, species="VCD")
fig.savefig("fig4.pdf")
Design space¶
The four factors and their ranges used in the Box-Behnken design:
Factor |
Low |
Centre |
High |
Units |
|---|---|---|---|---|
Perfusion rate |
0.5 |
1.0 |
1.5 |
vvd |
Bleed rate |
0.05 |
0.10 |
0.15 |
vvd |
Glucose setpoint |
3.0 |
4.5 |
6.0 |
g L⁻¹ |
Temperature |
36.0 |
36.5 |
37.0 |
°C |
Expected output¶
VCD reaches ~8–12 × 10⁶ cells mL⁻¹ at steady state under optimal conditions.
Titer accumulates to ~400–600 mg L⁻¹ by day 28 for high-performing runs.
Next step¶
Proceed to T02 — Fit the Hybrid GP Model.