Using exchange reactions to debug a network

122 views
Skip to first unread message

K.Spear

unread,
May 14, 2013, 3:22:49 AM5/14/13
to cobra-...@googlegroups.com
Hi COBRA users,

1) 
To debug my networks, I usually add temporarily exchange reactions to allow the consumption/production of certain metabolites.
These reactions are described with one reactant only (no product), for example with the equation:
SpeciesA <=>

And here is an example of how they are described in a SBML file:

      <reaction metaid="metaId_R_EXC_SpeciesA" id="R_EXC_SpeciesA" reversible="true">
        <listOfReactants>
          <speciesReference species="M_SpeciesA" stoichiometry="1"/>
        </listOfReactants>
        <kineticLaw>
          <math xmlns="http://www.w3.org/1998/Math/MathML">
            <ci> FLUX_VALUE </ci>
          </math>
          <listOfParameters>
            <parameter id="FLUX_VALUE" name="mmol_per_gDW_per_hr" value="0"/>
            <parameter id="LOWER_BOUND" name="mmol_per_gDW_per_hr" value="-1000"/>
            <parameter id="OBJECTIVE_COEFFICIENT" value="0"/>
            <parameter id="UPPER_BOUND" name="mmol_per_gDW_per_hr" value="1000"/>
          </listOfParameters>
        </kineticLaw>
      </reaction>

These drain reactions work as expected but I can't find a way to enable/disable them directly in COBRA.

- Changing the reaction bounds with :
model = changeRxnBounds(model,'R_EXC_SpeciesA',0,'u');
model = changeRxnBounds(model,'R_EXC_SpeciesA',0,'l');
doesn't work.
This will constraint the flux value of the drain reaction to 0, however the reaction can still be used as a drain.

a) Is this the proper way to describe drain reactions ? 
b) If so, how is it possible to enable/disable these reactions in COBRA ?


2)
I have noticed the COBRA sbmlreader function changes the id of the reactions and metabolites in some cases (mainly reactions starting by R_ and metabolites starting by M_)
For example, a reaction with a SBML id: 'R_REACTION1' will be loaded identified in COBRA as 'REACTION1', a metabolite with the SBML id 'M_SPECIESA_c' will become 'SPECIESA[c]' in COBRA,etc...
This is done on purpose by the sbmlreader function, but I can't any reason why. It would make sense to keep the id attribute of SBML components (to facilitate the mapping of COBRA results and the SBML document, etc...).
Could you please tell me why it has been implemented this way ?


3)
Just in case somebody has an explanation.


Thank you very much,
Have a great day,



Brandon Barker

unread,
May 23, 2013, 5:07:52 PM5/23/13
to cobra-...@googlegroups.com
For #1, I usually don't use changeRxnBounds, but directly set the lb, ub, or both to what I want (just a habit). Still, it may be worth checking that these are indeed both zero in your model after you call it. Otherwise, I'm a bit confused as well.

Ines Thiele

unread,
May 23, 2013, 5:19:31 PM5/23/13
to cobra-...@googlegroups.com
Hi 

did you check that the spelling of your reaction abbr is correct? I assume that l is l as in lower.

the advantage of using changeRxnBounds is that it makes modification to the model tractable e.g. in an m file.

Ines


--
 
---
You received this message because you are subscribed to the Google Groups "COBRA Toolbox" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cobra-toolbo...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--

Ines Thiele, Ph.D.

Associate Professor in Systems Biomedicine

Head of the Molecular Systems Physiology Group

Luxembourg Centre for Systems Biomedicine 


UNIVERSITY OF LUXEMBOURG

CAMPUS BELVAL

7, avenue des Hauts-Fourneaux

L-4362 Esch-sur-Alzette

Luxembourg

www.lcsb.lu 

thielelab.eu 

GoogleScholarProfile


--

This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.

Reply all
Reply to author
Forward
0 new messages