TITLE cAMP influx based on cai
COMMENT
Ca++ binding on second messenger
p0 (inactive) + nca Ca <-> p1 (active) ; rate cst k1,k2
ENDCOMMENT
UNITS {
(molar) = (1/liter)
(mM) = (millimolar)
}
NEURON {
THREADSAFE
SUFFIX CN
USEION ca READ cai
USEION cn WRITE cni VALENCE 1
GLOBAL tau
}
PARAMETER {
: all values can be adjusted in hoc files
tau_ca = 1500 (ms)
tau = 6000 (ms)
cn_init = 2e-5 (mM)
kD = 0.05 (1)
minca = 1.5e-4 (mM)
}
ASSIGNED {
cai (mM)
cinf (mM)
}
STATE {
cni (mM)
}
INITIAL {
cni = cn_init
}
BREAKPOINT {
SOLVE state METHOD derivimplicit
}
DERIVATIVE state { LOCAL dcn
influx(cai)
:dcn = cinf/tau_ca - cni/tau
cni' = cinf/tau_ca - cni/tau
}
PROCEDURE influx( cai(mM) ) {
:TABLE cinf DEPEND minca, kD
: FROM 0 TO 0.02 WITH 1000
if (cai < minca) {
cinf = 0
} else {
cinf = (cai-minca)*kD
}
}