SysBioChalmers / yeast-GEM

The consensus GEM for Saccharomyces cerevisiae
http://sysbiochalmers.github.io/yeast-GEM/
Creative Commons Attribution 4.0 International
94 stars 43 forks source link

Empirical stoichiometry for oxidative phosphorylation #193

Closed avlant closed 2 years ago

avlant commented 5 years ago

Description of the issue:

Complex III and IV from oxidative phosphorylation (r_0438 & r_0439) currently have a proton pumping stoichiometry that does not match literature values (PMID: 21706682). This was introduced by a script [1] in order to fit the operational P/O ratio ~ 1.

To make this empirical modification more explicit, I propose the introduction of a pseudo metabolite that couples the flux through CIII and CIV to a proton gradient sink, so that the P/O ratio can be tuned without modifying the stoichiometry.

[1] https://github.com/SysBioChalmers/yeast-GEM/blob/master/ComplementaryScripts/deprecated/modelCuration/modelCorrections.m [updated URL 2020-07-01]

Expected feature/value/output:

An example of could be:

ID NAME EQUATION
r_0438 ferrocytochrome-c:oxygen oxidoreductase ferrocytochrome c[m] + 2 H+[m] + 0.25 oxygen[m] => ferricytochrome c[m] + H+[c] + 0.5 H2O[m] + coupling[m]
r_XXXX Empirical coupling efficiency 0.33333 coupling[m] + 0.28 H+[c] => 0.28 H+[m]

Another option would be to link both complex IV (r_0438) and complex III (r_0439). The choice may affect simulations since several reactions involve ferricytochrome (r_0001, r_0002, r_0004, r_0437 and r_4382)

Current feature/value/output:

ID NAME EQUATION
r_0438 ferrocytochrome-c:oxygen oxidoreductase ferrocytochrome c[m] + 1.266 H+[m] + 0.25 oxygen[m] => ferricytochrome c[m] + 0.633 H+[c] + 0.5 H2O[m]
r_0439 ubiquinol:ferricytochrome c reductase 2 ferricytochrome c[m] + 1.266 H+[m] + ubiquinol-6[m] => 2 ferrocytochrome c[m] + 2.532 H+[c] + ubiquinone-6[m]

Reproducing these results:

I hereby confirm that I have:

edkerk commented 5 years ago

Nice observation, to me it does make sense to make this coupling more explicit in a separate reaction. What I don't understand is how you define the stoichiometry of r_XXXX?

edkerk commented 5 years ago

@avlant How do you define the stoichiometry of r_XXXX ?

avlant commented 5 years ago

This would depend on the operational P/O ratio.

By using the stoichiometry 0.33333 for coupling, the flux through r_XXXX would be equal to proton pumping by r_0438 and r_0439 assuming that they have the theoretical value of 2 for protons pumped from the mitochondria.

Then by setting the stochiometry to 0.28 for protons, it means that efficiency of proton pumping is (1-0.28)= 72%, or equivalently that 0.28 protons leak back for each proton pumped. This tunes the P/O ratio from a value around 1.4 for a model with theoretical proton pumping stochiometry to around 1. Which is currently archived by the non-integer stochiometry: 1.266.

weilandtd commented 4 years ago

Hello @avlant I really like your idea of modelling this! Especially when considering thermodynamics and kinetics it would simplify things.

Did you determine the coefficients for this coupling reaction to obtain a P/O around 1? From your explanation, I kind of did not get if the coefficients you give work with this model?

weilandtd commented 4 years ago

Hello,

sorry to bother you all but after the electron transport chain in the model I have some more questions on the yeast8 model in general. Unfortunately, I can't find the piece of code where you adjust the stoichiometry (the link above is deprecated) in the model to match the P/O ratio of approx 1. But from the earlier work (link below) you defined the P/O ratio as the maximum yield of ATP per electron pair that flow through the ETC. From the current model there are 4 reactions that yield a reduction of ubiquinone-6 with one electron pair namely: DEOSYNCYTMIT, NADH2_u6cm, NADH2_u6m, SUCD2_u6m or r_0331, r_0770, r_0773, r_1021 respectively: The P/O ratio should thus be: max(ATPS3m or r_0226) / sum( electron pair providing reactions ). When I calculate this number constraining the model to the maximum biomass yield I get a P/O ratio of 1.4 with the provided model. Maybe I am missing something here but the citation below explicitly states that the P/O should be closer to 1 and that the theoretical yield is 1.4. Can anybody comment on this? I feel I am missing something here.

Best, Daniel

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC263729/

edkerk commented 4 years ago

@weilandtd Just to inform you that the script mentioned in the first post had been relocated and can now be found here (I've also updated the link in the first post). Perhaps this will help you to figure out the rationale for the values used.

weilandtd commented 4 years ago

@edkerk Thank you for your quick reply! So I see the rational so you basically assume a reduced pumping efficiency in the complex III and IV. But you did you compare the actual P/O ratio with the experiments?

For myself, I remodelled this part now using a leakage reaction that forces a minimum leakage of h_c to h_m which is coupled to the fluxes through complex III and IV using an additional constraint (in cobrapy model.add_cons_var() ). Not sure if this is in the scope of this repo. But should there be any interest in this I can post this here or provide a pull request.

avlant commented 4 years ago

@weilandtd Hi, I chose the coefficient so the P/O ratio would be the same as with the current model. The purpose of the proposed change is simply to make it explicit that the P/O has been adjusted from the theoretical value by the model. With regards to references for the empirical P/O ratio, there is a bionumber reference [1] that puts the empirical P/O at 0.95, which probably goes back to Verduyn [2]. An advantage of a pseudo-metabolite over a constraint in the solver is that it appears visually in the model and therefore is easier to discuss. Mathematically it makes no difference.

[1] https://bionumbers.hms.harvard.edu/bionumber.aspx?id=110797 [2] https://link.springer.com/content/pdf/10.1007/BF00582119.pdf

weilandtd commented 3 years ago

@avlant Hello, sorry for the long silence but other projects got priorities. So this is also what we found in the meantime. Nevertheless, we did some tests but with the way, we calculated the P/O ratio (See below) we got ratios around 1.4 using your model.

grafik

Maybe we can compare (discuss) how you guys calculate the P/O ratio, to come to a consensus on what we are taking about in these cases :)

Thank you in advance for you involvement. Best, Daniel

avlant commented 3 years ago

@weilandtd Hi, note that I am not involved with the yeast 8 project, and that I am not working with GEMs atm, so my answer will be theoretical. If you have specific questions about yeast 8, I am sure @edkerk can answer them or direct you to somebody that can. But from what I can tell reaction r_0438 on the main branch has not changed since my original post so both yeast 8 and my proposed modification should still be expected to give the same P/O ratio.

One reason that you may be getting higher values than expected could be that the transport of ATP, ADP and Pi between the mitochondria to the cytoplasm requires proton pumping. So the P/O ratio will depend on if ATP turnover occurs in the mitochondria or the cytosol. Normally mitochondrial ATP is transported to the cytosol where its used, but if your model is able to find a futile cycle that turns over mitochondrial ATP it could be different. This will depend on if the maximum predicted growth rate in your model is constrained by ATP synthesis or something else.

To test this you could constrain the cytosolic ATP maintenance reaction (r_4046) to ub=lb=1 (as it is by default) and minimize vO2 with free exchange of (only) ethanol, O2, CO2 and H2O. Then you should be able to calculate P/O as (1-vSuccinate)/(2*vO2). Where vSuccinate is the flux in r_1022 for TCA derived ATP. I think this setup should avoid any potential mitochondrial ATP turnover.

edkerk commented 2 years ago

The P/O ratio has now been more thoroughly modelled in mitoYeast-GEM, also taking into account the effect of PMF, using an approach very similar to what @avlant suggested in his initial post. This we intend to implement in yeast-GEM as part of #12. Discussions on that implementation can be continued in #12.