TITLE Calcium dynamics and cross-bridge formation
UNITS { }
NEURON {
SUFFIX CaSP
::module 1::
RANGE k1, k2, k3, k4, k5, k6, k, k5i, k6i
RANGE Umax, Rmax, t1, t2, R, vth, U
RANGE phi0, phi1, phi2, phi3, phi4, phi
::module 2::
RANGE c1, c2, c3, c4, c5
RANGE AMinf, AMtau, SF_AM
RANGE acm, alpha, alpha1, alpha2, alpha3, beta, gamma
::simulation::
RANGE spk_index, t_axon
USEION mg WRITE mgi VALENCE 2
USEION cl READ cli
}
PARAMETER {
::module 1::
k1 = 3000 : M-1*ms-1
k2 = 3 : ms-1
k3 = 400 : M-1*ms-1
k4 = 1 : ms-1
k5i = 4e5 : M-1*ms-1
k6i = 150 : ms-1
k = 850 : M-1
SF_AM = 5
Rmax = 10 : ms-1
Umax = 2000 : M-1*ms-1
t1 = 3 : ms
t2 = 25 : ms
phi1 = 0.03
phi2 = 1.23
phi3 = 0.01
phi4 = 1.08
CS0 = 0.03 :[M]
B0 = 0.00043 :[M]
T0 = 0.00007 :[M]
::module 2::
c1 = 0.128
c2 = 0.093
c3 = 61.206
c4 = -13.116
c5 = 5.095
alpha = 2
alpha1 = 4.77
alpha2 = 400
alpha3 = 160
beta = 0.47
gamma = 0.001
::simulation::
vth = -40
spk_index = 0
t_axon = 0.01
}
STATE {
CaSR
CaSRCS
Ca
CaB
CaT
AM
mgi
}
ASSIGNED {
v (mV)
R
t_shift
R_On
Spike_On
k5
k6
AMinf
AMtau
cli
spk[1000]
xm[2]
vm
acm
}
BREAKPOINT { LOCAL i, temp_R
SPK_DETECT (v, t)
CaR (CaSR, t)
SOLVE state METHOD cnexp
xm[0]=xm[1]
xm[1]=cli
vm = (xm[1]-xm[0])/(dt*10^-3)
::isometric and isokinetic condition::
mgi = AM^alpha
}
DERIVATIVE state {
rate (cli, CaT, AM, t)
CaSR' = -k1*CS0*CaSR + (k1*CaSR+k2)*CaSRCS - R + U(Ca)
CaSRCS' = k1*CS0*CaSR - (k1*CaSR+k2)*CaSRCS
Ca' = - k5*T0*Ca + (k5*Ca+k6)*CaT - k3*B0*Ca + (k3*Ca+k4)*CaB + R - U(Ca)
CaB' = k3*B0*Ca - (k3*Ca+k4)*CaB
CaT' = k5*T0*Ca - (k5*Ca+k6)*CaT
AM' = (AMinf -AM)/AMtau
mgi' = 0
}
PROCEDURE SPK_DETECT (v (mv), t (ms)) {
if (Spike_On == 0 && v > vth) {
Spike_On = 1
spk[spk_index] = t + t_axon
spk_index = spk_index + 1
R_On = 1
} else if (v < vth) {
Spike_On = 0
}
}
FUNCTION U (x) {
if (x >= 0) {U = Umax*(x^2*k^2/(1+x*k+x^2*k^2))^2}
else {U = 0}
}
FUNCTION phi (x) {
if (x <= -8) {phi = phi1*x + phi2}
else {phi = phi3*x + phi4}
}
PROCEDURE CaR (CaSR (M), t (ms)) { LOCAL i, temp_R ::Ca_Release::
if (R_On == 1) {
FROM i=0 TO spk_index-1 {
temp_R = temp_R + CaSR*Rmax*(1-exp(-(t-spk[i])/t1))*exp(-(t-spk[i])/t2)
}
R = temp_R
temp_R = 0
}
else {R = 0}
}
PROCEDURE rate (cli (M), CaT (M), AM (M), t(ms)) {
k5 = phi(cli)*k5i
k6 = k6i/(1 + SF_AM*AM)
AMinf = 0.5*(1+tanh(((CaT/T0)-c1)/c2))
AMtau = c3/(cosh(((CaT/T0)-c4)/(2*c5)))
}
INITIAL {LOCAL i
CaSR = 0.0025 :[M]
CaSRCS = 0 :[M]
Ca = 1e-10 :[M]
CaB = 0 :[M]
CaT = 0 :[M]
AM = 0 :[M]
mgi = 0
FROM i = 0 TO 999 {
spk[i] = 0
}
FROM i = 0 TO 1 {
xm[i] = 0
}
spk_index = 0
R_On = 0
}