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

Strange differences between text files in bin and XML file #3

Open
akaviaLab opened this issue Mar 6, 2017 · 2 comments
Open

Strange differences between text files in bin and XML file #3

akaviaLab opened this issue Mar 6, 2017 · 2 comments

Comments

@akaviaLab
Copy link

There is at least one reaction that has strange differences between the text files in bin and the XML file MODEL1603150001.xml. Specifically, the reaction R_FAOXC220200x (there might be others, I'm searching for them).

If we look at this reaction in the TXT files, it appears three times (once for genes, irrelevant for now, twice with different formulas)
mcisb-recon-master/bin/reactionsToAdd.txt:R_FAOXC220200x R_FAOXC220200x M_h2o_x + M_coa_x + M_o2_x + M_nad_x + M_c220coa_x --> M_h_x + M_h2o2_x + M_nadh_x + M_accoa_x + M_arachcoa_x
mcisb-recon-master/bin/reactionsToUpdate.txt:R_FAOXC220200x M_h2o_x + M_coa_x + M_o2_x + M_nad_x + M_c220coa_x + 3.0 M_h_x --> M_h2o2_x + M_nadh_x + M_accoa_x + M_arachcoa_x

However, in the XML file, it has a different formula, where it has 3 H+ as reactants and 4 H+ as products (relevant XML pasted below).
M_coa_x + M_o2_x + M_nad_x + M_docoscoa_x + 3* M_h_x --> 4*M_h_x + M_h2o2_x + M_nadh_x + M_accoa_x + M_arachcoa_x.

What is going on here?


  <reaction id="R_FAOXC220200x" name="R_FAOXC220200x" metaid="_4a255025-baf1-4c0f-ade9-b1fe265564f7" reversible="false" sboTerm="SBO:0000176">
    <notes>
           <html:body xmlns:html="http://www.w3.org/1999/xhtml">
              <html:p>GENE_ASSOCIATION: (HGNC:10606 and HGNC:119 and (HGNC:3247 or HGNC:5213)) or (HGNC:119 and (HGNC:3247 or HGNC:5213) and HGNC:82)</html:p>
           </html:body>
        </notes>
    <listOfReactants>
      <speciesReference species="M_h2o_x" metaid="eb81c5a4-33eb-4f5e-ab96-f7ca0ac570db" stoichiometry="1"/>
      <speciesReference species="M_coa_x" metaid="ae245fe7-e7c4-4602-a15b-e6d47b1c31f6" stoichiometry="1"/>
      <speciesReference species="M_o2_x" metaid="e0525429-aea2-4996-8f6d-87dd6ad2e6fc" stoichiometry="1"/>
      <speciesReference species="M_nad_x" metaid="_080440c6-16f0-4259-bae6-f59bbacef0e0" stoichiometry="1"/>
      <speciesReference species="M_docoscoa_x" metaid="_77e8ff2b-88e5-476f-baa1-017c364018a8" stoichiometry="1"/>
      <speciesReference species="M_h_x" metaid="ccc7525b-455c-41e8-821c-42854e04752b" stoichiometry="3"/>
    </listOfReactants>
    <listOfProducts>
      <speciesReference species="M_h2o2_x" metaid="c84fedc4-c3d9-41fe-a083-519ed7b85303" stoichiometry="1"/>
      <speciesReference species="M_nadh_x" metaid="b847cee7-a762-4b5d-9c04-1d40f3bc9b24" stoichiometry="1"/>
      <speciesReference species="M_accoa_x" metaid="cde1c5f7-799c-49e0-b0b4-5755d0d06cf0" stoichiometry="1"/>
      <speciesReference species="M_arachcoa_x" metaid="_5398518d-ffa0-42c6-8224-495d1e2db68f" stoichiometry="1"/>
      <speciesReference species="M_h_x" metaid="_34be2c1e-3d4d-4e7a-bffd-464a29176668" stoichiometry="4"/>
    </listOfProducts>
@neilswainston
Copy link
Member

Good spot! There is indeed some redundancy here.

The reactionsToAdd file is read first, and the reaction (obviously) added to the model. Later, reactionsToUpdate is read, and the reactions updated. In an ideal world, the reactionsToAdd would have specified this reaction correctly, meaning that the update is not necessary. This is (probably) an oversight based on the confusion of curating a model with thousands of reactions.

The final model contains 3 h_x reactants and 4 h_x products due to the auto-balancing method, which attempts to correct for missing water, protons and incorrect stoichiometry by applying linear programming to the task of balancing (see http://biecoll.ub.uni-bielefeld.de/volltexte/2011/5202/pdf/jib_186.pdf). The final reaction is therefore correctly mass / charge balanced.

However, I appreciate the confusion here, as the initial reaction is (as far as I can see) mass and charge balanced:

R_FAOXC220200x R_FAOXC220200x M_h2o_x + M_coa_x + M_o2_x + M_nad_x + M_c220coa_x --> M_h_x + M_h2o2_x + M_nadh_x + M_accoa_x + M_arachcoa_x

Essentially, the reactionsToUpdate update (and subsequent auto-balancing) is probably superfluous.

I'm sure that there will be other anomalies like this. However, the key take-home is that all reactions (except biomass production) are mass and charge balanced - hence the sensible ATP flux predictions.

@akaviaLab
Copy link
Author

akaviaLab commented Mar 12, 2017 via email

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

No branches or pull requests

2 participants