You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
2.2 KiB
110 lines
2.2 KiB
2 years ago
|
TITLE CaPCalyx.mod The presynaptic calcium current at the MNTB calyx of Held
|
||
|
|
||
|
COMMENT
|
||
|
|
||
|
NEURON implementation of Calcium current from Borst and Sakmann, 1998.
|
||
|
Equations are basic HH; parameters are taken from Figure 8 legend in that paper.
|
||
|
|
||
|
Original implementation by Paul B. Manis, October 2007
|
||
|
|
||
|
Contact: pmanis@med.unc.edu
|
||
|
|
||
|
Modified 2/2014: Use Derivative block format.
|
||
|
|
||
|
ENDCOMMENT
|
||
|
|
||
|
UNITS {
|
||
|
(mA) = (milliamp)
|
||
|
(mV) = (millivolt)
|
||
|
(nA) = (nanoamp)
|
||
|
}
|
||
|
|
||
|
NEURON {
|
||
|
THREADSAFE
|
||
|
SUFFIX CaPCalyx
|
||
|
USEION ca READ eca WRITE ica
|
||
|
RANGE gbar, gcap, ica
|
||
|
GLOBAL minf, taum, alpha, beta
|
||
|
}
|
||
|
|
||
|
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
|
||
|
|
||
|
PARAMETER {
|
||
|
v (mV)
|
||
|
: celsius = 22 (degC) : model is defined on measurements made at 23-24 deg in Germany
|
||
|
celsius (degC)
|
||
|
dt (ms)
|
||
|
: eca = 43.9 (mV)
|
||
|
eca (mV)
|
||
|
gbar = 0.01 (mho/cm2) <0,1e9> : target is 48.9 nS total
|
||
|
alpha (1/ms)
|
||
|
beta (1/ms)
|
||
|
}
|
||
|
|
||
|
STATE {
|
||
|
m
|
||
|
}
|
||
|
|
||
|
ASSIGNED {
|
||
|
ica (mA/cm2)
|
||
|
gcap (mho/cm2)
|
||
|
minf (1)
|
||
|
taum (ms)
|
||
|
|
||
|
}
|
||
|
|
||
|
LOCAL mexp
|
||
|
|
||
|
BREAKPOINT {
|
||
|
SOLVE states METHOD cnexp
|
||
|
|
||
|
gcap = gbar*m*m
|
||
|
ica = gcap*(v - eca)
|
||
|
}
|
||
|
|
||
|
UNITSOFF
|
||
|
|
||
|
INITIAL {
|
||
|
trates(v)
|
||
|
m = minf
|
||
|
}
|
||
|
|
||
|
DERIVATIVE states { : Computes state variables m
|
||
|
rates(v) : at the current v and dt.
|
||
|
m' = (minf - m)/taum
|
||
|
:m = m + mexp*(minf-m)
|
||
|
:VERBATIM
|
||
|
: return 0;
|
||
|
:ENDVERBATIM
|
||
|
}
|
||
|
|
||
|
LOCAL q10
|
||
|
|
||
|
PROCEDURE rates(v) { :Computes rate and other constants at current v.
|
||
|
:Call once from HOC to initialize inf at resting v.
|
||
|
|
||
|
q10 = 3^((celsius - 24)/10) : if you don't like room temp, it can be changed!
|
||
|
|
||
|
minf = (1 / (1 + exp(-(v + 23.2) / 9.1)))
|
||
|
|
||
|
alpha = 1.78*exp(v/23.3)
|
||
|
beta = 0.140*exp(-v/15.0)
|
||
|
taum = 1/(alpha + beta)
|
||
|
}
|
||
|
|
||
|
PROCEDURE trates(v) { :Computes rate and other constants at current v.
|
||
|
:Call once from HOC to initialize inf at resting v.
|
||
|
LOCAL minc
|
||
|
TABLE minf, mexp
|
||
|
DEPEND dt, celsius FROM -150 TO 150 WITH 300
|
||
|
|
||
|
rates(v) : not consistently executed from here if usetable_hh == 1
|
||
|
: so don't expect the tau values to be tracking along with
|
||
|
: the inf values in hoc
|
||
|
|
||
|
minc = -dt * q10
|
||
|
mexp = 1 - exp(minc/taum)
|
||
|
}
|
||
|
|
||
|
UNITSON
|