Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NMDOL: default catalogue clean up #1935

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions mechanisms/default/exp2syn.mod
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,9 @@ PARAMETER {
e = 0 (mV)
}

ASSIGNED {
factor
}
ASSIGNED { factor }

STATE {
A B
}
STATE { A B }

INITIAL {
LOCAL tp
Expand All @@ -32,6 +28,8 @@ INITIAL {

BREAKPOINT {
SOLVE state METHOD cnexp
LOCAL g
g = B - A
i = (B - A)*(v - e)
}

Expand Down
2 changes: 1 addition & 1 deletion mechanisms/default/expsyn.mod
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ STATE {
}

INITIAL {
g=0
g = 0
}

BREAKPOINT {
Expand Down
1 change: 0 additions & 1 deletion mechanisms/default/expsyn_curr.mod
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ INITIAL {
}

BREAKPOINT {
:SOLVE state METHOD cnexp
SOLVE state METHOD sparse : to match with expsyn_curr_calcium_plasticity

I = -g / R_mem
Expand Down
5 changes: 2 additions & 3 deletions mechanisms/default/gj.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@ NEURON {
NONSPECIFIC_CURRENT i
RANGE g
}

INITIAL {}

PARAMETER {
g = 1
}
PARAMETER { g = 1 }

BREAKPOINT {
i = g*(v - v_peer)
Expand Down
86 changes: 27 additions & 59 deletions mechanisms/default/kamt.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,93 +6,61 @@ TITLE K-A
: ik has units (mA/cm2)

NEURON {
THREADSAFE
SUFFIX kamt
USEION k READ ek WRITE ik
RANGE gbar, q10
GLOBAL minf, mtau, hinf, htau
RANGE gbar
}

PARAMETER {
gbar = 0.002 (mho/cm2)
gbar = 0.002 (mho/cm2)

celsius
a0m=0.04
vhalfm=-45
zetam=0.1
gmm=0.75

a0h=0.018
vhalfh=-70
zetah=0.2
gmh=0.99

sha=9.9
shi=5.7
q10=3
a0m = 0.04
vhalfm = -45
zetam = 0.1
gmm = 0.75

a0h = 0.018
vhalfh = -70
zetah = 0.2
gmh = 0.99

sha = 9.9
shi = 5.7
}


UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
(pS) = (picosiemens)
(um) = (micron)
}

ASSIGNED {
v (mV)
minf
mtau (ms)
hinf
htau (ms)
}
ASSIGNED { v (mV) }

STATE {
m
h
}
STATE { m h }

BREAKPOINT {
SOLVE states METHOD cnexp
ik = gbar*m*h*(v - ek)
}

INITIAL {
trates(v,celsius)
m=minf
h=hinf
m = minf(v)
h = hinf(v)
}

DERIVATIVE states {
trates(v,celsius)
m' = (minf-m)/mtau
h' = (hinf-h)/htau
}

PROCEDURE trates(v,celsius) {
LOCAL qt
qt=q10^((celsius-24)/10)

minf = 1/(1 + exp(-(v-sha-7.6)/14))
mtau = betm(v)/(qt*a0m*(1+alpm(v)))

hinf = 1/(1 + exp((v-shi+47.4)/6))
htau = beth(v)/(qt*a0h*(1+alph(v)))
}

FUNCTION alpm(v) {
alpm = exp(zetam*(v-vhalfm))
qt = 3^((celsius-24)/10)
m' = (minf(v) - m)*qt*a0m*(1 + alpm(v))/betm(v)
h' = (hinf(v) - h)*qt*a0h*(1 + alph(v))/beth(v)
}

FUNCTION betm(v) {
betm = exp(zetam*gmm*(v-vhalfm))
}
FUNCTION minf(v) { minf = 1/(1 + exp(-(v-sha-7.6)/14)) }
FUNCTION hinf(v) { hinf = 1/(1 + exp((v-shi+47.4)/6)) }

FUNCTION alph(v) {
alph = exp(zetah*(v-vhalfh))
}

FUNCTION beth(v) {
beth = exp(zetah*gmh*(v-vhalfh))
}
FUNCTION alpm(v) { alpm = exp(zetam*(v - vhalfm)) }
FUNCTION betm(v) { betm = exp(zetam*gmm*(v - vhalfm)) }
FUNCTION alph(v) { alph = exp(zetah*(v - vhalfh)) }
FUNCTION beth(v) { beth = exp(zetah*gmh*(v - vhalfh)) }
56 changes: 21 additions & 35 deletions mechanisms/default/kdrmt.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,19 @@ NEURON {
THREADSAFE
SUFFIX kdrmt
USEION k READ ek WRITE ik
RANGE gbar, q10, vhalfm
GLOBAL minf, mtau
RANGE gbar, vhalfm
}

PARAMETER {
gbar = 0.002 (mho/cm2)

gbar = 0.002 (mho/cm2)
celsius
a0m=0.0035
vhalfm=-50
zetam=0.055
gmm=0.5
q10=3
alpm=0
betm=0
a0m = 0.0035
vhalfm = -50
zetam = 0.055
gmm = 0.5
q10 = 3
alpm = 0
betm = 0
}


Expand All @@ -34,39 +32,27 @@ UNITS {
(um) = (micron)
}

ASSIGNED {
v (mV)
minf
mtau (ms)
}
ASSIGNED { v(mV) }

STATE {
m
}
STATE { m }

BREAKPOINT {
SOLVE states METHOD cnexp
ik = gbar*m*(v - ek)
LOCAL gk
gk = gbar*m
ik = gk*(v - ek)
}

INITIAL {
trates(v,celsius)
m=minf
m = minf(v)
}

DERIVATIVE states {
trates(v,celsius)
m' = (minf-m)/mtau
}
LOCAL qt, tmp

PROCEDURE trates(v,celsius) {
LOCAL qt
LOCAL alpm_t, betm_t
LOCAL tmp
qt=q10^((celsius-24)/10)
minf = 1/(1 + exp(-(v-21)/10))
tmp = zetam*(v-vhalfm)
alpm_t = exp(tmp)
betm_t = exp(gmm*tmp)
mtau = betm_t/(qt*a0m*(1+alpm_t))
qt = q10^(0.1*(celsius - 24))
tmp = zetam*(v - vhalfm)
m' = qt*a0m*(1 + exp(tmp))*(minf(v) - m)*exp(-gmm*tmp)
}

FUNCTION minf(v) { minf = 1/(1 + exp((21 - v)/10)) }
112 changes: 55 additions & 57 deletions mechanisms/default/nax.mod
Original file line number Diff line number Diff line change
Expand Up @@ -10,26 +10,26 @@ NEURON {
}

PARAMETER {
sh = 5 (mV)
gbar = 0.010 (mho/cm2)

tha = -30 (mV) : v 1/2 for act
qa = 7.2 (mV) : act slope (4.5)
Ra = 0.4 (/ms) : open (v)
Rb = 0.124 (/ms) : close (v)

thi1 = -45 (mV) : v 1/2 for inact
thi2 = -45 (mV) : v 1/2 for inact
qd = 1.5 (mV) : inact tau slope
qg = 1.5 (mV)
mmin=0.02
hmin=0.5
q10=2
Rg = 0.01 (/ms) : inact recov (v)
Rd = .03 (/ms) : inact (v)

thinf = -50 (mV) : inact inf slope
qinf = 4 (mV) : inact inf slope
sh = 5 (mV)
gbar = 0.010 (mho/cm2)

tha = -30 (mV) : v 1/2 for act
qa = 7.2 (mV) : act slope (4.5)
Ra = 0.4 (/ms) : open (v)
Rb = 0.124 (/ms) : close (v)

thi1 = -45 (mV) : v 1/2 for inact
thi2 = -45 (mV) : v 1/2 for inact
qd = 1.5 (mV) : inact tau slope
qg = 1.5 (mV)
mmin = 0.02
hmin = 0.5
q10 = 2
Rg = 0.01 (/ms) : inact recov (v)
Rd = .03 (/ms) : inact (v)

thinf = -50 (mV) : inact inf slope
qinf = 4 (mV) : inact inf slope

celsius
}
Expand All @@ -42,53 +42,51 @@ UNITS {
(um) = (micron)
}

ASSIGNED {
v (mV)
thegna (mho/cm2)
minf
hinf
mtau (ms)
htau (ms)
}
ASSIGNED { v (mV) }

STATE {
m
h
}
STATE { m h }

BREAKPOINT {
SOLVE states METHOD cnexp
thegna = gbar*m*m*m*h
ina = thegna * (v - ena)
LOCAL gna
gna = gbar*m*m*m*h
ina = gna * (v - ena)
}

INITIAL {
trates(v,sh,celsius)
m=minf
h=hinf
LOCAL a, b, u

u = tha + sh - v
a = trap0( u, Ra, qa)
b = trap0(-u, Rb, qa)
m = a/(a + b)

u = thi1 + sh - v
a = trap0( u, Rd, qd)
b = trap0(-u, Rg, qg)
h = 1/(1 + exp((v - thinf - sh)/qinf))

}

DERIVATIVE states {
trates(v,sh,celsius)
m' = (minf-m)/mtau
h' = (hinf-h)/htau
}
LOCAL a, b, u, qt, hinf, minf, htau, mtau, iq

PROCEDURE trates(vm,sh2,celsius) {
LOCAL a, b, qt
qt=q10^((celsius-24)/10)
a = trap0(vm,tha+sh2,Ra,qa)
b = trap0(-vm,-tha-sh2,Rb,qa)
mtau = max(1/(a+b)/qt, mmin)
minf = a/(a+b)

a = trap0(vm,thi1+sh2,Rd,qd)
b = trap0(-vm,-thi2-sh2,Rg,qg)
htau = max(1/(a+b)/qt, hmin)
hinf = 1/(1+exp((vm-thinf-sh2)/qinf))
}
iq = q10^(-0.1*(celsius - 24))

u = tha + sh - v
a = trap0( u, Ra, qa)
b = trap0(-u, Rb, qa)
mtau = max(iq/(a + b), mmin)
minf = a/(a + b)

FUNCTION trap0(v,th,a,q) {
: trap0 = a * (v - th) / (1 - exp(-(v - th)/q))
trap0 = a*q*exprelr(-(v-th)/q)
u = thi1 + sh - v
a = trap0( u, Rd, qd)
b = trap0(-u, Rg, qg)
htau = max(iq/(a + b), hmin)
hinf = 1/(1 + exp((v - thinf - sh)/qinf))

m' = (minf - m)/mtau
h' = (hinf - h)/htau
}

FUNCTION trap0(v, a, q) { trap0 = a*q*exprelr(v/q) }
Loading