CICR and CVODE issues with Kinetic Scheme
Posted: Mon Jul 16, 2012 2:16 pm
I'm attempting to model ER/cytosol calcium oscillations with a synaptic calcium current. The ER oscillation bit is a reduction of the Keizer-Levine model. My state variable 'l' represents the fraction of non-inactivated IP3 channels.
While this yields ER emptying and refilling periodically with a fixed timestep, it empties and refills only once with a variable timestep, and depending on certain values of A can become unstable. Additionally, when I compile, I see a statement that says NEURON's CVODE doesn't recognize CONSERVE statements. Although I don't intuitively see how, should I try to rework this scheme to not have reaction rates dependent on state variables (the NEURON book says that could complicate things and make the variable step integrator compensate by reducing dt and thus slowing simulations)?
Regarding units/dimensions: should the COMPARTMENT statement take a volume or volume per length term? do I want Jin/Jout to be in units of inverse time or volume per unit time (since the compartment statement will divide the rate by the compartment volume)? Thanks for your help!
Code: Select all
STATE {
cai (mM)
caE (mM)
l (1)
q (1)
}
BREAKPOINT {
SOLVE state METHOD sparse
}
KINETIC state {
rates()
COMPARTMENT PI*diam*diam/4 {cai}
COMPARTMENT sigma*PI*diam*diam/4 {caE}
~ caE <-> cai (fi*Jin, fi*(Jin+Jout))
~ l <-> q (loff, lon)
: ~cai<< (-ica*PI*diam/(2*FARADAY)) Include synaptic input after debug ER oscil.
CONSERVE cai + caE = caT*PI*diam*diam/4
CONSERVE l + q = 1
}
PROCEDURE rates() {
Jin = (Lip3 + Pip3 * ((ip3*cai*l)/( (ip3 + ki) * (cai+ka) ))^3)
Jout = serca(cai)
loff = A*cai
lon = A*Kd
}
FUNCTION serca(x (mM)) {
serca = vser * ( x / (x^2 + kser^2) )
}
Regarding units/dimensions: should the COMPARTMENT statement take a volume or volume per length term? do I want Jin/Jout to be in units of inverse time or volume per unit time (since the compartment statement will divide the rate by the compartment volume)? Thanks for your help!