## Wednesday, May 3, 2023

### Optimal distribution of enzymes that maximizes flux

Here is an interesting metabolic question to ask. Consider a pathway with two steps: $$\large X_0 \stackrel{e_1}{\rightarrow} S \stackrel{e_2}{\rightarrow}$$ where the first step is catalyzed by enzyme $e_1$ and the second step by $e_2$. We can assume that a bacterial cell has a finite volume, meaning there is only so much space to fit all the proteins necessary for the bacterium to live. If the cell make more of one protein, it presumably needs to find the extra space by down expressing other proteins. If the two step pathway is our cell, this translates to there being a fixed amount of protein that can be distributed betwen the two, that is: $$e_1 + e_2 = e_t$$ Presumably evolutionary pressure will maximize the flux through the pathway per unit protein. This means that given a fixed total amount of protein $e_t$ there must be a particular distribution of protein between $e_1$ and $e_2$ that maximizes flux. For example, if most of the protein were allocated to $e_1$ and very little to $e_2$ then the flux would be quite low. Likewise if most of the protein were allocated to $e_2$ and very little to $e_1$ then again the flux would be low. Between these two extremes there must be a maximum flux. To show this is the case we can do a simple simulation shown in the python code below. This code varies the levels of $e_1$ and $e_2$ in a loop such that their total is always 1 unit. Each time we change $e_1$ we must change $e_2$ by the same amount in the opposite direction in order to keep the constant fixed. As we do this we collect the steady-state flux and the current level of $e_1$. Finally we plot the flux versus $e_1$.

import tellurium as te
import matplotlib.pyplot as plt

J1: $Xo -> S; e1*(k1*Xo - k2*S) J2: S ->; e2*k3*S Xo = 1 k1 = 0.5; k2 = 0.2 k3 = 0.45 e1 = 0.01; e2 = 0.99 """) r.steadyState() x = []; y = []; for i in range (49): r.e1 = r.e1 + 0.02 r.e2 = 1 - r.e1 # Total assumed to be one r.simulate() r.steadyState() x.append (r.e1) y.append (r.J1) plt.figure(figsize=(12,10)) plt.grid(b=True, which='major', color='#666666', linestyle='-') plt.grid(b=True, which='minor', color='#999999', linestyle='-', alpha=0.2) plt.minorticks_on() plt.plot (x, y, linewidth = 2) plt.xlabel('$e_1$', fontsize=36) plt.ylabel('Flux', fontsize=36)   The following graph show the results from the simulation (the font sizes might be on the big size if you have a low res monitor): You can see the flux reaching a maximum at around$e_1 = 0.6$, meaning also that$e_2 = 0.4$in order to keep the total fixed. The actual position of the peak wil depend on the rate constants in the rate expressions. Let's assume we are at the maxium. The slope,$dJ/de_1$, at the maxium is obviously zero. That means if we were to move a small amount of protein from$e_1$to$e_2$the flux won't change. We can write this experiment in terms of the two flux control coefficients: $$\frac{\delta J}{J} = 0 = C^J_{e_1} \frac{\delta e_1}{e_1} + C^J_{e_2} \frac{\delta e_2}{e_2}$$ However, we know that in this particlar experiment the change in$e_1$is the same but oppisite to the change in$e_2$. That is$\delta e_1 + \delta e_2 = 0$or $$\delta e_1 = -\delta e_2$$ Replacing$e_2$with$-\delta e_1\$ gives: $$\frac{\delta J}{J} = 0 = C^J_{e_1} \frac{\delta e_1}{e_1} - C^J_{e_2} \frac{\delta e_1}{e_2}$$ $$\frac{\delta J}{J} = 0 = C^J_{e_1} \frac{1}{e_1} - C^J_{e_2} \frac{1}{e_2}$$ $$C^J_{e_1} \frac{1}{e_1} = C^J_{e_2} \frac{1}{e_2}$$ Giving the final result: $$\frac{C^J_{e_1}}{C^J_{e_2}} = \frac{e_1}{e_2}$$ That is, when the protein distribution is optimized to maximize the flux, the flux control coefficients are in the same ratio as the ratio of enzyme amounts. This generalizes to any size pathway with multiple enzymes. This gives us a tantgilizing suggestion that we can obtain the flux control coeficients just by measuring the protein levels.