Skip to content

Update ATP metabolism - #113

Merged
haowang-bioinfo merged 18 commits into
develfrom
updateATPmetab
Jun 11, 2019
Merged

Update ATP metabolism#113
haowang-bioinfo merged 18 commits into
develfrom
updateATPmetab

Conversation

@JonathanRob

@JonathanRob JonathanRob commented May 20, 2019

Copy link
Copy Markdown
Collaborator

Main improvements in this PR:

A number of updates were made to ATP metabolism (primarily the electron transport chain) in HumanGEM to improve the biological accuracy. These updates were made to address Issues #98, #99, #100, #101, and #102.

The model updates were implemented using the new script curateATPmetabolism, and are summarized below:

Remove duplicate reaction
A duplicate proton transport reaction H+[i] => H+[m] was identified during curation (reactions HMR_7638 and Htmi). The Htmi reaction was associated to HMR_7638 in the humanGEMRxnAssoc.JSON annotation file, and subsequently removed from the model.

Update the stoichiometry of ATP synthase
Related to Issue #98. The stoichiometry for protons in ATP synthase HMR_691 were updated to 3 instead of 4. In addition, the reaction was re-balanced by removing one additional proton from the products:
Original: ADP[m] + Pi[m] + 4 H+[i] => ATP[m] + 4 H+[m] + H2O[m]
Revised: ADP[m] + Pi[m] + 3 H+[i] => ATP[m] + 2 H+[m] + H2O[m]

In addition, a permeability transition pore (PTP) reaction was added to move H+[c] -> H+[m] to account for the proton that is lost through the adenine nucleotide transporter (ATP [m] -> ATP[c]).

Prevent free transport of Pi into the mitochondria
Related to Issue #99. Phosphate (Pi) should not be freely transported into the mitochondria ([c] -> [m]), but should instead require expenditure of proton motive force via co-transport of a proton (H+[i] -> H+[m]). Several reactions enabling free Pi transport were made irreversible (only allowing [m] -> [c] direction) to prevent such activity:

Reaction Equation
HMR_3971 fumarate[m] + Pi[c] <=> fumarate[c] + Pi[m]
HMR_4862 Pi[c] + succinate[m] <=> Pi[m] + succinate[c]
HMR_4865 malate[m] + Pi[c] <=> malate[c] + Pi[m]
HMR_4870 malonate[m] + Pi[c] <=> malonate[c] + Pi[m]
HMR_4940 GSH[c] + Pi[m] <=> GSH[m] + Pi[c]
HMR_6330 AKG[c] + Pi[m] <=> AKG[m] + Pi[c]
HMR_6331 oxalate[m] + Pi[c] <=> oxalate[c] + Pi[m]

ATP synthesis from propanoate fermentation
Related to Issue #100. In the presence of glucose and absence of oxygen the model synthesized propanoate instead of lactate with an ATP yield of ~5 ATP/glucose instead of 2. This was caused by the reversibility of the following reactions:
HMR_0153: AMP[c] + PPi[c] + propanoyl-CoA[c] <=> ATP[c] + CoA[c] + propanoate[c]
HMR_4459: ATP[c] + H+[c] + propanoate[c] <=> PPi[c] + propinol adenylate[c]

Both reactions were made irreversible, where HMR_0153 was turned around to proceed in the backward direction (consuming propanoate).

Flux through complex I under anaerobic conditions
Related to Issue #101. In the absence of oxygen and presence of glucose the model was able to carry flux through complex I and synthesizes 3-Methyl-Glutaconate and 2-Methyl-3-Hydroxy-Valerate. This resulted in ATP yield > 4 per glucose instead of 2. This was resolved by making RE1519X and HMR_3212 irreversible:
RE1519X: 4-cis-decenoyl-CoA[p] + FAD[p] <=> 2-trans-4-cis-decadienoyl-CoA[p] + FADH2[p]
HMR_3212: FAD[m] + propanoyl-CoA[m] <=> acrylyl-CoA[m] + FADH2[m]

ATP and carbon from Pi and O2
Related to Issue #102. The model was able to produce infinite ATP and CO2 from Pi and O2. This was resolved by inactivating the pool reaction HMR_0686.

Metabolic task list for model verification

The above fixes were verified with four new metabolic tasks. These metabolic tasks were added to the existing set of "leak check" tasks introduced with PR #69, initiating a combined document metabolicTasks_VerifyModel.xls that can be used to accumulate additional checks that should be performed on the model.

Updates to reaction change documentation functions

The functions docRxnChanges and writeRxnChanges that are used to document model changes were updated and now document changes to the grRules field.

Removal of the rxnRecon3DID model field

PR #107 updated the way in which external identifiers (for reactions and metabolites) are stored. Therefore, the rxnRecon3DID model field is outdated and no longer necessary to keep in the HumanGEM model structure, and is removed here.

I hereby confirm that I have:

  • Tested my code on my own computer for running the model
  • Selected devel as a target branch

The docRxnChanges function can also now handle newly added reactions.
Various updates to model reaction reversibility and stoichiometry to more accurately represent the electron transport chain.
This is a collection of metabolic tasks that can be used to verify proper model structure and function.
@haowang-bioinfo

Copy link
Copy Markdown
Contributor

@JonathanRob this PR involves additional rxn association between HMR2 and Recon3D, and probably should be implemented after #107?

@JonathanRob

Copy link
Copy Markdown
Collaborator Author

@Hao-Chalmers Do you mean this PR should be implemented after PR #120? If so, then I agree, and will update this PR to be consistent with the changes made in #120.

@haowang-bioinfo

haowang-bioinfo commented Jun 3, 2019

Copy link
Copy Markdown
Contributor

@JonathanRob yes, I mean after #120.

JonathanRob and others added 4 commits June 4, 2019 14:34
@haowang-bioinfo

haowang-bioinfo commented Jun 10, 2019

Copy link
Copy Markdown
Contributor

The modifications are fine, here are some minor comments:

  1. It was confirmed that model's rxnRecon3DID field has identical information to that in humanGEMRxnAssoc.JSON file. Would be good to explicitely note this in the comments (i.e. line 33 of curateATPmetabolism.m)
  2. In curateATPmetabolism.m, Htmi is intended to be removed and HMR_10025 added. How about only renaming the former rxn id to the latter and replacing H+[I] with H+[c]? That could save the code in lines 59-60 and 85-102.
  3. This curation script aims to fix a bunch of issues that had been formatted into the metabolicTasks_VerifyModel.xls as metabolic tasks. It might be good to append a verification section to the script for showing the successful achieving of those tasks.

@JonathanRob

JonathanRob commented Jun 10, 2019

Copy link
Copy Markdown
Collaborator Author

@Hao-Chalmers Thanks for the suggestions. I have implemented some changes based on your ideas, which I liked.

  1. It was confirmed that model's rxnRecon3DID field has identical information to that in humanGEMRxnAssoc.JSON file. Would be good to explicitely note this in the comments (i.e. line 33 of curateATPmetabolism.m)

This is now stated in the comment of the script.

  1. In curateATPmetabolism.m, Htmi is intended to be removed and HMR_10025 added. How about only renaming the former rxn id to the latter and replacing H+[I] with H+[c]? That could save the code in line 59-60 and 85-102.

Good point. I realized that the original form of HMR_7638, which is currently identical to Htmi, actually involved proton transport from [c] to [m]. Therefore, instead of removing Htmi and creating a the new HMR_10025 reaction, I have now simplified the process to just revert the equation of HMR_7638 back to it's original form: H+[c] => H+[m]. Now, the script does not require the deletion or addition of any reactions.

  1. This curation script aims to fix a bunch of issues that had been formatted into the metabolicTasks_VerifyModel.xls as metabolic tasks. It might be good to append a verification section to the script for showing the successful achieving of those tasks.

An optional section of code has been added to load and run the model verification tasks, to demonstrate improved model performance after the changes have been implemented.

@haowang-bioinfo
haowang-bioinfo merged commit 1d9c420 into devel Jun 11, 2019
@haowang-bioinfo haowang-bioinfo mentioned this pull request Jun 12, 2019
@haowang-bioinfo
haowang-bioinfo deleted the updateATPmetab branch June 13, 2019 13:27
haowang-bioinfo added a commit that referenced this pull request Nov 22, 2019
This update is implemented by running script `rebalanceHumanGEM.m`:
- 11 rxns are fixed for incorrect reversibility info (#113)
- 4 met names are changed by replacing space with hyphen
- 6 new mets are added
- 21 new transport/exchange rxns are added through expanding existing mets to 20 new comps
- 465 unique mets are updated with new formula/charge
- 729 rxn equations are updated (not sure the reason)
- 203 duplicated rxns are removed
- 196 rxns are blocked due to misuse of R group or pool mets
- 10 previously inactivated reactions are reopened
- 34 duplicated mets are merged
- 27 unique mets are modified with updated external identifiers
- 16 rxns are modified with updated external identifiers
- 38 grRules are retrieved from their duplicated and removed counterparts
- modified annotation information is also updated to the `humanGEMRxn/MetAssoc.JSON` files
- All modifications are saved to `rebalance_modelChanges_mets/rxns.tsv` for tracking the changes
@haowang-bioinfo haowang-bioinfo mentioned this pull request Nov 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants