SysBioChalmers / ecModels

A container for all enzyme constrained models created by GECKO.
Creative Commons Attribution 4.0 International
10 stars 6 forks source link

update ecHumanGEM based on v1.6.0 #77

Closed automator-metatlas closed 2 years ago

automator-metatlas commented 3 years ago
MATLAB is selecting SOFTWARE OPENGL rendering.

***************************************************************
   GECKO: Adding enzyme constraints to a genome-scale model
***************************************************************

Getting genome-scale model ready...[Warning: Potentially problematic ") AND (", ") AND" or "AND ("relationships found in

  - grRule #HMR_4137: ENSG00000091140 and ENSG00000110435 and (ENSG00000131828 or ENSG00000163114) and ENSG00000150768 and ENSG00000168291
  - grRule #HMR_7161: (ENSG00000113356 or ENSG00000121851) and (ENSG00000090060 or ENSG00000115421 or ENSG00000164329 or ENSG00000218823) and (ENSG00000083223 or ENSG00000134744
  or ENSG00000149016) and ENSG00000005075 and ENSG00000013503 and ENSG00000047315 and ENSG00000058600 and ENSG00000066379 and ENSG00000068654 and ENSG00000099817 and
  ENSG00000099821 and ENSG00000100142 and ENSG00000100413 and ENSG00000102978 and ENSG00000105258 and ENSG00000107951 and ENSG00000125630 and ENSG00000132664 and ENSG00000137054
  and ENSG00000144231 and ENSG00000147669 and ENSG00000148606 and ENSG00000161980 and ENSG00000163882 and ENSG00000168002 and ENSG00000168495 and ENSG00000171453 and
  ENSG00000177700 and ENSG00000181222 and ENSG00000186141 and ENSG00000186184
  - grRule #HMR_7162: (ENSG00000113356 or ENSG00000121851) and (ENSG00000090060 or ENSG00000115421 or ENSG00000164329 or ENSG00000218823) and (ENSG00000083223 or ENSG00000134744
  or ENSG00000149016) and ENSG00000005075 and ENSG00000013503 and ENSG00000047315 and ENSG00000058600 and ENSG00000066379 and ENSG00000068654 and ENSG00000099817 and
  ENSG00000099821 and ENSG00000100142 and ENSG00000100413 and ENSG00000102978 and ENSG00000105258 and ENSG00000107951 and ENSG00000125630 and ENSG00000132664 and ENSG00000137054
  and ENSG00000144231 and ENSG00000147669 and ENSG00000148606 and ENSG00000161980 and ENSG00000163882 and ENSG00000168002 and ENSG00000168495 and ENSG00000171453 and
  ENSG00000177700 and ENSG00000181222 and ENSG00000186141 and ENSG00000186184
  - grRule #ATPasel: ((ENSG00000105929 and ENSG00000113732 and ENSG00000117410 and ENSG00000147614 and ENSG00000185883) or (ENSG00000113732 and ENSG00000117410 and ENSG00000147614
  and ENSG00000185344 and ENSG00000185883) or (ENSG00000105929 and ENSG00000113732 and ENSG00000117410 and ENSG00000159720 and ENSG00000185883) or (ENSG00000033627 and
  ENSG00000113732 and ENSG00000117410 and ENSG00000147614 and ENSG00000185883) or (ENSG00000033627 and ENSG00000113732 and ENSG00000117410 and ENSG00000159720 and ENSG00000185883)
  or (ENSG00000110719 and ENSG00000113732 and ENSG00000117410 and ENSG00000159720 and ENSG00000185883) or (ENSG00000113732 and ENSG00000117410 and ENSG00000159720 and
  ENSG00000185344 and ENSG00000185883) or (ENSG00000110719 and ENSG00000113732 and ENSG00000117410 and ENSG00000147614 and ENSG00000185883)) and ((ENSG00000047249 and
  ENSG00000100554 and ENSG00000114573 and ENSG00000128524 and ENSG00000136888 and ENSG00000147416 and ENSG00000155097 and ENSG00000250565) or (ENSG00000047249 and ENSG00000100554
  and ENSG00000114573 and ENSG00000116039 and ENSG00000128524 and ENSG00000136888 and ENSG00000155097 and ENSG00000250565) or (ENSG00000047249 and ENSG00000100554 and
  ENSG00000114573 and ENSG00000128524 and ENSG00000136888 and ENSG00000143882 and ENSG00000147416 and ENSG00000250565) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573
  and ENSG00000128524 and ENSG00000131100 and ENSG00000136888 and ENSG00000147416 and ENSG00000155097) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and
  ENSG00000116039 and ENSG00000128524 and ENSG00000131100 and ENSG00000136888 and ENSG00000155097) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and ENSG00000128524
  and ENSG00000147416 and ENSG00000155097 and ENSG00000213760 and ENSG00000250565) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and ENSG00000128524 and
  ENSG00000143882 and ENSG00000147416 and ENSG00000213760 and ENSG00000250565) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and ENSG00000128524 and ENSG00000131100
  and ENSG00000147416 and ENSG00000155097 and ENSG00000213760) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and ENSG00000116039 and ENSG00000128524 and
  ENSG00000131100 and ENSG00000151418 and ENSG00000155097) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and ENSG00000128524 and ENSG00000143882 and ENSG00000147416
  and ENSG00000151418 and ENSG00000250565) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and ENSG00000116039 and ENSG00000128524 and ENSG00000131100 and
  ENSG00000143882 and ENSG00000213760) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and ENSG00000116039 and ENSG00000128524 and ENSG00000143882 and ENSG00000213760
  and ENSG00000250565) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and ENSG00000116039 and ENSG00000128524 and ENSG00000131100 and ENSG00000155097 and
  ENSG00000213760) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and ENSG00000128524 and ENSG00000147416 and ENSG00000151418 and ENSG00000155097 and ENSG00000250565)
  or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and ENSG00000128524 and ENSG00000131100 and ENSG00000147416 and ENSG00000151418 and ENSG00000155097) or
  (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and ENSG00000116039 and ENSG00000128524 and ENSG00000155097 and ENSG00000213760 and ENSG00000250565) or (ENSG00000047249
  and ENSG00000100554 and ENSG00000114573 and ENSG00000116039 and ENSG00000128524 and ENSG00000151418 and ENSG00000155097 and ENSG00000250565) or (ENSG00000047249 and
  ENSG00000100554 and ENSG00000114573 and ENSG00000128524 and ENSG00000131100 and ENSG00000143882 and ENSG00000147416 and ENSG00000151418) or (ENSG00000047249 and ENSG00000100554
  and ENSG00000114573 and ENSG00000128524 and ENSG00000131100 and ENSG00000143882 and ENSG00000147416 and ENSG00000213760) or (ENSG00000047249 and ENSG00000100554 and
  ENSG00000114573 and ENSG00000116039 and ENSG00000128524 and ENSG00000131100 and ENSG00000143882 and ENSG00000151418) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573
  and ENSG00000116039 and ENSG00000128524 and ENSG00000143882 and ENSG00000151418 and ENSG00000250565) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and
  ENSG00000116039 and ENSG00000128524 and ENSG00000136888 and ENSG00000143882 and ENSG00000250565) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and ENSG00000116039
  and ENSG00000128524 and ENSG00000131100 and ENSG00000136888 and ENSG00000143882) or (ENSG00000047249 and ENSG00000100554 and ENSG00000114573 and ENSG00000128524 and
  ENSG00000131100 and ENSG00000136888 and ENSG00000143882 and ENSG00000147416))

 This kind of relationships should only be present in  reactions catalysed by complexes of isoenzymes e.g.

  - (G1 or G2) and (G3 or G4)

 For these cases modify the grRules manually, writing all the possible combinations e.g.

  - (G1 and G3) or (G1 and G4) or (G2 and G3) or (G2 and G4)

 For other cases modify the correspondent grRules avoiding:

  1) Overall container brackets, e.g.
        "(G1 and G2)" should be "G1 and G2"

  2) Single unit enzymes enclosed into brackets, e.g.
        "(G1)" should be "G1"

  3) The use of uppercases for logical operators, e.g.
        "G1 OR G2" should be "G1 or G2"

  4) Unbalanced brackets, e.g.
        "((G1 and G2) or G3" should be "(G1 and G2) or G3"
] 
[> In standardizeGrRules>findPotentialErrors (line 155)
In standardizeGrRules (line 38)
In preprocessModel (line 28)
In enhanceGEM (line 51)] 
[Warning:
Conflicting grRules where found for several reactions (check the above lines). GECKO will ignore these grRules to avoid introduction of potentially wrong enzyme constrains for
such cases. It is recommended to check your original GEM and fix these grRules manually with the guidance provided by the function "standardizeGrRules.m" in the RAVEN toolbox.
] 
[> In preprocessModel (line 30)
In enhanceGEM (line 51)] 
 Done!

==================
Generating ecModel:
==================
Retrieving EC numbers...................................................................................................................................... Done!
Matching kcats...................................................................................................................................... Done!
Adding enzymes to reactions.................................................................................................................................................................................................... Done!
Improving model with curated data... Done!
Removing repeated rxn: r2346 & WHARACHDtd_REV
Removing repeated rxn: WHARACHDtd & r2346_REV

==============================================================
Generating ecModel with shared pool assumption (ecModel_batch):
==============================================================
prot_abundance file is empty or not available. A default value of f=0.5 is set instead
Constrained ecModel is feasible
Matching data to enzymes in model... Done!
Total protein amount measured = 0 g/gDW
Total enzymes measured = 0 enzymes
Enzymes in model with 0 g/gDW = 0 enzymes
Total protein amount not measured = 0.50572 g/gDW
Total enzymes not measured = 3165 enzymes
Total protein in model = 0.50572 g/gDW
The ECmodel is not overconstrained.
***************************************************************
Fitting sigma factor....................... Done!
[Warning: MATLAB has disabled some advanced graphics rendering features by switching to software OpenGL. For more information, click <a href="matlab:opengl('problems')">here</a>.] 
Saving simulation results files...
File successfully saved.
Sigma factor (fitted for growth on glucose): 0.2

=============
Saving models:
=============
Saving ecHumanGEM1.6.0:
Converting RAVEN structure to COBRA..
Each model.subSystems{x} is a character array, and this format is retained.
Document written
Each model.subSystems{x} is a character array, and this format is retained.
Saving ecHumanGEM_batch1.6.0:
Converting RAVEN structure to COBRA..
Each model.subSystems{x} is a character array, and this format is retained.
Document written
Each model.subSystems{x} is a character array, and this format is retained.
IVANDOMENZAIN commented 3 years ago

@Yu-sysbio here you can find the latest ecHumanGEM files according to the suggested changes in conflicting grRules. Note that just 4 conflicting grRules were identified in the source GEM, and therefore ignored by GECKO.

Yu-sysbio commented 3 years ago

@IVANDOMENZAIN Yes, I see. As those conflicting grRules were ignored by GECKO, the enzyme constraints would be not imposed for those corresponding reactions, right? Next it would be better to manually add back those constraints as I see "ATPasel" is in the list, which is a vital reaction for example in ecYeast model to contribute to the Crabtree effect simulation.

IVANDOMENZAIN commented 3 years ago

@IVANDOMENZAIN Yes, I see. As those conflicting grRules were ignored by GECKO, the enzyme constraints would be not imposed for those corresponding reactions, right? Next it would be better to manually add back those constraints as I see "ATPasel" is in the list, which is a vital reaction for example in ecYeast model to contribute to the Crabtree effect simulation.

@Yu-sysbio, you're right! ATPasel is a crucial reaction for overflow metabolism in human cells, we don't really want to provide the models with free lunch! (ATP generation without an associated enzyme cost). We should create an issue in humanGEM maybe? in this way we can suggest our solution and also mention that this is motivated by the work in ecModels.

Yu-sysbio commented 3 years ago

@IVANDOMENZAIN Yes, I see. As those conflicting grRules were ignored by GECKO, the enzyme constraints would be not imposed for those corresponding reactions, right? Next it would be better to manually add back those constraints as I see "ATPasel" is in the list, which is a vital reaction for example in ecYeast model to contribute to the Crabtree effect simulation.

@Yu-sysbio, you're right! ATPasel is a crucial reaction for overflow metabolism in human cells, we don't really want to provide the models with free lunch! (ATP generation without an associated enzyme cost). We should create an issue in humanGEM maybe? in this way we can suggest our solution and also mention that this is motivated by the work in ecModels.

@IVANDOMENZAIN Yes I agree that this would be more relevant to the base GEM. We can create the issue in humanGEM but I do not think there would be an effective way to solve this. By standardizing this conflicting grRule, another issue would come, i.e., a much longer string. Not sure if humanGEM guys have ever worked on this.

mihai-sysbio commented 3 years ago

I think the above issue with the grRules has already been covered, with the last suggestion from @JonathanRob being:

Maybe we can manually curate this rule to get around this issue.

JonathanRob commented 3 years ago

Yes, this is an unfortunate result of enzyme complexes that have a lot of interchangeable subunits, but I still think it should be feasible to reduce the rule into something better than its current form, even if it requires changing it to a slightly less accurate representation.

I wouldn't think an unconstrained ATPaseI reaction would have much of an effect though, since it is consuming ATP, not producing it. For example, the ATP maintenance reaction HMR_3964 is the same (except it doesn't transport H+ to lysosome), and it doesn't have any grRule.

haowang-bioinfo commented 3 years ago

@IVANDOMENZAIN @Yu-sysbio welcome to bring the complex grRule issues to Human-GEM, where this could be fully solved.

Yu-sysbio commented 3 years ago

I wouldn't think an unconstrained ATPaseI reaction would have much of an effect though, since it is consuming ATP, not producing it. For example, the ATP maintenance reaction HMR_3964 is the same (except it doesn't transport H+ to lysosome), and it doesn't have any grRule.

@JonathanRob Thanks for pointing this out. I just thought it as an ATP-producing reaction. Now that it consumes ATP then it would not affect simulations even if we do not impose enzyme constraints on this reaction. So @IVANDOMENZAIN it is no problem to just ignore this reaction right now.

IVANDOMENZAIN commented 3 years ago

@JonathanRob you're right! I also got confused thinking that it was an ATP consuming one, thanks for pointing it out. @Yu-sysbio after taking a look to the model outputs, I can see that ignoring the conflicting grRule for the ATPaseI reaction prevented the inclusion of 31 isoenzyme reactions, probably those 31 different enzymatic complexes were erroneously formulated due to the non-standard grRule.

mihai-sysbio commented 2 years ago

The issue in the PR seems to have been solved. We are opting for closing this PR, with the aim of introducing a new one with a more updated version of Human-GEM.