Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: no flux in TCA when maximizing ATP production #265

Closed
4 tasks done
feiranl opened this issue Jul 5, 2021 · 5 comments · Fixed by #311
Closed
4 tasks done

Fix: no flux in TCA when maximizing ATP production #265

feiranl opened this issue Jul 5, 2021 · 5 comments · Fixed by #311
Labels
bug something is wrong in the model fixed in devel this issue is already fixed in devel and will be closed after the next release

Comments

@feiranl
Copy link
Collaborator

feiranl commented Jul 5, 2021

Description of the issue:

When using minimal media as the set up and maximizing ATP as the objective for simulation, TCA is skipped while glycine-serine cycle is utilized due to a higher ATP yield on this pathway.

matlab model 8.5.0 main branch
load('yeast-GEM.mat')
model = minimal_Y6(model)
model = changeRxnBounds(model,'r_4046',1000,'u');
model = changeRxnBounds(model,'r_4046',0,'l');
model = changeObjective(model,'r_4046',1);
sol=optimizeCbModel(model,'max','one')
current rxn|flux|equation
rxn flux equation
r_0226 17 ADP[m] + 3 H+[c] + phosphate[m] => ATP[m] + 2 H+[m] + H2O[m]
r_0438 24 ferrocytochrome c[m] + 1.266 H+[m] + 0.25 oxygen[m] => ferricytochrome c[m] + 0.633 H+[c] + 0.5 H2O[m]
r_0439 12 2 ferricytochrome c[m] + 1.266 H+[m] + ubiquinol-6[m] => 2 ferrocytochrome c[m] + 2.532 H+[c] + ubiquinone-6[m]
r_0445 4 formate[c] + NAD[c] => carbon dioxide[c] + NADH[c]
r_0446 -4 ATP[c] + formate[c] + THF[c] <=> 10-formyl-THF[c] + ADP[c] + phosphate[c]
r_0450 1 D-fructose 1,6-bisphosphate[c] <=> dihydroxyacetone phosphate[c] + glyceraldehyde 3-phosphate[c]
r_0467 1 D-glucose 6-phosphate[c] <=> D-fructose 6-phosphate[c]
r_0471 2 2-oxoglutarate[c] + ammonium[c] + H+[c] + NADPH[c] => H2O[c] + L-glutamate[c] + NADP(+)[c]
r_0486 2 glyceraldehyde 3-phosphate[c] + NAD[c] + phosphate[c] <=> 1,3-bisphospho-D-glycerate[c] + H+[c] + NADH[c]
r_0501 2 L-glycine[m] + NAD[m] + THF[m] => 5,10-methylenetetrahydrofolate[m] + ammonium[m] + carbon dioxide[m] + NADH[m]
r_0502 4 L-serine[c] + THF[c] <=> 5,10-methylenetetrahydrofolate[c] + H2O[c] + L-glycine[c]
r_0503 -2 L-serine[m] + THF[m] <=> 5,10-methylenetetrahydrofolate[m] + H2O[m] + L-glycine[m]
r_0534 1 ATP[c] + D-glucose[c] => ADP[c] + D-glucose 6-phosphate[c] + H+[c]
r_0658 2 isocitrate[m] + NAD[m] => 2-oxoglutarate[m] + carbon dioxide[m] + NADH[m]
r_0659 -2 isocitrate[c] + NADP(+)[c] <=> 2-oxoglutarate[c] + carbon dioxide[c] + NADPH[c]
r_0725 4 5,10-methenyl-THF[c] + H2O[c] <=> 10-formyl-THF[c] + H+[c]
r_0732 4 5,10-methylenetetrahydrofolate[c] + NADP(+)[c] <=> 5,10-methenyl-THF[c] + NADPH[c]
r_0770 8 H+[c] + NADH[c] + ubiquinone-6[m] => NAD[c] + ubiquinol-6[m]
r_0773 4 H+[m] + NADH[m] + ubiquinone-6[m] => NAD[m] + ubiquinol-6[m]
r_0886 1 ATP[c] + D-fructose 6-phosphate[c] => ADP[c] + D-fructose 1,6-bisphosphate[c] + H+[c]
r_0891 2 3-phosphonato-D-glycerate(3-)[c] + NAD[c] => 3-phospho-hydroxypyruvate[c] + H+[c] + NADH[c]
r_0892 2 1,3-bisphospho-D-glycerate[c] + ADP[c] <=> 3-phosphonato-D-glycerate(3-)[c] + ATP[c]
r_0917 2 3-phospho-serine[c] + H2O[c] => L-serine[c] + phosphate[c]
r_0918 2 3-phospho-hydroxypyruvate[c] + L-glutamate[c] => 2-oxoglutarate[c] + 3-phospho-serine[c]
r_1054 1 dihydroxyacetone phosphate[c] <=> glyceraldehyde 3-phosphate[c]
r_1110 17 ADP[c] + ATP[m] <=> ADP[m] + ATP[c]
r_1112 -2 2-oxoglutarate[c] + citrate[m] <=> 2-oxoglutarate[m] + citrate[c]
r_1128 -2 citrate[c] + isocitrate[m] <=> citrate[m] + isocitrate[c]
r_1166 1 D-glucose[e] => D-glucose[c]
r_1245 17 H+[c] + phosphate[c] => H+[m] + phosphate[m]
r_1277 -6 H2O[e] <=> H2O[c]
r_1672 6 carbon dioxide[e] =>
r_1696 -4 carbon dioxide[c] <=> carbon dioxide[m]
r_1697 6 carbon dioxide[c] <=> carbon dioxide[e]
r_1714 -1 D-glucose[e] <=>
r_1811 4 L-glycine[c] <=> L-glycine[m]
r_1965 -2 ammonium[c] <=> ammonium[m]
r_1978 6 oxygen[c] <=> oxygen[m]
r_1979 6 oxygen[e] <=> oxygen[c]
r_1992 -6 oxygen[e] <=>
r_2045 -2 L-serine[c] <=> L-serine[m]
r_2096 -27 H2O[c] <=> H2O[m]
r_2100 6 H2O[e] <=>
r_4046 21 ATP[c] + H2O[c] => ADP[c] + H+[c] + phosphate[c]

This issue can be fixed by modify the reversibility of r_2045 as done in GECKO paper.

matlab 
model = changeRxnBounds(model,'r_2045',0,'l');
sol=optimizeCbModel(model,'max','one')
updated rxn|flux|equation
ID NAME EQUATION
r_0226 15 ADP[m] + 3 H+[c] + phosphate[m] => ATP[m] + 2 H+[m] + H2O[m]
r_0300 2 acetyl-CoA[m] + H2O[m] + oxaloacetate[m] => citrate[m] + coenzyme A[m] + H+[m]
r_0366 2 2-phospho-D-glyceric acid[c] <=> H2O[c] + phosphoenolpyruvate[c]
r_0438 24 ferrocytochrome c[m] + 1.266 H+[m] + 0.25 oxygen[m] => ferricytochrome c[m] + 0.633 H+[c] + 0.5 H2O[m]
r_0439 12 2 ferricytochrome c[m] + 1.266 H+[m] + ubiquinol-6[m] => 2 ferrocytochrome c[m] + 2.532 H+[c] + ubiquinone-6[m]
r_0450 1 D-fructose 1,6-bisphosphate[c] <=> dihydroxyacetone phosphate[c] + glyceraldehyde 3-phosphate[c]
r_0451 2 fumarate[m] + H2O[m] <=> (S)-malate[m]
r_0467 1 D-glucose 6-phosphate[c] <=> D-fructose 6-phosphate[c]
r_0486 2 glyceraldehyde 3-phosphate[c] + NAD[c] + phosphate[c] <=> 1,3-bisphospho-D-glycerate[c] + H+[c] + NADH[c]
r_0505 2 dihydrolipoamide[m] + NAD[m] => H+[m] + lipoamide[m] + NADH[m]
r_0534 1 ATP[c] + D-glucose[c] => ADP[c] + D-glucose 6-phosphate[c] + H+[c]
r_0658 2 isocitrate[m] + NAD[m] => 2-oxoglutarate[m] + carbon dioxide[m] + NADH[m]
r_0713 2 (S)-malate[m] + NAD[m] <=> H+[m] + NADH[m] + oxaloacetate[m]
r_0770 2 H+[c] + NADH[c] + ubiquinone-6[m] => NAD[c] + ubiquinol-6[m]
r_0773 8 H+[m] + NADH[m] + ubiquinone-6[m] => NAD[m] + ubiquinol-6[m]
r_0831 2 coenzyme A[m] + S(8)-succinyldihydrolipoamide[m] => dihydrolipoamide[m] + succinyl-CoA[m]
r_0832 2 2-oxoglutarate[m] + H+[m] + lipoamide[m] => carbon dioxide[m] + S(8)-succinyldihydrolipoamide[m]
r_0886 1 ATP[c] + D-fructose 6-phosphate[c] => ADP[c] + D-fructose 1,6-bisphosphate[c] + H+[c]
r_0892 2 1,3-bisphospho-D-glycerate[c] + ADP[c] <=> 3-phosphonato-D-glycerate(3-)[c] + ATP[c]
r_0893 2 3-phosphonato-D-glycerate(3-)[c] <=> 2-phospho-D-glyceric acid[c]
r_0961 2 coenzyme A[m] + NAD[m] + pyruvate[m] => acetyl-CoA[m] + carbon dioxide[m] + NADH[m]
r_0962 2 ADP[c] + H+[c] + phosphoenolpyruvate[c] => ATP[c] + pyruvate[c]
r_1021 2 succinate[m] + ubiquinone-6[m] <=> fumarate[m] + ubiquinol-6[m]
r_1022 2 ADP[m] + phosphate[m] + succinyl-CoA[m] => ATP[m] + coenzyme A[m] + succinate[m]
r_1054 1 dihydroxyacetone phosphate[c] <=> glyceraldehyde 3-phosphate[c]
r_1110 17 ADP[c] + ATP[m] <=> ADP[m] + ATP[c]
r_1166 1 D-glucose[e] => D-glucose[c]
r_1245 17 H+[c] + phosphate[c] => H+[m] + phosphate[m]
r_1277 -6 H2O[e] <=> H2O[c]
r_2034 2 H+[c] + pyruvate[c] => H+[m] + pyruvate[m]
r_1672 6 carbon dioxide[e] =>
r_1696 -6 carbon dioxide[c] <=> carbon dioxide[m]
r_1697 6 carbon dioxide[c] <=> carbon dioxide[e]
r_1714 -1 D-glucose[e] <=>
r_1978 6 oxygen[c] <=> oxygen[m]
r_1979 6 oxygen[e] <=> oxygen[c]
r_1992 -6 oxygen[e] <=>
r_2096 -23 H2O[c] <=> H2O[m]
r_2100 6 H2O[e] <=>
r_4046 19 ATP[c] + H2O[c] => ADP[c] + H+[c] + phosphate[c]
r_4262 2 citrate[m] <=> isocitrate[m]

I hereby confirm that I have:

  • Tested my code with all requirements for running the model
  • Done this analysis in the main branch of the repository
  • Checked that a similar issue does not exist already
  • If needed, asked first in the Gitter chat room about the issue
@feiranl feiranl added the bug something is wrong in the model label Jul 5, 2021
@edkerk
Copy link
Member

edkerk commented Jul 6, 2021

While blocking reverse reaction of r_2045 might prevent this to occur, is there not another approach that makes more sense biologically? Isn't transmembrane transport of serine by diffusion, which is r_2045 representing, unlikely to be unidirectional? What about blocking reverse direction of r_0446, which has an estimated Gibbs free energy of -25 kcal/mol?

@feiranl
Copy link
Collaborator Author

feiranl commented Jul 6, 2021

I will update the reversibility for the reaction r_0446.

@edkerk
Copy link
Member

edkerk commented Dec 10, 2021

@feiranl Did this resolve the issue?

@feiranl
Copy link
Collaborator Author

feiranl commented Dec 10, 2021

@edkerk yes, Will update that tomorrow.

@feiranl
Copy link
Collaborator Author

feiranl commented Dec 17, 2021

Flux distribution after update. Now TCA has flux when ATP is maximized.

rxn flux equation
r_0226 15.192 ADP [mitochondrion] + 3 H+ [cytoplasm] + phosphate [mitochondrion] -> ATP [mitochondrion] + 2 H+ [mitochondrion] + H2O [mitochondrion]
r_0300 2 acetyl-CoA [mitochondrion] + H2O [mitochondrion] + oxaloacetate [mitochondrion] -> citrate [mitochondrion] + coenzyme A [mitochondrion] + H+ [mitochondrion]
r_0366 2 2-phospho-D-glyceric acid [cytoplasm] <=> H2O [cytoplasm] + phosphoenolpyruvate [cytoplasm]
r_0438 24 ferrocytochrome c [mitochondrion] + 1.266 H+ [mitochondrion] + 0.25 oxygen [mitochondrion] -> ferricytochrome c [mitochondrion] + 0.633 H+ [cytoplasm] + 0.5 H2O [mitochondrion]
r_0439 12 2 ferricytochrome c [mitochondrion] + 1.266 H+ [mitochondrion] + ubiquinol-6 [mitochondrion] -> 2 ferrocytochrome c [mitochondrion] + 2.532 H+ [cytoplasm] + ubiquinone-6 [mitochondrion]
r_0450 1 D-fructose 1,6-bisphosphate [cytoplasm] <=> dihydroxyacetone phosphate [cytoplasm] + glyceraldehyde 3-phosphate [cytoplasm]
r_0451 2 fumarate [mitochondrion] + H2O [mitochondrion] <=> (S)-malate [mitochondrion]
r_0467 1 D-glucose 6-phosphate [cytoplasm] <=> D-fructose 6-phosphate [cytoplasm]
r_0486 2 glyceraldehyde 3-phosphate [cytoplasm] + NAD [cytoplasm] + phosphate [cytoplasm] <=> 1,3-bisphospho-D-glycerate [cytoplasm] + H+ [cytoplasm] + NADH [cytoplasm]
r_0505 2 dihydrolipoamide [mitochondrion] + NAD [mitochondrion] -> H+ [mitochondrion] + lipoamide [mitochondrion] + NADH [mitochondrion]
r_0534 1 ATP [cytoplasm] + D-glucose [cytoplasm] -> ADP [cytoplasm] + D-glucose 6-phosphate [cytoplasm] + H+ [cytoplasm]
r_0658 2 isocitrate [mitochondrion] + NAD [mitochondrion] -> 2-oxoglutarate [mitochondrion] + carbon dioxide [mitochondrion] + NADH [mitochondrion]
r_0713 2 (S)-malate [mitochondrion] + NAD [mitochondrion] <=> H+ [mitochondrion] + NADH [mitochondrion] + oxaloacetate [mitochondrion]
r_0770 2 H+ [cytoplasm] + NADH [cytoplasm] + ubiquinone-6 [mitochondrion] -> NAD [cytoplasm] + ubiquinol-6 [mitochondrion]
r_0773 8 H+ [mitochondrion] + NADH [mitochondrion] + ubiquinone-6 [mitochondrion] -> NAD [mitochondrion] + ubiquinol-6 [mitochondrion]
r_0831 2 coenzyme A [mitochondrion] + S(8)-succinyldihydrolipoamide [mitochondrion] -> dihydrolipoamide [mitochondrion] + succinyl-CoA [mitochondrion]
r_0832 2 2-oxoglutarate [mitochondrion] + H+ [mitochondrion] + lipoamide [mitochondrion] -> carbon dioxide [mitochondrion] + S(8)-succinyldihydrolipoamide [mitochondrion]
r_0886 1 ATP [cytoplasm] + D-fructose 6-phosphate [cytoplasm] -> ADP [cytoplasm] + D-fructose 1,6-bisphosphate [cytoplasm] + H+ [cytoplasm]
r_0892 2 1,3-bisphospho-D-glycerate [cytoplasm] + ADP [cytoplasm] <=> 3-phosphonato-D-glycerate(3-) [cytoplasm] + ATP [cytoplasm]
r_0893 2 3-phosphonato-D-glycerate(3-) [cytoplasm] <=> 2-phospho-D-glyceric acid [cytoplasm]
r_0961 2 coenzyme A [mitochondrion] + NAD [mitochondrion] + pyruvate [mitochondrion] -> acetyl-CoA [mitochondrion] + carbon dioxide [mitochondrion] + NADH [mitochondrion]
r_0962 2 ADP [cytoplasm] + H+ [cytoplasm] + phosphoenolpyruvate [cytoplasm] -> ATP [cytoplasm] + pyruvate [cytoplasm]
r_1021 2 succinate [mitochondrion] + ubiquinone-6 [mitochondrion] <=> fumarate [mitochondrion] + ubiquinol-6 [mitochondrion]
r_1022 2 ADP [mitochondrion] + phosphate [mitochondrion] + succinyl-CoA [mitochondrion] -> ATP [mitochondrion] + coenzyme A [mitochondrion] + succinate [mitochondrion]
r_1054 1 dihydroxyacetone phosphate [cytoplasm] <=> glyceraldehyde 3-phosphate [cytoplasm]
r_1110 17.192 ADP [cytoplasm] + ATP [mitochondrion] <=> ADP [mitochondrion] + ATP [cytoplasm]
r_1166 1 D-glucose [extracellular] -> D-glucose [cytoplasm]
r_1245 17.192 H+ [cytoplasm] + phosphate [cytoplasm] -> H+ [mitochondrion] + phosphate [mitochondrion]
r_1277 -6 H2O [extracellular] <=> H2O [cytoplasm]
r_2034 2 H+ [cytoplasm] + pyruvate [cytoplasm] -> H+ [mitochondrion] + pyruvate [mitochondrion]
r_1672 6 carbon dioxide [extracellular] ->
r_1696 -6 carbon dioxide [cytoplasm] <=> carbon dioxide [mitochondrion]
r_1697 6 carbon dioxide [cytoplasm] <=> carbon dioxide [extracellular]
r_1714 -1 D-glucose [extracellular] <=>
r_1978 6 oxygen [cytoplasm] <=> oxygen [mitochondrion]
r_1979 6 oxygen [extracellular] <=> oxygen [cytoplasm]
r_1992 -6 oxygen [extracellular] <=>
r_2096 -23.192 H2O [cytoplasm] <=> H2O [mitochondrion]
r_2100 6 H2O [extracellular] <=>
r_4046 19.192 ATP [cytoplasm] + H2O [cytoplasm] -> ADP [cytoplasm] + H+ [cytoplasm] + phosphate [cytoplasm]
r_4262 2 citrate [mitochondrion] <=> isocitrate [mitochondrion]

@edkerk edkerk added the fixed in devel this issue is already fixed in devel and will be closed after the next release label Dec 27, 2021
@edkerk edkerk mentioned this issue May 12, 2022
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug something is wrong in the model fixed in devel this issue is already fixed in devel and will be closed after the next release
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants