Maintaining an agent at steady state levels

24 views
Skip to first unread message

Gordon

unread,
Mar 15, 2018, 12:06:37 PM3/15/18
to kappa-users
What is the best (or most kappaesque) way of maintaining an agent at a steady state concentration?

Steadily add more of the agent with a rule to generate it at a given rate? This could work well if the rate of consumption of my agent was relatively stable and predictable.

Periodically use an intervention in the model, to “top up” the agent? I guess if I did this, I could use an algebraic expression to do an accurate replenishment based upon the current count of the agent in the system.

Write my “agent-consuming” rules so that the agent is not consumed, but replaced? This seems to me like the most “natural” solution. For example, assuming that I want to maintain B at a steady state concentration - instead of writing a rule in which B is cleaved into B1 and B2 and deleted, I would generate B1 and B2 and liberate B to fight another day.

What in your experience is the best way to do this in kappa?

Gordon

unread,
Mar 15, 2018, 12:09:56 PM3/15/18
to kappa-users
Or is there some special syntax that I am unaware of, for defining a steady state condition in the initial conditions?
Message has been deleted
Message has been deleted

Gordon

unread,
Mar 15, 2018, 2:55:50 PM3/15/18
to kappa-users

Thanks for your response Jerome,

I was thinking of the kind of system in which (at least approximately) a steady state of a particular species has been observed, and the mechanisms by which this is maintained are beyond the bounds or focus of my current model. The big assumption that I guess I’m making is that the system I am modeling will not significantly perturb this steady state. This might be true (or at least a good approximation) for example when I’m modeling a very limited volume on the surface of a blood vessel and a particular species is at a steady state in the much larger volume of the surrounding blood. Essentially, I don’t want or need to explicitly represent the processes by which this steady state is maintained, but I need it to be there as a background for my modeled system.

Cheers,

Gordon
On Thursday, March 15, 2018 at 12:06:37 PM UTC-4, Gordon wrote:

Ricardo Honorato Z

unread,
Mar 17, 2018, 1:51:34 AM3/17/18
to Gordon, kappa-users
Hi Gordon,

On Thursday, March 15, 2018 at 12:06:37 PM UTC-4, Gordon wrote:
Write my “agent-consuming” rules so that the agent is not consumed, but replaced? This seems to me like the most “natural” solution. For example, assuming that I want to maintain B at a steady state concentration - instead of writing a rule in which B is cleaved into B1 and B2 and deleted, I would generate B1 and B2 and liberate B to fight another day.

I usually go with this option. It's simpler and more elegant in my opinion.

Cheers,
Ricardo

Héctor F

unread,
Apr 3, 2018, 2:03:50 AM4/3/18
to kappa-users
Hi Gordon,
Hopefully this email doesn't get deleted en route to the forum...

One way you can achieve stabilization of the level is with a zeroth order production (influx) and a first order degradation (outflux) . The steady state will try to be the ratio of production to degradation rates. Of course, if your system uses the agent in question for other stuff, it will deviate from that ratio. However, if you crank up the magnitude of those influx/outflux rates, you can drive the system to a quasi-steady state, where your agent of interest is, as far as the other process can tell, at steady state. This idiom however has a performance penalty: if the activities of your influx/outflux are vastly greater than the activities of the rest of the system, the bulk of the events the simulation churns will be of the influx/outflux process, rather than the rest of the model. Think of this as a time-scale separation, where you're interested in the slow process, and use the fast process to stabilize something.

Cheers,
Hector
Reply all
Reply to author
Forward
0 new messages