Analytical solution by Johann M. Rohwer.

Graphical representation of the model in Figure S1

Analytical solution for the relationship between flux and the thioredoxin redox charge in a single cycle thioredoxin system (Fig. S1A)

Key:
T = total Trx
TSH = reduced Trx
TSS = oxidised Trx
NH = NADH
OX = oxidised target, e.g. PSS

In [1]:
import sympy as s
s.init_printing()
In [2]:
k1, k2, NH, OX, T = s.symbols("k1, k2, NH, OX, T")
TSS, TSH = s.symbols("TSS, TSH")
In [3]:
v1 = k1*NH*TSS   # Trx reductase
v2 = k2*OX*TSH   # reduction of target
In [4]:
v1.subs(TSS, T-TSH)  # express moiety components to have only one free variable
Out[4]:
$\displaystyle NH k_{1} \left(T - TSH\right)$
In [5]:
# solve for steady state
TSHsol = s.solve(v1.subs(TSS, T-TSH)-v2, TSH)[0]
TSHsol
Out[5]:
$\displaystyle \frac{NH T k_{1}}{NH k_{1} + OX k_{2}}$
In [6]:
# substitute into v2 to calculate flux (v1 also works)
Jsol = v2.subs(TSH, TSHsol)
Jsol
Out[6]:
$\displaystyle \frac{NH OX T k_{1} k_{2}}{NH k_{1} + OX k_{2}}$
In [7]:
# differentiate with respect to OX
s.diff(Jsol, OX)
Out[7]:
$\displaystyle - \frac{NH OX T k_{1} k_{2}^{2}}{\left(NH k_{1} + OX k_{2}\right)^{2}} + \frac{NH T k_{1} k_{2}}{NH k_{1} + OX k_{2}}$
In [8]:
A = s.simplify(_)
# Differentiate steady-state solution of TSH with respect to OX
B = s.diff(TSHsol, OX)
In [9]:
# this now gives the slope of the co-response plot when plotting
# flux against TrxSH upon an 'OX' perturbation.
A/B
Out[9]:
$\displaystyle - NH k_{1}$

To get the slope when plotting against redox charge, you just have to multiply this value by $T$, i.e.
$k_1 \times NH \times T$.

Also note that this value is independent of $OX$ or $k_2$, i.e. the slope does not depend on the value of the demand. The slope is therefore constant and there is a perfect correlation with redox charge.

In [10]:
# now do the same for an NADH perturbation, derivative of flux 
s.diff(Jsol,NH)
Out[10]:
$\displaystyle - \frac{NH OX T k_{1}^{2} k_{2}}{\left(NH k_{1} + OX k_{2}\right)^{2}} + \frac{OX T k_{1} k_{2}}{NH k_{1} + OX k_{2}}$
In [11]:
C=s.simplify(_)
C
Out[11]:
$\displaystyle \frac{OX^{2} T k_{1} k_{2}^{2}}{\left(NH k_{1} + OX k_{2}\right)^{2}}$
In [12]:
# derivative of TrxSH
s.diff(TSHsol, NH)
Out[12]:
$\displaystyle - \frac{NH T k_{1}^{2}}{\left(NH k_{1} + OX k_{2}\right)^{2}} + \frac{T k_{1}}{NH k_{1} + OX k_{2}}$
In [13]:
D = s.simplify(_)
D
Out[13]:
$\displaystyle \frac{OX T k_{1} k_{2}}{\left(NH k_{1} + OX k_{2}\right)^{2}}$
In [14]:
# the slope of the J vs TrxSH co=response
C/D
Out[14]:
$\displaystyle OX k_{2}$

To get the slope when plotting against redox charge, you just have to multiply this value by $T$, i.e.
$k_2 \times OX \times T$.

Also note that this value is independent of $NH$ or $k_1$, i.e. the slope does not depend on the value of the supply. The slope is therefore constant and there is a perfect correlation with redox charge.

Note also the symmetry between the supply and demand cases, of course since we model both with mass action.

Single two-membered cycle with TR as M-M kinetics and demand as mass action

The first step (reduction of TrxSS by NADPH) is now modelled with irreversible Michaelis-Menten kinetics, as this is an enzyme-catalyzed step (thioredoxin reductase). The second step is modelled with mass action as previously.

Key:
k1 = kcat1
TR = total TR
Kn = K1_NADPH
Kt = K1_TrxSS

In [15]:
TR, Kn, Kt = s.symbols("TR, Kn, Kt")
In [16]:
v1 = (k1*TR*(NH/Kn)*(TSS/Kt))/((1+NH/Kn)*(1+TSS/Kt))
v1
Out[16]:
$\displaystyle \frac{NH TR TSS k_{1}}{Kn Kt \left(1 + \frac{NH}{Kn}\right) \left(1 + \frac{TSS}{Kt}\right)}$
In [17]:
# v2 remains unchanged
v2
Out[17]:
$\displaystyle OX TSH k_{2}$
In [18]:
v1.subs(TSS, T-TSH)  # express moiety components to have only one free variable
Out[18]:
$\displaystyle \frac{NH TR k_{1} \left(T - TSH\right)}{Kn Kt \left(1 + \frac{NH}{Kn}\right) \left(1 + \frac{T - TSH}{Kt}\right)}$
In [19]:
# solve for steady state
TSHsol = s.solve(v1.subs(TSS, T-TSH)-v2, TSH)
TSHsol
Out[19]:
$\displaystyle \left[ \frac{Kn Kt OX k_{2} + Kn OX T k_{2} + Kt NH OX k_{2} + NH OX T k_{2} + NH TR k_{1} - \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}}{2 OX k_{2} \left(Kn + NH\right)}, \ \frac{Kn Kt OX k_{2} + Kn OX T k_{2} + Kt NH OX k_{2} + NH OX T k_{2} + NH TR k_{1} + \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}}{2 OX k_{2} \left(Kn + NH\right)}\right]$
In [20]:
# substitute into v2 to calculate flux (just use the first solution for starters)
Jsol = v2.subs(TSH, TSHsol[0])
Jsol
Out[20]:
$\displaystyle \frac{Kn Kt OX k_{2} + Kn OX T k_{2} + Kt NH OX k_{2} + NH OX T k_{2} + NH TR k_{1} - \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}}{2 \left(Kn + NH\right)}$
In [22]:
# now do the same for an NADH perturbation, derivative of flux
s.diff(Jsol,NH)
Out[22]:
$\displaystyle \frac{Kt OX k_{2} + OX T k_{2} + TR k_{1} - \frac{Kn Kt^{2} OX^{2} k_{2}^{2} + 2 Kn Kt OX^{2} T k_{2}^{2} + Kn Kt OX TR k_{1} k_{2} + Kn OX^{2} T^{2} k_{2}^{2} - Kn OX T TR k_{1} k_{2} + Kt^{2} NH OX^{2} k_{2}^{2} + 2 Kt NH OX^{2} T k_{2}^{2} + 2 Kt NH OX TR k_{1} k_{2} + NH OX^{2} T^{2} k_{2}^{2} - 2 NH OX T TR k_{1} k_{2} + NH TR^{2} k_{1}^{2}}{\sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}}}{2 \left(Kn + NH\right)} - \frac{Kn Kt OX k_{2} + Kn OX T k_{2} + Kt NH OX k_{2} + NH OX T k_{2} + NH TR k_{1} - \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}}{2 \left(Kn + NH\right)^{2}}$
In [23]:
C = s.simplify(_)
C
Out[23]:
$\displaystyle - \frac{Kn TR k_{1} \left(Kn Kt OX k_{2} - Kn OX T k_{2} + Kt NH OX k_{2} - NH OX T k_{2} + NH TR k_{1} - \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}\right)}{2 \left(Kn^{2} + 2 Kn NH + NH^{2}\right) \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}}$
In [24]:
s.diff(TSHsol[0],NH)
Out[24]:
$\displaystyle \frac{Kt OX k_{2} + OX T k_{2} + TR k_{1} - \frac{Kn Kt^{2} OX^{2} k_{2}^{2} + 2 Kn Kt OX^{2} T k_{2}^{2} + Kn Kt OX TR k_{1} k_{2} + Kn OX^{2} T^{2} k_{2}^{2} - Kn OX T TR k_{1} k_{2} + Kt^{2} NH OX^{2} k_{2}^{2} + 2 Kt NH OX^{2} T k_{2}^{2} + 2 Kt NH OX TR k_{1} k_{2} + NH OX^{2} T^{2} k_{2}^{2} - 2 NH OX T TR k_{1} k_{2} + NH TR^{2} k_{1}^{2}}{\sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}}}{2 OX k_{2} \left(Kn + NH\right)} - \frac{Kn Kt OX k_{2} + Kn OX T k_{2} + Kt NH OX k_{2} + NH OX T k_{2} + NH TR k_{1} - \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}}{2 OX k_{2} \left(Kn + NH\right)^{2}}$
In [25]:
D = s.simplify(_)
D
Out[25]:
$\displaystyle - \frac{Kn TR k_{1} \left(Kn Kt OX k_{2} - Kn OX T k_{2} + Kt NH OX k_{2} - NH OX T k_{2} + NH TR k_{1} - \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}\right)}{2 OX k_{2} \left(Kn^{2} + 2 Kn NH + NH^{2}\right) \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}}$
In [26]:
C/D
Out[26]:
$\displaystyle OX k_{2}$

Same result as above. For supply perturbations, the slope is independent of $NH$ or $TR$, and therefore constant. I.e. we have a perfect correlation with redox charge.

In [27]:
# demand perturbation
s.diff(Jsol, OX)
Out[27]:
$\displaystyle \frac{Kn Kt k_{2} + Kn T k_{2} + Kt NH k_{2} + NH T k_{2} - \frac{Kn^{2} Kt^{2} OX k_{2}^{2} + 2 Kn^{2} Kt OX T k_{2}^{2} + Kn^{2} OX T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX k_{2}^{2} + 4 Kn Kt NH OX T k_{2}^{2} + Kn Kt NH TR k_{1} k_{2} + 2 Kn NH OX T^{2} k_{2}^{2} - Kn NH T TR k_{1} k_{2} + Kt^{2} NH^{2} OX k_{2}^{2} + 2 Kt NH^{2} OX T k_{2}^{2} + Kt NH^{2} TR k_{1} k_{2} + NH^{2} OX T^{2} k_{2}^{2} - NH^{2} T TR k_{1} k_{2}}{\sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}}}{2 \left(Kn + NH\right)}$
In [28]:
A = s.simplify(_)
A
Out[28]:
$\displaystyle \frac{k_{2} \left(- Kn^{2} Kt^{2} OX k_{2} - 2 Kn^{2} Kt OX T k_{2} - Kn^{2} OX T^{2} k_{2} - 2 Kn Kt^{2} NH OX k_{2} - 4 Kn Kt NH OX T k_{2} - Kn Kt NH TR k_{1} - 2 Kn NH OX T^{2} k_{2} + Kn NH T TR k_{1} - Kt^{2} NH^{2} OX k_{2} - 2 Kt NH^{2} OX T k_{2} - Kt NH^{2} TR k_{1} - NH^{2} OX T^{2} k_{2} + NH^{2} T TR k_{1} + \left(Kn Kt + Kn T + Kt NH + NH T\right) \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}\right)}{2 \left(Kn + NH\right) \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}}$
In [29]:
s.diff(TSHsol[0], OX)
Out[29]:
$\displaystyle \frac{Kn Kt k_{2} + Kn T k_{2} + Kt NH k_{2} + NH T k_{2} - \frac{Kn^{2} Kt^{2} OX k_{2}^{2} + 2 Kn^{2} Kt OX T k_{2}^{2} + Kn^{2} OX T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX k_{2}^{2} + 4 Kn Kt NH OX T k_{2}^{2} + Kn Kt NH TR k_{1} k_{2} + 2 Kn NH OX T^{2} k_{2}^{2} - Kn NH T TR k_{1} k_{2} + Kt^{2} NH^{2} OX k_{2}^{2} + 2 Kt NH^{2} OX T k_{2}^{2} + Kt NH^{2} TR k_{1} k_{2} + NH^{2} OX T^{2} k_{2}^{2} - NH^{2} T TR k_{1} k_{2}}{\sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}}}{2 OX k_{2} \left(Kn + NH\right)} - \frac{Kn Kt OX k_{2} + Kn OX T k_{2} + Kt NH OX k_{2} + NH OX T k_{2} + NH TR k_{1} - \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}}{2 OX^{2} k_{2} \left(Kn + NH\right)}$
In [30]:
B = s.simplify(_)
B
Out[30]:
$\displaystyle \frac{NH TR k_{1} \left(Kn Kt OX k_{2} - Kn OX T k_{2} + Kt NH OX k_{2} - NH OX T k_{2} + NH TR k_{1} - \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}\right)}{2 OX^{2} k_{2} \left(Kn + NH\right) \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}}$
In [31]:
slope = A/B
slope
Out[31]:
$\displaystyle \frac{OX^{2} k_{2}^{2} \left(- Kn^{2} Kt^{2} OX k_{2} - 2 Kn^{2} Kt OX T k_{2} - Kn^{2} OX T^{2} k_{2} - 2 Kn Kt^{2} NH OX k_{2} - 4 Kn Kt NH OX T k_{2} - Kn Kt NH TR k_{1} - 2 Kn NH OX T^{2} k_{2} + Kn NH T TR k_{1} - Kt^{2} NH^{2} OX k_{2} - 2 Kt NH^{2} OX T k_{2} - Kt NH^{2} TR k_{1} - NH^{2} OX T^{2} k_{2} + NH^{2} T TR k_{1} + \left(Kn Kt + Kn T + Kt NH + NH T\right) \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}\right)}{NH TR k_{1} \left(Kn Kt OX k_{2} - Kn OX T k_{2} + Kt NH OX k_{2} - NH OX T k_{2} + NH TR k_{1} - \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}\right)}$
In [32]:
s.simplify(slope)
Out[32]:
$\displaystyle \frac{OX^{2} k_{2}^{2} \left(- Kn^{2} Kt^{2} OX k_{2} - 2 Kn^{2} Kt OX T k_{2} - Kn^{2} OX T^{2} k_{2} - 2 Kn Kt^{2} NH OX k_{2} - 4 Kn Kt NH OX T k_{2} - Kn Kt NH TR k_{1} - 2 Kn NH OX T^{2} k_{2} + Kn NH T TR k_{1} - Kt^{2} NH^{2} OX k_{2} - 2 Kt NH^{2} OX T k_{2} - Kt NH^{2} TR k_{1} - NH^{2} OX T^{2} k_{2} + NH^{2} T TR k_{1} + \left(Kn Kt + Kn T + Kt NH + NH T\right) \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}\right)}{NH TR k_{1} \left(Kn Kt OX k_{2} - Kn OX T k_{2} + Kt NH OX k_{2} - NH OX T k_{2} + NH TR k_{1} - \sqrt{Kn^{2} Kt^{2} OX^{2} k_{2}^{2} + 2 Kn^{2} Kt OX^{2} T k_{2}^{2} + Kn^{2} OX^{2} T^{2} k_{2}^{2} + 2 Kn Kt^{2} NH OX^{2} k_{2}^{2} + 4 Kn Kt NH OX^{2} T k_{2}^{2} + 2 Kn Kt NH OX TR k_{1} k_{2} + 2 Kn NH OX^{2} T^{2} k_{2}^{2} - 2 Kn NH OX T TR k_{1} k_{2} + Kt^{2} NH^{2} OX^{2} k_{2}^{2} + 2 Kt NH^{2} OX^{2} T k_{2}^{2} + 2 Kt NH^{2} OX TR k_{1} k_{2} + NH^{2} OX^{2} T^{2} k_{2}^{2} - 2 NH^{2} OX T TR k_{1} k_{2} + NH^{2} TR^{2} k_{1}^{2}}\right)}$

This expression does not readily simplify.

Coupled Trx-Prx cycles with all three reactions mass action (Fig. S1B)

Key:
T = total Trx
TSH = reduced Trx
TSS = oxidised Trx
P = total Prx
PSH = reduced Prx
PSS = oxidised Prx
NH = NADPH
H2O2 = peroxide

In [33]:
k1, k2, k3, NH, H2O2, T, P = s.symbols("k1, k2, k3, NH, H2O2, T, P")
TSS, TSH, PSS, PSH = s.symbols("TSS, TSH, PSS, PSH")
In [34]:
# define all three reactions in terms of independent variables TSH and PSH
v1 = (k1*NH*TSS).subs(TSS, T-TSH)   # Trx reductase
v2 = (k2*PSS*TSH).subs(PSS, P-PSH)   # Prx reduction
v3 = k3*PSH*H2O2  # peroxide reduction
In [35]:
# solve for steady state
sol = s.solve((v1-v2, v2-v3), TSH, PSH, dict=True)
In [36]:
sol[1]
Out[36]:
$\displaystyle \left\{ PSH : \frac{H2O2 NH k_{1} k_{3} + H2O2 P k_{2} k_{3} + NH T k_{1} k_{2}}{2 H2O2 k_{2} k_{3}} + \frac{\sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}{2 H2O2 k_{2} k_{3}}, \ TSH : \frac{- H2O2 k_{3} \left(\frac{H2O2 NH k_{1} k_{3} + H2O2 P k_{2} k_{3} + NH T k_{1} k_{2}}{2 H2O2 k_{2} k_{3}} + \frac{\sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}{2 H2O2 k_{2} k_{3}}\right) + NH T k_{1}}{NH k_{1}}\right\}$
In [37]:
PSHsol = sol[1][PSH]
TSHsol = sol[1][TSH]
In [38]:
s.simplify(TSHsol)
Out[38]:
$\displaystyle \frac{- H2O2 NH k_{1} k_{3} - H2O2 P k_{2} k_{3} + NH T k_{1} k_{2} - \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}{2 NH k_{1} k_{2}}$
In [39]:
s.simplify(PSHsol)
Out[39]:
$\displaystyle \frac{H2O2 NH k_{1} k_{3} + H2O2 P k_{2} k_{3} + NH T k_{1} k_{2} + \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}{2 H2O2 k_{2} k_{3}}$
In [40]:
# work out flux
J1 = v1.subs(TSH, TSHsol)
J1s = s.simplify(J1)
J1s
Out[40]:
$\displaystyle \frac{H2O2 NH k_{1} k_{3} + H2O2 P k_{2} k_{3} + NH T k_{1} k_{2} + \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}{2 k_{2}}$
In [41]:
# same for substituting into v3 (check that it gives same answer)
J3 = v3.subs(PSH, PSHsol)
s.simplify(J3)
Out[41]:
$\displaystyle \frac{H2O2 NH k_{1} k_{3} + H2O2 P k_{2} k_{3} + NH T k_{1} k_{2} + \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}{2 k_{2}}$
In [42]:
# same vor substituting into v2
J2 = v2.subs(TSH, TSHsol).subs(PSH, PSHsol)
s.simplify(J2)
Out[42]:
$\displaystyle \frac{H2O2 NH k_{1} k_{3} + H2O2 P k_{2} k_{3} + NH T k_{1} k_{2} + \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}{2 k_{2}}$
In [43]:
# verify that they are actually the same
s.simplify(J2-J3)
Out[43]:
$\displaystyle 0$

Demand perturbation

In [44]:
# derivative of flux w.r.t. peroxide
s.diff(J1s, H2O2)
Out[44]:
$\displaystyle \frac{NH k_{1} k_{3} + P k_{2} k_{3} + \frac{H2O2 NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2 NH P k_{1} k_{2} k_{3}^{2} + H2O2 P^{2} k_{2}^{2} k_{3}^{2} + NH^{2} T k_{1}^{2} k_{2} k_{3} - NH P T k_{1} k_{2}^{2} k_{3}}{\sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}}{2 k_{2}}$
In [45]:
A = s.simplify(_)
A
Out[45]:
$\displaystyle \frac{k_{3} \left(H2O2 NH^{2} k_{1}^{2} k_{3} + 2 H2O2 NH P k_{1} k_{2} k_{3} + H2O2 P^{2} k_{2}^{2} k_{3} + NH^{2} T k_{1}^{2} k_{2} - NH P T k_{1} k_{2}^{2} + \left(NH k_{1} + P k_{2}\right) \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}\right)}{2 k_{2} \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}$
In [46]:
# derivative of TSH wrt peroxide
s.diff(TSHsol, H2O2)
Out[46]:
$\displaystyle \frac{- H2O2 k_{3} \left(\frac{NH k_{1} k_{3} + P k_{2} k_{3}}{2 H2O2 k_{2} k_{3}} + \frac{H2O2 NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2 NH P k_{1} k_{2} k_{3}^{2} + H2O2 P^{2} k_{2}^{2} k_{3}^{2} + NH^{2} T k_{1}^{2} k_{2} k_{3} - NH P T k_{1} k_{2}^{2} k_{3}}{2 H2O2 k_{2} k_{3} \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}} - \frac{H2O2 NH k_{1} k_{3} + H2O2 P k_{2} k_{3} + NH T k_{1} k_{2}}{2 H2O2^{2} k_{2} k_{3}} - \frac{\sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}{2 H2O2^{2} k_{2} k_{3}}\right) - k_{3} \left(\frac{H2O2 NH k_{1} k_{3} + H2O2 P k_{2} k_{3} + NH T k_{1} k_{2}}{2 H2O2 k_{2} k_{3}} + \frac{\sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}{2 H2O2 k_{2} k_{3}}\right)}{NH k_{1}}$
In [47]:
B = s.simplify(_)
B
Out[47]:
$\displaystyle - \frac{k_{3} \left(H2O2 NH^{2} k_{1}^{2} k_{3} + 2 H2O2 NH P k_{1} k_{2} k_{3} + H2O2 P^{2} k_{2}^{2} k_{3} + NH^{2} T k_{1}^{2} k_{2} - NH P T k_{1} k_{2}^{2} + \left(NH k_{1} + P k_{2}\right) \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}\right)}{2 NH k_{1} k_{2} \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}$
In [48]:
# this is the analytical solution of the slope of the coresponse of flux and TrxSH (scale to get RC)
# upon demand (peroxide) perturbation
slope_ox = A/B
slope_ox
Out[48]:
$\displaystyle - NH k_{1}$

In spite of all the complex algebra this simiplifies to a very simple expression, which is the same as for the single-cycle system and moreover is independent of H2O2. I.e. it predicts that the correlation of flux with redox charge should be perfect (constant slope) for demand perturbation.

Supply perturbation

In [49]:
# derivative of flux w.r.t. NADPH
s.diff(J1s, NH)
Out[49]:
$\displaystyle \frac{H2O2 k_{1} k_{3} + T k_{1} k_{2} + \frac{H2O2^{2} NH k_{1}^{2} k_{3}^{2} + H2O2^{2} P k_{1} k_{2} k_{3}^{2} + 2 H2O2 NH T k_{1}^{2} k_{2} k_{3} - H2O2 P T k_{1} k_{2}^{2} k_{3} + NH T^{2} k_{1}^{2} k_{2}^{2}}{\sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}}{2 k_{2}}$
In [50]:
C = s.simplify(_)
C
Out[50]:
$\displaystyle \frac{k_{1} \left(H2O2^{2} NH k_{1} k_{3}^{2} + H2O2^{2} P k_{2} k_{3}^{2} + 2 H2O2 NH T k_{1} k_{2} k_{3} - H2O2 P T k_{2}^{2} k_{3} + NH T^{2} k_{1} k_{2}^{2} + \left(H2O2 k_{3} + T k_{2}\right) \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}\right)}{2 k_{2} \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}$
In [51]:
# derivative of TSH w.r.t. NADPH
s.diff(TSHsol, NH)
Out[51]:
$\displaystyle \frac{- H2O2 k_{3} \left(\frac{H2O2 k_{1} k_{3} + T k_{1} k_{2}}{2 H2O2 k_{2} k_{3}} + \frac{H2O2^{2} NH k_{1}^{2} k_{3}^{2} + H2O2^{2} P k_{1} k_{2} k_{3}^{2} + 2 H2O2 NH T k_{1}^{2} k_{2} k_{3} - H2O2 P T k_{1} k_{2}^{2} k_{3} + NH T^{2} k_{1}^{2} k_{2}^{2}}{2 H2O2 k_{2} k_{3} \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}\right) + T k_{1}}{NH k_{1}} - \frac{- H2O2 k_{3} \left(\frac{H2O2 NH k_{1} k_{3} + H2O2 P k_{2} k_{3} + NH T k_{1} k_{2}}{2 H2O2 k_{2} k_{3}} + \frac{\sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}{2 H2O2 k_{2} k_{3}}\right) + NH T k_{1}}{NH^{2} k_{1}}$
In [52]:
D = s.simplify(_)
slope_red = C/D
In [53]:
# this is the analytical solution of the slope of the coresponse of flux and TrxSH 
# (i.e. scale this to get redox charge)
# upon supply (NADPH) perturbation
slope_red
Out[53]:
$\displaystyle \frac{NH^{2} k_{1}^{2} \left(H2O2^{2} NH k_{1} k_{3}^{2} + H2O2^{2} P k_{2} k_{3}^{2} + 2 H2O2 NH T k_{1} k_{2} k_{3} - H2O2 P T k_{2}^{2} k_{3} + NH T^{2} k_{1} k_{2}^{2} + \left(H2O2 k_{3} + T k_{2}\right) \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}\right)}{H2O2 P k_{2} k_{3} \left(H2O2 NH k_{1} k_{3} + H2O2 P k_{2} k_{3} - NH T k_{1} k_{2} + \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}\right)}$
In [54]:
s.simplify(slope_red)
Out[54]:
$\displaystyle \frac{NH^{2} k_{1}^{2} \left(H2O2^{2} NH k_{1} k_{3}^{2} + H2O2^{2} P k_{2} k_{3}^{2} + 2 H2O2 NH T k_{1} k_{2} k_{3} - H2O2 P T k_{2}^{2} k_{3} + NH T^{2} k_{1} k_{2}^{2} + \left(H2O2 k_{3} + T k_{2}\right) \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}\right)}{H2O2 P k_{2} k_{3} \left(H2O2 NH k_{1} k_{3} + H2O2 P k_{2} k_{3} - NH T k_{1} k_{2} + \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}\right)}$

This expression does not simplify, so the correlation is not perfect as for the demand perturbation.

Correlation of flux with PrxSH

For symmetry reasons, the correlation of flux with PrxSH upon an NADPH perturbation should be perfect.

In [55]:
# this was the derivative of flux w.r.t. NADPH
C
Out[55]:
$\displaystyle \frac{k_{1} \left(H2O2^{2} NH k_{1} k_{3}^{2} + H2O2^{2} P k_{2} k_{3}^{2} + 2 H2O2 NH T k_{1} k_{2} k_{3} - H2O2 P T k_{2}^{2} k_{3} + NH T^{2} k_{1} k_{2}^{2} + \left(H2O2 k_{3} + T k_{2}\right) \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}\right)}{2 k_{2} \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}$
In [56]:
# get the derivative of PrxSH
s.diff(PSHsol, NH)
Out[56]:
$\displaystyle \frac{H2O2 k_{1} k_{3} + T k_{1} k_{2}}{2 H2O2 k_{2} k_{3}} + \frac{H2O2^{2} NH k_{1}^{2} k_{3}^{2} + H2O2^{2} P k_{1} k_{2} k_{3}^{2} + 2 H2O2 NH T k_{1}^{2} k_{2} k_{3} - H2O2 P T k_{1} k_{2}^{2} k_{3} + NH T^{2} k_{1}^{2} k_{2}^{2}}{2 H2O2 k_{2} k_{3} \sqrt{H2O2^{2} NH^{2} k_{1}^{2} k_{3}^{2} + 2 H2O2^{2} NH P k_{1} k_{2} k_{3}^{2} + H2O2^{2} P^{2} k_{2}^{2} k_{3}^{2} + 2 H2O2 NH^{2} T k_{1}^{2} k_{2} k_{3} - 2 H2O2 NH P T k_{1} k_{2}^{2} k_{3} + NH^{2} T^{2} k_{1}^{2} k_{2}^{2}}}$
In [57]:
E = s.simplify(_)
slope_red2 = C/E
slope_red2
Out[57]:
$\displaystyle H2O2 k_{3}$
In [ ]: