← All Use Cases
🧪
Full Factorial Design

Enzyme Kinetics Assay

Full factorial of substrate concentration, enzyme amount, pH, and temperature to maximize reaction rate and minimize substrate inhibition

Summary

This experiment investigates enzyme kinetics assay. Full factorial of substrate concentration, enzyme amount, pH, and temperature to maximize reaction rate and minimize substrate inhibition.

The design varies 4 factors: substrate mm (mM), ranging from 0.1 to 10, enzyme ug (ug), ranging from 1 to 20, ph (pH), ranging from 5 to 9, and temp c (C), ranging from 20 to 45. The goal is to optimize 2 responses: reaction rate (umol/min) (maximize) and inhibition pct (%) (minimize). Fixed conditions held constant across all runs include enzyme = alkaline_phosphatase, buffer = tris.

A full factorial design was used to explore all 16 possible combinations of the 4 factors at two levels. This guarantees that every main effect and interaction can be estimated independently, at the cost of a larger experiment (16 runs).

Quadratic response surface models were fitted to capture potential curvature and factor interactions. The RSM contour plots below visualize how pairs of factors jointly affect each response.

Key Findings

For reaction rate, the most influential factors were temp c (42.1%), substrate mm (26.2%), enzyme ug (20.8%). The best observed value was 8.5 (at substrate mm = 0.1, enzyme ug = 1, ph = 5).

For inhibition pct, the most influential factors were ph (78.6%), substrate mm (16.7%), enzyme ug (2.4%). The best observed value was -1.0 (at substrate mm = 10, enzyme ug = 1, ph = 5).

Recommended Next Steps

Experimental Setup

Factors

FactorLowHighUnit
substrate_mm0.110mM
enzyme_ug120ug
ph59pH
temp_c2045C

Fixed: enzyme = alkaline_phosphatase, buffer = tris

Responses

ResponseDirectionUnit
reaction_rate↑ maximizeumol/min
inhibition_pct↓ minimize%

Configuration

use_cases/195_enzyme_kinetics/config.json
{ "metadata": { "name": "Enzyme Kinetics Assay", "description": "Full factorial of substrate concentration, enzyme amount, pH, and temperature to maximize reaction rate and minimize substrate inhibition" }, "factors": [ { "name": "substrate_mm", "levels": [ "0.1", "10" ], "type": "continuous", "unit": "mM" }, { "name": "enzyme_ug", "levels": [ "1", "20" ], "type": "continuous", "unit": "ug" }, { "name": "ph", "levels": [ "5", "9" ], "type": "continuous", "unit": "pH" }, { "name": "temp_c", "levels": [ "20", "45" ], "type": "continuous", "unit": "C" } ], "fixed_factors": { "enzyme": "alkaline_phosphatase", "buffer": "tris" }, "responses": [ { "name": "reaction_rate", "optimize": "maximize", "unit": "umol/min" }, { "name": "inhibition_pct", "optimize": "minimize", "unit": "%" } ], "settings": { "operation": "full_factorial", "test_script": "use_cases/195_enzyme_kinetics/sim.sh" } }

Experimental Matrix

The Full Factorial Design produces 16 runs. Each row is one experiment with specific factor settings.

Runsubstrate_mmenzyme_ugphtemp_c
10.120945
2101545
30.120545
40.120920
51020920
6101920
71020520
8101520
90.11545
100.11920
111020545
121020945
130.120520
14101945
150.11520
160.11945

Step-by-Step Workflow

1

Preview the design

Terminal
$ doe info --config use_cases/195_enzyme_kinetics/config.json
2

Generate the runner script

Terminal
$ doe generate --config use_cases/195_enzyme_kinetics/config.json \ --output use_cases/195_enzyme_kinetics/results/run.sh --seed 42
3

Execute the experiments

Terminal
$ bash use_cases/195_enzyme_kinetics/results/run.sh
4

Analyze results

Terminal
$ doe analyze --config use_cases/195_enzyme_kinetics/config.json
5

Get optimization recommendations

Terminal
$ doe optimize --config use_cases/195_enzyme_kinetics/config.json
6

Multi-objective optimization

With 2 competing responses, use --multi to find the best compromise via Derringer–Suich desirability.

Terminal
$ doe optimize --config use_cases/195_enzyme_kinetics/config.json --multi
7

Generate the HTML report

Terminal
$ doe report --config use_cases/195_enzyme_kinetics/config.json \ --output use_cases/195_enzyme_kinetics/results/report.html

Features Exercised

FeatureValue
Design typefull_factorial
Factor typescontinuous (all 4)
Arg styledouble-dash
Responses2 (reaction_rate ↑, inhibition_pct ↓)
Total runs16

Analysis Results

Generated from actual experiment runs using the DOE Helper Tool.

Response: reaction_rate

Top factors: temp_c (42.1%), substrate_mm (26.2%), enzyme_ug (20.8%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
substrate_mm15.76005.76000.5200.5033
enzyme_ug13.61003.61000.3260.5929
ph11.00001.00000.0900.7760
temp_c114.822514.82251.3370.2998
substrate_mm*enzyme_ug116.000016.00001.4440.2834
substrate_mm*ph120.250020.25001.8270.2344
substrate_mm*temp_c10.20250.20250.0180.8978
enzyme_ug*ph10.01000.01000.0010.9772
enzyme_ug*temp_c12.10252.10250.1900.6813
ph*temp_c15.52255.52250.4980.5118
Error555.420011.0840
Total15124.70008.3133

Pareto Chart

Pareto chart for reaction_rate

Main Effects Plot

Main effects plot for reaction_rate

Normal Probability Plot of Effects

Normal probability plot for reaction_rate

Half-Normal Plot of Effects

Half-normal plot for reaction_rate

Model Diagnostics

Model diagnostics for reaction_rate

Response: inhibition_pct

Top factors: ph (78.6%), substrate_mm (16.7%), enzyme_ug (2.4%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
substrate_mm13.06253.06250.0190.8961
enzyme_ug10.06250.06250.0000.9851
ph168.062568.06250.4200.5456
temp_c10.06250.06250.0000.9851
substrate_mm*enzyme_ug17.56257.56250.0470.8376
substrate_mm*ph176.562576.56250.4720.5226
substrate_mm*temp_c13.06253.06250.0190.8961
enzyme_ug*ph176.562576.56250.4720.5226
enzyme_ug*temp_c10.56250.56250.0030.9553
ph*temp_c13.06253.06250.0190.8961
Error5810.8125162.1625
Total151049.437569.9625

Pareto Chart

Pareto chart for inhibition_pct

Main Effects Plot

Main effects plot for inhibition_pct

Normal Probability Plot of Effects

Normal probability plot for inhibition_pct

Half-Normal Plot of Effects

Half-normal plot for inhibition_pct

Model Diagnostics

Model diagnostics for inhibition_pct

Response Surface Plots

3D surfaces fitted with quadratic RSM. Red dots are observed data points.

inhibition pct enzyme ug vs ph

RSM surface: inhibition pct enzyme ug vs ph

inhibition pct enzyme ug vs temp c

RSM surface: inhibition pct enzyme ug vs temp c

inhibition pct ph vs temp c

RSM surface: inhibition pct ph vs temp c

inhibition pct substrate mm vs enzyme ug

RSM surface: inhibition pct substrate mm vs enzyme ug

inhibition pct substrate mm vs ph

RSM surface: inhibition pct substrate mm vs ph

inhibition pct substrate mm vs temp c

RSM surface: inhibition pct substrate mm vs temp c

reaction rate enzyme ug vs ph

RSM surface: reaction rate enzyme ug vs ph

reaction rate enzyme ug vs temp c

RSM surface: reaction rate enzyme ug vs temp c

reaction rate ph vs temp c

RSM surface: reaction rate ph vs temp c

reaction rate substrate mm vs enzyme ug

RSM surface: reaction rate substrate mm vs enzyme ug

reaction rate substrate mm vs ph

RSM surface: reaction rate substrate mm vs ph

reaction rate substrate mm vs temp c

RSM surface: reaction rate substrate mm vs temp c

Multi-Objective Optimization

When responses compete, Derringer–Suich desirability finds the best compromise. Each response is scaled to a 0–1 desirability, then combined via a weighted geometric mean.

Overall Desirability
D = 0.6441

Per-Response Desirability

ResponseWeightDesirabilityPredictedDir
reaction_rate 1.5
0.5784
4.90 0.5784 4.90 umol/min
inhibition_pct 1.0
0.7569
4.00 0.7569 4.00 %

Recommended Settings

FactorValue
substrate_mm10 mM
enzyme_ug1 ug
ph9 pH
temp_c20 C

Source: from observed run #1

Trade-off Summary

Sacrifice = how much worse than single-objective best.

ResponsePredictedBest ObservedSacrifice
inhibition_pct4.00-1.00+5.00

Top 3 Runs by Desirability

RunDFactor Settings
#30.5896substrate_mm=10, enzyme_ug=20, ph=5, temp_c=20
#110.4499substrate_mm=0.1, enzyme_ug=1, ph=9, temp_c=45

Model Quality

ResponseType
inhibition_pct0.0717linear

Full Multi-Objective Output

doe optimize --multi
============================================================ MULTI-OBJECTIVE OPTIMIZATION Method: Derringer-Suich Desirability Function ============================================================ Overall desirability: D = 0.6441 Response Weight Desirability Predicted Direction --------------------------------------------------------------------- reaction_rate 1.5 0.5784 4.90 umol/min ↑ inhibition_pct 1.0 0.7569 4.00 % ↓ Recommended settings: substrate_mm = 10 mM enzyme_ug = 1 ug ph = 9 pH temp_c = 20 C (from observed run #1) Trade-off summary: reaction_rate: 4.90 (best observed: 8.50, sacrifice: +3.60) inhibition_pct: 4.00 (best observed: -1.00, sacrifice: +5.00) Model quality: reaction_rate: R² = 0.2191 (linear) inhibition_pct: R² = 0.0717 (linear) Top 3 observed runs by overall desirability: 1. Run #1 (D=0.6441): substrate_mm=10, enzyme_ug=1, ph=9, temp_c=20 2. Run #3 (D=0.5896): substrate_mm=10, enzyme_ug=20, ph=5, temp_c=20 3. Run #11 (D=0.4499): substrate_mm=0.1, enzyme_ug=1, ph=9, temp_c=45

Full Analysis Output

doe analyze
=== Main Effects: reaction_rate === Factor Effect Std Error % Contribution -------------------------------------------------------------- temp_c -1.9250 0.7208 42.1% substrate_mm 1.2000 0.7208 26.2% enzyme_ug -0.9500 0.7208 20.8% ph 0.5000 0.7208 10.9% === ANOVA Table: reaction_rate === Source DF SS MS F p-value ----------------------------------------------------------------------------- substrate_mm 1 5.7600 5.7600 0.520 0.5033 enzyme_ug 1 3.6100 3.6100 0.326 0.5929 ph 1 1.0000 1.0000 0.090 0.7760 temp_c 1 14.8225 14.8225 1.337 0.2998 substrate_mm*enzyme_ug 1 16.0000 16.0000 1.444 0.2834 substrate_mm*ph 1 20.2500 20.2500 1.827 0.2344 substrate_mm*temp_c 1 0.2025 0.2025 0.018 0.8978 enzyme_ug*ph 1 0.0100 0.0100 0.001 0.9772 enzyme_ug*temp_c 1 2.1025 2.1025 0.190 0.6813 ph*temp_c 1 5.5225 5.5225 0.498 0.5118 Error 5 55.4200 11.0840 Total 15 124.7000 8.3133 === Interaction Effects: reaction_rate === Factor A Factor B Interaction % Contribution ------------------------------------------------------------------------ substrate_mm ph -2.2500 35.0% substrate_mm enzyme_ug 2.0000 31.1% ph temp_c -1.1750 18.3% enzyme_ug temp_c -0.7250 11.3% substrate_mm temp_c -0.2250 3.5% enzyme_ug ph -0.0500 0.8% === Summary Statistics: reaction_rate === substrate_mm: Level N Mean Std Min Max ------------------------------------------------------------ 0.1 8 1.7000 3.0081 -0.2000 8.5000 10 8 2.9000 2.8183 -0.1000 7.8000 enzyme_ug: Level N Mean Std Min Max ------------------------------------------------------------ 1 8 2.7750 3.1231 -0.1000 8.5000 20 8 1.8250 2.7468 -0.2000 7.8000 ph: Level N Mean Std Min Max ------------------------------------------------------------ 5 8 2.0500 2.0543 -0.2000 4.9000 9 8 2.5500 3.6676 -0.1000 8.5000 temp_c: Level N Mean Std Min Max ------------------------------------------------------------ 20 8 3.2625 3.4455 -0.1000 8.5000 45 8 1.3375 1.9559 -0.2000 4.9000 === Main Effects: inhibition_pct === Factor Effect Std Error % Contribution -------------------------------------------------------------- ph 4.1250 2.0911 78.6% substrate_mm -0.8750 2.0911 16.7% enzyme_ug 0.1250 2.0911 2.4% temp_c -0.1250 2.0911 2.4% === ANOVA Table: inhibition_pct === Source DF SS MS F p-value ----------------------------------------------------------------------------- substrate_mm 1 3.0625 3.0625 0.019 0.8961 enzyme_ug 1 0.0625 0.0625 0.000 0.9851 ph 1 68.0625 68.0625 0.420 0.5456 temp_c 1 0.0625 0.0625 0.000 0.9851 substrate_mm*enzyme_ug 1 7.5625 7.5625 0.047 0.8376 substrate_mm*ph 1 76.5625 76.5625 0.472 0.5226 substrate_mm*temp_c 1 3.0625 3.0625 0.019 0.8961 enzyme_ug*ph 1 76.5625 76.5625 0.472 0.5226 enzyme_ug*temp_c 1 0.5625 0.5625 0.003 0.9553 ph*temp_c 1 3.0625 3.0625 0.019 0.8961 Error 5 810.8125 162.1625 Total 15 1049.4375 69.9625 === Interaction Effects: inhibition_pct === Factor A Factor B Interaction % Contribution ------------------------------------------------------------------------ substrate_mm ph -4.3750 35.7% enzyme_ug ph -4.3750 35.7% substrate_mm enzyme_ug -1.3750 11.2% substrate_mm temp_c 0.8750 7.1% ph temp_c 0.8750 7.1% enzyme_ug temp_c 0.3750 3.1% === Summary Statistics: inhibition_pct === substrate_mm: Level N Mean Std Min Max ------------------------------------------------------------ 0.1 8 11.7500 7.7044 3.0000 21.0000 10 8 10.8750 9.4934 -1.0000 22.0000 enzyme_ug: Level N Mean Std Min Max ------------------------------------------------------------ 1 8 11.2500 7.9237 3.0000 21.0000 20 8 11.3750 9.3341 -1.0000 22.0000 ph: Level N Mean Std Min Max ------------------------------------------------------------ 5 8 9.2500 8.2765 1.0000 22.0000 9 8 13.3750 8.4674 -1.0000 21.0000 temp_c: Level N Mean Std Min Max ------------------------------------------------------------ 20 8 11.3750 8.1405 1.0000 21.0000 45 8 11.2500 9.1456 -1.0000 22.0000

Optimization Recommendations

doe optimize
=== Optimization: reaction_rate === Direction: maximize Best observed run: #12 substrate_mm = 0.1 enzyme_ug = 1 ph = 5 temp_c = 20 Value: 8.5 RSM Model (linear, R² = 0.0794, Adj R² = -0.2554): Coefficients: intercept +2.3000 substrate_mm -0.2000 enzyme_ug -0.5250 ph -0.4250 temp_c +0.3500 RSM Model (quadratic, R² = 0.6196, Adj R² = -4.7065): Coefficients: intercept +0.4600 substrate_mm -0.2000 enzyme_ug -0.5250 ph -0.4250 temp_c +0.3500 substrate_mm*enzyme_ug +0.9750 substrate_mm*ph +1.2000 substrate_mm*temp_c +0.8750 enzyme_ug*ph +1.0250 enzyme_ug*temp_c -0.0250 ph*temp_c -0.0500 substrate_mm^2 +0.4600 enzyme_ug^2 +0.4600 ph^2 +0.4600 temp_c^2 +0.4600 Curvature analysis: ph coef=+0.4600 convex (has a minimum) enzyme_ug coef=+0.4600 convex (has a minimum) substrate_mm coef=+0.4600 convex (has a minimum) temp_c coef=+0.4600 convex (has a minimum) Notable interactions: substrate_mm*ph coef=+1.2000 (synergistic) enzyme_ug*ph coef=+1.0250 (synergistic) substrate_mm*enzyme_ug coef=+0.9750 (synergistic) substrate_mm*temp_c coef=+0.8750 (synergistic) Predicted optimum (from linear model, at observed points): substrate_mm = 0.1 enzyme_ug = 1 ph = 5 temp_c = 45 Predicted value: 3.8000 Surface optimum (via L-BFGS-B, linear model): substrate_mm = 0.1 enzyme_ug = 1 ph = 5 temp_c = 45 Predicted value: 3.8000 Model quality: Weak fit — consider adding center points or using a different design. Factor importance: 1. enzyme_ug (effect: -1.1, contribution: 35.0%) 2. ph (effect: -0.9, contribution: 28.3%) 3. temp_c (effect: 0.7, contribution: 23.3%) 4. substrate_mm (effect: -0.4, contribution: 13.3%) === Optimization: inhibition_pct === Direction: minimize Best observed run: #13 substrate_mm = 10 enzyme_ug = 1 ph = 5 temp_c = 45 Value: -1.0 RSM Model (linear, R² = 0.3042, Adj R² = 0.0512): Coefficients: intercept +11.3125 substrate_mm -2.8125 enzyme_ug +2.0625 ph -1.5625 temp_c -2.3125 RSM Model (quadratic, R² = 0.7610, Adj R² = -2.5850): Coefficients: intercept +2.2625 substrate_mm -2.8125 enzyme_ug +2.0625 ph -1.5625 temp_c -2.3125 substrate_mm*enzyme_ug +0.4375 substrate_mm*ph +4.3125 substrate_mm*temp_c -0.9375 enzyme_ug*ph -0.3125 enzyme_ug*temp_c +0.1875 ph*temp_c -3.1875 substrate_mm^2 +2.2625 enzyme_ug^2 +2.2625 ph^2 +2.2625 temp_c^2 +2.2625 Curvature analysis: enzyme_ug coef=+2.2625 convex (has a minimum) temp_c coef=+2.2625 convex (has a minimum) substrate_mm coef=+2.2625 convex (has a minimum) ph coef=+2.2625 convex (has a minimum) Notable interactions: substrate_mm*ph coef=+4.3125 (synergistic) ph*temp_c coef=-3.1875 (antagonistic) substrate_mm*temp_c coef=-0.9375 (antagonistic) substrate_mm*enzyme_ug coef=+0.4375 (synergistic) enzyme_ug*ph coef=-0.3125 (antagonistic) Predicted optimum (from linear model, at observed points): substrate_mm = 0.1 enzyme_ug = 20 ph = 5 temp_c = 20 Predicted value: 20.0625 Surface optimum (via L-BFGS-B, linear model): substrate_mm = 10 enzyme_ug = 1 ph = 9 temp_c = 45 Predicted value: 2.5625 Model quality: Weak fit — consider adding center points or using a different design. Factor importance: 1. substrate_mm (effect: -5.6, contribution: 32.1%) 2. temp_c (effect: -4.6, contribution: 26.4%) 3. enzyme_ug (effect: 4.1, contribution: 23.6%) 4. ph (effect: -3.1, contribution: 17.9%)
← Previous: Electroplating Thickness Control All Use Cases →