biosustain / p-thermo

Genome-scale metabolic model of P. thermoglucosidasius NCIMB 11955
Apache License 2.0
5 stars 0 forks source link

Glutathione requirement in Biomass #64

Closed vh-mol closed 4 years ago

vh-mol commented 4 years ago

Currently, glutathione is present as a metabolite needed in the biomass reaction. I cannot find any experimental indication as to why this was initially added. A problem we currently have is that we cannot remove glutathione from the medium as it kills the model. So i looked into glutathione biosynthesis and these reactions are not present in the model. But when I look into literature, the genome or try to blast orthologs I cannot find any indication that these bioynthesis enzymes are actually present in our strain (or similar strains).

Also, a look into glutathione in general reveals that it is only really synthesized in selected bacteria, most of which are gram negative (proteobacteria and cyanobacteria). See Fahey et al. 1977 and Masip et al. 2006 and Copley and Dhillon, 2002 for some literature.

So therefore my question is if there is any evidence from experience why this is present? Was there a specific reason this metabolite was added to the model? Or is there experimental evidence for any glutathione metabolism? If not, then I would propose we remove it from the biomass equation, as I don't see any reason why it would be there.

@surtfire : have any thoughts?

surtfire commented 4 years ago

So today had a discussion with David about this and we've reached a conclusion that the reactions around glutathione metabolism have probably been introduced because it is often seen in E. coli models, which matches what you've found about gram-negatives in general, and may not be accurate.

So we figured it likely isn't gluathione BUT there must be an equivalent cysteine derivative or thiol group compound to maintain redox homeostasis, deal with ROS R00274 and to provide sulfur and regenerate cysteine R00494. The bacillus model seems to just rely on a 'protein dithiol' and 'protein disulfide' which may be an easy way out that allows us to remove gluathione from the biomass equation but maintain the reactions it is involved in. After a little reading though I suspected there might be the tellingly named bacillithiol instead ‘Bacillithiol (BSH) is a low-molecular-weight thiol, an analog of glutathione and mycothiol, that is found largely in the Firmicutes. BSH biosynthesis requires the presence of the deacetylases BshB1 or BshB2 (also termed YpjG and YojG, respectively). This entry represents BshB1, which catalyzes the second step of the pathway, the deacetylation of N-acetylglucosaminylmalate (GlcNAc-Mal) to glucosamine malate (GlcN-Mal).’ https://europepmc.org/article/MED/20308541

I found annotations for these biosynthesis genes in a different annotated P. thermoglucosidasius NCIMB 11955 chromosome I frequently use which might be of use in other issues https://www.ncbi.nlm.nih.gov/nucleotide/CP016622.1?report=genbank&log$=nuclalign&blast_rank=2&RID=A5TU659D014&from=3168739&to=3169449 .

If we want to be more accurate we could encode the bacillithiol pathway instead? The question remains of whether it should be in the biomass reaction and, if it is, how we can quantify how much should go in.

BCV53_15500 CDS (bacillithiol biosynthesis deacetylase BshB1)

tcacactcccagcaaatcgtggaaaattttgagcggttttttcacgaaaaacccttcggcaaacgtgacgccaacttcttttccgaaaagccgctcgcggctttccaccatgtcaatatagccgtctgtcagcggtgtgtcgacagatcctgccgtttttgtaaactggctttcataagcgcgcaaactagctatttttttgtccatcgtatcgctgatgtcaatgacaaaatgcggacgttcccacgcattaatcatgtaataataaacagatggaacgcgatgtgccggcaagtccggctcggttttgtagcggcggatgccggcagaaaacaccgcctcgtcaacaaggcgagcgcaatgtccatgatccggatgccggtccacccaataaggggcaaacaccacgcgagggcggtaccggcgaatgacagaagcgatgctttgaaccacttcctccgtcggatgcaaaccgcggtccggaagcccaaggtttattcttgtggcaactcctaatatattcgcggcctccgttgcttccttttgccgcaattccaccgtcccgttcgacgacagctcggccatcgttaaatcgcaaatgccgatgcgataccccttttccgcatatttcgcaatcgttccccccatcccgatctccacatcatccgggtgggcaccgaacgccagcatatgcagctgctcatattccat

BCV53_05555 CDS (bacillithiol biosynthesis deacetylase BshB2) ttaatcctcccattgatatgtccaaaactgctcgattttcagccattctagcgcatcgccgccccgcttggccgctgctttcatcaatccttccgtttgcgagcggtgcgcttggatagcggcaagttttttgtcgataactgcgctgacgtcgcggatgacatcgggttttcctaaatcttgttcgcagtttctggcaaacgcgacacagtgaacggtcgggcgcttgtcttttgggaggcgcttgagggcgcgaatcaccgcggcgccgcacgcgtcatgatccggatgaacgctgtaaccgggataaaacgtaatgacaagcgacggattcgtttccgcgacaatttccccgatccggtcggccagcaactcttcatcctcaaactctaccgttttatcgcgatagccgagcaagcgcaaatcactgatgccgattgctttacacgcttcttcaagctcttttttgcgaatatgaggaagcgtttcacggtttgcaaacggcggcactcccatattccgccccatttccccaagcgtcaaacaggcgtatgtgatcggtgtgccgttttcggcgtgctgtgccaatgtcccggacactccgaacgcttcatcatcaggatgggggaatacgactaatatatgcctttccat

BCV53_08570 CDS (bacillithiol biosynthesis cysteine-adding enzyme BshC) atggaagttcgggaaatttctttggctgctacaacaccgttagcaaccgattacataaatggcacttttccgcttgaaaaagggttttcttactcgtttcagaaggaagacgcgttttggaggcggcttggcgacatcaaagcaagaacgtatccgcgccgcgagattgttgaatgtttgcgttcgtaccatcagcggtttcatgcgggccctaaaacatttgccaatattgaaaaattgcttcgtcctgacagcgcagtggtcgtcggcgggcagcaagcggggttgttgaccgggccgctttacaccatttataaaatcatttccatcatcaagcttgccaaagaacaagaaagaaaattaggagtgccggtcgttccgcttttttggattgccggcgaagaccatgacattgccgaagtaaaccacatatacgttgcagagagcggaaaaataaaaaagcgtgtttatccggatgttcctaaagaaagacggatggtttcagatttgcctttagatggcgaagtttgttccaagtggatcgatgatatcgtaaaaacgtatggggaaacggatacgacaaataagttgctcgattttctgttccgatgtttagacgaatcggaaacgttcgttgacttttttgcctcgattgttttgcgtttatttgcttccgaaggattagttgtcctcaatgccgccgacgcttcactgcgcgcggtggaaagcagcttttttgtgtcattgattgagcgtcatcgcgaagtgacggatgctgtgttgcaaaaacagcatcagcttcggcagctcggatataaaaatgtgctggatgtgcagccgcattgcgccaatttattttactacgatggacgggaacgctggctgcttgaacatgatccacaaaaagagatgttttgtagcaaaaacggagaagtggttttctccaaagaggagctaatacagcttgcgaaagcaaacccgagcaatttaagcaataatgtcgtgacccgcccgcttatgcaggaatttttgctgccgacgttggcgtttgtcgccggtcccggagaaatcgcatattgggctgaattgaaagaggcgttttcgatatttgactttaaaatgccgccggttgttccgcgcgtgaatataacgatcgtagaacgttccattcaaaccgatttggacgatattggcgcggatgtgatggacgttttcacaggaaggatcgcagaagtgaagcaaaattggctggcacggcaaatccgttatccgcttgatgaaatattcgcgaaagcgaaagcggaaatcgaacaaatccatcgtcccctccgggaaatcggcatggaaattgaccgcggattggcgggcttgctgacgaaaaatgctaatctcctgcaagcgcaaatcgattttcttcagcaaacattgcaccagtcattaatgcggaaatatgaaacggaattgcggaagttttcccgcgtggaaatgtcattgatgccgaatcaatcgcctcaggagcggatttggaatattttttactacatcaataaatacggattcgattttttagagaagctgttacacctcgattacaaatggaacggcatgcataaaattgtatatatataa

vh-mol commented 4 years ago

Thanks for discussing this!

If we want to be more accurate we could encode the bacillithiol pathway instead? The question remains of whether it should be in the biomass reaction and, if it is, how we can quantify how much should go in.

I also ran into this bacillithiol when looking into it. My preference would go to include the bacillithiol biosynthesis and then adding this requirement in the biomass reaction, especially with the evidence you post here.

I previously spoke to Ben about some other metabolites that are not in our biomass reaction but possibly should be, as they are generally considered as critical for biomass (e.g. S-adenosylmethionine, and Flavin mononucleotide). Same goes for some vitamins, whose biosynthesis is encoded but currently are dead ends. (This is a more complex topic we should discuss later anyway). For now the relevant point is that I raised the same question: if we don't have the data, how to best estimate the stoichiometric contribution to biomass? And here he recommended looking at the same (or similar) metabolites in the E. coli and yeast model (to a lesser extent B. subtilis as the model is of worse quality). This can give an indication in what range the coefficient should fall. Even if the number will not be 100% accurate for our strain, the approximation should be fine, as the coefficients for these kind of metabolites are often very low, so will not influence model functioning too drastically if they are a little bit off.

What do you think? I can write a notebook that will encode the bacillithiol pathway and look into the coefficients of similar metabolites in various models on monday?

surtfire commented 4 years ago

'And here he recommended looking at the same (or similar) metabolites in the E. coli and yeast model (to a lesser extent B. subtilis as the model is of worse quality). This can give an indication in what range the coefficient should fall. Even if the number will not be 100% accurate for our strain, the approximation should be fine, as the coefficients for these kind of metabolites are often very low, so will not influence model functioning too drastically if they are a little bit off.' This sounds a good fix for the time being. If they don't form a large percentage of final biomass, a little inaccuracy hopefully won't hurt the model.

'What do you think? I can write a notebook that will encode the bacillithiol pathway and look into the coefficients of similar metabolites in various models on monday?'

While I recognize that my making changes is currently hindered, I would again like to work on encoding the bacillithiol path for my thesis. Could you instead work on the other similar metabolites i.e. the S-adenosylmethionine, Flavin mononucleotide and the vitamins?

vh-mol commented 4 years ago

Could you instead work on the other similar metabolites i.e. the S-adenosylmethionine, Flavin mononucleotide and the vitamins?

I think thats oke. I just have two other notebooks I would like to add/merge into the master with some other changes. But before I can do so we need to solve this glutathione dependency in the model. As now the model can take up a lot of carbon from this pathway, which is quite unrealistic. To allow you to work on the bacillithiol, and me to move forward with the other parts in the meantime, how about the following: For now, I remove the gthrd from the biomass reaction and from the medium in a commit & merge this to the master branch. Then I can incorporate other aspects that we need to work on, whilst you work on the bacillithiol biosynthesis. When these pathways are then properly incorporated, we add the bacillithiol metabolite 'back' into the biomass reaction.

Would this work for you @surtfire ?

surtfire commented 4 years ago

That sounds a great idea to me @vh-mol . That gives me a solid next focus model-wise too.

surtfire commented 4 years ago

Over the last few days I've have a deep dive into bacillithiol and glutathione in bacillus species alongside the 11955 reference genome. It seems this area is not fully understood and it leaves some gaps that are hard to justify fixing without more research. My current solution relies on some contentious assumptions I’d like to discuss, but if this all sounds OK, I will build in and merge the changes.

Firstly, I've only been able to find one paper that provides a measurement of thiol concentration in a geobacillus species ref). In Geobacillus stearothermophilus, Newton et al. 2009 measured a bacilithiol concentration of 0.07 um/g DCW and reported glutathione levels were <0.01 um/g DCW (i.e. lower than their limit of detection) https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3510479/ Supp. Table S2.

In addition to providing an experimental figure which could be used for the biomass reaction I make reference to the genome directly as implementing this pathway does require a challenge to the existing annotation, which largely labels genes as relating to glutathione. Indeed, it seems a few of the roles bacillithiol is said to play in reviews actually remain unknown assumptions, such as the major enzyme(s) for the reduction of oxidized bacillithiol (eg. a peroxidase). However, there do also seem to be 2 what are annotated as glutathione peroxidases in the chromosome (BCV53_12025 CDS and BCV53_12345 CDS).

In the P. thermo. NCIMB 11955 chromosome, there is definitely evidence for introducing a bacillithiol biosynthesis pathway with BshA (BCV53_15495 CDS), BshB1 (BCV53_15500 CDS), BshB2 (BCV53_05555 CDS) and BshC (BCV53_08570 CDS) all present:

image

https://biocyc.org/BSUB/NEW-IMAGE?type=PATHWAY&object=PWY8J2-1 Frustratingly, I can also find evidence for what is annotated as a glutathione synthetase (BCV53_06680 CDS) and a glutathione ABC transporter (BCV53_14395 CDS (glutathione ABC transporter permease GsiD)), but not the intermediate glutamylcysteine synthetase. This could explain why the model was dependent on glutathione import when glutathione was part of the biomass reaction, as it currently can't biosynthesize any. The key existing glutathione reactions in the model I want to discuss (other than biomass) are:

R00274: H2O2 + 2gthrd_c -> 2H2O + gthox_c There are two options here: 1) Assume one of the annotated glutathione peroxidases is actually one of the unconfirmed bacillithiol peroxidases and build BSH/BSSB in. 2) Remove the reaction as R0009 also exists in the model which carries out this redox reaction without a thiol compound (should it exist?).

R00494 & R0899: H2O + gthrd_c -> Glutamate (glu__L_c) + Cysteine-Glycine (cgly_c) H2O + Cysteine-Glycine (cgly_c) -> Cysteine (cys__L_c) + Glycine (cgly_c) This relates to degradation of glutathione and would be supported by the gene BCV53_03915 CDS (gamma-glutamyltransferase). While there seem to be strategies for donating the cysteine element for detoxification purposes (https://www.ncbi.nlm.nih.gov/pubmed/28301954 https://www.sciencedirect.com/science/article/pii/S2213231718305834?via%3Dihub ), there does not currently seem to be a known degradation pathway for the GlcNMal moiety of bacillithiol (and at very most BCV53_13715 CDS (gamma-glutamylcyclotransferase) which currently exists only as a putative homologous gene https://biocyc.org/gene?orgid=BSUB&id=BSU14500-MONOMER), for the purpose of the metabolic model I argue that the current evidence suggests no degradation of bacillithiol is needed and that R00494 and R00899 can be removed. Indeed, Cysteine-Glycine (cgly_c) only exists in the model in these two reactions.

R01917: ATP + spermidine (spmd_c) + gthrd_c -> ADP + H+ + glutathionyl spermidine (a dead-end metabolite used only in this irreversible reaction gtsspmd_c) As a reaction that currently has a dead-end metabolite, uses glutathione and has no gene ontology in the reaction linked to the original sequencing (i.e. no RTMO number), I believe I am safe to remove this.

R01736 & R02530: gthrd_c Combined R01736 and R02530 represent a glutathione mediated degradation of methylglyoxal

image

When using bacilithiol, this could be replaced by building in the similar bacilithiol methygloxal degradation pathway: image

https://biocyc.org/BSUB/NEW-IMAGE?type=PATHWAY&object=PWY8J2-23&detail-level=3

However, my evidence here is limited. BshB1 appears transcriptionally linked to a BCV53_15505 CDS (methylglyoxal synthase) suggesting co-expression, however I cannot find an annotated gene that could represent glxA/R02530. BLASTing the B. subtilis glxA against the Parageobacillus and Geobacillus genera also yields no hits.

For R01736 (glxB) there is a gene for what is annotated as a BCV53_13595 CDS (lactoylglutathione lyase). The issue again is, is it ok to assume the annotation actually refers to the similar lactobacillithiol lyase instead? And if so is this evidence enough to assume a former glxA somewhere?

Although I've committed to implementing this bacillithiol pathway now as I feel it is the most accurate representation, if this relies on too many uncertainties and/or fails to address the problem my alternative strategy is to enable reactions R00899 and R00494 to be reversible (something the bacillus model does) which should allow the synthesis of reduced glutathione M_gthrd_c and potentially build in a glutathione biosynthesis pathway.

My overall hypothesis for the situation is that the model had an issue with glutathione in the biomass reaction as it did not have reactions to synthesise or replenish reduced (glutathione gthrd_c). This was because no genes could have been annotated for glutathione biosynthesis (as suggested by the lack of glutathione in Newton et al. 2009). The reason the downstream glutathione reactions were included were because the auto-annotations of these genes annotated them as glutathione utilizing enzymes when they were potentially bacilithiol enzymes.

vh-mol commented 4 years ago

Nice search you've done! I'll just comment on each part separately to try to keep an overview.

Newton et al. 2009 measured a bacilithiol concentration of 0.07 um/g DCW and reported glutathione levels were <0.01 um/g DCW

Looking into the values used for E. coli for glutathionine this would be 0.22 umol/gCDW. So I would be inclined to believe the values you found would be a good indication to use! I think we should (as previously discussed) then remove the glutathione, and just include bacillithiol: the absence of biosynthetic pathways together with this data would strengthen that decision.

Frustratingly, I can also find evidence for what is annotated as a glutathione synthetase (BCV53_06680 CDS) and a glutathione ABC transporter (BCV53_14395 CDS (glutathione ABC transporter permease GsiD)), but not the intermediate glutamylcysteine synthetase.

I mean this can be possible also from a biological perspective: that specific enzymes from a pathway are lost preventing synthesis of specific compounds. Are the other genes you found all clustered in the same locus? If they are not, than it may add to this argument further that specific steps are lost in the pathway preventing glutathionine production.

R00274:

Here I would go for option 1. Looking into R00009, it seems this is a generally valid reaction and so can be possible even without the thiol compound. That being said, it could also be that the same peroxidase is aspecific. To prevent removing things that are annotated in the genome, we could also add a new reaction with bacillithiol instead of glutathione, that captures this promiscuity or uncertainty?

R00494 & R0899:

Here I would argue the same as for R00274. I agree with all of your reasoning, but as the genes do seem present it is best to leave them in. They will just be blocked reactions in the model, which in itself doesn't cause any harm to the model. Then if ever more information is found out about this, or one decides to supply glutathione in the medium this can be incorporated. Then we can just leave the bacillithiol, and as you say not include it's degradation but just its consumption into biomass when the pathway is complete.

R01917

Agreed!

BLASTing the B. subtilis glxA against the Parageobacillus and Geobacillus genera also yields no hits.

This is a very short protein I see, so it could be that you may also need to adjust the BLAST algorithm parameters to account for this, as otherwise it may loose significant hits.

For R01736 (glxB) there is a gene for what is annotated as a BCV53_13595 CDS (lactoylglutathione lyase). The issue again is, is it ok to assume the annotation actually refers to the similar lactobacillithiol lyase instead?

A quick search on BRENDA for the glxB (https://www.brenda-enzymes.org/enzyme.php?ecno=3.1.2.6) shows that in some organisms the enzyme can convert alternate thiol-compounds. Of course this isn't airtight, but I could imagine that there is then the possibility that the bacillithiol can also be used here.

Although I've committed to implementing this bacillithiol pathway now as I feel it is the most accurate representation, if this relies on too many uncertainties and/or fails to address the problem

Though we need to make assumptions to include the bacillithiol pathway in our model, I feel like there is significantly more reason (both experimentally and based on genome annotation) to believe this pathway is present than the glutathione pathway. Of course we would prefer to be sure, but we can only judge with the information we have. This is just a general issue that one runs into when looking into metabolism: there is still so much that is not well understood.

Overall: I think with all the data you present here it make most sense to include the bacillithiol pathway in our model and the bacillithiol metabolite in the biomass reaction. So I agree with the approach your propose. I just think we should leave the glutathione counterparts of the reactions that there is an annotation for in the model as possible reactions for whenever more knowledge is gained in this field. They won't do any harm in the model either. So then we cover the bases with what we know without cutting out too much for potential future use.

Does all of this make sense? Let me know if anything is unclear or needs further discussion :)

surtfire commented 4 years ago

You make a very valid point that solves it, if the glutathione pathway (hopefully) won't show flux through it as there is no generation capability, then there isn't any harm in leaving it in and building the bacillithiol stuff in too! I'll check the flux values as all the metabolites and reactions are implemented, and before and after adding bacillithiol to the biomass reaction, to see the impact on flux of the two systems.

surtfire commented 4 years ago

Not that many of the bacillithiol reactions actually have this sort of information, but what is the best way to put reaction annotations e.g.

    <annotation>
      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:vCard4="http://www.w3.org/2006/vcard/ns#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
        <rdf:Description rdf:about="#meta_R_GTHPi">
          <bqbiol:is>
            <rdf:Bag>
              <rdf:li rdf:resource="https://identifiers.org/ec-code/1.11.1.9"/>
              <rdf:li rdf:resource="https://identifiers.org/kegg.reaction/R00274"/>
              <rdf:li rdf:resource="https://identifiers.org/metanetx.reaction/MNXR100446"/>
              <rdf:li rdf:resource="https://identifiers.org/rhea/16833"/>
            </rdf:Bag>
          </bqbiol:is>
        </rdf:Description>
      </rdf:RDF>
    </annotation>

into the command line when I introduce a reaction?

model2 = addReaction(Model,'R_BTHPer','metaboliteList',{'h2o2[c]', 'bacthiolbsh[c]','h2o[c]','b13galacbio[c]'},'stoichCoeffList',[-1 -2 2 1],'reversible',false,'subSystem','{c}','lowerBound'0],'upperBound',[1000])

model2.rxnSBOTerms{9--} = 'SBO:0000176';

Would this work? model2.rxnECNumbers{9--} = '1.11.1.9'; model2.rxnKEGGID{9--} = 'R00274B'; model2.MetaNetXID{9--} = 'MNXR100446'; model2.rxnisrheaID{9--} = '16833';

Indeed, if there were any things you had to do to modify my additions last time, could you please tell me how I can add them instead?

vh-mol commented 4 years ago

Not that many of the bacillithiol reactions actually have this sort of information, but what is the best way to put reaction annotations e.g.

    <annotation>
      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2001/vcard-rdf/3.0#" xmlns:vCard4="http://www.w3.org/2006/vcard/ns#" xmlns:bqbiol="http://biomodels.net/biology-qualifiers/" xmlns:bqmodel="http://biomodels.net/model-qualifiers/">
        <rdf:Description rdf:about="#meta_R_GTHPi">
          <bqbiol:is>
            <rdf:Bag>
              <rdf:li rdf:resource="https://identifiers.org/ec-code/1.11.1.9"/>
              <rdf:li rdf:resource="https://identifiers.org/kegg.reaction/R00274"/>
              <rdf:li rdf:resource="https://identifiers.org/metanetx.reaction/MNXR100446"/>
              <rdf:li rdf:resource="https://identifiers.org/rhea/16833"/>
            </rdf:Bag>
          </bqbiol:is>
        </rdf:Description>
      </rdf:RDF>
    </annotation>

into the command line when I introduce a reaction?

model2 = addReaction(Model,'R_BTHPer','metaboliteList',{'h2o2[c]', 'bacthiolbsh[c]','h2o[c]','b13galacbio[c]'},'stoichCoeffList',[-1 -2 2 1],'reversible',false,'subSystem','{c}','lowerBound'0],'upperBound',[1000])

model2.rxnSBOTerms{9--} = 'SBO:0000176';

Would this work? model2.rxnECNumbers{9--} = '1.11.1.9'; model2.rxnKEGGID{9--} = 'R00274B'; model2.MetaNetXID{9--} = 'MNXR100446'; model2.rxnisrheaID{9--} = '16833';

Indeed, if there were any things you had to do to modify my additions last time, could you please tell me how I can add them instead?

I have no idea, I've not worked with Cobratoolbox. Maybe @BenjaSanchez has an idea.

I just found this doc: which has a lot of info, maybe you could get more info here?

BenjaSanchez commented 4 years ago

@surtfire as you outline, you need to find the position of the new rxn, and then define those elements in the corresponding fields. So it would be something like;

% Add the reaction:
model2 = addReaction(Model,'BTHPer','metaboliteList',{'h2o2[c]', 'bacthiolbsh[c]','h2o[c]','b13galacbio[c]'},'stoichCoeffList',[-1 -2 2 1],'reversible',false,'subSystem','c','lowerBound',0,'upperBound',1000);

% Find new added rxn position:
rxn_pos = strcmp(model2.rxn, 'BTHPer');

% Add annotation:
model2.rxnSBOTerms{rxn_pos} = 'SBO:0000176';
model2.rxnECNumbers{rxn_pos} = '1.11.1.9';
model2.rxnKEGGID{rxn_pos} = 'R00274B';
model2.rxnMetaNetXID{rxn_pos} = 'MNXR100446';
model2.rxnisrheaID{rxn_pos} = '16833';

A couple comments on your code:

BenjaSanchez commented 4 years ago

correction: I realized that you are trying to assign a compartment to this reaction, which is not done in constraint-based methods (as reactions are just a combination of metabolites). So skip that input all together:

model2 = addReaction(Model,'BTHPer','metaboliteList',{'h2o2[c]', 'bacthiolbsh[c]','h2o[c]','b13galacbio[c]'},'stoichCoeffList',[-1 -2 2 1],'reversible',false,'lowerBound',0,'upperBound',1000);
surtfire commented 4 years ago

"correction: I realized that you are trying to assign a compartment to this reaction, which is not done in constraint-based methods (as reactions are just a combination of metabolites). So skip that input all together:" Ah I see! It was in the COBRAToolbox user guide as something to specify, so I added it assuming reactions needed to be defined as intracellular or extracellular. Good to know it's not so in this case!