How can I select all the reactions producing a given metabolite in my Cobra model?

55 views
Skip to first unread message

Michel_Lavoie

unread,
Nov 21, 2018, 1:46:53 PM11/21/18
to COBRA Toolbox
Hi all, 
       I would like to select all the reactions leading to production of ATP in my cobra model, but I do not know how to do that. I know the function (findRxnsFromMets(model,...), but I was only able to 
extract from the network a list of reactions involving ATP production and ATP consumption. What commands should I use to select only the reactions leading to ATP production (and not consumption) in my Cobra Model? 
Thank you again for your help,
Michel

Thomas Pfau

unread,
Nov 26, 2018, 1:07:34 AM11/26/18
to cobra-...@googlegroups.com

Hi Michel

I don't think that there currently is a utility function that does what you are looking for. One reason for this is, that it is not totally straight forward.
How do you define "produce"?
Are you only looking for reactions, which have the compound on the right hand side of the equation (i.e. a positive stoichiometric coefficient?), if so, what about a strictly reverse reaction, which has a ub of 0, and a lower bound < 0 and the compound with a coefficient of 1. That reaction would never be able to produce the compound.
You would also have to take into account all reversible reactions consuming the compound, as they can in fact also produce the compound.

I will add some parameters to findRxnsFromMets to allow  searching for consuming/producing reactions respecting the above explanations, and hopefully this will be in soon.

Best

Thomas

On 21.11.18 19:46, 'Michel_Lavoie' via COBRA Toolbox wrote:

Unsubscribe

It appears that you have subscribed to commercial messages from this sender. To stop receiving such messages from this sender, please unsubscribe

--

---
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 http://secure-web.cisco.com/1ATUO0l908LA_RPOC3D2zS_QqrgLksL92EyqqOdXjR5da8p05zuqHPjGIwGljkWZavZx6O9Qe3ZTYfhmQ5G8wyJtYB2gOwDz8DoY-2ibGYfSjuxd4WMrIT4rdLN0EXqI3Xq8dOvoTAshlxuYz8-AKaQzejAf7biCuedR6hLcdJDTI9tGBlynY9UhWyczs3GTJSZ_C_Nu0xKwtt3sSB-1dFIyFJOKSi2DfwTEGf5D7U8A8qZBus4R0LuvJLWwshCziuLru2J0wk-6yfiUZfiXug5qhb2RwMjlKaLbF9UbvLKg_EO04CBjM44gQiJDXDDrLn92zbwfwjdEgURQgPNH1wT3c68qg4y1kXYp6JfYvMC8tAjN785M3Q_iK1LKxTgCIeduteSANMdAhG_E6roOJ-cS2hogz_nXaD9ML2GmZXdbkWSsYzuLmAhwcGJKOzriC/l34%3Ahttps%3A%2F%2Fgroups.google.com%2Fd%2Foptoute.
-- 
Université du Luxembourg
Faculté des Sciences, de la Technologie et de la Communication
Campus Belval, Biotech II 115
6 avenue du Swing
L-4367 Belvaux
Tel: (+352) 46 66 44 5309
Email: thoma...@uni.lu

Michel_Lavoie

unread,
Nov 26, 2018, 5:59:59 PM11/26/18
to COBRA Toolbox
Thank you Thomas for your help. I now realize that I could have looked for positive stoichiometric coefficients in the .S field of the cobra model and extract the reaction number of all reactions producing ATP. Then, one can calculate the gross ATP production rate of all ATP producing reaction in a given cell compartment using the results of a FBA, the stoichiometric coefficients and the index of all ATP producing reactions. This can be approximated with the following simple code, but I am sure there must be much more clever ways to do that taking into account that some reactions are reversible and hence a positive stoichiometric coefficient does not necessarily mean that ATP is produced.  A function in the cobra toolbox that helps manipulate the producing and consuming reactions for a given metabolite and their steady-state fluxes would be of course useful. 


ATPID = findMetIDs(model, 'atp_c') % find the MetID of atp_c

Sfull = full(model.S); % convert the spare double to a matrix

ATP_Coeff = Sfull(ATPID,:)  % Find all coefficients involving 'atp_c'

IndATP_Prod = find(ATP_Coeff > 0)  % Find Rxn ID for ATP producing Rxn


i = 0

Prod_FBA = 0

Coeff = 0

Gross_ATP_Prod = 0

for i = 1:length(IndATP_Prod)

    Prod_FBA(i) = FBAsolution.x(IndATP_Prod(i)) % A Flux balance analysis must be run before this code and the results are stored in 'FBAsolution'

    Coeff(i) = Sfull(ATPID, IndATP_Prod(i)) % Find coefficients

    Gross_ATP_Prod(i) = Prod_FBA(i) * abs(Coeff(i))

end

Gross_ATP_Prod_cytosol = sum(Gross_ATP_Prod) % This is the gross ATP production flux in the cytosol



Le lundi 26 novembre 2018 01:07:34 UTC-5, Thomas Pfau a écrit :

Hi Michel

I don't think that there currently is a utility function that does what you are looking for. One reason for this is, that it is not totally straight forward.
How do you define "produce"?
Are you only looking for reactions, which have the compound on the right hand side of the equation (i.e. a positive stoichiometric coefficient?), if so, what about a strictly reverse reaction, which has a ub of 0, and a lower bound < 0 and the compound with a coefficient of 1. That reaction would never be able to produce the compound.
You would also have to take into account all reversible reactions consuming the compound, as they can in fact also produce the compound.

I will add some parameters to findRxnsFromMets to allow  searching for consuming/producing reactions respecting the above explanations, and hopefully this will be in soon.

Best

Thomas

On 21.11.18 19:46, 'Michel_Lavoie' via COBRA Toolbox wrote:

Unsubscribe

It appears that you have subscribed to commercial messages from this sender. To stop receiving such messages from this sender, please unsubscribe

Hi all, 
       I would like to select all the reactions leading to production of ATP in my cobra model, but I do not know how to do that. I know the function (findRxnsFromMets(model,...), but I was only able to 
extract from the network a list of reactions involving ATP production and ATP consumption. What commands should I use to select only the reactions leading to ATP production (and not consumption) in my Cobra Model? 
Thank you again for your help,
Michel
--

---
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-toolbox+unsubscribe@googlegroups.com.

Ronan M.T. Fleming

unread,
Nov 26, 2018, 6:20:31 PM11/26/18
to cobra-...@googlegroups.com
I think...

F = -min(S,0);
R = max(S,0);
vf = max(v,0);
vr = -min(v,0);
production rate = [R, F]*[vf;vr];
comsumption rate = [F, R]*[vf;vr];

To unsubscribe from this group and stop receiving emails from it, send an email to cobra-toolbo...@googlegroups.com.
-- 
Université du Luxembourg
Faculté des Sciences, de la Technologie et de la Communication
Campus Belval, Biotech II 115
6 avenue du Swing
L-4367 Belvaux
Tel: (+352) 46 66 44 5309
Email: thoma...@uni.lu

--

---
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/d/optout.


--
--
Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.
----------------------------------------------------------------------------
Assistant Professor,
Division of Systems Biomedicine and Pharmacology,
Leiden Academic Centre for Drug Research,
Faculty of Science,
Leiden University.
&
H2020 Project Coordinator
Systems Medicine of Mitochondrial Parkinson’s Disease
----------------------------------------------------------------------------
Mobile:  +353 873 413 072
Skype: ronan.fleming
----------------------------------------------------------------------------
(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