필터 지우기
필터 지우기

Fluctuations in Simbiology

조회 수: 1 (최근 30일)
Razvan
Razvan 2011년 5월 22일
Hi,
I try to run a simulation in Simbiology in which a parameter fluctuates during the simulation. I have a few reactions which are not of mass-action type so I can't use the stochastic solver, I believe. How can I simulate with a fluctuating parameter?
Thanks in advance.
Razvan

채택된 답변

Arthur Goldsipe
Arthur Goldsipe 2011년 5월 23일
Hi Razvan,
I think the answer will ultimately depend on what you know about the fluctuations and what sort of questions you're trying to answer. Can you share more details about why you need to model fluctuations and what the fluctuations represent?
In any case, let me see if I can make some guesses and suggestions for how to model your problem in SimBiology.
Are the fluctuations ultimately due to the presence of a small number of molecules of some species participating in a reaction? If so, can you refine the mechanism of your model so that you can write the model in terms of mass action reactions and events? Then, you would be able to use one of the stochastic solvers. (Note that the ssa solver does support events, if that is helpful.)
If you can find some way to convert all your reactions to mass action kinetics, then you will need to take another approach. However, your question does raise some concerns. If something about the model fluctuates during the simulation, do you think it is reasonable to model the reaction kinetics as ODEs? For example, if the parameters fluctuate slowly relative to the time scale of the reactions, then perhaps it is reasonable to model the reactions with ODEs. Let's assume so for now.
Depending on what you know about the fluctuations, I can suggest two approaches, both of which assume the fluctuations are relatively low frequency:
  1. Model the fluctuations as discrete step changes using events.
  2. Model the fluctuations as continuous changes to the parameters that are done via a repeated assignment rule that uses a smooth function (for example, an interpolant like interp1) to determine the parameter values. If you use this approach, you may need to set the MaxStep on the configset's SolverOptions to some time scale that is smaller than the frequency of the fluctuations to ensure that the solver "sees" these fluctuations.
Let me know if you need more details about any of these approaches.
Good luck!
-Arthur
  댓글 수: 2
Razvan
Razvan 2011년 5월 23일
Thanks Arthur for your detailed response.
I will try for now to use discrete step changes using events. Is there a way to set a generic event, e.g. every 20s, C = AddRandomSmallChange(C), and to write a function which changes the concentration C? Or I have to write the same event for each time 20s, 40s, 60s, etc. ?
I try to simulate the different (and noisy) behavior of different cells after I fitted the average behavior. If I fit every cell I get smooth functions, but the experimental data is much noisier, so I try now to introduce fluctuations in the parameters during the simulation.
I cannot simplify the reaction rates to mass action laws, because I want use the original reaction rates that were published in a paper.
Thank you very much.
Razvan
Arthur Goldsipe
Arthur Goldsipe 2011년 5월 24일
Hi,
Here's an easy way to make an event that adds a random variable to species x every twenty seconds. (My example assumes your model is stored in a variable named m1.)
First, add a non-constant parameter with the first event time:
m1.addparameter('eventTime', 20, 'ConstantValue', 0);
Next, add an event that modifies x AND updates timeOfNextEvent:
m1.addevent('time >= eventTime', {'x = x + (rand-.5)', 'eventTime = eventTime+20'})
-Arthur

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Extend Modeling Environment에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by