Skip to content

Commit 28e723e

Browse files
committed
#277 Added unit test for double mechanism reloading
1 parent 6adeabf commit 28e723e

53 files changed

Lines changed: 8691 additions & 0 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

tests/backend/cells/PTcell.hoc

Lines changed: 3898 additions & 0 deletions
Large diffs are not rendered by default.

tests/backend/cells/PTcell.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from neuron import h
2+
h.load_file('PTcell.hoc')
3+
PTcell = h.PTcell

tests/backend/mod/HCN1.mod

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
: $Id: HCN1.mod,v 1.4 2013/01/02 15:01:55 samn Exp $
2+
3+
TITLE HCN1
4+
5+
UNITS {
6+
(mA) = (milliamp)
7+
(mV) = (millivolt)
8+
}
9+
10+
NEURON {
11+
SUFFIX HCN1
12+
NONSPECIFIC_CURRENT ih
13+
RANGE gbar, g, e, v50, htau, hinf
14+
RANGE gfactor, htaufactor
15+
}
16+
17+
PARAMETER {
18+
celsius (degC)
19+
gbar = 0.0001 (mho/cm2)
20+
e= -30 (mV)
21+
v50= -73 (mV)
22+
gfactor = 1
23+
htaufactor = 1.0 : 4.78
24+
}
25+
26+
STATE {
27+
h
28+
}
29+
30+
ASSIGNED {
31+
ih (mA/cm2)
32+
hinf
33+
htau (ms)
34+
v (mV)
35+
g (mho/cm2)
36+
}
37+
38+
PROCEDURE giassign () {
39+
: ih=g*h*(v-e)*gfactor
40+
g = gbar*h*gfactor
41+
ih = g*(v-e)
42+
}
43+
44+
BREAKPOINT {
45+
SOLVE states METHOD cnexp
46+
giassign()
47+
}
48+
49+
DERIVATIVE states {
50+
rates(v)
51+
h'= (hinf- h)/ htau
52+
}
53+
54+
INITIAL {
55+
rates(v)
56+
h = hinf
57+
giassign()
58+
}
59+
60+
PROCEDURE rates(v (mV)) {
61+
UNITSOFF
62+
: HCN1
63+
hinf = 1/(1+exp(0.151*(v-v50)))
64+
htau = htaufactor*exp((0.033*(v+75)))/(0.011*(1+exp(0.083*(v+75))))
65+
UNITSON
66+
}
67+

tests/backend/mod/IC.mod

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
TITLE Ca-dependent potassium current
2+
:
3+
: Ca++ dependent K+ current IC responsible for
4+
: action potentials AHP's
5+
: Differential equations
6+
:
7+
: Model of Yamada, Koch & Adams, in: Methods in Neuronal Modeling,
8+
: Ed. by Koch & Segev, MIT press, 1989.
9+
:
10+
: This current models the "fast" IK[Ca]:
11+
: - potassium current
12+
: - activated by intracellular calcium
13+
: - VOLTAGE DEPENDENT
14+
:
15+
: Written by Alain Destexhe, Salk Institute, Sept 18, 1992
16+
:
17+
: should be considered 'BK' - fast, big conductance
18+
19+
NEURON {
20+
SUFFIX ikc
21+
USEION k READ ek WRITE ik
22+
USEION ca READ cai
23+
RANGE gkbar, ik
24+
RANGE m_inf, tau_m
25+
RANGE taumin
26+
GLOBAL ascale,bscale,vfctr
27+
}
28+
29+
UNITS {
30+
(mA) = (milliamp)
31+
(mV) = (millivolt)
32+
(molar) = (1/liter)
33+
(mM) = (millimolar)
34+
}
35+
36+
PARAMETER {
37+
v (mV)
38+
celsius (degC)
39+
ek (mV)
40+
cai (mM)
41+
gkbar = .003 (mho/cm2) : taken from
42+
taumin = 0.1
43+
ascale = 250.0
44+
bscale = 0.1
45+
vfctr = 24.0
46+
}
47+
48+
STATE {
49+
m
50+
}
51+
52+
INITIAL {
53+
evaluate_fct(v,cai)
54+
m = m_inf
55+
}
56+
57+
ASSIGNED {
58+
ik (mA/cm2)
59+
m_inf
60+
tau_m (ms)
61+
}
62+
63+
BREAKPOINT {
64+
SOLVE states METHOD cnexp
65+
ik = gkbar * m * (v - ek)
66+
}
67+
68+
DERIVATIVE states {
69+
evaluate_fct(v,cai)
70+
m' = (m_inf - m) / tau_m
71+
}
72+
73+
UNITSOFF
74+
PROCEDURE evaluate_fct(v(mV),cai(mM)) { LOCAL a,b,tadj
75+
:
76+
: activation kinetics of Yamada et al were at 22 deg. C
77+
: transformation to 36 deg assuming Q10=3
78+
:
79+
tadj = 3 ^ ((celsius-22.0)/10)
80+
81+
a = ascale * cai * exp(v/vfctr)
82+
b = bscale * exp(-v/vfctr)
83+
84+
tau_m = 1.0 / (a + b) / tadj
85+
if(tau_m < taumin){ tau_m = taumin }
86+
m_inf = a / (a + b)
87+
}
88+
UNITSON

tests/backend/mod/IKsin.mod

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
: Slowly inactivating K+ channel
2+
3+
NEURON {
4+
SUFFIX IKsin
5+
USEION k READ ki, ko WRITE ik
6+
RANGE gKsbar, ik, gk
7+
8+
}
9+
10+
UNITS {
11+
(mA) = (milliamp)
12+
(mV) = (millivolt)
13+
(mM) = (milli/liter)
14+
15+
}
16+
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
17+
PARAMETER {
18+
v (mV)
19+
dt (ms)
20+
gKsbar= 0.00014 (mho/cm2) <0,1e9>
21+
22+
}
23+
24+
25+
STATE {
26+
a b
27+
}
28+
29+
30+
ASSIGNED {
31+
ik (mA/cm2)
32+
ainf binf
33+
atau (ms)
34+
btau (ms)
35+
gk (mho/cm2)
36+
ek (mV)
37+
ki (mM)
38+
ko (mM)
39+
}
40+
41+
42+
43+
INITIAL {
44+
rate(v)
45+
a = ainf
46+
b = binf
47+
}
48+
49+
BREAKPOINT {
50+
SOLVE states METHOD cnexp
51+
52+
gk = gKsbar * a * b
53+
ek = 25 * log(ko/ki)
54+
ik = gk*(v-ek)
55+
56+
}
57+
58+
DERIVATIVE states {
59+
rate(v)
60+
61+
a' = (ainf-a)/atau
62+
b' = (binf-b)/btau
63+
}
64+
UNITSOFF
65+
66+
PROCEDURE rate(v (mV)) {LOCAL va, vb, vc, vd
67+
68+
69+
va = v + 34
70+
vb = v + 65
71+
vd = v + 63.6
72+
73+
74+
if (fabs(va)<1e-04){ va = va+0.00001 }
75+
ainf = 1/(1 + exp(-va/6.5))
76+
atau = 10
77+
:atau=6
78+
79+
80+
if (fabs(vb)<1e-04){ vb = vb+0.00001 }
81+
binf = 1/(1 + exp(vb/6.6))
82+
83+
84+
if (fabs(vd)<1e-04){ vd = vd+0.00001 }
85+
btau = 200 + 3200 / (1 + exp(-vd/4))
86+
:btau = 200 + 3200 / (1 + exp(-vd/4))
87+
}
88+
89+
90+
UNITSON
91+
92+
93+
94+
95+
96+
97+

tests/backend/mod/ar.mod

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
TITLE Anomalous rectifier current for RD Traub, J Neurophysiol 89:909-921, 2003
2+
3+
COMMENT
4+
Implemented by Maciej Lazarewicz 2003 (mlazarew@seas.upenn.edu)
5+
ENDCOMMENT
6+
7+
INDEPENDENT { t FROM 0 TO 1 WITH 1 (ms) }
8+
9+
UNITS {
10+
(mV) = (millivolt)
11+
(mA) = (milliamp)
12+
}
13+
14+
NEURON {
15+
SUFFIX ar_hnn
16+
NONSPECIFIC_CURRENT i
17+
RANGE gbar, i
18+
}
19+
20+
PARAMETER {
21+
gbar = 0.0 (mho/cm2)
22+
v (mV)
23+
erev = -35 (mV)
24+
}
25+
26+
ASSIGNED {
27+
i (mA/cm2)
28+
minf (1)
29+
mtau (ms)
30+
}
31+
32+
STATE {
33+
m
34+
}
35+
36+
BREAKPOINT {
37+
SOLVE states METHOD cnexp
38+
i = gbar * m * ( v - erev )
39+
}
40+
41+
INITIAL {
42+
settables(v)
43+
m = minf
44+
m = 0.25
45+
}
46+
47+
DERIVATIVE states {
48+
settables(v)
49+
m' = ( minf - m ) / mtau
50+
}
51+
52+
UNITSOFF
53+
PROCEDURE settables(v) {
54+
TABLE minf, mtau FROM -120 TO 40 WITH 641
55+
minf = 1 / ( 1 + exp( ( v + 75 ) / 5.5 ) )
56+
mtau = 1 / ( exp( -14.6 - 0.086 * v ) + exp( -1.87 + 0.07 * v ) )
57+
}
58+
UNITSON

tests/backend/mod/ar_traub.mod

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
TITLE Anomalous rectifier current for RD Traub, J Neurophysiol 89:909-921, 2003
2+
3+
COMMENT
4+
5+
Implemented by Maciej Lazarewicz 2003 (mlazarew@seas.upenn.edu)
6+
7+
ENDCOMMENT
8+
9+
INDEPENDENT { t FROM 0 TO 1 WITH 1 (ms) }
10+
11+
UNITS {
12+
(mV) = (millivolt)
13+
(mA) = (milliamp)
14+
}
15+
NEURON {
16+
SUFFIX ar
17+
NONSPECIFIC_CURRENT i
18+
RANGE gbar, i
19+
}
20+
PARAMETER {
21+
gbar = 0.0 (mho/cm2)
22+
v (mV)
23+
erev = -35 (mV)
24+
}
25+
ASSIGNED {
26+
i (mA/cm2)
27+
minf (1)
28+
mtau (ms)
29+
}
30+
STATE {
31+
m
32+
}
33+
BREAKPOINT {
34+
SOLVE states METHOD cnexp
35+
i = gbar * m * ( v - erev )
36+
}
37+
INITIAL {
38+
minf = 1 / ( 1 + exp( ( v + 75 ) / 5.5 ) )
39+
mtau = 1 / ( exp( -14.6 - 0.086 * v ) + exp( -1.87 + 0.07 * v ) )
40+
m = minf
41+
: m = 0.25 : ??
42+
}
43+
DERIVATIVE states {
44+
minf = 1 / ( 1 + exp( ( v + 75 ) / 5.5 ) )
45+
mtau = 1 / ( exp( -14.6 - 0.086 * v ) + exp( -1.87 + 0.07 * v ) )
46+
m' = ( minf - m ) / mtau
47+
}

0 commit comments

Comments
 (0)