Add analysis
Saadat 2021 model
tune
Simulation parameters
analytics
Analyses
Simulation
Loading chart...
PAM Fluorescence
Loading chart...
Model Details
Review and edit model structure, biological variables, and kinetic parameters.
| Name | Tex name | Initial value | Actions |
|---|---|---|---|
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
Edit Options
preview
Generated Python Code
import numpy as np
def model(
time: float,
variables: list[float],
):
_3PGA, BPGA, GAP, DHAP, FBP, F6P, G6P, G1P, SBP, S7P, E4P, X5P, R5P, RUBP, RU5P, atp, fd_ox, protons_lumen, lhc, nadph, pc_ox, pq_ox, psbs_de, vx, MDA, H2O2, DHA, GSSG, tr_ox, E_inactive = variables
PPFD = 100
CO2__dissolved_ = 0.2
O2_lumen = 8
pH = 7.9
protons = 0.000012589254117941661
bH = 100
F = 96.485
E_0_PC = 0.38
E_0_P700 = 0.48
E_0_FA = -0.55
E_0_Fd = -0.43
E_0_NADP = -0.113
convf = 0.032
R = 0.0083
T = 298
Carotenoids_tot = 1
Fd_ = 5
PC_tot = 4
PSBS_tot = 1
LHC_tot = 1
gamma0 = 0.1
gamma1 = 0.25
gamma2 = 0.6
gamma3 = 0.15
kZSat = 0.12
E_0_QA = -0.14
E_0_PQ = 0.354
PQ_tot = 17.5
staticAntII = 0.1
staticAntI = 0.37
Thioredoxin_tot = 1
E_total = 6
NADP_ = 0.8
A_P = 2.55
Pi_tot = 17.05
kf_ferredoxin_thioredoxin_reductase = 1
kf_tr_activation = 1
kf_tr_inactivation = 0.1
ASC_tot_ = 10
Glutathion_tot = 10
kf_atp_synthase = 20
HPR = 4.666666666666667
Pi_mol = 0.01
DeltaG0_ATP = 30.6
kcat_b6f = 2.5
kh_lhc_protonation = 3
kf_lhc_protonation = 0.0096
ksat_lhc_protonation = 5.8
kf_lhc_deprotonation = 0.0096
kf_cyclic_electron_flow = 1
kf_violaxanthin_deepoxidase = 0.0024
kh_violaxanthin_deepoxidase = 5
ksat_violaxanthin_deepoxidase = 5.8
kf_zeaxanthin_epoxidase = 0.00024
km_fnr_fd_red = 1.56
km_fnr_nadp = 0.22
E0_fnr = 3
kcat_fnr = 500
kf_ndh = 0.002
PSII_total = 2.5
PSI_total = 2.5
kH0 = 500000000
kPQred = 250
kPCox = 2500
kFdred = 250000
k2 = 5000000000
kH = 5000000000
kF = 625000000
kMehler = 1
E0_ferredoxin_reductase = 1
kcat_ferredoxin_reductase = 250000
kf_proton_leak = 10
kPTOX = 0.01
kStt7 = 0.0035
km_lhc_state_transition_12 = 0.2
n_ST = 2
kPph1 = 0.0013
E0_rubisco = 1
kcat_rubisco_carboxylase = 2.72
km_rubisco_carboxylase_RUBP = 0.02
km_rubisco_carboxylase_CO2__dissolved_ = 0.0107
ki_rubisco_carboxylase_3PGA = 0.04
ki_rubisco_carboxylase_FBP = 0.04
ki_rubisco_carboxylase_SBP = 0.075
ki_rubisco_carboxylase_pi = 0.9
ki_rubisco_carboxylase_nadph = 0.07
kre_phosphoglycerate_kinase = 800000000
keq_phosphoglycerate_kinase = 0.00031
kre_gadph = 800000000
keq_gadph = 16000000
kre_triose_phosphate_isomerase = 800000000
keq_triose_phosphate_isomerase = 22
kre_aldolase_dhap_gap = 800000000
keq_aldolase_dhap_gap = 7.1
kre_aldolase_dhap_e4p = 800000000
keq_aldolase_dhap_e4p = 13
E0_fbpase = 1
kcat_fbpase = 1.6
km_fbpase_s = 0.03
ki_fbpase_F6P = 0.7
ki_fbpase_pi = 12
kre_transketolase_gap_f6p = 800000000
keq_transketolase_gap_f6p = 0.084
kre_transketolase_gap_s7p = 800000000
keq_transketolase_gap_s7p = 0.85
E0_SBPase = 1
kcat_SBPase = 0.32
km_SBPase_s = 0.013
ki_SBPase_pi = 12
kre_ribose_phosphate_isomerase = 800000000
keq_ribose_phosphate_isomerase = 0.4
kre_ribulose_phosphate_epimerase = 800000000
keq_ribulose_phosphate_epimerase = 0.67
E0_phosphoribulokinase = 1
kcat_phosphoribulokinase = 7.9992
km_phosphoribulokinase_RU5P = 0.05
km_phosphoribulokinase_atp = 0.05
ki_phosphoribulokinase_3PGA = 2
ki_phosphoribulokinase_RUBP = 0.7
ki_phosphoribulokinase_pi = 4
ki_phosphoribulokinase_4 = 2.5
ki_phosphoribulokinase_5 = 0.4
kre_g6pi = 800000000
keq_g6pi = 2.3
kre_phosphoglucomutase = 800000000
keq_phosphoglucomutase = 0.058
pi_ext = 0.5
km_ex_pga = 0.25
km_ex_gap = 0.075
km_ex_dhap = 0.077
km_N_translocator_pi_ext = 0.74
km_N_translocator_pi = 0.63
kcat_N_translocator = 2
E0_N_translocator = 1
E0_ex_g1p = 1
km_ex_g1p_G1P = 0.08
km_ex_g1p_atp = 0.08
ki_ex_g1p = 10
ki_ex_g1p_3PGA = 0.1
ki_ex_g1p_F6P = 0.02
ki_ex_g1p_FBP = 0.02
kcat_ex_g1p = 0.32
kf_mda_reductase_1 = 500
E0_mda_reductase_2 = 0.002
kcat_mda_reductase_2 = 300
km_mda_reductase_2_nadph = 0.023
km_mda_reductase_2_MDA = 0.0014
kf1 = 10000
kr1 = 220
kf2 = 10000
kr2 = 4000
kf3 = 2510
kf4 = 10000
kr4 = 4000
kf5 = 2510
XT = 0.07
E0_glutathion_reductase = 0.0014
kcat_glutathion_reductase = 595
km_glutathion_reductase_nadph = 0.003
km_glutathion_reductase_GSSG = 0.2
km_dehydroascorbate_reductase_DHA = 0.07
km_dehydroascorbate_reductase_GSH = 2.5
K = 0.5
E0_dehydroascorbate_reductase = 0.0017
kcat_dehydroascorbate_reductase = 142
kf_ex_atp = 0.2
kf_ex_nadph = 0.2
RT = R * T
dG_pH = 2.302585092994046 * R * T
pH_lumen = - (np.log(0.00025 * protons_lumen)) / (np.log(10))
zx = Carotenoids_tot + - vx
fd_red = Fd_ + - fd_ox
pc_red = PC_tot + - pc_ox
psbs_pr = PSBS_tot + - psbs_de
lhc_prot = LHC_tot + - lhc
Q = gamma0 * psbs_de * vx + gamma1 * psbs_pr * vx + (gamma2 * psbs_pr * zx) / (kZSat + zx) + (gamma3 * psbs_de * zx) / (kZSat + zx)
keq_pq_red = np.exp((2 * E_0_PQ * F + - 2 * E_0_QA * F + - 2 * dG_pH * pH) / (RT))
pq_red = PQ_tot + - pq_ox
PSII_cross_section = staticAntII + lhc * (1 + - staticAntI + - staticAntII)
tr_red = Thioredoxin_tot + - tr_ox
E_active = E_total + - E_inactive
nadp = NADP_ + - nadph
adp = A_P + - atp
pi = Pi_tot + - DHAP + - E4P + - F6P + - G1P + - G6P + - GAP + - R5P + - RU5P + - S7P + - X5P + - _3PGA + - atp + - 2 * BPGA + - 2 * FBP + - 2 * RUBP + - 2 * SBP
ascorbate = ASC_tot_ + - DHA + - MDA
GSH = Glutathion_tot + - 2 * GSSG
keq_atp_synthase = Pi_mol * np.exp((- DeltaG0_ATP + HPR * dG_pH * (pH + - pH_lumen)) / (RT))
keq_b6f = np.exp((2 * E_0_PC * F + 2 * dG_pH * pH_lumen + - 2 * E_0_PQ * F + - 2 * dG_pH * (pH + - pH_lumen)) / (RT))
keq_fnr = np.exp((- dG_pH * pH + 2 * E_0_NADP * F + - 2 * E_0_Fd * F) / (RT))
vmax_fnr = E0_fnr * kcat_fnr
keq_PCP700 = np.exp((E_0_P700 * F + - E_0_PC * F) / (RT))
keq_ferredoxin_reductase = np.exp((E_0_Fd * F + - E_0_FA * F) / (RT))
vmax_ferredoxin_reductase = E0_ferredoxin_reductase * kcat_ferredoxin_reductase
E0_rubisco_active = E0_rubisco * E_active
vmax_rubisco_carboxylase = E0_rubisco_active * kcat_rubisco_carboxylase
E0_fbpase_active = E0_fbpase * E_active
vmax_fbpase = E0_fbpase_active * kcat_fbpase
E0_SBPase_active = E0_SBPase * E_active
vmax_SBPase = E0_SBPase_active * kcat_SBPase
E0_phosphoribulokinase_active = E0_phosphoribulokinase * E_active
vmax_phosphoribulokinase = E0_phosphoribulokinase_active * kcat_phosphoribulokinase
vmax_ex_pga = E0_N_translocator * kcat_N_translocator
N_translocator = 1 + (1 + (km_N_translocator_pi_ext) / (pi_ext)) * ((DHAP) / (km_ex_dhap) + (GAP) / (km_ex_gap) + (_3PGA) / (km_ex_pga) + (pi) / (km_N_translocator_pi))
E0_ex_g1p_active = E0_ex_g1p * E_active
vmax_ex_g1p = E0_ex_g1p_active * kcat_ex_g1p
vmax_mda_reductase_2 = E0_mda_reductase_2 * kcat_mda_reductase_2
vmax_glutathion_reductase = E0_glutathion_reductase * kcat_glutathion_reductase
vmax_dehydroascorbate_reductase = E0_dehydroascorbate_reductase * kcat_dehydroascorbate_reductase
B0 = (PSII_total * kPQred * keq_pq_red * pq_ox * ((kF) ** (2) + (kH0) ** (2) + k2 * kF + k2 * kH0 + (Q) ** (2) * (kH) ** (2) + 2 * kF * kH0 + Q * k2 * kH + 2 * Q * kF * kH + 2 * Q * kH * kH0)) / (kPQred * pq_red * (kF) ** (2) + kPQred * pq_red * (kH0) ** (2) + k2 * kF * kPQred * pq_red + k2 * kH0 * kPQred * pq_red + k2 * keq_pq_red * (PPFD) ** (2) * (PSII_cross_section) ** (2) + kPQred * keq_pq_red * pq_ox * (kF) ** (2) + kPQred * keq_pq_red * pq_ox * (kH0) ** (2) + kPQred * pq_red * (Q) ** (2) * (kH) ** (2) + 2 * kF * kH0 * kPQred * pq_red + PPFD * PSII_cross_section * k2 * kF * keq_pq_red + PPFD * PSII_cross_section * k2 * kH0 * keq_pq_red + PPFD * PSII_cross_section * k2 * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * pq_red + PPFD * PSII_cross_section * kH0 * kPQred * pq_red + Q * k2 * kH * kPQred * pq_red + k2 * kF * kPQred * keq_pq_red * pq_ox + k2 * kH0 * kPQred * keq_pq_red * pq_ox + kPQred * keq_pq_red * pq_ox * (Q) ** (2) * (kH) ** (2) + 2 * Q * kF * kH * kPQred * pq_red + 2 * Q * kH * kH0 * kPQred * pq_red + 2 * kF * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * k2 * kH * keq_pq_red + PPFD * PSII_cross_section * Q * kH * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * kH0 * kPQred * keq_pq_red * pq_ox + Q * k2 * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kF * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kH * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * kH * kPQred * keq_pq_red * pq_ox)
B1 = (PPFD * PSII_cross_section * PSII_total * kPQred * keq_pq_red * pq_ox * (kF + kH0 + Q * kH)) / (kPQred * pq_red * (kF) ** (2) + kPQred * pq_red * (kH0) ** (2) + k2 * kF * kPQred * pq_red + k2 * kH0 * kPQred * pq_red + k2 * keq_pq_red * (PPFD) ** (2) * (PSII_cross_section) ** (2) + kPQred * keq_pq_red * pq_ox * (kF) ** (2) + kPQred * keq_pq_red * pq_ox * (kH0) ** (2) + kPQred * pq_red * (Q) ** (2) * (kH) ** (2) + 2 * kF * kH0 * kPQred * pq_red + PPFD * PSII_cross_section * k2 * kF * keq_pq_red + PPFD * PSII_cross_section * k2 * kH0 * keq_pq_red + PPFD * PSII_cross_section * k2 * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * pq_red + PPFD * PSII_cross_section * kH0 * kPQred * pq_red + Q * k2 * kH * kPQred * pq_red + k2 * kF * kPQred * keq_pq_red * pq_ox + k2 * kH0 * kPQred * keq_pq_red * pq_ox + kPQred * keq_pq_red * pq_ox * (Q) ** (2) * (kH) ** (2) + 2 * Q * kF * kH * kPQred * pq_red + 2 * Q * kH * kH0 * kPQred * pq_red + 2 * kF * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * k2 * kH * keq_pq_red + PPFD * PSII_cross_section * Q * kH * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * kH0 * kPQred * keq_pq_red * pq_ox + Q * k2 * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kF * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kH * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * kH * kPQred * keq_pq_red * pq_ox)
B2 = (PSII_total * (kPQred * pq_red * (kF) ** (2) + kPQred * pq_red * (kH0) ** (2) + k2 * kF * kPQred * pq_red + k2 * kH0 * kPQred * pq_red + kPQred * pq_red * (Q) ** (2) * (kH) ** (2) + 2 * kF * kH0 * kPQred * pq_red + PPFD * PSII_cross_section * k2 * kF * keq_pq_red + PPFD * PSII_cross_section * k2 * kH0 * keq_pq_red + Q * k2 * kH * kPQred * pq_red + 2 * Q * kF * kH * kPQred * pq_red + 2 * Q * kH * kH0 * kPQred * pq_red + PPFD * PSII_cross_section * Q * k2 * kH * keq_pq_red)) / (kPQred * pq_red * (kF) ** (2) + kPQred * pq_red * (kH0) ** (2) + k2 * kF * kPQred * pq_red + k2 * kH0 * kPQred * pq_red + k2 * keq_pq_red * (PPFD) ** (2) * (PSII_cross_section) ** (2) + kPQred * keq_pq_red * pq_ox * (kF) ** (2) + kPQred * keq_pq_red * pq_ox * (kH0) ** (2) + kPQred * pq_red * (Q) ** (2) * (kH) ** (2) + 2 * kF * kH0 * kPQred * pq_red + PPFD * PSII_cross_section * k2 * kF * keq_pq_red + PPFD * PSII_cross_section * k2 * kH0 * keq_pq_red + PPFD * PSII_cross_section * k2 * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * pq_red + PPFD * PSII_cross_section * kH0 * kPQred * pq_red + Q * k2 * kH * kPQred * pq_red + k2 * kF * kPQred * keq_pq_red * pq_ox + k2 * kH0 * kPQred * keq_pq_red * pq_ox + kPQred * keq_pq_red * pq_ox * (Q) ** (2) * (kH) ** (2) + 2 * Q * kF * kH * kPQred * pq_red + 2 * Q * kH * kH0 * kPQred * pq_red + 2 * kF * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * k2 * kH * keq_pq_red + PPFD * PSII_cross_section * Q * kH * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * kH0 * kPQred * keq_pq_red * pq_ox + Q * k2 * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kF * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kH * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * kH * kPQred * keq_pq_red * pq_ox)
B3 = (PPFD * PSII_cross_section * PSII_total * (k2 * kPQred * pq_red + kF * kPQred * pq_red + kH0 * kPQred * pq_red + PPFD * PSII_cross_section * k2 * keq_pq_red + Q * kH * kPQred * pq_red)) / (kPQred * pq_red * (kF) ** (2) + kPQred * pq_red * (kH0) ** (2) + k2 * kF * kPQred * pq_red + k2 * kH0 * kPQred * pq_red + k2 * keq_pq_red * (PPFD) ** (2) * (PSII_cross_section) ** (2) + kPQred * keq_pq_red * pq_ox * (kF) ** (2) + kPQred * keq_pq_red * pq_ox * (kH0) ** (2) + kPQred * pq_red * (Q) ** (2) * (kH) ** (2) + 2 * kF * kH0 * kPQred * pq_red + PPFD * PSII_cross_section * k2 * kF * keq_pq_red + PPFD * PSII_cross_section * k2 * kH0 * keq_pq_red + PPFD * PSII_cross_section * k2 * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * pq_red + PPFD * PSII_cross_section * kH0 * kPQred * pq_red + Q * k2 * kH * kPQred * pq_red + k2 * kF * kPQred * keq_pq_red * pq_ox + k2 * kH0 * kPQred * keq_pq_red * pq_ox + kPQred * keq_pq_red * pq_ox * (Q) ** (2) * (kH) ** (2) + 2 * Q * kF * kH * kPQred * pq_red + 2 * Q * kH * kH0 * kPQred * pq_red + 2 * kF * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * k2 * kH * keq_pq_red + PPFD * PSII_cross_section * Q * kH * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * kH0 * kPQred * keq_pq_red * pq_ox + Q * k2 * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kF * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kH * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * kH * kPQred * keq_pq_red * pq_ox)
A0 = (PSI_total * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (O2_lumen * kMehler + fd_ox * kFdred)) / (fd_red * kFdred * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + fd_ox * kFdred * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red + PPFD * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (1 + - PSII_cross_section) + fd_ox * kFdred * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red)
A1 = (PSI_total * (fd_red * kFdred * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + PPFD * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (1 + - PSII_cross_section))) / (fd_red * kFdred * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + fd_ox * kFdred * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red + PPFD * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (1 + - PSII_cross_section) + fd_ox * kFdred * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red)
A2 = PSI_total + - (PSI_total * (fd_red * kFdred * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + PPFD * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (1 + - PSII_cross_section))) / (fd_red * kFdred * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + fd_ox * kFdred * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red + PPFD * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (1 + - PSII_cross_section) + fd_ox * kFdred * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red) + - (PSI_total * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (O2_lumen * kMehler + fd_ox * kFdred)) / (fd_red * kFdred * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + fd_ox * kFdred * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red + PPFD * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (1 + - PSII_cross_section) + fd_ox * kFdred * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red)
ferredoxin_thioredoxin_reductase = fd_red * kf_ferredoxin_thioredoxin_reductase * tr_ox
tr_activation = E_inactive * kf_tr_activation * tr_red
tr_inactivation = E_active * kf_tr_inactivation
atp_synthase = kf_atp_synthase * ((adp) / (convf) + - (atp) / (convf * keq_atp_synthase))
b6f = max(- kcat_b6f, kcat_b6f * (pq_red * (pc_ox) ** (2) + - (pq_ox * (pc_red) ** (2)) / (keq_b6f)))
lhc_protonation = (kf_lhc_protonation * psbs_de * (protons_lumen) ** (kh_lhc_protonation)) / ((protons_lumen) ** (kh_lhc_protonation) + (4000 * (10) ** (- ksat_lhc_protonation)) ** (kh_lhc_protonation))
lhc_deprotonation = kf_lhc_deprotonation * psbs_pr
cyclic_electron_flow = kf_cyclic_electron_flow * pq_ox * (fd_red) ** (2)
violaxanthin_deepoxidase = (kf_violaxanthin_deepoxidase * vx * (protons_lumen) ** (kh_violaxanthin_deepoxidase)) / ((protons_lumen) ** (kh_violaxanthin_deepoxidase) + (4000 * (10) ** (- ksat_violaxanthin_deepoxidase)) ** (kh_violaxanthin_deepoxidase))
zeaxanthin_epoxidase = kf_zeaxanthin_epoxidase * zx
fnr = (vmax_fnr * ((nadp * ((fd_red) / (km_fnr_fd_red)) ** (2)) / (convf * km_fnr_nadp) + - (nadph * ((fd_ox) / (km_fnr_fd_red)) ** (2)) / (convf * keq_fnr * km_fnr_nadp))) / (-1 + (1 + (nadp) / (convf * km_fnr_nadp)) * (1 + ((fd_red) / (km_fnr_fd_red)) ** (2) + (fd_red) / (km_fnr_fd_red)) + (1 + (nadph) / (convf * km_fnr_nadp)) * (1 + ((fd_ox) / (km_fnr_fd_red)) ** (2) + (fd_ox) / (km_fnr_fd_red)))
ndh = kf_ndh * pq_ox
PSII = 0.5 * B1 * k2
PSI = A0 * PPFD * (1 + - PSII_cross_section)
mehler = A1 * O2_lumen * kMehler
ferredoxin_reductase = A1 * fd_ox * vmax_ferredoxin_reductase + - (A2 * fd_red * vmax_ferredoxin_reductase) / (keq_ferredoxin_reductase)
proton_leak = kf_proton_leak * (protons_lumen + - 4000 * (10) ** (- pH))
PTOX = O2_lumen * kPTOX * pq_red
lhc_state_transition_12 = (1 * kStt7 * lhc) / (1 + ((pq_ox) / (PQ_tot * km_lhc_state_transition_12)) ** (n_ST))
lhc_state_transition_21 = kPph1 * lhc_prot
rubisco_carboxylase = (CO2__dissolved_ * RUBP * vmax_rubisco_carboxylase) / ((CO2__dissolved_ + km_rubisco_carboxylase_CO2__dissolved_) * (RUBP + km_rubisco_carboxylase_RUBP * (1 + (FBP) / (ki_rubisco_carboxylase_FBP) + (SBP) / (ki_rubisco_carboxylase_SBP) + (_3PGA) / (ki_rubisco_carboxylase_3PGA) + (nadph) / (ki_rubisco_carboxylase_nadph) + (pi) / (ki_rubisco_carboxylase_pi))))
phosphoglycerate_kinase = kre_phosphoglycerate_kinase * (_3PGA * atp + - (BPGA * adp) / (keq_phosphoglycerate_kinase))
gadph = kre_gadph * (BPGA * nadph * protons + - (GAP * nadp * pi) / (keq_gadph))
triose_phosphate_isomerase = kre_triose_phosphate_isomerase * (GAP + - (DHAP) / (keq_triose_phosphate_isomerase))
aldolase_dhap_gap = kre_aldolase_dhap_gap * (DHAP * GAP + - (FBP) / (keq_aldolase_dhap_gap))
aldolase_dhap_e4p = kre_aldolase_dhap_e4p * (DHAP * E4P + - (SBP) / (keq_aldolase_dhap_e4p))
fbpase = (FBP * vmax_fbpase) / (FBP + km_fbpase_s * (1 + (F6P) / (ki_fbpase_F6P) + (pi) / (ki_fbpase_pi)))
transketolase_gap_f6p = kre_transketolase_gap_f6p * (F6P * GAP + - (E4P * X5P) / (keq_transketolase_gap_f6p))
transketolase_gap_s7p = kre_transketolase_gap_s7p * (GAP * S7P + - (R5P * X5P) / (keq_transketolase_gap_s7p))
SBPase = (SBP * vmax_SBPase) / (SBP + km_SBPase_s * (1 + (pi) / (ki_SBPase_pi)))
ribose_phosphate_isomerase = kre_ribose_phosphate_isomerase * (R5P + - (RU5P) / (keq_ribose_phosphate_isomerase))
ribulose_phosphate_epimerase = kre_ribulose_phosphate_epimerase * (X5P + - (RU5P) / (keq_ribulose_phosphate_epimerase))
phosphoribulokinase = (RU5P * atp * vmax_phosphoribulokinase) / ((RU5P + km_phosphoribulokinase_RU5P * (1 + (RUBP) / (ki_phosphoribulokinase_RUBP) + (_3PGA) / (ki_phosphoribulokinase_3PGA) + (pi) / (ki_phosphoribulokinase_pi))) * (atp * (1 + (adp) / (ki_phosphoribulokinase_4)) + km_phosphoribulokinase_atp * (1 + (adp) / (ki_phosphoribulokinase_5))))
g6pi = kre_g6pi * (F6P + - (G6P) / (keq_g6pi))
phosphoglucomutase = kre_phosphoglucomutase * (G6P + - (G1P) / (keq_phosphoglucomutase))
ex_pga = (_3PGA * vmax_ex_pga) / (N_translocator * km_ex_pga)
ex_gap = (GAP * vmax_ex_pga) / (N_translocator * km_ex_gap)
ex_dhap = (DHAP * vmax_ex_pga) / (N_translocator * km_ex_dhap)
ex_g1p = (G1P * atp * vmax_ex_g1p) / ((G1P + km_ex_g1p_G1P) * ((1 + (adp) / (ki_ex_g1p)) * (atp + km_ex_g1p_atp) + (km_ex_g1p_atp * pi) / (F6P * ki_ex_g1p_F6P + FBP * ki_ex_g1p_FBP + _3PGA * ki_ex_g1p_3PGA)))
mda_reductase_1 = kf_mda_reductase_1 * (MDA) ** (2)
mda_reductase_2 = (MDA * nadph * vmax_mda_reductase_2) / (MDA * km_mda_reductase_2_nadph + MDA * nadph + km_mda_reductase_2_MDA * km_mda_reductase_2_nadph + km_mda_reductase_2_MDA * nadph)
ascorbate_peroxidase = (H2O2 * XT * ascorbate) / ((H2O2) / (kf2) + (H2O2) / (kf4) + (ascorbate) / (kf1) + H2O2 * ascorbate * ((1) / (kf3) + (1) / (kf5)) + (kr1) / (kf1 * kf2) + (H2O2 * kr2) / (kf2 * kf3) + (H2O2 * kr4) / (kf4 * kf5) + (kr1 * kr2) / (kf1 * kf2 * kf3))
glutathion_reductase = (GSSG * nadph * vmax_glutathion_reductase) / (GSSG * km_glutathion_reductase_nadph + GSSG * nadph + km_glutathion_reductase_GSSG * km_glutathion_reductase_nadph + km_glutathion_reductase_GSSG * nadph)
dehydroascorbate_reductase = (DHA * GSH * vmax_dehydroascorbate_reductase) / (K + DHA * GSH + DHA * km_dehydroascorbate_reductase_GSH + GSH * km_dehydroascorbate_reductase_DHA)
ex_atp = atp * kf_ex_atp
ex_nadph = kf_ex_nadph * nadph
d_3PGAdt = +2*rubisco_carboxylase-phosphoglycerate_kinase-ex_pga
dBPGAdt = +phosphoglycerate_kinase-gadph
dGAPdt = +gadph-triose_phosphate_isomerase-aldolase_dhap_gap-transketolase_gap_f6p-transketolase_gap_s7p-ex_gap
dDHAPdt = +triose_phosphate_isomerase-aldolase_dhap_gap-aldolase_dhap_e4p-ex_dhap
dFBPdt = +aldolase_dhap_gap-fbpase
dF6Pdt = +fbpase-transketolase_gap_f6p-g6pi
dG6Pdt = +g6pi-phosphoglucomutase
dG1Pdt = +phosphoglucomutase-ex_g1p
dSBPdt = +aldolase_dhap_e4p-SBPase
dS7Pdt = -transketolase_gap_s7p+SBPase
dE4Pdt = -aldolase_dhap_e4p+transketolase_gap_f6p
dX5Pdt = +transketolase_gap_f6p+transketolase_gap_s7p-ribulose_phosphate_epimerase
dR5Pdt = +transketolase_gap_s7p-ribose_phosphate_isomerase
dRUBPdt = -rubisco_carboxylase+phosphoribulokinase
dRU5Pdt = +ribose_phosphate_isomerase+ribulose_phosphate_epimerase-phosphoribulokinase
datpdt = +(convf)*atp_synthase-phosphoglycerate_kinase-phosphoribulokinase-ex_g1p-ex_atp
dfd_oxdt = +ferredoxin_thioredoxin_reductase+2*cyclic_electron_flow+2*fnr-ferredoxin_reductase
dprotons_lumendt = +(- (HPR) / (bH))*atp_synthase+((4) / (bH))*b6f+((2) / (bH))*PSII+(- (1) / (bH))*proton_leak
dlhcdt = -lhc_state_transition_12+lhc_state_transition_21
dnadphdt = +(convf)*fnr-gadph-mda_reductase_2-glutathion_reductase-ex_nadph
dpc_oxdt = -2*b6f+PSI
dpq_oxdt = +b6f-cyclic_electron_flow-ndh-PSII+PTOX
dpsbs_dedt = -lhc_protonation+lhc_deprotonation
dvxdt = -violaxanthin_deepoxidase+zeaxanthin_epoxidase
dMDAdt = -2*mda_reductase_1-2*mda_reductase_2+2*ascorbate_peroxidase
dH2O2dt = +(convf)*mehler-ascorbate_peroxidase
dDHAdt = +mda_reductase_1-dehydroascorbate_reductase
dGSSGdt = -glutathion_reductase+dehydroascorbate_reductase
dtr_oxdt = -ferredoxin_thioredoxin_reductase+5*tr_activation
dE_inactivedt = -5*tr_activation+5*tr_inactivation
return [d_3PGAdt, dBPGAdt, dGAPdt, dDHAPdt, dFBPdt, dF6Pdt, dG6Pdt, dG1Pdt, dSBPdt, dS7Pdt, dE4Pdt, dX5Pdt, dR5Pdt, dRUBPdt, dRU5Pdt, datpdt, dfd_oxdt, dprotons_lumendt, dlhcdt, dnadphdt, dpc_oxdt, dpq_oxdt, dpsbs_dedt, dvxdt, dMDAdt, dH2O2dt, dDHAdt, dGSSGdt, dtr_oxdt, dE_inactivedt]
def all_derived(
time: float,
variables: list[float],
):
_3PGA, BPGA, GAP, DHAP, FBP, F6P, G6P, G1P, SBP, S7P, E4P, X5P, R5P, RUBP, RU5P, atp, fd_ox, protons_lumen, lhc, nadph, pc_ox, pq_ox, psbs_de, vx, MDA, H2O2, DHA, GSSG, tr_ox, E_inactive = variables
PPFD = 100
CO2__dissolved_ = 0.2
O2_lumen = 8
pH = 7.9
protons = 0.000012589254117941661
bH = 100
F = 96.485
E_0_PC = 0.38
E_0_P700 = 0.48
E_0_FA = -0.55
E_0_Fd = -0.43
E_0_NADP = -0.113
convf = 0.032
R = 0.0083
T = 298
Carotenoids_tot = 1
Fd_ = 5
PC_tot = 4
PSBS_tot = 1
LHC_tot = 1
gamma0 = 0.1
gamma1 = 0.25
gamma2 = 0.6
gamma3 = 0.15
kZSat = 0.12
E_0_QA = -0.14
E_0_PQ = 0.354
PQ_tot = 17.5
staticAntII = 0.1
staticAntI = 0.37
Thioredoxin_tot = 1
E_total = 6
NADP_ = 0.8
A_P = 2.55
Pi_tot = 17.05
kf_ferredoxin_thioredoxin_reductase = 1
kf_tr_activation = 1
kf_tr_inactivation = 0.1
ASC_tot_ = 10
Glutathion_tot = 10
kf_atp_synthase = 20
HPR = 4.666666666666667
Pi_mol = 0.01
DeltaG0_ATP = 30.6
kcat_b6f = 2.5
kh_lhc_protonation = 3
kf_lhc_protonation = 0.0096
ksat_lhc_protonation = 5.8
kf_lhc_deprotonation = 0.0096
kf_cyclic_electron_flow = 1
kf_violaxanthin_deepoxidase = 0.0024
kh_violaxanthin_deepoxidase = 5
ksat_violaxanthin_deepoxidase = 5.8
kf_zeaxanthin_epoxidase = 0.00024
km_fnr_fd_red = 1.56
km_fnr_nadp = 0.22
E0_fnr = 3
kcat_fnr = 500
kf_ndh = 0.002
PSII_total = 2.5
PSI_total = 2.5
kH0 = 500000000
kPQred = 250
kPCox = 2500
kFdred = 250000
k2 = 5000000000
kH = 5000000000
kF = 625000000
kMehler = 1
E0_ferredoxin_reductase = 1
kcat_ferredoxin_reductase = 250000
kf_proton_leak = 10
kPTOX = 0.01
kStt7 = 0.0035
km_lhc_state_transition_12 = 0.2
n_ST = 2
kPph1 = 0.0013
E0_rubisco = 1
kcat_rubisco_carboxylase = 2.72
km_rubisco_carboxylase_RUBP = 0.02
km_rubisco_carboxylase_CO2__dissolved_ = 0.0107
ki_rubisco_carboxylase_3PGA = 0.04
ki_rubisco_carboxylase_FBP = 0.04
ki_rubisco_carboxylase_SBP = 0.075
ki_rubisco_carboxylase_pi = 0.9
ki_rubisco_carboxylase_nadph = 0.07
kre_phosphoglycerate_kinase = 800000000
keq_phosphoglycerate_kinase = 0.00031
kre_gadph = 800000000
keq_gadph = 16000000
kre_triose_phosphate_isomerase = 800000000
keq_triose_phosphate_isomerase = 22
kre_aldolase_dhap_gap = 800000000
keq_aldolase_dhap_gap = 7.1
kre_aldolase_dhap_e4p = 800000000
keq_aldolase_dhap_e4p = 13
E0_fbpase = 1
kcat_fbpase = 1.6
km_fbpase_s = 0.03
ki_fbpase_F6P = 0.7
ki_fbpase_pi = 12
kre_transketolase_gap_f6p = 800000000
keq_transketolase_gap_f6p = 0.084
kre_transketolase_gap_s7p = 800000000
keq_transketolase_gap_s7p = 0.85
E0_SBPase = 1
kcat_SBPase = 0.32
km_SBPase_s = 0.013
ki_SBPase_pi = 12
kre_ribose_phosphate_isomerase = 800000000
keq_ribose_phosphate_isomerase = 0.4
kre_ribulose_phosphate_epimerase = 800000000
keq_ribulose_phosphate_epimerase = 0.67
E0_phosphoribulokinase = 1
kcat_phosphoribulokinase = 7.9992
km_phosphoribulokinase_RU5P = 0.05
km_phosphoribulokinase_atp = 0.05
ki_phosphoribulokinase_3PGA = 2
ki_phosphoribulokinase_RUBP = 0.7
ki_phosphoribulokinase_pi = 4
ki_phosphoribulokinase_4 = 2.5
ki_phosphoribulokinase_5 = 0.4
kre_g6pi = 800000000
keq_g6pi = 2.3
kre_phosphoglucomutase = 800000000
keq_phosphoglucomutase = 0.058
pi_ext = 0.5
km_ex_pga = 0.25
km_ex_gap = 0.075
km_ex_dhap = 0.077
km_N_translocator_pi_ext = 0.74
km_N_translocator_pi = 0.63
kcat_N_translocator = 2
E0_N_translocator = 1
E0_ex_g1p = 1
km_ex_g1p_G1P = 0.08
km_ex_g1p_atp = 0.08
ki_ex_g1p = 10
ki_ex_g1p_3PGA = 0.1
ki_ex_g1p_F6P = 0.02
ki_ex_g1p_FBP = 0.02
kcat_ex_g1p = 0.32
kf_mda_reductase_1 = 500
E0_mda_reductase_2 = 0.002
kcat_mda_reductase_2 = 300
km_mda_reductase_2_nadph = 0.023
km_mda_reductase_2_MDA = 0.0014
kf1 = 10000
kr1 = 220
kf2 = 10000
kr2 = 4000
kf3 = 2510
kf4 = 10000
kr4 = 4000
kf5 = 2510
XT = 0.07
E0_glutathion_reductase = 0.0014
kcat_glutathion_reductase = 595
km_glutathion_reductase_nadph = 0.003
km_glutathion_reductase_GSSG = 0.2
km_dehydroascorbate_reductase_DHA = 0.07
km_dehydroascorbate_reductase_GSH = 2.5
K = 0.5
E0_dehydroascorbate_reductase = 0.0017
kcat_dehydroascorbate_reductase = 142
kf_ex_atp = 0.2
kf_ex_nadph = 0.2
RT = R * T
dG_pH = 2.302585092994046 * R * T
pH_lumen = - (np.log(0.00025 * protons_lumen)) / (np.log(10))
zx = Carotenoids_tot + - vx
fd_red = Fd_ + - fd_ox
pc_red = PC_tot + - pc_ox
psbs_pr = PSBS_tot + - psbs_de
lhc_prot = LHC_tot + - lhc
Q = gamma0 * psbs_de * vx + gamma1 * psbs_pr * vx + (gamma2 * psbs_pr * zx) / (kZSat + zx) + (gamma3 * psbs_de * zx) / (kZSat + zx)
keq_pq_red = np.exp((2 * E_0_PQ * F + - 2 * E_0_QA * F + - 2 * dG_pH * pH) / (RT))
pq_red = PQ_tot + - pq_ox
PSII_cross_section = staticAntII + lhc * (1 + - staticAntI + - staticAntII)
tr_red = Thioredoxin_tot + - tr_ox
E_active = E_total + - E_inactive
nadp = NADP_ + - nadph
adp = A_P + - atp
pi = Pi_tot + - DHAP + - E4P + - F6P + - G1P + - G6P + - GAP + - R5P + - RU5P + - S7P + - X5P + - _3PGA + - atp + - 2 * BPGA + - 2 * FBP + - 2 * RUBP + - 2 * SBP
ascorbate = ASC_tot_ + - DHA + - MDA
GSH = Glutathion_tot + - 2 * GSSG
keq_atp_synthase = Pi_mol * np.exp((- DeltaG0_ATP + HPR * dG_pH * (pH + - pH_lumen)) / (RT))
keq_b6f = np.exp((2 * E_0_PC * F + 2 * dG_pH * pH_lumen + - 2 * E_0_PQ * F + - 2 * dG_pH * (pH + - pH_lumen)) / (RT))
keq_fnr = np.exp((- dG_pH * pH + 2 * E_0_NADP * F + - 2 * E_0_Fd * F) / (RT))
vmax_fnr = E0_fnr * kcat_fnr
keq_PCP700 = np.exp((E_0_P700 * F + - E_0_PC * F) / (RT))
keq_ferredoxin_reductase = np.exp((E_0_Fd * F + - E_0_FA * F) / (RT))
vmax_ferredoxin_reductase = E0_ferredoxin_reductase * kcat_ferredoxin_reductase
E0_rubisco_active = E0_rubisco * E_active
vmax_rubisco_carboxylase = E0_rubisco_active * kcat_rubisco_carboxylase
E0_fbpase_active = E0_fbpase * E_active
vmax_fbpase = E0_fbpase_active * kcat_fbpase
E0_SBPase_active = E0_SBPase * E_active
vmax_SBPase = E0_SBPase_active * kcat_SBPase
E0_phosphoribulokinase_active = E0_phosphoribulokinase * E_active
vmax_phosphoribulokinase = E0_phosphoribulokinase_active * kcat_phosphoribulokinase
vmax_ex_pga = E0_N_translocator * kcat_N_translocator
N_translocator = 1 + (1 + (km_N_translocator_pi_ext) / (pi_ext)) * ((DHAP) / (km_ex_dhap) + (GAP) / (km_ex_gap) + (_3PGA) / (km_ex_pga) + (pi) / (km_N_translocator_pi))
E0_ex_g1p_active = E0_ex_g1p * E_active
vmax_ex_g1p = E0_ex_g1p_active * kcat_ex_g1p
vmax_mda_reductase_2 = E0_mda_reductase_2 * kcat_mda_reductase_2
vmax_glutathion_reductase = E0_glutathion_reductase * kcat_glutathion_reductase
vmax_dehydroascorbate_reductase = E0_dehydroascorbate_reductase * kcat_dehydroascorbate_reductase
B0 = (PSII_total * kPQred * keq_pq_red * pq_ox * ((kF) ** (2) + (kH0) ** (2) + k2 * kF + k2 * kH0 + (Q) ** (2) * (kH) ** (2) + 2 * kF * kH0 + Q * k2 * kH + 2 * Q * kF * kH + 2 * Q * kH * kH0)) / (kPQred * pq_red * (kF) ** (2) + kPQred * pq_red * (kH0) ** (2) + k2 * kF * kPQred * pq_red + k2 * kH0 * kPQred * pq_red + k2 * keq_pq_red * (PPFD) ** (2) * (PSII_cross_section) ** (2) + kPQred * keq_pq_red * pq_ox * (kF) ** (2) + kPQred * keq_pq_red * pq_ox * (kH0) ** (2) + kPQred * pq_red * (Q) ** (2) * (kH) ** (2) + 2 * kF * kH0 * kPQred * pq_red + PPFD * PSII_cross_section * k2 * kF * keq_pq_red + PPFD * PSII_cross_section * k2 * kH0 * keq_pq_red + PPFD * PSII_cross_section * k2 * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * pq_red + PPFD * PSII_cross_section * kH0 * kPQred * pq_red + Q * k2 * kH * kPQred * pq_red + k2 * kF * kPQred * keq_pq_red * pq_ox + k2 * kH0 * kPQred * keq_pq_red * pq_ox + kPQred * keq_pq_red * pq_ox * (Q) ** (2) * (kH) ** (2) + 2 * Q * kF * kH * kPQred * pq_red + 2 * Q * kH * kH0 * kPQred * pq_red + 2 * kF * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * k2 * kH * keq_pq_red + PPFD * PSII_cross_section * Q * kH * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * kH0 * kPQred * keq_pq_red * pq_ox + Q * k2 * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kF * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kH * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * kH * kPQred * keq_pq_red * pq_ox)
B1 = (PPFD * PSII_cross_section * PSII_total * kPQred * keq_pq_red * pq_ox * (kF + kH0 + Q * kH)) / (kPQred * pq_red * (kF) ** (2) + kPQred * pq_red * (kH0) ** (2) + k2 * kF * kPQred * pq_red + k2 * kH0 * kPQred * pq_red + k2 * keq_pq_red * (PPFD) ** (2) * (PSII_cross_section) ** (2) + kPQred * keq_pq_red * pq_ox * (kF) ** (2) + kPQred * keq_pq_red * pq_ox * (kH0) ** (2) + kPQred * pq_red * (Q) ** (2) * (kH) ** (2) + 2 * kF * kH0 * kPQred * pq_red + PPFD * PSII_cross_section * k2 * kF * keq_pq_red + PPFD * PSII_cross_section * k2 * kH0 * keq_pq_red + PPFD * PSII_cross_section * k2 * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * pq_red + PPFD * PSII_cross_section * kH0 * kPQred * pq_red + Q * k2 * kH * kPQred * pq_red + k2 * kF * kPQred * keq_pq_red * pq_ox + k2 * kH0 * kPQred * keq_pq_red * pq_ox + kPQred * keq_pq_red * pq_ox * (Q) ** (2) * (kH) ** (2) + 2 * Q * kF * kH * kPQred * pq_red + 2 * Q * kH * kH0 * kPQred * pq_red + 2 * kF * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * k2 * kH * keq_pq_red + PPFD * PSII_cross_section * Q * kH * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * kH0 * kPQred * keq_pq_red * pq_ox + Q * k2 * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kF * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kH * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * kH * kPQred * keq_pq_red * pq_ox)
B2 = (PSII_total * (kPQred * pq_red * (kF) ** (2) + kPQred * pq_red * (kH0) ** (2) + k2 * kF * kPQred * pq_red + k2 * kH0 * kPQred * pq_red + kPQred * pq_red * (Q) ** (2) * (kH) ** (2) + 2 * kF * kH0 * kPQred * pq_red + PPFD * PSII_cross_section * k2 * kF * keq_pq_red + PPFD * PSII_cross_section * k2 * kH0 * keq_pq_red + Q * k2 * kH * kPQred * pq_red + 2 * Q * kF * kH * kPQred * pq_red + 2 * Q * kH * kH0 * kPQred * pq_red + PPFD * PSII_cross_section * Q * k2 * kH * keq_pq_red)) / (kPQred * pq_red * (kF) ** (2) + kPQred * pq_red * (kH0) ** (2) + k2 * kF * kPQred * pq_red + k2 * kH0 * kPQred * pq_red + k2 * keq_pq_red * (PPFD) ** (2) * (PSII_cross_section) ** (2) + kPQred * keq_pq_red * pq_ox * (kF) ** (2) + kPQred * keq_pq_red * pq_ox * (kH0) ** (2) + kPQred * pq_red * (Q) ** (2) * (kH) ** (2) + 2 * kF * kH0 * kPQred * pq_red + PPFD * PSII_cross_section * k2 * kF * keq_pq_red + PPFD * PSII_cross_section * k2 * kH0 * keq_pq_red + PPFD * PSII_cross_section * k2 * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * pq_red + PPFD * PSII_cross_section * kH0 * kPQred * pq_red + Q * k2 * kH * kPQred * pq_red + k2 * kF * kPQred * keq_pq_red * pq_ox + k2 * kH0 * kPQred * keq_pq_red * pq_ox + kPQred * keq_pq_red * pq_ox * (Q) ** (2) * (kH) ** (2) + 2 * Q * kF * kH * kPQred * pq_red + 2 * Q * kH * kH0 * kPQred * pq_red + 2 * kF * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * k2 * kH * keq_pq_red + PPFD * PSII_cross_section * Q * kH * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * kH0 * kPQred * keq_pq_red * pq_ox + Q * k2 * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kF * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kH * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * kH * kPQred * keq_pq_red * pq_ox)
B3 = (PPFD * PSII_cross_section * PSII_total * (k2 * kPQred * pq_red + kF * kPQred * pq_red + kH0 * kPQred * pq_red + PPFD * PSII_cross_section * k2 * keq_pq_red + Q * kH * kPQred * pq_red)) / (kPQred * pq_red * (kF) ** (2) + kPQred * pq_red * (kH0) ** (2) + k2 * kF * kPQred * pq_red + k2 * kH0 * kPQred * pq_red + k2 * keq_pq_red * (PPFD) ** (2) * (PSII_cross_section) ** (2) + kPQred * keq_pq_red * pq_ox * (kF) ** (2) + kPQred * keq_pq_red * pq_ox * (kH0) ** (2) + kPQred * pq_red * (Q) ** (2) * (kH) ** (2) + 2 * kF * kH0 * kPQred * pq_red + PPFD * PSII_cross_section * k2 * kF * keq_pq_red + PPFD * PSII_cross_section * k2 * kH0 * keq_pq_red + PPFD * PSII_cross_section * k2 * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * pq_red + PPFD * PSII_cross_section * kH0 * kPQred * pq_red + Q * k2 * kH * kPQred * pq_red + k2 * kF * kPQred * keq_pq_red * pq_ox + k2 * kH0 * kPQred * keq_pq_red * pq_ox + kPQred * keq_pq_red * pq_ox * (Q) ** (2) * (kH) ** (2) + 2 * Q * kF * kH * kPQred * pq_red + 2 * Q * kH * kH0 * kPQred * pq_red + 2 * kF * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * k2 * kH * keq_pq_red + PPFD * PSII_cross_section * Q * kH * kPQred * pq_red + PPFD * PSII_cross_section * kF * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * kH0 * kPQred * keq_pq_red * pq_ox + Q * k2 * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kF * kH * kPQred * keq_pq_red * pq_ox + 2 * Q * kH * kH0 * kPQred * keq_pq_red * pq_ox + PPFD * PSII_cross_section * Q * kH * kPQred * keq_pq_red * pq_ox)
A0 = (PSI_total * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (O2_lumen * kMehler + fd_ox * kFdred)) / (fd_red * kFdred * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + fd_ox * kFdred * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red + PPFD * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (1 + - PSII_cross_section) + fd_ox * kFdred * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red)
A1 = (PSI_total * (fd_red * kFdred * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + PPFD * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (1 + - PSII_cross_section))) / (fd_red * kFdred * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + fd_ox * kFdred * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red + PPFD * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (1 + - PSII_cross_section) + fd_ox * kFdred * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red)
A2 = PSI_total + - (PSI_total * (fd_red * kFdred * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + PPFD * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (1 + - PSII_cross_section))) / (fd_red * kFdred * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + fd_ox * kFdred * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red + PPFD * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (1 + - PSII_cross_section) + fd_ox * kFdred * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red) + - (PSI_total * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (O2_lumen * kMehler + fd_ox * kFdred)) / (fd_red * kFdred * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + fd_ox * kFdred * keq_ferredoxin_reductase * (kPCox * pc_ox + PPFD * keq_PCP700 * (1 + - PSII_cross_section)) + O2_lumen * kMehler * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red + PPFD * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red * (1 + - PSII_cross_section) + fd_ox * kFdred * kPCox * keq_PCP700 * keq_ferredoxin_reductase * pc_red)
ferredoxin_thioredoxin_reductase = fd_red * kf_ferredoxin_thioredoxin_reductase * tr_ox
tr_activation = E_inactive * kf_tr_activation * tr_red
tr_inactivation = E_active * kf_tr_inactivation
atp_synthase = kf_atp_synthase * ((adp) / (convf) + - (atp) / (convf * keq_atp_synthase))
b6f = max(- kcat_b6f, kcat_b6f * (pq_red * (pc_ox) ** (2) + - (pq_ox * (pc_red) ** (2)) / (keq_b6f)))
lhc_protonation = (kf_lhc_protonation * psbs_de * (protons_lumen) ** (kh_lhc_protonation)) / ((protons_lumen) ** (kh_lhc_protonation) + (4000 * (10) ** (- ksat_lhc_protonation)) ** (kh_lhc_protonation))
lhc_deprotonation = kf_lhc_deprotonation * psbs_pr
cyclic_electron_flow = kf_cyclic_electron_flow * pq_ox * (fd_red) ** (2)
violaxanthin_deepoxidase = (kf_violaxanthin_deepoxidase * vx * (protons_lumen) ** (kh_violaxanthin_deepoxidase)) / ((protons_lumen) ** (kh_violaxanthin_deepoxidase) + (4000 * (10) ** (- ksat_violaxanthin_deepoxidase)) ** (kh_violaxanthin_deepoxidase))
zeaxanthin_epoxidase = kf_zeaxanthin_epoxidase * zx
fnr = (vmax_fnr * ((nadp * ((fd_red) / (km_fnr_fd_red)) ** (2)) / (convf * km_fnr_nadp) + - (nadph * ((fd_ox) / (km_fnr_fd_red)) ** (2)) / (convf * keq_fnr * km_fnr_nadp))) / (-1 + (1 + (nadp) / (convf * km_fnr_nadp)) * (1 + ((fd_red) / (km_fnr_fd_red)) ** (2) + (fd_red) / (km_fnr_fd_red)) + (1 + (nadph) / (convf * km_fnr_nadp)) * (1 + ((fd_ox) / (km_fnr_fd_red)) ** (2) + (fd_ox) / (km_fnr_fd_red)))
ndh = kf_ndh * pq_ox
PSII = 0.5 * B1 * k2
PSI = A0 * PPFD * (1 + - PSII_cross_section)
mehler = A1 * O2_lumen * kMehler
ferredoxin_reductase = A1 * fd_ox * vmax_ferredoxin_reductase + - (A2 * fd_red * vmax_ferredoxin_reductase) / (keq_ferredoxin_reductase)
proton_leak = kf_proton_leak * (protons_lumen + - 4000 * (10) ** (- pH))
PTOX = O2_lumen * kPTOX * pq_red
lhc_state_transition_12 = (1 * kStt7 * lhc) / (1 + ((pq_ox) / (PQ_tot * km_lhc_state_transition_12)) ** (n_ST))
lhc_state_transition_21 = kPph1 * lhc_prot
rubisco_carboxylase = (CO2__dissolved_ * RUBP * vmax_rubisco_carboxylase) / ((CO2__dissolved_ + km_rubisco_carboxylase_CO2__dissolved_) * (RUBP + km_rubisco_carboxylase_RUBP * (1 + (FBP) / (ki_rubisco_carboxylase_FBP) + (SBP) / (ki_rubisco_carboxylase_SBP) + (_3PGA) / (ki_rubisco_carboxylase_3PGA) + (nadph) / (ki_rubisco_carboxylase_nadph) + (pi) / (ki_rubisco_carboxylase_pi))))
phosphoglycerate_kinase = kre_phosphoglycerate_kinase * (_3PGA * atp + - (BPGA * adp) / (keq_phosphoglycerate_kinase))
gadph = kre_gadph * (BPGA * nadph * protons + - (GAP * nadp * pi) / (keq_gadph))
triose_phosphate_isomerase = kre_triose_phosphate_isomerase * (GAP + - (DHAP) / (keq_triose_phosphate_isomerase))
aldolase_dhap_gap = kre_aldolase_dhap_gap * (DHAP * GAP + - (FBP) / (keq_aldolase_dhap_gap))
aldolase_dhap_e4p = kre_aldolase_dhap_e4p * (DHAP * E4P + - (SBP) / (keq_aldolase_dhap_e4p))
fbpase = (FBP * vmax_fbpase) / (FBP + km_fbpase_s * (1 + (F6P) / (ki_fbpase_F6P) + (pi) / (ki_fbpase_pi)))
transketolase_gap_f6p = kre_transketolase_gap_f6p * (F6P * GAP + - (E4P * X5P) / (keq_transketolase_gap_f6p))
transketolase_gap_s7p = kre_transketolase_gap_s7p * (GAP * S7P + - (R5P * X5P) / (keq_transketolase_gap_s7p))
SBPase = (SBP * vmax_SBPase) / (SBP + km_SBPase_s * (1 + (pi) / (ki_SBPase_pi)))
ribose_phosphate_isomerase = kre_ribose_phosphate_isomerase * (R5P + - (RU5P) / (keq_ribose_phosphate_isomerase))
ribulose_phosphate_epimerase = kre_ribulose_phosphate_epimerase * (X5P + - (RU5P) / (keq_ribulose_phosphate_epimerase))
phosphoribulokinase = (RU5P * atp * vmax_phosphoribulokinase) / ((RU5P + km_phosphoribulokinase_RU5P * (1 + (RUBP) / (ki_phosphoribulokinase_RUBP) + (_3PGA) / (ki_phosphoribulokinase_3PGA) + (pi) / (ki_phosphoribulokinase_pi))) * (atp * (1 + (adp) / (ki_phosphoribulokinase_4)) + km_phosphoribulokinase_atp * (1 + (adp) / (ki_phosphoribulokinase_5))))
g6pi = kre_g6pi * (F6P + - (G6P) / (keq_g6pi))
phosphoglucomutase = kre_phosphoglucomutase * (G6P + - (G1P) / (keq_phosphoglucomutase))
ex_pga = (_3PGA * vmax_ex_pga) / (N_translocator * km_ex_pga)
ex_gap = (GAP * vmax_ex_pga) / (N_translocator * km_ex_gap)
ex_dhap = (DHAP * vmax_ex_pga) / (N_translocator * km_ex_dhap)
ex_g1p = (G1P * atp * vmax_ex_g1p) / ((G1P + km_ex_g1p_G1P) * ((1 + (adp) / (ki_ex_g1p)) * (atp + km_ex_g1p_atp) + (km_ex_g1p_atp * pi) / (F6P * ki_ex_g1p_F6P + FBP * ki_ex_g1p_FBP + _3PGA * ki_ex_g1p_3PGA)))
mda_reductase_1 = kf_mda_reductase_1 * (MDA) ** (2)
mda_reductase_2 = (MDA * nadph * vmax_mda_reductase_2) / (MDA * km_mda_reductase_2_nadph + MDA * nadph + km_mda_reductase_2_MDA * km_mda_reductase_2_nadph + km_mda_reductase_2_MDA * nadph)
ascorbate_peroxidase = (H2O2 * XT * ascorbate) / ((H2O2) / (kf2) + (H2O2) / (kf4) + (ascorbate) / (kf1) + H2O2 * ascorbate * ((1) / (kf3) + (1) / (kf5)) + (kr1) / (kf1 * kf2) + (H2O2 * kr2) / (kf2 * kf3) + (H2O2 * kr4) / (kf4 * kf5) + (kr1 * kr2) / (kf1 * kf2 * kf3))
glutathion_reductase = (GSSG * nadph * vmax_glutathion_reductase) / (GSSG * km_glutathion_reductase_nadph + GSSG * nadph + km_glutathion_reductase_GSSG * km_glutathion_reductase_nadph + km_glutathion_reductase_GSSG * nadph)
dehydroascorbate_reductase = (DHA * GSH * vmax_dehydroascorbate_reductase) / (K + DHA * GSH + DHA * km_dehydroascorbate_reductase_GSH + GSH * km_dehydroascorbate_reductase_DHA)
ex_atp = atp * kf_ex_atp
ex_nadph = kf_ex_nadph * nadph
return [RT, dG_pH, pH_lumen, zx, fd_red, pc_red, psbs_pr, lhc_prot, Q, keq_pq_red, pq_red, PSII_cross_section, tr_red, E_active, nadp, adp, pi, ascorbate, GSH, keq_atp_synthase, keq_b6f, keq_fnr, vmax_fnr, keq_PCP700, keq_ferredoxin_reductase, vmax_ferredoxin_reductase, E0_rubisco_active, vmax_rubisco_carboxylase, E0_fbpase_active, vmax_fbpase, E0_SBPase_active, vmax_SBPase, E0_phosphoribulokinase_active, vmax_phosphoribulokinase, vmax_ex_pga, N_translocator, E0_ex_g1p_active, vmax_ex_g1p, vmax_mda_reductase_2, vmax_glutathion_reductase, vmax_dehydroascorbate_reductase, B0, B1, B2, B3, A0, A1, A2, ferredoxin_thioredoxin_reductase, tr_activation, tr_inactivation, atp_synthase, b6f, lhc_protonation, lhc_deprotonation, cyclic_electron_flow, violaxanthin_deepoxidase, zeaxanthin_epoxidase, fnr, ndh, PSII, PSI, mehler, ferredoxin_reductase, proton_leak, PTOX, lhc_state_transition_12, lhc_state_transition_21, rubisco_carboxylase, phosphoglycerate_kinase, gadph, triose_phosphate_isomerase, aldolase_dhap_gap, aldolase_dhap_e4p, fbpase, transketolase_gap_f6p, transketolase_gap_s7p, SBPase, ribose_phosphate_isomerase, ribulose_phosphate_epimerase, phosphoribulokinase, g6pi, phosphoglucomutase, ex_pga, ex_gap, ex_dhap, ex_g1p, mda_reductase_1, mda_reductase_2, ascorbate_peroxidase, glutathion_reductase, dehydroascorbate_reductase, ex_atp, ex_nadph]
derived = all_derived
y0 = {"_3PGA": 0.9167729479368978, "BPGA": 0.0003814495319659031, "GAP": 0.00580821050261484, "DHAP": 0.1277806166216142, "FBP": 0.005269452472931973, "F6P": 0.2874944558066638, "G6P": 0.6612372482712676, "G1P": 0.03835176039761378, "SBP": 0.011101373736607443, "S7P": 0.1494578301900007, "E4P": 0.00668295494870102, "X5P": 0.020988553174809618, "R5P": 0.035155825913785584, "RUBP": 0.11293260727162346, "RU5P": 0.014062330254191594, "atp": 1.4612747767895344, "fd_ox": 3.715702384326767, "protons_lumen": 0.002086128887296243, "lhc": 0.7805901436176024, "nadph": 0.5578718406315588, "pc_ox": 1.8083642974980014, "pq_ox": 10.251099271612473, "psbs_de": 0.9667381262477079, "vx": 0.9629870646993118, "MDA": 2.0353396709300447e-7, "H2O2": 1.2034405327140102e-7, "DHA": 1.0296456279861962e-11, "GSSG": 4.99986167652437e-12, "tr_ox": 0.9334426859846461, "E_inactive": 3.6023635680406634}
preview
Generated LaTeX Code
\begin{align*}
\frac{d 3PGA}{dt} &= 2 \cdot \frac{CO2 (dissolved) \cdot RUBP \cdot vmax\_rubisco\_carboxylase}{(CO2 (dissolved) + km\_rubisco\_carboxylase\_CO2 (dissolved)) \cdot (RUBP + km\_rubisco\_carboxylase\_RUBP \cdot (1 + \frac{FBP}{ki\_rubisco\_carboxylase\_FBP} + \frac{SBP}{ki\_rubisco\_carboxylase\_SBP} + \frac{3PGA}{ki\_rubisco\_carboxylase\_3PGA} + \frac{nadph}{ki\_rubisco\_carboxylase\_nadph} + \frac{pi}{ki\_rubisco\_carboxylase\_pi}))} \\
& - kre\_phosphoglycerate\_kinase \cdot (3PGA \cdot atp - \frac{BPGA \cdot adp}{keq\_phosphoglycerate\_kinase}) \\
& - \frac{3PGA \cdot vmax\_ex\_pga}{N\_translocator \cdot km\_ex\_pga}\\
\frac{d BPGA}{dt} &= kre\_phosphoglycerate\_kinase \cdot (3PGA \cdot atp - \frac{BPGA \cdot adp}{keq\_phosphoglycerate\_kinase}) \\
& - kre\_gadph \cdot (BPGA \cdot nadph \cdot protons - \frac{GAP \cdot nadp \cdot pi}{keq\_gadph})\\
\frac{d GAP}{dt} &= kre\_gadph \cdot (BPGA \cdot nadph \cdot protons - \frac{GAP \cdot nadp \cdot pi}{keq\_gadph}) \\
& - kre\_triose\_phosphate\_isomerase \cdot (GAP - \frac{DHAP}{keq\_triose\_phosphate\_isomerase}) \\
& - kre\_aldolase\_dhap\_gap \cdot (DHAP \cdot GAP - \frac{FBP}{keq\_aldolase\_dhap\_gap}) \\
& - kre\_transketolase\_gap\_f6p \cdot (F6P \cdot GAP - \frac{E4P \cdot X5P}{keq\_transketolase\_gap\_f6p}) \\
& - kre\_transketolase\_gap\_s7p \cdot (GAP \cdot S7P - \frac{R5P \cdot X5P}{keq\_transketolase\_gap\_s7p}) \\
& - \frac{GAP \cdot vmax\_ex\_pga}{N\_translocator \cdot km\_ex\_gap}\\
\frac{d DHAP}{dt} &= kre\_triose\_phosphate\_isomerase \cdot (GAP - \frac{DHAP}{keq\_triose\_phosphate\_isomerase}) \\
& - kre\_aldolase\_dhap\_gap \cdot (DHAP \cdot GAP - \frac{FBP}{keq\_aldolase\_dhap\_gap}) \\
& - kre\_aldolase\_dhap\_e4p \cdot (DHAP \cdot E4P - \frac{SBP}{keq\_aldolase\_dhap\_e4p}) \\
& - \frac{DHAP \cdot vmax\_ex\_pga}{N\_translocator \cdot km\_ex\_dhap}\\
\frac{d FBP}{dt} &= kre\_aldolase\_dhap\_gap \cdot (DHAP \cdot GAP - \frac{FBP}{keq\_aldolase\_dhap\_gap}) \\
& - \frac{FBP \cdot vmax\_fbpase}{FBP + km\_fbpase\_s \cdot (1 + \frac{F6P}{ki\_fbpase\_F6P} + \frac{pi}{ki\_fbpase\_pi})}\\
\frac{d F6P}{dt} &= \frac{FBP \cdot vmax\_fbpase}{FBP + km\_fbpase\_s \cdot (1 + \frac{F6P}{ki\_fbpase\_F6P} + \frac{pi}{ki\_fbpase\_pi})} \\
& - kre\_transketolase\_gap\_f6p \cdot (F6P \cdot GAP - \frac{E4P \cdot X5P}{keq\_transketolase\_gap\_f6p}) \\
& - kre\_g6pi \cdot (F6P - \frac{G6P}{keq\_g6pi})\\
\frac{d G6P}{dt} &= kre\_g6pi \cdot (F6P - \frac{G6P}{keq\_g6pi}) \\
& - kre\_phosphoglucomutase \cdot (G6P - \frac{G1P}{keq\_phosphoglucomutase})\\
\frac{d G1P}{dt} &= kre\_phosphoglucomutase \cdot (G6P - \frac{G1P}{keq\_phosphoglucomutase}) \\
& - \frac{G1P \cdot atp \cdot vmax\_ex\_g1p}{(G1P + km\_ex\_g1p\_G1P) \cdot ((1 + \frac{adp}{ki\_ex\_g1p}) \cdot (atp + km\_ex\_g1p\_atp) + \frac{km\_ex\_g1p\_atp \cdot pi}{F6P \cdot ki\_ex\_g1p\_F6P + FBP \cdot ki\_ex\_g1p\_FBP + 3PGA \cdot ki\_ex\_g1p\_3PGA})}\\
\frac{d SBP}{dt} &= kre\_aldolase\_dhap\_e4p \cdot (DHAP \cdot E4P - \frac{SBP}{keq\_aldolase\_dhap\_e4p}) \\
& - \frac{SBP \cdot vmax\_SBPase}{SBP + km\_SBPase\_s \cdot (1 + \frac{pi}{ki\_SBPase\_pi})}\\
\frac{d S7P}{dt} &= - kre\_transketolase\_gap\_s7p \cdot (GAP \cdot S7P - \frac{R5P \cdot X5P}{keq\_transketolase\_gap\_s7p}) \\
& + \frac{SBP \cdot vmax\_SBPase}{SBP + km\_SBPase\_s \cdot (1 + \frac{pi}{ki\_SBPase\_pi})}\\
\frac{d E4P}{dt} &= - kre\_aldolase\_dhap\_e4p \cdot (DHAP \cdot E4P - \frac{SBP}{keq\_aldolase\_dhap\_e4p}) \\
& + kre\_transketolase\_gap\_f6p \cdot (F6P \cdot GAP - \frac{E4P \cdot X5P}{keq\_transketolase\_gap\_f6p})\\
\frac{d X5P}{dt} &= kre\_transketolase\_gap\_f6p \cdot (F6P \cdot GAP - \frac{E4P \cdot X5P}{keq\_transketolase\_gap\_f6p}) \\
& + kre\_transketolase\_gap\_s7p \cdot (GAP \cdot S7P - \frac{R5P \cdot X5P}{keq\_transketolase\_gap\_s7p}) \\
& - kre\_ribulose\_phosphate\_epimerase \cdot (X5P - \frac{RU5P}{keq\_ribulose\_phosphate\_epimerase})\\
\frac{d R5P}{dt} &= kre\_transketolase\_gap\_s7p \cdot (GAP \cdot S7P - \frac{R5P \cdot X5P}{keq\_transketolase\_gap\_s7p}) \\
& - kre\_ribose\_phosphate\_isomerase \cdot (R5P - \frac{RU5P}{keq\_ribose\_phosphate\_isomerase})\\
\frac{d RUBP}{dt} &= - \frac{CO2 (dissolved) \cdot RUBP \cdot vmax\_rubisco\_carboxylase}{(CO2 (dissolved) + km\_rubisco\_carboxylase\_CO2 (dissolved)) \cdot (RUBP + km\_rubisco\_carboxylase\_RUBP \cdot (1 + \frac{FBP}{ki\_rubisco\_carboxylase\_FBP} + \frac{SBP}{ki\_rubisco\_carboxylase\_SBP} + \frac{3PGA}{ki\_rubisco\_carboxylase\_3PGA} + \frac{nadph}{ki\_rubisco\_carboxylase\_nadph} + \frac{pi}{ki\_rubisco\_carboxylase\_pi}))} \\
& + \frac{RU5P \cdot atp \cdot vmax\_phosphoribulokinase}{(RU5P + km\_phosphoribulokinase\_RU5P \cdot (1 + \frac{RUBP}{ki\_phosphoribulokinase\_RUBP} + \frac{3PGA}{ki\_phosphoribulokinase\_3PGA} + \frac{pi}{ki\_phosphoribulokinase\_pi})) \cdot (atp \cdot (1 + \frac{adp}{ki\_phosphoribulokinase\_4}) + km\_phosphoribulokinase\_atp \cdot (1 + \frac{adp}{ki\_phosphoribulokinase\_5}))}\\
\frac{d RU5P}{dt} &= kre\_ribose\_phosphate\_isomerase \cdot (R5P - \frac{RU5P}{keq\_ribose\_phosphate\_isomerase}) \\
& + kre\_ribulose\_phosphate\_epimerase \cdot (X5P - \frac{RU5P}{keq\_ribulose\_phosphate\_epimerase}) \\
& - \frac{RU5P \cdot atp \cdot vmax\_phosphoribulokinase}{(RU5P + km\_phosphoribulokinase\_RU5P \cdot (1 + \frac{RUBP}{ki\_phosphoribulokinase\_RUBP} + \frac{3PGA}{ki\_phosphoribulokinase\_3PGA} + \frac{pi}{ki\_phosphoribulokinase\_pi})) \cdot (atp \cdot (1 + \frac{adp}{ki\_phosphoribulokinase\_4}) + km\_phosphoribulokinase\_atp \cdot (1 + \frac{adp}{ki\_phosphoribulokinase\_5}))}\\
\frac{d atp}{dt} &= convf \cdot kf\_atp\_synthase \cdot (\frac{adp}{convf} - \frac{atp}{convf \cdot keq\_atp\_synthase}) \\
& - kre\_phosphoglycerate\_kinase \cdot (3PGA \cdot atp - \frac{BPGA \cdot adp}{keq\_phosphoglycerate\_kinase}) \\
& - \frac{RU5P \cdot atp \cdot vmax\_phosphoribulokinase}{(RU5P + km\_phosphoribulokinase\_RU5P \cdot (1 + \frac{RUBP}{ki\_phosphoribulokinase\_RUBP} + \frac{3PGA}{ki\_phosphoribulokinase\_3PGA} + \frac{pi}{ki\_phosphoribulokinase\_pi})) \cdot (atp \cdot (1 + \frac{adp}{ki\_phosphoribulokinase\_4}) + km\_phosphoribulokinase\_atp \cdot (1 + \frac{adp}{ki\_phosphoribulokinase\_5}))} \\
& - \frac{G1P \cdot atp \cdot vmax\_ex\_g1p}{(G1P + km\_ex\_g1p\_G1P) \cdot ((1 + \frac{adp}{ki\_ex\_g1p}) \cdot (atp + km\_ex\_g1p\_atp) + \frac{km\_ex\_g1p\_atp \cdot pi}{F6P \cdot ki\_ex\_g1p\_F6P + FBP \cdot ki\_ex\_g1p\_FBP + 3PGA \cdot ki\_ex\_g1p\_3PGA})} \\
& - atp \cdot kf\_ex\_atp\\
\frac{d fd\_ox}{dt} &= fd\_red \cdot kf\_ferredoxin\_thioredoxin\_reductase \cdot tr\_ox \\
& + 2 \cdot kf\_cyclic\_electron\_flow \cdot pq\_ox \cdot {fd\_red}^{2} \\
& + 2 \cdot \frac{vmax\_fnr \cdot (\frac{nadp \cdot {\frac{fd\_red}{km\_fnr\_fd\_red}}^{2}}{convf \cdot km\_fnr\_nadp} - \frac{nadph \cdot {\frac{fd\_ox}{km\_fnr\_fd\_red}}^{2}}{convf \cdot keq\_fnr \cdot km\_fnr\_nadp})}{-1 + (1 + \frac{nadp}{convf \cdot km\_fnr\_nadp}) \cdot (1 + {\frac{fd\_red}{km\_fnr\_fd\_red}}^{2} + \frac{fd\_red}{km\_fnr\_fd\_red}) + (1 + \frac{nadph}{convf \cdot km\_fnr\_nadp}) \cdot (1 + {\frac{fd\_ox}{km\_fnr\_fd\_red}}^{2} + \frac{fd\_ox}{km\_fnr\_fd\_red})} \\
& - ps1states \cdot fd\_ox \cdot vmax\_ferredoxin\_reductase - \frac{ps1states \cdot fd\_red \cdot vmax\_ferredoxin\_reductase}{keq\_ferredoxin\_reductase}\\
\frac{d protons\_lumen}{dt} &= - \frac{HPR}{bH} \cdot kf\_atp\_synthase \cdot (\frac{adp}{convf} - \frac{atp}{convf \cdot keq\_atp\_synthase}) \\
& + \frac{4}{bH} \cdot \max(- kcat\_b6f, kcat\_b6f \cdot (pq\_red \cdot {pc\_ox}^{2} - \frac{pq\_ox \cdot {pc\_red}^{2}}{keq\_b6f})) \\
& + \frac{2}{bH} \cdot 0.5 \cdot ps2states \cdot k2 \\
& - \frac{1}{bH} \cdot kf\_proton\_leak \cdot (protons\_lumen - 4000 \cdot {10}^{- pH})\\
\frac{d lhc}{dt} &= - \frac{1 \cdot kStt7 \cdot lhc}{1 + {\frac{pq\_ox}{PQ\_tot \cdot km\_lhc\_state\_transition\_12}}^{n\_ST}} \\
& + kPph1 \cdot lhc\_prot\\
\frac{d nadph}{dt} &= convf \cdot \frac{vmax\_fnr \cdot (\frac{nadp \cdot {\frac{fd\_red}{km\_fnr\_fd\_red}}^{2}}{convf \cdot km\_fnr\_nadp} - \frac{nadph \cdot {\frac{fd\_ox}{km\_fnr\_fd\_red}}^{2}}{convf \cdot keq\_fnr \cdot km\_fnr\_nadp})}{-1 + (1 + \frac{nadp}{convf \cdot km\_fnr\_nadp}) \cdot (1 + {\frac{fd\_red}{km\_fnr\_fd\_red}}^{2} + \frac{fd\_red}{km\_fnr\_fd\_red}) + (1 + \frac{nadph}{convf \cdot km\_fnr\_nadp}) \cdot (1 + {\frac{fd\_ox}{km\_fnr\_fd\_red}}^{2} + \frac{fd\_ox}{km\_fnr\_fd\_red})} \\
& - kre\_gadph \cdot (BPGA \cdot nadph \cdot protons - \frac{GAP \cdot nadp \cdot pi}{keq\_gadph}) \\
& - \frac{MDA \cdot nadph \cdot vmax\_mda\_reductase\_2}{MDA \cdot km\_mda\_reductase\_2\_nadph + MDA \cdot nadph + km\_mda\_reductase\_2\_MDA \cdot km\_mda\_reductase\_2\_nadph + km\_mda\_reductase\_2\_MDA \cdot nadph} \\
& - \frac{GSSG \cdot nadph \cdot vmax\_glutathion\_reductase}{GSSG \cdot km\_glutathion\_reductase\_nadph + GSSG \cdot nadph + km\_glutathion\_reductase\_GSSG \cdot km\_glutathion\_reductase\_nadph + km\_glutathion\_reductase\_GSSG \cdot nadph} \\
& - kf\_ex\_nadph \cdot nadph\\
\frac{d pc\_ox}{dt} &= - 2 \cdot \max(- kcat\_b6f, kcat\_b6f \cdot (pq\_red \cdot {pc\_ox}^{2} - \frac{pq\_ox \cdot {pc\_red}^{2}}{keq\_b6f})) \\
& + ps1states \cdot PPFD \cdot (1 - PSII\_cross\_section)\\
\frac{d pq\_ox}{dt} &= \max(- kcat\_b6f, kcat\_b6f \cdot (pq\_red \cdot {pc\_ox}^{2} - \frac{pq\_ox \cdot {pc\_red}^{2}}{keq\_b6f})) \\
& - kf\_cyclic\_electron\_flow \cdot pq\_ox \cdot {fd\_red}^{2} \\
& - kf\_ndh \cdot pq\_ox - 0.5 \cdot ps2states \cdot k2 \\
& + O2\_lumen \cdot kPTOX \cdot pq\_red\\
\frac{d psbs\_de}{dt} &= - \frac{kf\_lhc\_protonation \cdot psbs\_de \cdot {protons\_lumen}^{kh\_lhc\_protonation}}{{protons\_lumen}^{kh\_lhc\_protonation} + {4000 \cdot {10}^{- ksat\_lhc\_protonation}}^{kh\_lhc\_protonation}} \\
& + kf\_lhc\_deprotonation \cdot psbs\_pr\\
\frac{d vx}{dt} &= - \frac{kf\_violaxanthin\_deepoxidase \cdot vx \cdot {protons\_lumen}^{kh\_violaxanthin\_deepoxidase}}{{protons\_lumen}^{kh\_violaxanthin\_deepoxidase} + {4000 \cdot {10}^{- ksat\_violaxanthin\_deepoxidase}}^{kh\_violaxanthin\_deepoxidase}} \\
& + kf\_zeaxanthin\_epoxidase \cdot zx\\
\frac{d MDA}{dt} &= - 2 \cdot kf\_mda\_reductase\_1 \cdot {MDA}^{2} \\
& - 2 \cdot \frac{MDA \cdot nadph \cdot vmax\_mda\_reductase\_2}{MDA \cdot km\_mda\_reductase\_2\_nadph + MDA \cdot nadph + km\_mda\_reductase\_2\_MDA \cdot km\_mda\_reductase\_2\_nadph + km\_mda\_reductase\_2\_MDA \cdot nadph} \\
& + 2 \cdot \frac{H2O2 \cdot XT \cdot ascorbate}{\frac{H2O2}{kf2} + \frac{H2O2}{kf4} + \frac{ascorbate}{kf1} + H2O2 \cdot ascorbate \cdot (\frac{1}{kf3} + \frac{1}{kf5}) + \frac{kr1}{kf1 \cdot kf2} + \frac{H2O2 \cdot kr2}{kf2 \cdot kf3} + \frac{H2O2 \cdot kr4}{kf4 \cdot kf5} + \frac{kr1 \cdot kr2}{kf1 \cdot kf2 \cdot kf3}}\\
\frac{d H2O2}{dt} &= convf \cdot ps1states \cdot O2\_lumen \cdot kMehler \\
& - \frac{H2O2 \cdot XT \cdot ascorbate}{\frac{H2O2}{kf2} + \frac{H2O2}{kf4} + \frac{ascorbate}{kf1} + H2O2 \cdot ascorbate \cdot (\frac{1}{kf3} + \frac{1}{kf5}) + \frac{kr1}{kf1 \cdot kf2} + \frac{H2O2 \cdot kr2}{kf2 \cdot kf3} + \frac{H2O2 \cdot kr4}{kf4 \cdot kf5} + \frac{kr1 \cdot kr2}{kf1 \cdot kf2 \cdot kf3}}\\
\frac{d DHA}{dt} &= kf\_mda\_reductase\_1 \cdot {MDA}^{2} \\
& - \frac{DHA \cdot GSH \cdot vmax\_dehydroascorbate\_reductase}{K + DHA \cdot GSH + DHA \cdot km\_dehydroascorbate\_reductase\_GSH + GSH \cdot km\_dehydroascorbate\_reductase\_DHA}\\
\frac{d GSSG}{dt} &= - \frac{GSSG \cdot nadph \cdot vmax\_glutathion\_reductase}{GSSG \cdot km\_glutathion\_reductase\_nadph + GSSG \cdot nadph + km\_glutathion\_reductase\_GSSG \cdot km\_glutathion\_reductase\_nadph + km\_glutathion\_reductase\_GSSG \cdot nadph} \\
& + \frac{DHA \cdot GSH \cdot vmax\_dehydroascorbate\_reductase}{K + DHA \cdot GSH + DHA \cdot km\_dehydroascorbate\_reductase\_GSH + GSH \cdot km\_dehydroascorbate\_reductase\_DHA}\\
\frac{d tr\_ox}{dt} &= - fd\_red \cdot kf\_ferredoxin\_thioredoxin\_reductase \cdot tr\_ox \\
& + 5 \cdot E\_inactive \cdot kf\_tr\_activation \cdot tr\_red\\
\frac{d E\_inactive}{dt} &= - 5 \cdot E\_inactive \cdot kf\_tr\_activation \cdot tr\_red \\
& + 5 \cdot E\_active \cdot kf\_tr\_inactivation
\end{align*}Edit analysis
Plot options
Variable selection
Show Normalize
Edit PAM analysis
Protocol phases
Group 1 — repeat ×
PFD Duration (s) Label
Group 2 — repeat ×
PFD Duration (s) Label
Group 3 — repeat ×
PFD Duration (s) Label
Variable selection
Show Normalize