Models / Matuszyńska 2016

Add analysis

Matuszyńska 2016 PhD 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.

NameTex nameInitial valueActions

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], 
):
    atp, pq_ox, pc_ox, fd_ox, protons_lumen, lhc, psbs_de, vx = variables
    pH = 7.9
    PPFD = 100
    nadph = 0.6
    O2_lumen = 8
    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
    NADP_ = 0.8
    R = 0.0083
    T = 298
    A_P = 2.55
    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
    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
    E0_fnr = 3
    kcat_fnr = 500
    km_fnr_fd_red = 1.56
    km_fnr_nadp = 0.22
    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
    convf = 0.032
    kf_proton_leak = 10
    kPTOX = 0.01
    kStt7 = 0.0035
    km_lhc_state_transition_12 = 0.2
    n_ST = 2
    kPph1 = 0.0013
    kf_ex_atp = 10
    k_H = 5000000000
    k_F = 625000000
    k_P = 5000000000
    nadp = NADP_ + - nadph
    RT = R * T
    adp = A_P + - atp
    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)
    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))
    A1 = (PSI_total) / (1 + (1 + (fd_red) / (fd_ox * keq_ferredoxin_reductase)) * ((pc_ox) / (keq_PCP700 * pc_red) + (PPFD * (1 + - PSII_cross_section)) / (kPCox * pc_red)) + (PPFD * (1 + - PSII_cross_section)) / (fd_ox * kFdred))
    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)
    Fluo = (B0 * k_F) / (k_F + k_P + Q * k_H) + (B2 * k_F) / (k_F + Q * k_H)
    atp_synthase = kf_atp_synthase * (adp + - (atp) / (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)) / (km_fnr_nadp) + - (nadph * ((fd_ox) / (km_fnr_fd_red)) ** (2)) / (keq_fnr * km_fnr_nadp))) / (-1 + (1 + (nadp) / (km_fnr_nadp)) * (1 + ((fd_red) / (km_fnr_fd_red)) ** (2) + (fd_red) / (km_fnr_fd_red)) + (1 + (nadph) / (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 = A1 * PPFD * (1 + - PSII_cross_section)
    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
    ex_atp = atp * kf_ex_atp
    datpdt = +atp_synthase-ex_atp
    dpq_oxdt = +b6f-cyclic_electron_flow-ndh-PSII+PTOX
    dpc_oxdt = -2*b6f+PSI
    dfd_oxdt = +2*cyclic_electron_flow+2*fnr-PSI
    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
    dpsbs_dedt = -lhc_protonation+lhc_deprotonation
    dvxdt = -violaxanthin_deepoxidase+zeaxanthin_epoxidase
    return [datpdt, dpq_oxdt, dpc_oxdt, dfd_oxdt, dprotons_lumendt, dlhcdt, dpsbs_dedt, dvxdt]

def all_derived(
    time: float,
    variables: list[float], 
):
    atp, pq_ox, pc_ox, fd_ox, protons_lumen, lhc, psbs_de, vx = variables
    pH = 7.9
    PPFD = 100
    nadph = 0.6
    O2_lumen = 8
    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
    NADP_ = 0.8
    R = 0.0083
    T = 298
    A_P = 2.55
    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
    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
    E0_fnr = 3
    kcat_fnr = 500
    km_fnr_fd_red = 1.56
    km_fnr_nadp = 0.22
    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
    convf = 0.032
    kf_proton_leak = 10
    kPTOX = 0.01
    kStt7 = 0.0035
    km_lhc_state_transition_12 = 0.2
    n_ST = 2
    kPph1 = 0.0013
    kf_ex_atp = 10
    k_H = 5000000000
    k_F = 625000000
    k_P = 5000000000
    nadp = NADP_ + - nadph
    RT = R * T
    adp = A_P + - atp
    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)
    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))
    A1 = (PSI_total) / (1 + (1 + (fd_red) / (fd_ox * keq_ferredoxin_reductase)) * ((pc_ox) / (keq_PCP700 * pc_red) + (PPFD * (1 + - PSII_cross_section)) / (kPCox * pc_red)) + (PPFD * (1 + - PSII_cross_section)) / (fd_ox * kFdred))
    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)
    Fluo = (B0 * k_F) / (k_F + k_P + Q * k_H) + (B2 * k_F) / (k_F + Q * k_H)
    atp_synthase = kf_atp_synthase * (adp + - (atp) / (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)) / (km_fnr_nadp) + - (nadph * ((fd_ox) / (km_fnr_fd_red)) ** (2)) / (keq_fnr * km_fnr_nadp))) / (-1 + (1 + (nadp) / (km_fnr_nadp)) * (1 + ((fd_red) / (km_fnr_fd_red)) ** (2) + (fd_red) / (km_fnr_fd_red)) + (1 + (nadph) / (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 = A1 * PPFD * (1 + - PSII_cross_section)
    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
    ex_atp = atp * kf_ex_atp
    return [nadp, RT, adp, dG_pH, pH_lumen, zx, fd_red, pc_red, psbs_pr, lhc_prot, Q, keq_pq_red, pq_red, PSII_cross_section, keq_atp_synthase, keq_b6f, keq_fnr, vmax_fnr, keq_PCP700, keq_ferredoxin_reductase, A1, B0, B1, B2, B3, Fluo, atp_synthase, b6f, lhc_protonation, lhc_deprotonation, cyclic_electron_flow, violaxanthin_deepoxidase, zeaxanthin_epoxidase, fnr, ndh, PSII, PSI, proton_leak, PTOX, lhc_state_transition_12, lhc_state_transition_21, ex_atp]

derived = all_derived
y0 = {"atp": 1.6999999999999997, "pq_ox": 4.706348349506148, "pc_ox": 3.9414515288091567, "fd_ox": 3.7761613271207324, "protons_lumen": 7.737821100836988, "lhc": 0.5105293511676007, "psbs_de": 0.5000000001374878, "vx": 0.09090909090907397}
    
preview

Generated LaTeX Code

\begin{align*}
      \frac{d atp}{dt} &= kf\_atp\_synthase \cdot (adp - \frac{atp}{keq\_atp\_synthase}) \\
  & - atp \cdot kf\_ex\_atp\\ 
\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 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})) \\
  & + A1 \cdot PPFD \cdot (1 - PSII\_cross\_section)\\ 
\frac{d fd\_ox}{dt} &= 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}}{km\_fnr\_nadp} - \frac{nadph \cdot {\frac{fd\_ox}{km\_fnr\_fd\_red}}^{2}}{keq\_fnr \cdot km\_fnr\_nadp})}{-1 + (1 + \frac{nadp}{km\_fnr\_nadp}) \cdot (1 + {\frac{fd\_red}{km\_fnr\_fd\_red}}^{2} + \frac{fd\_red}{km\_fnr\_fd\_red}) + (1 + \frac{nadph}{km\_fnr\_nadp}) \cdot (1 + {\frac{fd\_ox}{km\_fnr\_fd\_red}}^{2} + \frac{fd\_ox}{km\_fnr\_fd\_red})} \\
  & - A1 \cdot PPFD \cdot (1 - PSII\_cross\_section)\\ 
\frac{d protons\_lumen}{dt} &= - \frac{HPR}{bH} \cdot kf\_atp\_synthase \cdot (adp - \frac{atp}{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 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
    \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