Simbiology Stochastic solvers non mass action (nonlinear) propensities
1 view (last 30 days)
I am working on some biochemical processes which are characterised by low numbers and are described by a non linear - i.e. non mass action - propensities (excuse me if my language may not be appropriate but I'm an engineer by training and not so familiar with chemistry). I need to use a stochastic solver (SSA) to simulate this process as I'm working with some effects which are visbile only with stochastic similation.
Specifically, the processes I'm looking at is the following:
0 -k-> A
A -GammaA*A-> 0
0 -R(A)-> B
B -GammaB*-> 0
Where: A and B are species, K, GammaA, GammaB are positive constants and R(A) is a non linear (for instance a Hill) function.
What I liked about the simbiology implementation of SSA - which would only work if R(A) is a linear funcition (i.e. mass action of first order: R*A) - is the speed at which the code manages to run at. Indeed, altough I have implemented my own version of SSA (Gillespies algorithm) it seems to be less efficient with respect to the simbiology implementation.
As R(A) is non linear, from what I understand, it is not possible to simulate such process trough simbiology.
Is there some work around for this? Have I understood correclty that the stochastic solver only works if the rates are linear?
My version of the ssa solver can solve for non linear rates but not as fast as the simbiology version latough encompassing non linear propensities. Has anyody bee trough similar issues?
Thank you al lin advance,
Arthur Goldsipe on 30 Dec 2019
You correctly understand the current constraints of SimBiology's stochastic solver: reactions must use linear, mass action kinetics. I can't think of any easy workaround for this constraint. If I needed to do it, I would also proabably implement my own solver and profile it to figure out where the performance bottlenecks are.
The idea of supporting other kinds of kinetics has come up occasionally before. If I remember correctly, one reason we have not done this is because we were concerned about correctly generalizing our mathematical approach. Do you have references that discuss the SSA/Gillespie algorithm for other kinetic laws?