Variable Stoichiometric Coefficients in SimBiology?
이전 댓글 표시
Hello,
I am trying to write down the following equation.
glucose -> a pyruvate
where a is some number between 0 and 2. Usually this is done for the conversion of sugar into some other chemical compound as e.g. pyruvate. The stoichiometrical relation however is usually not known because part of the glucose is converted into biomass. So for me "a" is a parameter and not a fixed number. I don't see a possibility to implement this in the reaction equations so far but I definitly need to estimate it later on.
Is there a solution to parametrize the stoichimetric coefficients of a reaction?
Thank you, Sebastian
채택된 답변
추가 답변 (4개)
Pramod Kumar
2011년 12월 1일
Hi Sebastian,
You cannot directly set the stoichiometry of a reaction using a model parameter, but you can programatically alter the stoichiometry after you have created the reaction in the following way:
m1 = sbmlimport('lotka')
m1.Reactions(1).Stoichiometry
a = 1.5; % New stoichiometric coefficient
m1.Reactions(1).Stoichiometry(3) = a
m1.Reactions
When you estimate the stoichiometry, your objective function could take the "a", the stoichiometric coefficient of pyruvate as one of estimable parameters.
- Pramod
Arthur Goldsipe
2011년 12월 6일
Hi Sebastian,
Pramod's suggestion to modify the reaction via the Stoichiometry property is only helpful if you are willing to write your own objective function to use with an optimization routine.
If you are only willing to use sbioparamestim, then you must use another approach. Perhaps you can use a rate rule. For example, if you have a model stored in variable m, one way to implement the reaction 'glucose -> a pyruvate' is as follows:
m.addreaction('glucose -> null', 'ReactionRate', 'k*glucose');
m.addrule('pyruvate = a*k*glucose', 'rate');
You could then use sbioparamestim to estimate the parameter a. Note that if pyruvate participates in other reactions in your model, you will have to add the appropriate terms to the reaction rate.
I hope that helps.
-Arthur
Jim Bosley
2018년 4월 28일
0 개 추천
This is an old thread, but I wanted to bounce this off the community. It seems that you can fool the model. If the stoichiometry is A -> n B (One units of A goes to n units of B), and n is a function of time and other variables, that is n = n(t,x) you can split the reaction in two: A->null, and null->B Then, if the reaction rate of A to null is ka * [A], the reaction rate into B is simply ka * n(t,x) * [A].
Comments, anyone?
댓글 수: 1
Arthur Goldsipe
2018년 5월 7일
I just saw your suggestion. I hadn't thought of that, but I think it's a great idea. And I would probably pick it over using a rate rule, now that I know about it. It's not a huge difference, but one minor benefit is that you would still have full support for dose objects. (Right now, there's a limitation that the target of a dose cannot be controlled by a rate rule, although that's a restriction I would eventually like to remove.)
커뮤니티
더 많은 답변 보기: SimBiology Community
카테고리
도움말 센터 및 File Exchange에서 Perform Sensitivity Analysis에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!