Creating a reaction that combines multiple individual species together in Simbiology

2 views (last 30 days)
I am trying to model a reaction as a part of my model in Simbiology that resembles multiple species components combining to create a new "assembled protein" complex. For example, 50 individual proteins (such as capsids) combining to create an assembled capsid/protein complex.
The reaction pathway looks somewhat like this: 50*[individual protein] --> [assembled protein complex]; with a rate constant k
I was wondering whether there is a way to model this equation in SimBiology. I tried modifying the rate constant to be 50*k, but this affects the kinetic equation of the reverse reaction (whereas I only want the 50 in the forward reaction).
The ODEs should look like this:
d[individual protein]/dt = -60*k*[individual protein]
d[assembled protein complex]/dt = k*[assembled protein complex]
Does anyone know how to replicate these dynamics in Simbiology? Or do I just need to manually create these dynamics by changing my species to be defined by repeated assignments?

Accepted Answer

Arthur Goldsipe
Arthur Goldsipe on 8 Nov 2022
Edited: Arthur Goldsipe on 10 Nov 2022
Hi,
Your question doesn't yet completely make sense to me, so I can't yet give a direct answer. But I'll try to provide an indirect answer to your question by describing how SimBIology determines the ODEs from reactions below.
Before I go into those details, let me ask a few questions about what confuses me. (For what it's worth, the fastest way to clear things up might be to share a model that illustrates the problem you're running into.) The first thing that confuses me is that you talk about a "reverse reaction", but you didn't mention any reverse reaction. Can you clarify how you end up with a reverse reaction in your model? Next, can you clarify what kind of kinetics you want to use in your model? I would guess you want to use mass action kinetics, but the equations you later provide don't quite match my expectations for that. The next thing that confuses me are the two differential equations you provide. I assume this is just a typo, but you put "60" in the first equation where I would expect a "50", based on the reaction you wrote earlier. The second equation is more confusing to me. And maybe this is just another typo. I would have expected a positive term on the right-hand side to involve the concentration of your individual protein rather than the concentration of the assembly. Lastly, the way you're talking about "individual protein" and "assembly" makes me wonder what units those states are modeled with (molecule? mole? milligram? mole/liter? etc.)
Ok, now on to how SimBIology builds up the differential equations from a series of reactions. If you want to see those differential equations, you can do that within the SimBiology Model Builder app by clicking on the equations button (see red box in the screenshot below) or by using getequations from the command line.
Now, the next thing I want to clarify is the difference between the reaction rate (or the reaction flux) and how a reaction contributes to the differential equation for a species participating in that reaction. To make this concrete, consider the reaction 50*A -> B, with a reaction rate flux. Let's assume that flux has dimensions of amount/time, and that the variables A and B denote the amount of each species. (Switching to concentration requires adding the appropriate volume terms.) This reaction contributes a term of -50*flux to dA/dt and a term of +flux to dB/dt. Since this is part of MATLAB, let me generalize this to matrices. Then dX/dt = stoichMatrix*fluxVector where X is the vector of all species participating in reactions, t is time, stoichMatrix is the matrix of stoichiometric coefficients for all reaction reactions, and fluxVector is the vector of fluxes for each reaction.
The next question is how to specify the flux for a reaction in SimBiology. You have two options. First, you can choose a built-in kinetic law that determines the form of the reaction rate (such as mass action, Michaelis-Menten, or Hill kinetics), or you can specify your own MATLAB expression for the reaction rate. The choice is mostly a matter of convenience. I generally use a built-in kinetic law whenever possible to avoid typos when typing in the reaction rate myself.
Now, you can also specify that a reaction is reversible, for example 50*A <-> B. But this choice only affects the differential equations if you specify that the reaction has mass action kinetics. If that case, then the reaction flux gets updated to have both a forward and a reverse term. For example, if you specify a reaction 50*A <-> B with mass action kinetics and a forward rate constant of kf and a reverse rate constant of kr, then the flux will be kf*A^60 - kr*B, and the two ODEs would be dA/dt = -50*(kf*A^50 - kr*B) and dB/dt = (kf*A^50 - kr*B).
Hopefully that clears things up for you. If not, let me know.
  3 Comments
Arthur Goldsipe
Arthur Goldsipe on 10 Nov 2022
FYI, I just edited my answer to correct a mistake I made in the flux for mass action reactions.
Ibrahim Irfanullah
Ibrahim Irfanullah on 14 Nov 2022
Hi,
Thank you for the answer, and for catching the mistakes in my question! My question is in regards to Mass Action Kinetics. Your explanation of how SimBiology generates differential equations was helpful, and I was able to resolve my issue.

Sign in to comment.

More Answers (0)

Communities

More Answers in the  SimBiology Community

Categories

Find more on Scan Parameter Ranges in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!