What is Kappa?
Below you will find a short overview of the basic Kappa principles we use in our modelling. For more information on Kappa and KaSim 3.0, please, refer to the useful links below.
As mentioned above, Kappa is a stochastic, agent-based modelling language. The basic units it uses to model biological entities are agents and tokens. The way these interact is then defined by rules.
Agents are used to represent biological elements which interact with each other by binding and unbinding.
Tokens are a new unit for representing entities first introduced in KaSim 3.0. They are used for modelling less "active" elements. They cannot bind or unbind to each other or to agents. Tokens are simply substances that are there. What we can only decrease or increase their amount.
Despite their simplicity, tokens can be very useful when modelling substances that are being, say, absorbed or produced by a process. In general, using tokens may simply make more sense than using an agent.
For example, in the sub-model 1_TCA.ka the glucose that is absorbed by the TCA cycle is modeled as a token. All we want our representation of glucose to so is decrease. Hence, we model it as a token.
Fig 1 below shows and example of an agent with binding site "bsite" and three states – 1, A and state3.
Example: Assume we have agent A and agent B who have to meet to exchange important information. As seen in fig 2 we can model this, so that agent A has a binding site meet_agent_B and two states – OK and being_followed. The same goes for agent B. Now we can define the following rule:
'Agent A meets agent B' A(state~OK), B(sate~OK) -> A(meet_agent_B!1),B(meet_agent_A!1) @ "once per week"
This means that if both agents are not being followed, they will meet at a rate of "once per week". What Fig 2 shows exactly is an example of a contact map, i.e. a map that is used to visualize the existing Kappa rules. The diagram above is made by using RuleBender-1.1.415.
Another thing extensively used in our model is perturbation rules. Sometimes we want our system to behave differently from the already defined when certain rules are met. For instance, we may want agents A and B (from the example above) to stop meeting after a given amount of time. This can be done with a perturbation rule.
In our model we use perturbation rules to keep the amounts of the different tokens from going below zero.
Useful Links about Kappa and KaSim 3.0
For more information on Kappa.
For more information on how to write kappa code refer to the KaSim 3.0 manual. It is not intended as a KaSim 3.0 tutorial, but it gives a clear and concise description of what can be done with KaSim 3.0.
Many Kappa "tutorials" have been done by previous iGEM teams. For a different point of view on Kappa, you can refer to them:
Edinburgh iGEM 2011,
Edinburgh iGEM 2010
<<Prev__1/4__Next>>