Kinetikit 12 is a graphical interface for doing chemical kinetic modeling in MOOSE. It is derived in part from Kinetikit, which was the graphical interface used in GENESIS for similar models. Kinetikit, also known as kkit, was at version 11 with GENESIS. Here we start with Kinetikit 12.
Much of neuronal computation occurs through chemical signaling. For example, many forms of synaptic plasticity begin with calcium influx into the synapse, followed by calcium binding to calmodulin, and then calmodulin activation of numerous enzymes. These events can be represented in chemical terms:
4 Ca2+ + CaM <===> Ca4.CaM
Such chemical equations can be modeled through standard Ordinary Differential Equations, if we ignore space:
d[Ca]/dt = −4Kf ∗ [Ca]4 ∗ [CaM] + 4Kb ∗ [Ca4.CaM]
d[CaM]/dt = −Kf ∗ [Ca]4 ∗ [CaM] + Kb ∗ [Ca4.CaM]
d[Ca4.CaM]/dt = Kf ∗ [Ca]4 ∗ [CaM] − Kb ∗ [Ca4.CaM]
MOOSE models these chemical systems. This help document describes how to do such modelling using the graphical interface, Kinetikit 2.
At present Kinetikit handles compartmental models but does not compute diffusion within the compartments, though MOOSE itself can do this at the script level. Kkit12 will do deterministic as well as stochastic chemical calculations.
File -> Load
. Chemical schematic appears in Model layout
tab.Run
button.Plot Window
tab.Model layout
tab by clicking on icons, and looking at entries in Properties
table to the right.Properties
table.Add Field
in the Plot Configuration
panel.Plot Window
.Solver
menu item.Most of these operations are detailed in other sections, and are shared with other aspects of the MOOSE simulation interface. Here we focus on the Kinetikit-specific items.
When you are in the Kkit layout
tab you will see a collection of icons, arrows, and grey boxes surrounding these. This is a schematic of the reaction scheme being modeled. You can view and change parameters, and change the layout of the model. In the next MOOSE release you will also be able to add and remove molecules and reactions.
Resizing the model layout and icons:
a
key will fit the entire model into the entire field of view.<
and >
. This resizes the icons while leaving their positions on the screen layout more or less the same.A
key (capital A
) will revert to the original model view including the original icon scaling.The compartment in moose is usually a contiguous domain in which a certain set of chemical reactions and molecular species occur. The definition is very closely related to that of a cell-biological compartment. Examples include the extracellular space, the cell membrane, the cytosol, and the nucleus. Compartments can be nested, but of course you cannot put a bigger compartment into a smaller one.
name
: The name of the compartment.size
: This is the volume, surface area or length of the compartment, depending on its type.numDimensions
: This specifies whether the compartment is a volume, a 2-D surface, or if it is just being represented as a length.This is the set of molecules of a given species within a compartment. Different chemical states of the same molecule are in different pools.
name
: Name of the pooln
: Number of molecules in the poolnInit
: Initial number of molecules in the pool. n
gets set to this value when the reinit
operation is done.conc
: Concentration of the molecules in the pool.
conc = n * unit_scale_factor / (NA * vol)
concInit
: Initial concentration of the molecules in the pool.
concInit = nInit * unit_scale_factor / (NA * vol)
conc
is set to this value when the reinit
operation is done.size
: Derived from the compartment that holds the pool. Specifies volume, surface area or length of the holding compartment.Some pools are set to a fixed n
, that is number of molecules, and therefore a fixed concentration, throughout a simulation. These are buffered pools.
name
: Name of the poolnInit
: Fixed number of molecules in the pool. n
gets set to this value throughout the run.concInit
: Fixed concentration of the molecules in the pool.
concInit = nInit * unit_scale_factor / (NA * vol)
conc
is set to this value throughout the run.n
: Number of molecules in the pool. Derived from nInit
.conc
: Concentration of molecules in the pool. Derived from concInit
.size
: Derived from the compartment that holds the pool. Specifies volume, surface area or length of the holding compartment.These are conversion reactions between sets of pools. They are reversible, but you can set either of the rates to zero to get irreversibility. In the illustration below, D
and A
are substrates, and B
is the product of the reaction. This is indicated by the direction of the green arrow.
name
: Name of reactionK
f
: Forward rate of reaction, in concentration/time
units. This is the normal way to express and manipulate the reaction rate.k
f
: Forward rate of reaction, in number/time
units. This is used internally for computations, but is volume-dependent and should not be used to manipulate the reaction rate unless you really know what you are doing.K
b
: Backward rate of reaction, in concentration/time
units. This is the normal way to express and manipulate the reaction rate.k
b
: Backward rate of reaction, in number/time
units. This is used internally for computations, but is volume-dependent and should not be used to manipulate the reaction rate unless you really know what you are doing.numProducts
: Number of product molecules.numSubstrates
: Number of substrates molecules.These are enzymes that model the chemical equations
E + S <===> E.S —> E + P
Note that the second reaction is irreversible. Note also that mass-action enzymes include a pool to represent the E.S
(enzyme-substrate) complex. In the example below, the enzyme pool is named MassActionEnz
, the substrate is C
, and the product is E
. The direction of the enzyme reaction is indicated by the red arrows.
Icon: Colored ellipse atop a small square. The ellipse represents the enzyme. The small square represents
E.S
, the enzyme-substrate complex. The ellipse icon has the same color as the enzyme pool E
. It is connected to the enzyme pool E
with a straight line of the same color.
The ellipse icon sits on a continuous, typically curved arrow in red, from the substrate to the product.
A given enzyme pool can have any number of enzyme activities, since the same enzyme might catalyze many reactions.
name
: Name of enzyme.K
m
: Michaelis-Menten value for enzyme, in concentration
units.k
cat
: Production rate of enzyme, in 1/time
units. Equal to k
3
, the rate of the second, irreversible reaction.k
1
: Forward rate of the E+S
reaction, in number and 1/time
units. This is what is used in the internal calculations.k
2
: Backward rate of the E+S
reaction, in 1/time
units. Used in internal calculations.k
3
: Forward rate of the E.S —> E + P
reaction, in 1/time
units. Equivalent to k
cat
. Used in internal calculations.ratio
: This is equal to k
2
/k
3
. Needed to define the internal rates in terms of K
m
and k
cat
. I usually use a value of 4.name
: Name of the E.S
complex. Defaults to <enzymeName>_cplx
.n
: Number of molecules in the poolnInit
: Initial number of molecules in the complex. n
gets set to this value when the reinit
operation is done.conc
: Concentration of the molecules in the pool.
conc = n * unit_scale_factor / (NA * vol)
concInit
: Initial concentration of the molecules in the pool.
concInit = nInit * unit_scale_factor / (NA * vol)
conc
is set to this value when the reinit
operation is done.size
: Derived from the compartment that holds the pool. Specifies volume, surface area or length of the holding compartment. Note that the Enzyme-substrate-complex is assumed to be in the same compartment as the enzyme molecule.These are enzymes that obey the Michaelis-Menten equation
V = Vmax * [S] / ( Km + [S] ) = kcat * [Etot] * [S] / ( Km + [S] )
where
V
max
is the maximum rate of the enzyme[Etot]
is the total amount of the enzymeK
m
is the Michaelis-Menten constantS
is the substrate.Nominally these enzymes model the same chemical equation as the mass-action enzyme:
E + S <===> E.S —> E + P
but they make the assumption that the E.S
is in a quasi-steady-state with E
and S
, and they also ignore sequestration of the enzyme into the complex. So there is no representation of the E.S
complex. In the example below, the enzyme pool is named MM_Enz
, the substrate is E
, and the product is F
. The direction of the enzyme reaction is indicated by the red arrows.
MM_Enz
. It is connected to the enzyme pool MM_Enz
with a straight line of the same color. The ellipse icon sits on a continuous, typically curved arrow in red, from the substrate to the product. A given enzyme pool can have any number of enzyme activities, since the same enzyme might catalyze many reactions.name
: Name of enzyme.K
m
: Michaelis-Menten value for enzyme, in concentration
units.k
cat
: Production rate of enzyme, in 1/time
units. Equal to k
3
, the rate of the second, irreversible reaction.This is a pool whose concentration is just the sum of the concentrations of pools connected into it. It behaves like a buffer whose concentration varies as the simulation proceeds Note that this violates mass conservation: One can use a SumTotal
in a reaction, just like a buffer, but the SumTotal
itself will never be depleted. Typically used when we have multiple molecular forms of an enzyme, all with similar activity, and we just want to use a single enzyme activity to represent the whole lot.
tot1
in the example image below. The input pools A
and B
connect to the SumTotal with blue arrows. name
: Name of the pooln
: Number of molecules in the pool. Computed as it runs.conc
: Concentration of molecules in the pool. Computed as it runs.size
: Derived from the compartment that holds the pool. Specifies volume, surface area or length of the holding compartment.File -> Load Model -> select from dialog
. This operation deletes the previously loaded model. Currently only understands Kkit.g format models.File -> Save Model -> select from dialog
. Currently only understands Kkit.g format models.File -> Merge Model -> select from dialog
. This operation tries to merge the new model into the currently loaded model. It does so by recognizing existing molecular pool names, and not duplicating those. Instead, any new reactions involving the existing pools get tied into the existing model. All other new pools and reactions are created as usual. Note that parameters of existing pools get updated to values from the new model.Solver
menu item in title bar has options. Currently supports: