MATLAB Answers

stoichiometry of cell proliferation

6 views (last 30 days)
emjey
emjey on 2 Jan 2018
Commented: emjey on 8 Jan 2018
While encoding a simple model of cell proliferation/death with rates r*X and d*X, which should result in an ODE such as dX/dt = r*X – d*X, I realised that it very much depends how the related 'Reaction' is formulated.
With the correct stoichiometry 'B -> 2 B' all is fine but with 'B -> B' the growth flux is omitted entirely from the ODE. This is of course correct but it should come with a warning. I can imagin for complex model one is unable to verify whether the model is correctly interpreted and encoded. In this case the according reaction is visible in the diagram but the flux is not part of the relevant ODE.
The question is: what are the other, if any, checks SimBiology performs behind the scenes which might result in differences between the model network and the model formulation?

  2 Comments

Arthur Goldsipe
Arthur Goldsipe on 2 Jan 2018
I'm afraid I find this question so general that I don't know how to answer it. I mostly understand your topic when you were talking about an example of a reaction 'B -> B'. Another problem is I'm not sure what SimBiology functionality you're referring to with some of your terms (specifically, the ODE, the model network, and the model formulation).
Can you restate your question in terms of using the software? What exactly are you doing with SimBiology? What output or functionality are you trying to understand or wish to change?
emjey
emjey on 4 Jan 2018
Apologies for the delayed answer. As explained in the initial post, I have realised that SimBiology performs certain checks without notifying the user about it and the resulting model changes. As in my example, once you define a reaction in an incorrrect way, SimBiology omits related reaction fluxes.
Finding out such changes is simply impossible for complex models and leads to incorrect models.
To ask my question in a different way: is there documentation available explaining what kind of analysis SimBiology performs when validating a model?

Sign in to comment.

Accepted Answer

Arthur Goldsipe
Arthur Goldsipe on 5 Jan 2018
I'm not aware of a centralized list of the validation that is performed before simulating a model. However, the requirements for a valid model should be described in relevant portions of the SimBiology documentation. For example, this documentation describes how to create valid rules.
If the model is invalid, then you should receive an appropriate error when trying to simulate the model. SimBiology sometimes issues warnings before simulating if the model is valid but the behavior may not match the user's intent. If you feel you are not receiving an error or warning when you should, please let us know. Likewise, if you encounter a situation where SimBiology incorrectly interprets your model, then let us know.
In the specific case you describe of "B -> B", SimBiology simulates the model correctly. Although this is not a particularly useful reaction, it is still a valid reaction. Therefore, I personally would prefer not to receive an error if it occurs in a model. I could see how a warning might be useful though. Or perhaps you're seeing some other symptom that indicates a bug for this situation. If so, I again encourage you to provide more details so we can fix it.

  3 Comments

emjey
emjey on 6 Jan 2018
Hi Arthur, thanks for clarifying.
The case I was describing is indeed something I think SimBiology should warn the user about. To reiterate, the project file contains a reaction which is visible in the diagram but ignored when compiling the equations.
1) if the reproduction reaction is defined as 'B -> B' the flux is ignored without any warning:
The model code reads (using getequations function):
ODEs:
d(B)/dt = 1/cell*(-ReactionFlux1 + ReactionFlux2)
Fluxes:
ReactionFlux1 = (d_B*B)*cell
ReactionFlux2 = (b_B)*cell
Parameter Values:
d_B = 0.0076 1/day
r = 0.0176 1/day
b_B = 2370 molecule/microliter/day
cell = 1 microliter
Initial Conditions:
B = 61.7 molecule/microliter
2) if the reproduction reaction is defined as 'B -> 2 B' the model is fine:
The model code reads:
ODEs:
d(B)/dt = 1/cell*(ReactionFlux1 - ReactionFlux2 + ReactionFlux3)
Fluxes:
ReactionFlux1 = (r*B)*cell
ReactionFlux2 = (d_B*B)*cell
ReactionFlux3 = (b_B)*cell
Parameter Values:
d_B = 0.0076 1/day
r = 0.0176 1/day
b_B = 2370 molecule/microliter/day
cell = 1 microliter
Initial Conditions:
B = 61.7 molecule/microliter
This is a part from a published model I was interested in (Nanda et al. 2013, 'B cell chronic lymphocytic leukemia...', http://aimsciences.org/article/doi/10.3934/dcdsb.2013.18.1053).
Appologies if this is all trivial but I thought it's worth mentioning. If I haven't looked at the getequations-output I wouldn't have spotted the error in model encoding.
Best, Maciej
Arthur Goldsipe
Arthur Goldsipe on 7 Jan 2018
Thanks, Maciej. This definitely helps me better understand your question and frustration. Just to be sure, let me confirm:
  1. You want each reaction in the model to appear in the equations, even if its contribution is 0. That seems reasonable.
  2. I'm less sure of this, but I think you'd also like to receive a warning when you verify or simulate a model containing such a reaction.
emjey
emjey on 8 Jan 2018
I am not sure (1) is the desired option. If you leave the reaction in the diagram, even though SimBio knows it has 0 contribution, than there is no benefit for the modeller - unless a warning is issued.
From my perspective it would be both sufficient and neccessary to inform the user that
  • There is an reaction in the diagram which has been ignored when compiling the model because it has 0 contribution (+ perhaps more information why this reaction has no contribution, e.g. 'incompatible reaction and flyx rate' in above example).

Sign in to comment.

More Answers (0)


Translated by