From d33a31b53ad22ba987ae2de25e4af6da1b45375d Mon Sep 17 00:00:00 2001 From: Johannes Hjorth Date: Thu, 20 Jun 2024 16:58:56 +0200 Subject: [PATCH] Missed committing the new files! --- data/neurons/mechanisms/Im_ms.mod | 88 ++++++ data/neurons/mechanisms/NO.mod | 90 ++++++ data/neurons/mechanisms/bk_ch.mod | 105 +++++++ data/neurons/mechanisms/bk_fs.mod | 99 +++++++ data/neurons/mechanisms/bk_ms.mod | 104 +++++++ data/neurons/mechanisms/ca_ch.mod | 164 +++++++++++ data/neurons/mechanisms/cadyn_fs.mod | 59 ++++ data/neurons/mechanisms/cadyn_ms.mod | 67 +++++ data/neurons/mechanisms/cal12_ms.mod | 146 ++++++++++ data/neurons/mechanisms/cal13_ms.mod | 146 ++++++++++ data/neurons/mechanisms/cal_ch.mod | 147 ++++++++++ data/neurons/mechanisms/caldyn_ms.mod | 68 +++++ data/neurons/mechanisms/can_fs.mod | 121 +++++++++ data/neurons/mechanisms/can_ms.mod | 141 ++++++++++ data/neurons/mechanisms/cap_ch.mod | 112 ++++++++ data/neurons/mechanisms/caq_fs.mod | 100 +++++++ data/neurons/mechanisms/caq_ms.mod | 105 +++++++ data/neurons/mechanisms/car_fs.mod | 113 ++++++++ data/neurons/mechanisms/car_ms.mod | 135 +++++++++ data/neurons/mechanisms/cat32_ms.mod | 103 +++++++ data/neurons/mechanisms/cat33_ms.mod | 103 +++++++ data/neurons/mechanisms/hcn12_ch.mod | 138 ++++++++++ data/neurons/mechanisms/hd_lts.mod | 98 +++++++ data/neurons/mechanisms/im_lts.mod | 115 ++++++++ data/neurons/mechanisms/it_lts.mod | 113 ++++++++ data/neurons/mechanisms/kaf_fs.mod | 110 ++++++++ data/neurons/mechanisms/kaf_lts.mod | 110 ++++++++ data/neurons/mechanisms/kaf_ms.mod | 145 ++++++++++ data/neurons/mechanisms/kas_fs.mod | 107 ++++++++ data/neurons/mechanisms/kas_ms.mod | 130 +++++++++ data/neurons/mechanisms/kcnq_ch.mod | 67 +++++ data/neurons/mechanisms/kdb_lts.mod | 90 ++++++ data/neurons/mechanisms/kdr_fs.mod | 80 ++++++ data/neurons/mechanisms/kdr_lts.mod | 82 ++++++ data/neurons/mechanisms/kdr_ms.mod | 79 ++++++ data/neurons/mechanisms/kdrb_lts.mod | 92 +++++++ data/neurons/mechanisms/kir23_ch.mod | 109 ++++++++ data/neurons/mechanisms/kir23_lts.mod | 112 ++++++++ data/neurons/mechanisms/kir2_ch.mod | 75 +++++ data/neurons/mechanisms/kir_fs.mod | 122 +++++++++ data/neurons/mechanisms/kir_ms.mod | 124 +++++++++ data/neurons/mechanisms/kv2_ch.mod | 92 +++++++ data/neurons/mechanisms/kv4_ch.mod | 124 +++++++++ data/neurons/mechanisms/na2_ch.mod | 156 +++++++++++ data/neurons/mechanisms/na3_lts.mod | 147 ++++++++++ data/neurons/mechanisms/na_ch.mod | 160 +++++++++++ data/neurons/mechanisms/naf_fs.mod | 98 +++++++ data/neurons/mechanisms/naf_lts.mod | 106 ++++++++ data/neurons/mechanisms/naf_ms.mod | 104 +++++++ data/neurons/mechanisms/par_ggap.mod | 22 ++ data/neurons/mechanisms/sk_ch.mod | 83 ++++++ data/neurons/mechanisms/sk_fs.mod | 83 ++++++ data/neurons/mechanisms/sk_ms.mod | 83 ++++++ data/neurons/mechanisms/tmgabaa.mod | 154 +++++++++++ data/neurons/mechanisms/tmglut.mod | 238 ++++++++++++++++ data/neurons/mechanisms/tmglut_M1RH_D1.mod | 282 +++++++++++++++++++ data/neurons/mechanisms/tmglut_double.mod | 302 +++++++++++++++++++++ data/neurons/mechanisms/vecevent.mod | 80 ++++++ 58 files changed, 6728 insertions(+) create mode 100644 data/neurons/mechanisms/Im_ms.mod create mode 100644 data/neurons/mechanisms/NO.mod create mode 100644 data/neurons/mechanisms/bk_ch.mod create mode 100644 data/neurons/mechanisms/bk_fs.mod create mode 100644 data/neurons/mechanisms/bk_ms.mod create mode 100644 data/neurons/mechanisms/ca_ch.mod create mode 100644 data/neurons/mechanisms/cadyn_fs.mod create mode 100644 data/neurons/mechanisms/cadyn_ms.mod create mode 100644 data/neurons/mechanisms/cal12_ms.mod create mode 100644 data/neurons/mechanisms/cal13_ms.mod create mode 100644 data/neurons/mechanisms/cal_ch.mod create mode 100644 data/neurons/mechanisms/caldyn_ms.mod create mode 100644 data/neurons/mechanisms/can_fs.mod create mode 100644 data/neurons/mechanisms/can_ms.mod create mode 100644 data/neurons/mechanisms/cap_ch.mod create mode 100644 data/neurons/mechanisms/caq_fs.mod create mode 100644 data/neurons/mechanisms/caq_ms.mod create mode 100644 data/neurons/mechanisms/car_fs.mod create mode 100644 data/neurons/mechanisms/car_ms.mod create mode 100644 data/neurons/mechanisms/cat32_ms.mod create mode 100644 data/neurons/mechanisms/cat33_ms.mod create mode 100644 data/neurons/mechanisms/hcn12_ch.mod create mode 100644 data/neurons/mechanisms/hd_lts.mod create mode 100644 data/neurons/mechanisms/im_lts.mod create mode 100644 data/neurons/mechanisms/it_lts.mod create mode 100644 data/neurons/mechanisms/kaf_fs.mod create mode 100644 data/neurons/mechanisms/kaf_lts.mod create mode 100644 data/neurons/mechanisms/kaf_ms.mod create mode 100644 data/neurons/mechanisms/kas_fs.mod create mode 100644 data/neurons/mechanisms/kas_ms.mod create mode 100644 data/neurons/mechanisms/kcnq_ch.mod create mode 100644 data/neurons/mechanisms/kdb_lts.mod create mode 100644 data/neurons/mechanisms/kdr_fs.mod create mode 100644 data/neurons/mechanisms/kdr_lts.mod create mode 100644 data/neurons/mechanisms/kdr_ms.mod create mode 100644 data/neurons/mechanisms/kdrb_lts.mod create mode 100644 data/neurons/mechanisms/kir23_ch.mod create mode 100644 data/neurons/mechanisms/kir23_lts.mod create mode 100644 data/neurons/mechanisms/kir2_ch.mod create mode 100644 data/neurons/mechanisms/kir_fs.mod create mode 100644 data/neurons/mechanisms/kir_ms.mod create mode 100644 data/neurons/mechanisms/kv2_ch.mod create mode 100644 data/neurons/mechanisms/kv4_ch.mod create mode 100644 data/neurons/mechanisms/na2_ch.mod create mode 100644 data/neurons/mechanisms/na3_lts.mod create mode 100644 data/neurons/mechanisms/na_ch.mod create mode 100644 data/neurons/mechanisms/naf_fs.mod create mode 100644 data/neurons/mechanisms/naf_lts.mod create mode 100644 data/neurons/mechanisms/naf_ms.mod create mode 100644 data/neurons/mechanisms/par_ggap.mod create mode 100644 data/neurons/mechanisms/sk_ch.mod create mode 100644 data/neurons/mechanisms/sk_fs.mod create mode 100644 data/neurons/mechanisms/sk_ms.mod create mode 100644 data/neurons/mechanisms/tmgabaa.mod create mode 100644 data/neurons/mechanisms/tmglut.mod create mode 100644 data/neurons/mechanisms/tmglut_M1RH_D1.mod create mode 100644 data/neurons/mechanisms/tmglut_double.mod create mode 100644 data/neurons/mechanisms/vecevent.mod diff --git a/data/neurons/mechanisms/Im_ms.mod b/data/neurons/mechanisms/Im_ms.mod new file mode 100644 index 00000000..c6173c12 --- /dev/null +++ b/data/neurons/mechanisms/Im_ms.mod @@ -0,0 +1,88 @@ +COMMENT +Mechanism taken from Doron et al., 2017 +https://senselab.med.yale.edu/ModelDB/ShowModel.cshtml?model=231427&file=/reproduction/Im.mod#tabs-2 + +Reference : Adams et al. 1982 - M-currents and other potassium currents in bullfrog sympathetic neurones + +corrected rates using q10 = 2.3, target temperature 34, orginal 21 + + +ENDCOMMENT + +NEURON { + SUFFIX Im_ms + USEION k READ ek WRITE ik + RANGE gbar, gIm, ik + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) +} + +PARAMETER { + gbar = 0.00001 (S/cm2) + + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ek (mV) + ik (mA/cm2) + gIm (S/cm2) + mInf + mTau + mAlpha + mBeta + PKAi (mM) + modulation_factor (1) +} + +STATE { + m +} + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + gIm = gbar*m*modulation_factor + ik = gIm*(v-ek) +} + +DERIVATIVE states { + rates() + m' = (mInf-m)/mTau +} + +INITIAL{ + rates() + m = mInf +} + +PROCEDURE rates(){ + LOCAL qt + qt = 2.3^((34-21)/10) + + UNITSOFF + mAlpha = 3.3e-3*exp(2.5*0.04*(v - -35)) + mBeta = 3.3e-3*exp(-2.5*0.04*(v - -35)) + mInf = mAlpha/(mAlpha + mBeta) + mTau = (1/(mAlpha + mBeta))/qt + UNITSON +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} diff --git a/data/neurons/mechanisms/NO.mod b/data/neurons/mechanisms/NO.mod new file mode 100644 index 00000000..3a4b541f --- /dev/null +++ b/data/neurons/mechanisms/NO.mod @@ -0,0 +1,90 @@ +COMMENT +Two state kinetic scheme synapse which comes from Expsyn modfile which was fitted with new time constants to describe the effect of nitric oxide coupled to a spike integrating mechanisms (Infire1) +ENDCOMMENT + +NEURON { + POINT_PROCESS NO + RANGE tau1, tau2, e, i + NONSPECIFIC_CURRENT i + RANGE g, m +} + +UNITS { + (nA) = (nanoamp) + (mV) = (millivolt) + (uS) = (microsiemens) +} + +PARAMETER { + tau1 = 2000 (ms) <1e-9,1e9> + tau2 = 3000 (ms) <1e-9,1e9> + e=0 (mV) + tau = 1000 (ms) + refrac = 10 (ms) +} + +ASSIGNED { + v (mV) + i (nA) + g (uS) + factor + m + t0(ms) + refractory +} + +STATE { + A (uS) + B (uS) +} + +INITIAL { + LOCAL tp + if (tau1/tau2 > 0.9999) { + tau1 = 0.9999*tau2 + } + if (tau1/tau2 < 1e-9) { + tau1 = tau2*1e-9 + } + A = 0 + B = 0 + tp = (tau1*tau2)/(tau2 - tau1) * log(tau2/tau1) + factor = -exp(-tp/tau1) + exp(-tp/tau2) + factor = 1/factor + m = 0 + t0 = t + refractory = 0 : 0-integrates input, 1-refractory +} + +BREAKPOINT { + SOLVE state METHOD cnexp + g = B - A + i = g*(v - e) +} + +DERIVATIVE state { + A' = -A/tau1 + B' = -B/tau2 +} + + +NET_RECEIVE(weight (uS)) { + if (refractory == 0) { : inputs integrated only when excitable + m = m*exp(-(t - t0)/tau) + t0 = t + m = m + 0.075 + if (m > 1) { + refractory = 1 + m = 2 + + A = A + weight*factor + B = B + weight*factor + + } + }else if (m==2) { : ready to integrate again + t0 = t + refractory = 0 + m = 0 + } + +} diff --git a/data/neurons/mechanisms/bk_ch.mod b/data/neurons/mechanisms/bk_ch.mod new file mode 100644 index 00000000..146cb647 --- /dev/null +++ b/data/neurons/mechanisms/bk_ch.mod @@ -0,0 +1,105 @@ +: BK-type Purkinje calcium-activated potassium current +: Created 8/19/02 - nwg + +NEURON { + SUFFIX bk_ch + USEION k READ ek WRITE ik + USEION ca READ cai + RANGE gbar, ik, g + GLOBAL minf, mtau, hinf, htau, zinf, ztau + GLOBAL m_vh, m_k, mtau_y0, mtau_vh1, mtau_vh2, mtau_k1, mtau_k2 + GLOBAL z_coef, ztau + GLOBAL h_y0, h_vh, h_k, htau_y0, htau_vh1, htau_vh2, htau_k1, htau_k2 +} + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (mM) = (milli/liter) +} + +PARAMETER { + v (mV) + gbar = .007 (mho/cm2) + + m_vh = -28.9 (mV) + m_k = 6.2 (mV) + mtau_y0 = .000505 (s) + mtau_vh1 = -33.3 (mV) + mtau_k1 = -10 (mV) + mtau_vh2 = 86.4 (mV) + mtau_k2 = 10.1 (mV) + + z_coef = .001 (mM) + ztau = 1 (ms) + + h_y0 = .085 + h_vh = -32 (mV) + h_k = 5.8 (mV) + htau_y0 = .0019 (s) + htau_vh1 = -54.2 (mV) + htau_k1 = -12.9 (mV) + htau_vh2 = 48.5 (mV) + htau_k2 = 5.2 (mV) + + ek (mV) + cai (mM) +} + +ASSIGNED { + minf + mtau (ms) + hinf + htau (ms) + zinf + g (S/cm2) + ik (mA/cm2) +} + +STATE { + m FROM 0 TO 1 + z FROM 0 TO 1 + h FROM 0 TO 1 +} + +BREAKPOINT { + SOLVE states METHOD cnexp + g = gbar * m * m * m * z * z * h + ik = g * (v - ek) +} + +DERIVATIVE states { + rates(v) + + m' = (minf - m) / mtau + h' = (hinf - h) / htau + z' = (zinf - z) / ztau +} + +PROCEDURE rates(Vm (mV)) { + LOCAL v + v = Vm + 5 + minf = 1 / (1 + exp(-(v - (m_vh)) / m_k)) + mtau = (1e3) * (mtau_y0 + 1/(exp((v+ mtau_vh1)/mtau_k1) + exp((v+mtau_vh2)/mtau_k2))) + zinf = 1/(1 + z_coef / cai) + hinf = h_y0 + (1-h_y0) / (1+exp((v - h_vh)/h_k)) + htau = (1e3) * (htau_y0 + 1/(exp((v + htau_vh1)/htau_k1)+exp((v+htau_vh2)/htau_k2))) +} + +INITIAL { + rates(v) + m = minf + z = zinf + h = hinf +} + +COMMENT +From model: +Maurice N, Mercer J, Chan CS, Hernandez-Lopez S, Held J, Tkatch T, Surmeier DJ. +D2 dopamine receptor-mediated modulation of voltage-dependent Na+ channels +reduces autonomous activity in striatal cholinergic interneurons. +J Neurosci. 2004 Nov 17;24(46):10289-301. doi: 10.1523/JNEUROSCI.2155-04.2004. +PMID: 15548642; PMCID: PMC6730305. + + +ENDCOMMENT diff --git a/data/neurons/mechanisms/bk_fs.mod b/data/neurons/mechanisms/bk_fs.mod new file mode 100644 index 00000000..21bef2fd --- /dev/null +++ b/data/neurons/mechanisms/bk_fs.mod @@ -0,0 +1,99 @@ +TITLE BK-type calcium activated K channel (KCa1.1) + +UNITS { + (molar) = (1/liter) + (mV) = (millivolt) + (mA) = (milliamp) + (mM) = (millimolar) + FARADAY = (faraday) (kilocoulombs) + R = (k-mole) (joule/degC) +} + +NEURON { + SUFFIX bk_fs + USEION ca READ cai + USEION k READ ek WRITE ik + RANGE gbar, ik +} + +PARAMETER { + gbar = 0.0 (mho/cm2) + k1 = 0.003 (mM) + k4 = 0.009 (mM) + d1 = 0.84 + d4 = 1.0 + q = 1 : body temperature 35 C +} + +ASSIGNED { + v (mV) + ik (mA/cm2) + celsius (degC) + cai (mM) + ek (mV) + oinf + otau (ms) +} + +STATE { o } + +BREAKPOINT { + SOLVE state METHOD cnexp + ik = gbar*o*(v-ek) +} + +DERIVATIVE state { + rate(v, cai) + o' = (oinf-o)/otau*q +} + +INITIAL { + rate(v, cai) + o = oinf +} + +PROCEDURE rate(v (mV), ca (mM)) { + LOCAL a, b, sum, z + UNITSOFF + z = 1e-3*2*FARADAY/(R*(celsius+273.15)) + a = 0.48*ca/(ca+k1*exp(-z*d1*v)) + b = 0.28/(1+ca/(k4*exp(-z*d4*v))) + sum = a+b + oinf = a/sum + otau = 1/sum + UNITSON +} + +COMMENT + +Experimental data was obtained from BKCa channels from rat brain injected +as cRNAs into Xenopus oocytes [1]. Electrophysiological recordings were +performed at room temperature 22-24 C [1, supporting online material]. + +Original model [2, model 3 in Tab.1] was implemented by De Schutter +and adapted by Kai Du. In the model revisions [3,4] parameters k1 and k4 +[2, channel A in Tab.2] were adjusted to fit rat/Xenopus data +[1, Fig.3C and Fig.4A, 10 uM Ca] at body temperature 35 C. + +NEURON implementation by Alexander Kozlov . + +[1] Berkefeld H, Sailer CA, Bildl W, Rohde V, Thumfart JO, Eble S, +Klugbauer N, Reisinger E, Bischofberger J, Oliver D, Knaus HG, Schulte U, +Fakler B (2006) BKCa-Cav channel complexes mediate rapid and localized +Ca2+-activated K+ signaling. Science 314(5799):615-20. + +[2] Moczydlowski E, Latorre R (1983) Gating kinetics of Ca2+-activated K+ +channels from rat muscle incorporated into planar lipid bilayers. Evidence +for two voltage-dependent Ca2+ binding reactions. J Gen Physiol +82(4):511-42. + +[3] Evans RC, Morera-Herreras T, Cui Y, Du K, Sheehan T, Kotaleski JH, +Venance L, Blackwell KT (2012) The effects of NMDA subunit composition on +calcium influx and spike timing-dependent plasticity in striatal medium +spiny neurons. PLoS Comput Biol 8(4):e1002493. + +[4] Evans RC, Maniar YM, Blackwell KT (2013) Dynamic modulation of +spike timing-dependent calcium influx during corticostriatal upstates. J +Neurophysiol 110(7):1631-45. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/bk_ms.mod b/data/neurons/mechanisms/bk_ms.mod new file mode 100644 index 00000000..93dd5655 --- /dev/null +++ b/data/neurons/mechanisms/bk_ms.mod @@ -0,0 +1,104 @@ +TITLE BK-type calcium activated K channel (KCa1.1) + +UNITS { + (molar) = (1/liter) + (mV) = (millivolt) + (mA) = (milliamp) + (mM) = (millimolar) + FARADAY = (faraday) (kilocoulombs) + R = (k-mole) (joule/degC) +} + +NEURON { + SUFFIX bk_ms + USEION ca READ cai + USEION k READ ek WRITE ik + RANGE gbar, ik +} + +PARAMETER { + gbar = 0.0 (mho/cm2) + k1 = 0.003 (mM) + k4 = 0.009 (mM) + d1 = 0.84 + d4 = 1.0 + q = 1 : body temperature 35 C +} + +ASSIGNED { + v (mV) + ik (mA/cm2) + celsius (degC) + cai (mM) + ek (mV) + oinf + otau (ms) +} + +STATE { o } + +BREAKPOINT { + SOLVE state METHOD cnexp + ik = gbar*o*(v-ek) +} + +DERIVATIVE state { + rate(v, cai) + o' = (oinf-o)/otau*q +} + +INITIAL { + rate(v, cai) + o = oinf +} + +PROCEDURE rate(v (mV), ca (mM)) { + LOCAL a, b, sum, z + UNITSOFF + z = 1e-3*2*FARADAY/(R*(celsius+273.15)) + a = 0.48*ca/(ca+k1*exp(-z*d1*v)) + b = 0.28/(1+ca/(k4*exp(-z*d4*v))) + sum = a+b + oinf = a/sum + otau = 1/sum + UNITSON +} + +COMMENT + +Experimental data was obtained from BKCa channels from rat brain injected +as cRNAs into Xenopus oocytes [1]. Electrophysiological recordings were +performed at room temperature 22-24 C [1, supporting online material]. + +Original model [2, model 3 in Tab.1] was implemented by De Schutter +and adapted by Kai Du [5]. In the model revisions [3,4] parameters k1 and k4 +[2, channel A in Tab.2] were adjusted to fit rat/Xenopus data +[1, Fig.3C and Fig.4A, 10 uM Ca] at body temperature 35 C. + +NEURON implementation by Alexander Kozlov . + +[1] Berkefeld H, Sailer CA, Bildl W, Rohde V, Thumfart JO, Eble S, +Klugbauer N, Reisinger E, Bischofberger J, Oliver D, Knaus HG, Schulte U, +Fakler B (2006) BKCa-Cav channel complexes mediate rapid and localized +Ca2+-activated K+ signaling. Science 314(5799):615-20. + +[2] Moczydlowski E, Latorre R (1983) Gating kinetics of Ca2+-activated K+ +channels from rat muscle incorporated into planar lipid bilayers. Evidence +for two voltage-dependent Ca2+ binding reactions. J Gen Physiol +82(4):511-42. + +[3] Evans RC, Morera-Herreras T, Cui Y, Du K, Sheehan T, Kotaleski JH, +Venance L, Blackwell KT (2012) The effects of NMDA subunit composition on +calcium influx and spike timing-dependent plasticity in striatal medium +spiny neurons. PLoS Comput Biol 8(4):e1002493. + +[4] Evans RC, Maniar YM, Blackwell KT (2013) Dynamic modulation of +spike timing-dependent calcium influx during corticostriatal upstates. J +Neurophysiol 110(7):1631-45. + +[5] Du K, Wu YW, Lindroos R, Liu Y, Rózsa B, Katona G, Ding JB, +Kotaleski JH (2017) Cell-type-specific inhibition of the dendritic +plateau potential in striatal spiny projection neurons. Proc Natl Acad +Sci USA 114:E7612-E7621. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/ca_ch.mod b/data/neurons/mechanisms/ca_ch.mod new file mode 100644 index 00000000..87f9fb6c --- /dev/null +++ b/data/neurons/mechanisms/ca_ch.mod @@ -0,0 +1,164 @@ +:Migliore file Modify by Maciej Lazarewicz (mailto:mlazarew@gmu.edu) May/16/2001 + +TITLE Calcium ion accumulation and diffusion +: The internal coordinate system is set up in PROCEDURE coord_cadifus() +: and must be executed before computing the concentrations. +: The scale factors set up in this procedure do not have to be recomputed +: when diam1 or DFree are changed. +: The amount of calcium in an annulus is ca[i]*diam1^2*vol[i] with +: ca[0] being the second order correct concentration at the exact edge +: and ca[NANN-1] being the concentration at the exact center + +NEURON { + SUFFIX ca_ch + USEION ca READ cao, cai, ica WRITE cai, ica + RANGE ipump,last_ipump,test + GLOBAL DFree, k1buf, k2buf, k1, k2, k3, k4, totpump, totbuf + GLOBAL vol, Buffer0 +} + +DEFINE NANN 4 + +UNITS { + (mol) = (1) + (molar) = (1/liter) + (mM) = (millimolar) + (um) = (micron) + (mA) = (milliamp) + FARADAY = (faraday) (10000 coulomb) + PI = (pi) (1) +} + +PARAMETER { + DFree = .6 (um2/ms) + diam = 1 (um) + cao (mM) + ica (mA/cm2) + k1buf = 500 (/mM-ms) + k2buf = 0.5 (/ms) + k1 = 1.e10 (um3/s) + k2 = 50.e7 (/s) : k1*50.e-3 + k3 = 1.e10 (/s) : k1 + k4 = 5.e6 (um3/s) : k1*5.e-4 + totpump = 0.2 (mol/cm2) + totbuf = 1.2 (mM) +} + +CONSTANT { volo=1 (liter)} + +ASSIGNED { + area (um2) + test + cai (mM) + vol[NANN] (1) : gets extra cm2 when multiplied by diam^2 + ipump (mA/cm2) + last_ipump (mA/cm2) +} + +STATE { + ca[NANN] (mM) <1.e-5> : ca[0] is equivalent to cai + CaBuffer[NANN] (mM) + Buffer[NANN] (mM) + pump (mol/cm2) <1.e-3> + pumpca (mol/cm2) <1.e-15> + +} + +BREAKPOINT { + SOLVE state METHOD sparse + last_ipump=ipump + ica = ipump + test = 0 +} + +LOCAL coord_done + +INITIAL { + if (coord_done == 0) { + coord_done = 1 + coord() + } + : note Buffer gets set to Buffer0 automatically + : and CaBuffer gets set to 0 (Default value of CaBuffer0) as well + FROM i=0 TO NANN-1 { + ca[i] = cai + } + + ipump = 0 + pump = totpump + pumpca = (1e-18)*pump*cao*k4/k3 + + FROM i=0 TO NANN-1 { + ca[i] = cai + CaBuffer[i] =(totbuf*ca[i])/(k2buf/k1buf+ca[i]) + Buffer[i] = totbuf - CaBuffer[i] + } +} + +LOCAL frat[NANN] : gets extra cm when multiplied by diam + +PROCEDURE coord() { + LOCAL r, dr2 + : cylindrical coordinate system with constant annuli thickness to + : center of cell. Note however that the first annulus is half thickness + : so that the concentration is second order correct spatially at + : the membrane or exact edge of the cell. + : note ca[0] is at edge of cell + : ca[NANN-1] is at center of cell + r = 1/2 :starts at edge (half diam) + dr2 = r/(NANN-1)/2 :half thickness of annulus + vol[0] = 0 + frat[0] = 2*r + FROM i=0 TO NANN-2 { + vol[i] = vol[i] + PI*(r-dr2/2)*2*dr2 :interior half + r = r - dr2 + frat[i+1] = 2*PI*r/(2*dr2) :exterior edge of annulus + : divided by distance between centers + r = r - dr2 + vol[i+1] = PI*(r+dr2/2)*2*dr2 :outer half of annulus + } +} + +LOCAL dsq, dsqvol : can't define local variable in KINETIC block or use + : in COMPARTMENT +KINETIC state { + COMPARTMENT i, diam*diam*vol[i]*1(um) {ca CaBuffer Buffer} + COMPARTMENT (1.e10)*area {pump pumpca} + COMPARTMENT (1.e15)*volo {cao} + + ~ ca[0] << (-(ica-last_ipump)*PI*diam*frat[0]*1(um)/(2*FARADAY)) + + FROM i=0 TO NANN-2 { + ~ ca[i] <-> ca[i+1] (DFree*frat[i+1]*1(um), DFree*frat[i+1]*1(um)) + } + + dsq = diam*diam*1(um) + FROM i=0 TO NANN-1 { + dsqvol = dsq*vol[i] + ~ ca[i] + Buffer[i] <-> CaBuffer[i] (k1buf*dsqvol,k2buf*dsqvol) + } + + ~ca[0] + pump <-> pumpca ((1.e-11)*k1*area, (1.e7)*k2*area) + ~pumpca <-> pump + cao ((1.e7)*k3*area, (1.e-11)*k4*area) + + ipump = 2*FARADAY*(f_flux-b_flux)/area + + cai = ca[0] +} + +COMMENT +At this time, conductances (and channel states and currents are +calculated at the midpoint of a dt interval. Membrane potential and +concentrations are calculated at the edges of a dt interval. With +secondorder=2 everything turns out to be second order correct. + +From model: +Maurice N, Mercer J, Chan CS, Hernandez-Lopez S, Held J, Tkatch T, Surmeier DJ. +D2 dopamine receptor-mediated modulation of voltage-dependent Na+ channels +reduces autonomous activity in striatal cholinergic interneurons. +J Neurosci. 2004 Nov 17;24(46):10289-301. doi: 10.1523/JNEUROSCI.2155-04.2004. +PMID: 15548642; PMCID: PMC6730305. + +ENDCOMMENT + + diff --git a/data/neurons/mechanisms/cadyn_fs.mod b/data/neurons/mechanisms/cadyn_fs.mod new file mode 100644 index 00000000..17651d8a --- /dev/null +++ b/data/neurons/mechanisms/cadyn_fs.mod @@ -0,0 +1,59 @@ +TITLE Calcium dynamics for N, P/Q, R calcium pool + +NEURON { + SUFFIX cadyn_fs + USEION ca READ ica, cai WRITE cai VALENCE 2 + RANGE pump, cainf, taur, drive +} + +UNITS { + (molar) = (1/liter) + (mM) = (millimolar) + (um) = (micron) + (mA) = (milliamp) + (msM) = (ms mM) + FARADAY = (faraday) (coulomb) +} + +PARAMETER { + drive = 10000 (1) + depth = 0.1 (um) + cainf = 10e-6 (mM) + taur = 43 (ms) + kt = 1e-4 (mM/ms) + kd = 1e-4 (mM) + pump = 0.02 +} + +STATE { cai (mM) } + +INITIAL { cai = cainf } + +ASSIGNED { + ica (mA/cm2) + drive_channel (mM/ms) + drive_pump (mM/ms) +} + +BREAKPOINT { + SOLVE state METHOD cnexp +} + +DERIVATIVE state { + drive_channel = -drive*ica/(2*FARADAY*depth) + if (drive_channel <= 0.) { drive_channel = 0. } + drive_pump = -kt*cai/(cai+kd) + cai' = (drive_channel+pump*drive_pump+(cainf-cai)/taur) +} + +COMMENT + +Original NEURON model by Wolf (2005) and Destexhe (1992). Adaptation by +Alexander Kozlov . + +[1] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/cadyn_ms.mod b/data/neurons/mechanisms/cadyn_ms.mod new file mode 100644 index 00000000..472b2de9 --- /dev/null +++ b/data/neurons/mechanisms/cadyn_ms.mod @@ -0,0 +1,67 @@ +TITLE Calcium dynamics for N, P/Q, R calcium pool + +NEURON { + SUFFIX cadyn_ms + USEION ca READ ica, cai WRITE cai VALENCE 2 + RANGE pump, cainf, taur, drive, depth +} + +UNITS { + (molar) = (1/liter) + (mM) = (millimolar) + (um) = (micron) + (mA) = (milliamp) + (msM) = (ms mM) + FARADAY = (faraday) (coulomb) +} + +PARAMETER { + drive = 10000 (1) + depth = 0.2 (um) + cainf = 70e-6 (mM) + taur = 43 (ms) + kt = 1e-4 (mM/ms) + kd = 1e-4 (mM) + pump = 0.02 +} + +STATE { cai (mM) } + +INITIAL { cai = cainf } + +ASSIGNED { + ica (mA/cm2) + drive_channel (mM/ms) + drive_pump (mM/ms) +} + +BREAKPOINT { + SOLVE state METHOD cnexp +} + +DERIVATIVE state { + + : force concentration to stay above cainf by only pumping if larger + drive_channel = -drive*ica/(2*FARADAY*depth) + drive_pump = -kt*(cai-cainf)/(cai+kd) + + if (drive_channel <= 0.) { drive_channel = 0. } + + cai' = drive_channel + pump*drive_pump + (cainf-cai)/taur +} + +COMMENT + +Original NEURON model by Wolf (2005) and Destexhe (1992). Adaptation by +Alexander Kozlov . Updated by Robert Lindroos . + +Updates by RL: +-cainf changed from 10 to 70 nM (sabatini et al., 2002 The Life Cycle of Ca 2+ Ions in Dendritic Spines) +-pump updated to only be active if cai > cainf + +[1] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/cal12_ms.mod b/data/neurons/mechanisms/cal12_ms.mod new file mode 100644 index 00000000..237ff5a2 --- /dev/null +++ b/data/neurons/mechanisms/cal12_ms.mod @@ -0,0 +1,146 @@ +TITLE HVA L-type calcium current (Cav1.2) + + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (S) = (siemens) + (molar) = (1/liter) + (mM) = (millimolar) + FARADAY = (faraday) (coulomb) + R = (k-mole) (joule/degC) +} + +NEURON { + SUFFIX cal12_ms + USEION cal READ cali, calo WRITE ical VALENCE 2 + RANGE pbar, ical + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor +} + +PARAMETER { + pbar = 0.0 (cm/s) + a = 0.17 + :q = 1 : room temperature 22-25 C + q = 2 : body temperature 35 C + + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) + +} + +ASSIGNED { + v (mV) + ical (mA/cm2) + ecal (mV) + celsius (degC) + cali (mM) + calo (mM) + minf + mtau (ms) + hinf + htau (ms) + PKAi (mM) + modulation_factor (1) +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + ical = pbar*m*(h*a+1-a)*ghk(v, cali, calo)*modulation_factor +} + +INITIAL { + rates() + m = minf + h = hinf +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-8.9))/(-6.7))) + mtau = 0.06+1/(exp((v-10)/20)+exp((v-(-17))/-48)) + hinf = 1/(1+exp((v-(-13.4))/11.9)) + htau = 44.3 + UNITSON +} + +FUNCTION ghk(v (mV), ci (mM), co (mM)) (.001 coul/cm3) { + LOCAL z, eci, eco + z = (1e-3)*2*FARADAY*v/(R*(celsius+273.15)) + eco = co*efun(z) + eci = ci*efun(-z) + ghk = (1e-3)*2*FARADAY*(eci-eco) +} + +FUNCTION efun(z) { + if (fabs(z) < 1e-4) { + efun = 1-z/2 + }else{ + efun = z/(exp(z)-1) + } +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + + + +COMMENT + +Activation curve was reconstructed for cultured NAc neurons from P5-P32 +Charles River rat pups [1]. Activation time constant is from the +rodent neuron culture (both rat and mouse cells), room temperature 22-25 +C [2, Fig.15A]. Inactivation curve of CaL v1.3 current was taken from HEK +cells [3, Fig.2 and p.819] at room temperature. + +Original NEURON model by Wolf (2005) [4] was modified by Alexander Kozlov +. Kinetics of m1h type was used [5,6]. Activation +time constant was refitted to avoid singularity. + +[1] Churchill D, Macvicar BA (1998) Biophysical and pharmacological +characterization of voltage-dependent Ca2+ channels in neurons isolated +from rat nucleus accumbens. J Neurophysiol 79(2):635-47. + +[2] Kasai H, Neher E (1992) Dihydropyridine-sensitive and +omega-conotoxin-sensitive calcium channels in a mammalian +neuroblastoma-glioma cell line. J Physiol 448:161-88. + +[3] Bell DC, Butcher AJ, Berrow NS, Page KM, Brust PF, Nesterova A, +Stauderman KA, Seabrook GR, Nurnberg B, Dolphin AC (2001) Biophysical +properties, pharmacology, and modulation of human, neuronal L-type +(alpha(1D), Ca(V)1.3) voltage-dependent calcium currents. J Neurophysiol +85:816-827. + +[4] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[5] Evans RC, Morera-Herreras T, Cui Y, Du K, Sheehan T, Kotaleski JH, +Venance L, Blackwell KT (2012) The effects of NMDA subunit composition on +calcium influx and spike timing-dependent plasticity in striatal medium +spiny neurons. PLoS Comput Biol 8(4):e1002493. + +[6] Tuckwell HC (2012) Quantitative aspects of L-type Ca2+ currents. Prog +Neurobiol 96(1):1-31. + +add justification for modulation + +ENDCOMMENT diff --git a/data/neurons/mechanisms/cal13_ms.mod b/data/neurons/mechanisms/cal13_ms.mod new file mode 100644 index 00000000..3763cc26 --- /dev/null +++ b/data/neurons/mechanisms/cal13_ms.mod @@ -0,0 +1,146 @@ +TITLE LVA L-type calcium current (Cav1.3) + + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (S) = (siemens) + (molar) = (1/liter) + (mM) = (millimolar) + FARADAY = (faraday) (coulomb) + R = (k-mole) (joule/degC) +} + +NEURON { + SUFFIX cal13_ms + USEION cal READ cali, calo WRITE ical VALENCE 2 + RANGE pbar, ical + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +PARAMETER { + pbar = 0.0 (cm/s) + :q = 1 : room temperature 22-25 C + q = 2 : body temperature 35 C + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ical (mA/cm2) + ecal (mV) + celsius (degC) + cali (mM) + calo (mM) + minf + mtau (ms) + hinf + htau (ms) + PKAi (mM) + modulation_factor (1) +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + ical = pbar*m*m*h*ghk(v, cali, calo)*modulation_factor +} + +INITIAL { + rates() + m = minf + h = hinf +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-33))/(-6.7))) + mtau = 0.06+1/(exp((v-10)/20)+exp((v-(-17))/-48)) + hinf = 1/(1+exp((v-(-13.4))/11.9)) + htau = 44.3 + UNITSON +} + +FUNCTION ghk(v (mV), ci (mM), co (mM)) (.001 coul/cm3) { + LOCAL z, eci, eco + z = (1e-3)*2*FARADAY*v/(R*(celsius+273.15)) + eco = co*efun(z) + eci = ci*efun(-z) + ghk = (1e-3)*2*FARADAY*(eci-eco) +} + +FUNCTION efun(z) { + if (fabs(z) < 1e-4) { + efun = 1-z/2 + }else{ + efun = z/(exp(z)-1) + } +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + + +COMMENT + +Activation curve was reconstructed for cultured NAc neurons from +P5-P32 Charles River rat pups [1] and shifted to match LVA data [7, +Fig.1D]. Activation time constant is from the rodent neuron culture (both +rat and mouse cells), room temperature 22-25 C [2, Fig.15A]. Inactivation +curve of CaL v1.3 current was taken from HEK cells [3, Fig.2 and p.819] +at room temperature. + +Original NEURON model by Wolf (2005) [4] was modified by Alexander Kozlov +. Kinetics of m2h type was used [5,6]. Activation +time constant was refitted to avoid singularity. + +[1] Churchill D, Macvicar BA (1998) Biophysical and pharmacological +characterization of voltage-dependent Ca2+ channels in neurons isolated +from rat nucleus accumbens. J Neurophysiol 79(2):635-47. + +[2] Kasai H, Neher E (1992) Dihydropyridine-sensitive and +omega-conotoxin-sensitive calcium channels in a mammalian +neuroblastoma-glioma cell line. J Physiol 448:161-88. + +[3] Bell DC, Butcher AJ, Berrow NS, Page KM, Brust PF, Nesterova A, +Stauderman KA, Seabrook GR, Nurnberg B, Dolphin AC (2001) Biophysical +properties, pharmacology, and modulation of human, neuronal L-type +(alpha(1D), Ca(V)1.3) voltage-dependent calcium currents. J Neurophysiol +85:816-827. + +[4] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[5] Evans RC, Morera-Herreras T, Cui Y, Du K, Sheehan T, Kotaleski JH, +Venance L, Blackwell KT (2012) The effects of NMDA subunit composition on +calcium influx and spike timing-dependent plasticity in striatal medium +spiny neurons. PLoS Comput Biol 8(4):e1002493. + +[6] Tuckwell HC (2012) Quantitative aspects of L-type Ca2+ currents. Prog +Neurobiol 96(1):1-31. + +[7] Xu W, Lipscombe D (2001) Neuronal cav1.3 L-type channels activate +at relatively hyperpolarized membrane potentials and are incompletely +inhibited by dihydropyridines. J Neurosci 21(16): 5944-5951. + + +ENDCOMMENT diff --git a/data/neurons/mechanisms/cal_ch.mod b/data/neurons/mechanisms/cal_ch.mod new file mode 100644 index 00000000..ad1bc03f --- /dev/null +++ b/data/neurons/mechanisms/cal_ch.mod @@ -0,0 +1,147 @@ +:Migliore file Modify by Maciej Lazarewicz (mailto:mlazarew@gmu.edu) May/16/2001 + +TITLE l-calcium channel +: l-type calcium channel + +: copy by josh + + +NEURON { + SUFFIX cal_ch + USEION ca READ cai,cao WRITE ica + RANGE gbar,ica , gcal + RANGE vhm, vcm + RANGE Ctm, atm, btm, tm0, vhtm + RANGE minf,tau + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +UNITS { + (mA) = (milliamp) + (mV) = (millivolt) + FARADAY = (faraday) (kilocoulombs) + R = (k-mole) (joule/degC) + KTOMV = .0853 (mV/degC) +} + +PARAMETER { + v (mV) + celsius = 6.3 (degC) + gbar = .003 (mho/cm2) + ki = .001 (mM) + cai (mM) + cao (mM) + tfa = 1 + vhm = -1.5 + vcm = 5.6 + Ctm = 3 + atm = 12 + btm = 11 + tm0 = 0 + vhtm = -2 + + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) + +} + +STATE { m } + +ASSIGNED { + ica (mA/cm2) + gcal (mho/cm2) + minf + tau (ms) + PKAi (mM) + modulation_factor (1) +} + +BREAKPOINT { + SOLVE state METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + gcal = gbar*m*m*h2(cai)*modulation_factor + ica = gcal*ghk(v,cai,cao) +} + +INITIAL { + rate(v) + m = minf +} + +FUNCTION h2(cai(mM)) { + h2 = ki/(ki+cai) +} + +FUNCTION ghk(v(mV), ci(mM), co(mM)) (mV) { + LOCAL nu,f + + f = KTF(celsius)/2 + nu = v/f + ghk=-f*(1. - (ci/co)*exp(nu))*efun(nu) +} + +FUNCTION KTF(celsius (DegC)) (mV) { + KTF = ((25./293.15)*(celsius + 273.15)) +} + +FUNCTION efun(z) { + if (fabs(z) < 1e-4) { + efun = 1 - z/2 + }else{ + efun = z/(exp(z) - 1) + } +} + +FUNCTION alp(v(mV)) (1/ms) { + TABLE FROM -150 TO 150 WITH 200 + alp = 15.69*(-1.0*v+81.5)/(exp((-1.0*v+81.5)/10.0)-1.0) +} + +FUNCTION bet(v(mV)) (1/ms) { + TABLE FROM -150 TO 150 WITH 200 + bet = 0.29*exp(-v/10.86) +} + +DERIVATIVE state { + rate(v) + m' = (minf - m)/tau +} + +PROCEDURE rate(v (mV)) { :callable from hoc + LOCAL a + + a = alp(v) + :tau = 1/(tfa*(a + bet(v))) + :minf = tfa*a*tau + tau = Ctm/(exp((v-vhtm)/atm) + exp((vhtm-v)/btm)) + tm0 + minf = 1/(1+exp(-(v-vhm)/vcm)) +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + + +COMMENT + +2024-06-20: Changed GLOBAL to RANGE + +ENDCOMMENT + + + + + + + + + + + diff --git a/data/neurons/mechanisms/caldyn_ms.mod b/data/neurons/mechanisms/caldyn_ms.mod new file mode 100644 index 00000000..ac6484f4 --- /dev/null +++ b/data/neurons/mechanisms/caldyn_ms.mod @@ -0,0 +1,68 @@ +TITLE Calcium dynamics for L and T calcium pool + +NEURON { + SUFFIX caldyn_ms + USEION cal READ ical, cali WRITE cali VALENCE 2 + RANGE pump, cainf, taur, drive, depth +} + +UNITS { + (molar) = (1/liter) + (mM) = (millimolar) + (um) = (micron) + (mA) = (milliamp) + (msM) = (ms mM) + FARADAY = (faraday) (coulomb) +} + +PARAMETER { + drive = 10000 (1) + depth = 0.2 (um) + cainf = 70e-6 (mM) + taur = 43 (ms) + kt = 1e-4 (mM/ms) + kd = 1e-4 (mM) + pump = 0.02 +} + +STATE { cali (mM) } + +INITIAL { cali = cainf } + +ASSIGNED { + ical (mA/cm2) + drive_channel (mM/ms) + drive_pump (mM/ms) +} + +BREAKPOINT { + SOLVE state METHOD cnexp +} + + +DERIVATIVE state { + + : force concentration to stay above cainf by only pumping if larger + drive_channel = -drive*ical/(2*FARADAY*depth) + drive_pump = -kt*(cali-cainf)/(cali+kd) + + if (drive_channel <= 0.) { drive_channel = 0. } + + cali' = drive_channel + pump*drive_pump + (cainf-cali)/taur +} + +COMMENT + +Original NEURON model by Wolf (2005) and Destexhe (1992). Adaptation by +Alexander Kozlov . Updated by Robert Lindroos . + +Updates by RL: +-cainf changed from 10 to 70 nM (sabatini et al., 2002 The Life Cycle of Ca 2+ Ions in Dendritic Spines) +-pump updated to only be active if cai > cainf (neutralized by adding reversed entity) + +[1] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/can_fs.mod b/data/neurons/mechanisms/can_fs.mod new file mode 100644 index 00000000..0bea8c12 --- /dev/null +++ b/data/neurons/mechanisms/can_fs.mod @@ -0,0 +1,121 @@ +TITLE N-type calcium current (Cav2.2) + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (S) = (siemens) + (molar) = (1/liter) + (mM) = (millimolar) + FARADAY = (faraday) (coulomb) + R = (k-mole) (joule/degC) +} + +NEURON { + SUFFIX can_fs + USEION ca READ cai, cao WRITE ica VALENCE 2 + RANGE pbar, ica +} + +PARAMETER { + pbar = 0.0 (cm/s) + a = 0.21 + :q = 1 : room temperature 22-25 C + q = 3 : body temperature 35 C +} + +ASSIGNED { + v (mV) + ica (mA/cm2) + eca (mV) + celsius (degC) + cai (mM) + cao (mM) + minf + mtau (ms) + hinf + htau (ms) +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + ica = pbar*m*m*(h*a+1-a)*ghk(v, cai, cao) +} + +INITIAL { + rates() + m = minf + h = hinf +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-3))/(-8))) + mtau = 0.06+1/(exp((v-25)/18)+exp((v-(-31))/(-44))) + hinf = 1/(1+exp((v-(-74.8))/6.5)) + htau = 70 + UNITSON +} + +FUNCTION ghk(v (mV), ci (mM), co (mM)) (.001 coul/cm3) { + LOCAL z, eci, eco + z = (1e-3)*2*FARADAY*v/(R*(celsius+273.15)) + eco = co*efun(z) + eci = ci*efun(-z) + ghk = (1e-3)*2*FARADAY*(eci-eco) +} + +FUNCTION efun(z) { + if (fabs(z) < 1e-4) { + efun = 1-z/2 + }else{ + efun = z/(exp(z)-1) + } +} + +COMMENT + +Model is based on mixed data. Activation curve is from neostriatal +medium spiny neurons of adult P28+ rats [1, Fig.12F], unspecified +recording temperature. Potentials were not corrected for the liquid +junction potential, which was estimated to be 7 mV. Activation time +constant is from the rodent neuron culture (both rat and mouse cells), +room temperature 22-25 C [2, Fig.15B]. Inactivation data is from human +(HEK) cells [3, Tab.1, Tab.2], supposedly at room temperature. + +Kinetics of m2h type is used [2, Fig.5]. Activation of m^2 is fitted +to the experimental data [1,4], activation time constant corresponds +to m^2 already [2]. Original model [5,4] was modified by Alexander +Kozlov . Activation time constant was refitted to avoid +singularity in the expression. Temperature correction factor 3 is used +for body temperature [4,5]. + +[1] Bargas J, Howe A, Eberwine J, Cao Y, Surmeier DJ (1994) Cellular +and molecular characterization of Ca2+ currents in acutely isolated, +adult rat neostriatal neurons. J Neurosci 14(11 Pt 1):6667-86. + +[2] Kasai H, Neher E (1992) Dihydropyridine-sensitive and +omega-conotoxin-sensitive calcium channels in a mammalian +neuroblastoma-glioma cell line. J Physiol 448:161-88. + +[3] McNaughton NC, Randall AD (1997) Electrophysiological properties of +the human N-type Ca2+ channel: I. Channel gating in Ca2+, Ba2+ and Sr2+ +containing solutions. Neuropharmacology 36(7):895-915. + +[4] Evans RC, Maniar YM, Blackwell KT (2013) Dynamic modulation of +spike timing-dependent calcium influx during corticostriatal upstates. J +Neurophysiol 110(7):1631-45. + +[5] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/can_ms.mod b/data/neurons/mechanisms/can_ms.mod new file mode 100644 index 00000000..91ab8602 --- /dev/null +++ b/data/neurons/mechanisms/can_ms.mod @@ -0,0 +1,141 @@ +TITLE N-type calcium current (Cav2.2) + + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (S) = (siemens) + (molar) = (1/liter) + (mM) = (millimolar) + FARADAY = (faraday) (coulomb) + R = (k-mole) (joule/degC) +} + +NEURON { + SUFFIX can_ms + USEION ca READ cai, cao WRITE ica VALENCE 2 + RANGE pbar, ica + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +PARAMETER { + pbar = 0.0 (cm/s) + a = 0.21 + :q = 1 : room temperature 22-25 C + q = 3 : body temperature 35 C + + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ica (mA/cm2) + eca (mV) + celsius (degC) + cai (mM) + cao (mM) + minf + mtau (ms) + hinf + htau (ms) + PKAi (mM) + modulation_factor (1) +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + ica = pbar*m*m*(h*a+1-a)*ghk(v, cai, cao)*modulation_factor +} + +INITIAL { + rates() + m = minf + h = hinf +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-3))/(-8))) + mtau = 0.06+1/(exp((v-25)/18)+exp((v-(-31))/(-44))) + hinf = 1/(1+exp((v-(-74.8))/6.5)) + htau = 70 + UNITSON +} + +FUNCTION ghk(v (mV), ci (mM), co (mM)) (.001 coul/cm3) { + LOCAL z, eci, eco + z = (1e-3)*2*FARADAY*v/(R*(celsius+273.15)) + eco = co*efun(z) + eci = ci*efun(-z) + ghk = (1e-3)*2*FARADAY*(eci-eco) +} + +FUNCTION efun(z) { + if (fabs(z) < 1e-4) { + efun = 1-z/2 + }else{ + efun = z/(exp(z)-1) + } +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + +COMMENT + +Model is based on mixed data. Activation curve is from neostriatal +medium spiny neurons of adult P28+ rats [1, Fig.12F], unspecified +recording temperature. Potentials were not corrected for the liquid +junction potential, which was estimated to be 7 mV. Activation time +constant is from the rodent neuron culture (both rat and mouse cells), +room temperature 22-25 C [2, Fig.15B]. Inactivation data is from human +(HEK) cells [3, Tab.1, Tab.2], supposedly at room temperature. + +Kinetics of m2h type is used [2, Fig.5]. Activation of m^2 is fitted +to the experimental data [1,4], activation time constant corresponds +to m^2 already [2]. Original model [5,4] was modified by Alexander +Kozlov . Activation time constant was refitted to avoid +singularity in the expression. Temperature correction factor 3 is used +for body temperature [4,5]. + +[1] Bargas J, Howe A, Eberwine J, Cao Y, Surmeier DJ (1994) Cellular +and molecular characterization of Ca2+ currents in acutely isolated, +adult rat neostriatal neurons. J Neurosci 14(11 Pt 1):6667-86. + +[2] Kasai H, Neher E (1992) Dihydropyridine-sensitive and +omega-conotoxin-sensitive calcium channels in a mammalian +neuroblastoma-glioma cell line. J Physiol 448:161-88. + +[3] McNaughton NC, Randall AD (1997) Electrophysiological properties of +the human N-type Ca2+ channel: I. Channel gating in Ca2+, Ba2+ and Sr2+ +containing solutions. Neuropharmacology 36(7):895-915. + +[4] Evans RC, Maniar YM, Blackwell KT (2013) Dynamic modulation of +spike timing-dependent calcium influx during corticostriatal upstates. J +Neurophysiol 110(7):1631-45. + +[5] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/cap_ch.mod b/data/neurons/mechanisms/cap_ch.mod new file mode 100644 index 00000000..3c3366a2 --- /dev/null +++ b/data/neurons/mechanisms/cap_ch.mod @@ -0,0 +1,112 @@ +: HH P-type Calcium current +: Created 8/13/02 - nwg + +: copy by josh for cholinergic interneuron + + +NEURON { + SUFFIX cap_ch + USEION ca READ cai, cao WRITE ica + RANGE gbar, ica ,g + RANGE minf,mtau + RANGE monovalConc, monovalPerm + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (mM) = (milli/liter) + F = 9.6485e4 (coul) + R = 8.3145 (joule/degC) +} + +PARAMETER { + v (mV) + + gbar = .00005 (cm/s) + monovalConc = 140 (mM) + monovalPerm = 0 + celsius = 35 + cai (milli/liter) + cao (milli/liter) + + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) + + +} + +ASSIGNED { + ica (mA/cm2) + minf + mtau (ms) + T (degC) + E (volts) + g (S/cm2) + PKAi (mM) + modulation_factor (1) + +} + +STATE { + m +} + +INITIAL { + rates(v) + m = minf +} + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + g = (1e3) * gbar * m *modulation_factor + ica = g * ghk(v, cai, cao, 2) +} + +DERIVATIVE states { + rates(v) + m' = (minf - m)/mtau +} + +FUNCTION ghk( v(mV), ci(mM), co(mM), z) (coul/cm3) { LOCAL Ci + T = celsius + 273.19 : Kelvin + E = (1e-3) * v + Ci = ci + (monovalPerm) * (monovalConc) : Monovalent permeability + if (fabs(1-exp(-z*(F*E)/(R*T))) < 1e-6) { : denominator is small -> Taylor series + ghk = (1e-6) * z * F * (Ci-co*exp(-z*(F*E)/(R*T)))*(1-(z*(F*E)/(R*T))) + } else { + ghk = (1e-6) * z^2*(E*F^2)/(R*T)*(Ci-co*exp(-z*(F*E)/(R*T)))/(1-exp(-z*(F*E)/(R*T))) + } +} + +PROCEDURE rates (v (mV)) { + UNITSOFF + minf = 1/(1+exp(-(v - (-19)) / 5.5)) + mtau = (mtau_func(v)) * 1e3 + UNITSON +} + +FUNCTION mtau_func( v (mV) ) (ms) { + UNITSOFF + if (v > -50) { + mtau_func = .000191 + .00376*exp(-((v-(-41.9))/27.8)^2) + } else { + mtau_func = .00026367 + .1278 * exp(.10327*v) + } + UNITSON +} + + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} diff --git a/data/neurons/mechanisms/caq_fs.mod b/data/neurons/mechanisms/caq_fs.mod new file mode 100644 index 00000000..7d4efcf9 --- /dev/null +++ b/data/neurons/mechanisms/caq_fs.mod @@ -0,0 +1,100 @@ +TITLE Q-type calcium current (Cav2.1) + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (S) = (siemens) + (molar) = (1/liter) + (mM) = (millimolar) + FARADAY = (faraday) (coulomb) + R = (k-mole) (joule/degC) +} + +NEURON { + SUFFIX caq_fs + USEION ca READ cai, cao WRITE ica VALENCE 2 + RANGE pbar, ica +} + +PARAMETER { + pbar = 0.0 (cm/s) + :q = 1 : room temperature 22 C + q = 3 : body temperature 35 C +} + +ASSIGNED { + v (mV) + ica (mA/cm2) + eca (mV) + celsius (degC) + cai (mM) + cao (mM) + minf + mtau (ms) +} + +STATE { m } + +BREAKPOINT { + SOLVE states METHOD cnexp + ica = pbar*m*m*ghk(v, cai, cao) +} + +INITIAL { + rates() + m = minf +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-16.3))/(-7.9))) + mtau = 1.13*2 + UNITSON +} + +FUNCTION ghk(v (mV), ci (mM), co (mM)) (.001 coul/cm3) { + LOCAL z, eci, eco + z = (1e-3)*2*FARADAY*v/(R*(celsius+273.15)) + if(z == 0) { + z = z+1e-6 + } + eco = co*(z)/(exp(z)-1) + eci = ci*(-z)/(exp(-z)-1) + ghk = (1e-3)*2*FARADAY*(eci-eco) +} + +COMMENT + +Activation curve was reconstructed for cultured NAc neurons from P5-P32 +Charles River rat pups [1]. Activation time constant was measured in +culture neurons from cerebellum of P2-P5 rat pups [2] at room temperature +22 C. + +Original NEURON model by Wolf (2005) [3] was modified by Alexander Kozlov +. Activation curve was fitted to m2 kinetics [4], +activation time constant was scaled up as well. + +[1] Churchill D, Macvicar BA (1998) Biophysical and pharmacological +characterization of voltage-dependent Ca2+ channels in neurons isolated +from rat nucleus accumbens. J Neurophysiol 79(2):635-47. + +[2] Randall A, Tsien RW (1995) Pharmacological dissection of multiple +types of Ca2+ channel currents in rat cerebellar granule neurons. J +Neurosci 15(4):2995-3012. + +[3] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[4] Brown AM, Schwindt PC, Crill WE (1993) Voltage dependence and +activation kinetics of pharmacologically defined components of the +high-threshold calcium current in rat neocortical neurons. J Neurophysiol +70(4):1530-43. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/caq_ms.mod b/data/neurons/mechanisms/caq_ms.mod new file mode 100644 index 00000000..357a1dc8 --- /dev/null +++ b/data/neurons/mechanisms/caq_ms.mod @@ -0,0 +1,105 @@ +TITLE Q-type calcium current (Cav2.1) + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (S) = (siemens) + (molar) = (1/liter) + (mM) = (millimolar) + FARADAY = (faraday) (coulomb) + R = (k-mole) (joule/degC) +} + +NEURON { + SUFFIX caq_ms + USEION ca READ cai, cao WRITE ica VALENCE 2 + RANGE pbar, ica +} + +PARAMETER { + pbar = 0.0 (cm/s) + :q = 1 : room temperature 22 C + q = 3 : body temperature 35 C +} + +ASSIGNED { + v (mV) + ica (mA/cm2) + eca (mV) + celsius (degC) + cai (mM) + cao (mM) + minf + mtau (ms) +} + +STATE { m } + +BREAKPOINT { + SOLVE states METHOD cnexp + ica = pbar*m*m*ghk(v, cai, cao) +} + +INITIAL { + rates() + m = minf +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-16.3))/(-7.9))) + mtau = 1.13*2 + UNITSON +} + +FUNCTION ghk(v (mV), ci (mM), co (mM)) (.001 coul/cm3) { + LOCAL z, eci, eco + z = (1e-3)*2*FARADAY*v/(R*(celsius+273.15)) + eco = co*efun(z) + eci = ci*efun(-z) + ghk = (1e-3)*2*FARADAY*(eci-eco) +} + +FUNCTION efun(z) { + if (fabs(z) < 1e-4) { + efun = 1-z/2 + }else{ + efun = z/(exp(z)-1) + } +} + +COMMENT + +Activation curve was reconstructed for cultured NAc neurons from P5-P32 +Charles River rat pups [1]. Activation time constant was measured in +culture neurons from cerebellum of P2-P5 rat pups [2] at room temperature +22 C. + +Original NEURON model by Wolf (2005) [3] was modified by Alexander Kozlov +. Activation curve was fitted to m2 kinetics [4], +activation time constant was scaled up as well. + +[1] Churchill D, Macvicar BA (1998) Biophysical and pharmacological +characterization of voltage-dependent Ca2+ channels in neurons isolated +from rat nucleus accumbens. J Neurophysiol 79(2):635-47. + +[2] Randall A, Tsien RW (1995) Pharmacological dissection of multiple +types of Ca2+ channel currents in rat cerebellar granule neurons. J +Neurosci 15(4):2995-3012. + +[3] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[4] Brown AM, Schwindt PC, Crill WE (1993) Voltage dependence and +activation kinetics of pharmacologically defined components of the +high-threshold calcium current in rat neocortical neurons. J Neurophysiol +70(4):1530-43. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/car_fs.mod b/data/neurons/mechanisms/car_fs.mod new file mode 100644 index 00000000..2bc97677 --- /dev/null +++ b/data/neurons/mechanisms/car_fs.mod @@ -0,0 +1,113 @@ +TITLE R-type calcium current (Cav2.3) + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (S) = (siemens) + (molar) = (1/liter) + (mM) = (millimolar) + FARADAY = (faraday) (coulomb) + R = (k-mole) (joule/degC) +} + +NEURON { + SUFFIX car_fs + USEION ca READ cai, cao WRITE ica VALENCE 2 + RANGE pbar, ica +} + +PARAMETER { + pbar = 0.0 (cm/s) + :q = 1 : room temperature 22 C + q = 3 : body temperature 35 C +} + +ASSIGNED { + v (mV) + ica (mA/cm2) + eca (mV) + celsius (degC) + cai (mM) + cao (mM) + minf + mtau (ms) + hinf + htau (ms) +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + ica = pbar*m*m*m*h*ghk(v, cai, cao) +} + +INITIAL { + rates() + m = minf + h = hinf +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-29))/(-9.6))) + mtau = 5.1 + hinf = 1/(1+exp((v-(-33.3))/17)) + htau = 22+80/(1+exp((v-(-19))/5)) + UNITSON +} + +FUNCTION ghk(v (mV), ci (mM), co (mM)) (.001 coul/cm3) { + LOCAL z, eci, eco + z = (1e-3)*2*FARADAY*v/(R*(celsius+273.15)) + eco = co*efun(z) + eci = ci*efun(-z) + ghk = (1e-3)*2*FARADAY*(eci-eco) +} + +FUNCTION efun(z) { + if (fabs(z) < 1e-4) { + efun = 1-z/2 + }else{ + efun = z/(exp(z)-1) + } +} + +COMMENT + +Original data by Foehring et al (2000) [1] for dissociated MSNs from +P28-P42 Sprague-Dawley rat brain. Unspecified recording temperature. The +liquid junction potential was around 8 mV and was not corrected. Kinetics +of m3h type was fitted. Inactivation time constants were measured in +neurons from endopiriform nucleus of P7-P21 Hartley guinea pigs [2] +at room temperature 22 C. + +Original NEURON model by Wolf (2005) [3] modified by Alexander Kozlov +. Activation curve fitted to m^3 kinetics as in [4], +activation time constant matched m^3 originally [1]. Smooth fit of +inactivation time constant from [2,3]. + +[1] Foehring RC, Mermelstein PG, Song WJ, Ulrich S, Surmeier DJ +(2000) Unique properties of R-type calcium currents in neocortical and +neostriatal neurons. J Neurophysiol 84(5):2225-36. + +[2] Brevi S, de Curtis M, Magistretti J (2001) Pharmacological and +biophysical characterization of voltage-gated calcium currents in the +endopiriform nucleus of the guinea pig. J Neurophysiol 85(5):2076-87. + +[3] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[4] Evans RC, Maniar YM, Blackwell KT (2013) Dynamic modulation of +spike timing-dependent calcium influx during corticostriatal upstates. J +Neurophysiol 110(7):1631-45. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/car_ms.mod b/data/neurons/mechanisms/car_ms.mod new file mode 100644 index 00000000..c7235e90 --- /dev/null +++ b/data/neurons/mechanisms/car_ms.mod @@ -0,0 +1,135 @@ +TITLE R-type calcium current (Cav2.3) + + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (S) = (siemens) + (molar) = (1/liter) + (mM) = (millimolar) + FARADAY = (faraday) (coulomb) + R = (k-mole) (joule/degC) +} + +NEURON { + SUFFIX car_ms + USEION ca READ cai, cao WRITE ica VALENCE 2 + RANGE pbar, ica + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +PARAMETER { + pbar = 0.0 (cm/s) + :q = 1 : room temperature 22 C + q = 3 : body temperature 35 C + + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ica (mA/cm2) + eca (mV) + celsius (degC) + cai (mM) + cao (mM) + minf + mtau (ms) + hinf + htau (ms) + PKAi (mM) + modulation_factor (1) + +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + ica = pbar*m*m*m*h*ghk(v, cai, cao)*modulation_factor +} + +INITIAL { + rates() + m = minf + h = hinf +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-29))/(-9.6))) + mtau = 5.1 + hinf = 1/(1+exp((v-(-33.3))/17)) + htau = 22+80/(1+exp((v-(-19))/5)) + UNITSON +} + +FUNCTION ghk(v (mV), ci (mM), co (mM)) (.001 coul/cm3) { + LOCAL z, eci, eco + z = (1e-3)*2*FARADAY*v/(R*(celsius+273.15)) + eco = co*efun(z) + eci = ci*efun(-z) + ghk = (1e-3)*2*FARADAY*(eci-eco) +} + +FUNCTION efun(z) { + if (fabs(z) < 1e-4) { + efun = 1-z/2 + }else{ + efun = z/(exp(z)-1) + } +} + + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + +COMMENT + +Original data by Foehring et al (2000) [1] for dissociated MSNs from +P28-P42 Sprague-Dawley rat brain. Unspecified recording temperature. The +liquid junction potential was around 8 mV and was not corrected. Kinetics +of m3h type was fitted. Inactivation time constants were measured in +neurons from endopiriform nucleus of P7-P21 Hartley guinea pigs [2] +at room temperature 22 C. + +Original NEURON model by Wolf (2005) [3] modified by Alexander Kozlov +. Activation curve fitted to m^3 kinetics as in [4], +activation time constant matched m^3 originally [1]. Smooth fit of +inactivation time constant from [2,3]. + +[1] Foehring RC, Mermelstein PG, Song WJ, Ulrich S, Surmeier DJ +(2000) Unique properties of R-type calcium currents in neocortical and +neostriatal neurons. J Neurophysiol 84(5):2225-36. + +[2] Brevi S, de Curtis M, Magistretti J (2001) Pharmacological and +biophysical characterization of voltage-gated calcium currents in the +endopiriform nucleus of the guinea pig. J Neurophysiol 85(5):2076-87. + +[3] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[4] Evans RC, Maniar YM, Blackwell KT (2013) Dynamic modulation of +spike timing-dependent calcium influx during corticostriatal upstates. J +Neurophysiol 110(7):1631-45. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/cat32_ms.mod b/data/neurons/mechanisms/cat32_ms.mod new file mode 100644 index 00000000..b76f310a --- /dev/null +++ b/data/neurons/mechanisms/cat32_ms.mod @@ -0,0 +1,103 @@ +TITLE T-type calcium current (Cav3.2) + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (S) = (siemens) + (molar) = (1/liter) + (mM) = (millimolar) + FARADAY = (faraday) (coulomb) + R = (k-mole) (joule/degC) +} + +NEURON { + SUFFIX cat32_ms + USEION cal READ cali, calo WRITE ical VALENCE 2 + RANGE pbar, ical +} + +PARAMETER { + pbar = 0.0 (cm/s) + :q = 1 : room temperature 21 C + q = 3 : body temperature 35 C +} + +ASSIGNED { + v (mV) + ical (mA/cm2) + ecal (mV) + celsius (degC) + cali (mM) + calo (mM) + minf + mtau (ms) + hinf + htau (ms) +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + ical = pbar*m*m*m*h*ghk(v, cali, calo) +} + +INITIAL { + rates() + m = minf + h = hinf +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-54))/(-7.8))) + mtau = (2.1+23/(1+exp((v-(-61))/6)))*3 + hinf = 1/(1+exp((v-(-64.2))/8.8)) + htau = 30+280/(1+exp((v-(-52))/7)) + UNITSON +} + +FUNCTION ghk(v (mV), ci (mM), co (mM)) (.001 coul/cm3) { + LOCAL z, eci, eco + z = (1e-3)*2*FARADAY*v/(R*(celsius+273.15)) + if(z == 0) { + z = z+1e-6 + } + eco = co*(z)/(exp(z)-1) + eci = ci*(-z)/(exp(-z)-1) + ghk = (1e-3)*2*FARADAY*(eci-eco) +} + +COMMENT + +Rat Cav3.2 channels were isolated and transfection of human embryonic +kidney cells was performed [1]. Electrophysiological recordings were +done in 21 C. + +NEURON model by Alexander Kozlov . Kinetics of m3h +type was used [2-4]. Activation time constant was scaled up accordingly. + +[1] Iftinca M, McKay BE, Snutch TP, McRory JE, Turner RW, Zamponi +GW (2006) Temperature dependence of T-type calcium channel +gating. Neuroscience 142(4):1031-42. + +[2] Crunelli V, Toth TI, Cope DW, Blethyn K, Hughes SW (2005) The +'window' T-type calcium current in brain dynamics of different behavioural +states. J Physiol 562(Pt 1):121-9. + +[3] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[4] Evans RC, Maniar YM, Blackwell KT (2013) Dynamic modulation of +spike timing-dependent calcium influx during corticostriatal upstates. J +Neurophysiol 110(7):1631-45. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/cat33_ms.mod b/data/neurons/mechanisms/cat33_ms.mod new file mode 100644 index 00000000..7c2529d5 --- /dev/null +++ b/data/neurons/mechanisms/cat33_ms.mod @@ -0,0 +1,103 @@ +TITLE T-type calcium current (Cav3.3) + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (S) = (siemens) + (molar) = (1/liter) + (mM) = (millimolar) + FARADAY = (faraday) (coulomb) + R = (k-mole) (joule/degC) +} + +NEURON { + SUFFIX cat33_ms + USEION cal READ cali, calo WRITE ical VALENCE 2 + RANGE pbar, ical +} + +PARAMETER { + pbar = 0.0 (cm/s) + :q = 1 : room temperature 21 C + q = 3 : body temperature 35 C +} + +ASSIGNED { + v (mV) + ical (mA/cm2) + ecal (mV) + celsius (degC) + cali (mM) + calo (mM) + minf + mtau (ms) + hinf + htau (ms) +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + ical = pbar*m*m*m*h*ghk(v, cali, calo) +} + +INITIAL { + rates() + m = minf + h = hinf +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-81))/(-5.8))) + mtau = (2.3+20/(1+exp((v-(-60))/9)))*3 + hinf = 1/(1+exp((v-(-78.3))/6.5)) + htau = 125+140/(1+exp((v-(-60))/3)) + UNITSON +} + +FUNCTION ghk(v (mV), ci (mM), co (mM)) (.001 coul/cm3) { + LOCAL z, eci, eco + z = (1e-3)*2*FARADAY*v/(R*(celsius+273.15)) + if(z == 0) { + z = z+1e-6 + } + eco = co*(z)/(exp(z)-1) + eci = ci*(-z)/(exp(-z)-1) + ghk = (1e-3)*2*FARADAY*(eci-eco) +} + +COMMENT + +Rat Cav3.2 channels were isolated and transfection of human embryonic +kidney cells was performed [1]. Electrophysiological recordings were +done in 21 C. + +NEURON model by Alexander Kozlov . Kinetics of m3h +type was used [2-4]. Activation time constant was scaled up accordingly. + +[1] Iftinca M, McKay BE, Snutch TP, McRory JE, Turner RW, Zamponi +GW (2006) Temperature dependence of T-type calcium channel +gating. Neuroscience 142(4):1031-42. + +[2] Crunelli V, Toth TI, Cope DW, Blethyn K, Hughes SW (2005) The +'window' T-type calcium current in brain dynamics of different behavioural +states. J Physiol 562(Pt 1):121-9. + +[3] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[4] Evans RC, Maniar YM, Blackwell KT (2013) Dynamic modulation of +spike timing-dependent calcium influx during corticostriatal upstates. J +Neurophysiol 110(7):1631-45. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/hcn12_ch.mod b/data/neurons/mechanisms/hcn12_ch.mod new file mode 100644 index 00000000..c37b381b --- /dev/null +++ b/data/neurons/mechanisms/hcn12_ch.mod @@ -0,0 +1,138 @@ +NEURON { + SUFFIX hcn12_ch + NONSPECIFIC_CURRENT i + RANGE i, ehcn, g, gbar + GLOBAL a0, b0, ah, bh, ac, bc, aa0, ba0 + GLOBAL aa0, ba0, aah, bah, aac, bac + GLOBAL kon, koff, b, bf, ai, gca, shift + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +UNITS { + (mV) = (millivolt) + (molar) = (1/liter) + (mM) = (millimolar) + (mA) = (milliamp) + (S) = (siemens) +} + +PARAMETER { + gbar = 1 (S/cm2) + ehcn = -20 (mV) + a0 = .006 (/ms) : parameters for alpha and beta + b0 = .0008 (/ms) + ah = -96 (mV) + bh = -51.7 (mV) + ac = -.155 (/mV) + bc = .144 (/mV) + aa0 = .0006 (/ms) : parameters for alphaa and betaa + ba0 = .004 (/ms) + aah = -94.2 (mV) + bah = -35.5 (mV) + aac = -.075 (/mV) + bac = .144 (/mV) + kon = 30 (/mM-ms) : cyclic AMP binding parameters + koff = 4.5e-05 (/ms) + b = 80 + bf = 8.94 + ai = 1e-05 (mM) :concentration cyclic AMP + gca = 1 : relative conductance of the bound state + shift = -17 (mV) : shift in voltage dependence + q10v = 4 : q10 value from Magee 1998 + q10a = 1.5 : estimated q10 for the cAMP binding reaction + celsius (degC) + + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) + + +} + +ASSIGNED { + v (mV) + g (S/cm2) + i (mA/cm2) + alpha (/ms) + beta (/ms) + alphaa (/ms) + betaa (/ms) + + PKAi (mM) + modulation_factor (1) +} + +STATE { + c + cac + o + cao +} + +INITIAL { + SOLVE kin STEADYSTATE sparse +} + +BREAKPOINT { + SOLVE kin METHOD sparse + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + g = gbar*(o + cao*gca)*modulation_factor + i = g*(v-ehcn) +} + +KINETIC kin { + LOCAL qa + qa = q10a^((celsius-22 (degC))/10 (degC)) + rates(v) + ~ c <-> o (alpha, beta) + ~ c <-> cac (kon*qa*ai/bf,koff*qa*b/bf) + ~ o <-> cao (kon*qa*ai, koff*qa) + ~ cac <-> cao (alphaa, betaa) + CONSERVE c + cac + o + cao = 1 +} + +PROCEDURE rates(v(mV)) { + LOCAL qv + qv = q10v^((celsius-22 (degC))/10 (degC)) + if (v > -200) { + alpha = a0*qv / (1 + exp(-(v-ah-shift)*ac)) + beta = b0*qv / (1 + exp(-(v-bh-shift)*bc)) + alphaa = aa0*qv / (1 + exp(-(v-aah-shift)*aac)) + betaa = ba0*qv / (1 + exp(-(v-bah-shift)*bac)) + } else { + alpha = a0*qv / (1 + exp(-((-200)-ah-shift)*ac)) + beta = b0*qv / (1 + exp(-((-200)-bh-shift)*bc)) + alphaa = aa0*qv / (1 + exp(-((-200)-aah-shift)*aac)) + betaa = ba0*qv / (1 + exp(-((-200)-bah-shift)*bac)) + } +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + + +COMMENT + +Josh Held's adaptation to suit HCN1+2. 12/22/2003 + +**** +Kinetic model of HCN2 channel gating from Wang et al 2002. + +In this model channel opening is coupled to a change in the affinity of the cyclic nucleotide binding domain for cAMP which is manifest as a shift in the activation curve toward more positive potentials. This model explains the slow activation kinetics of Ih associated with low concentrations of cAMP. + +For further details email Matt Nolan at mfnolan@fido.cpmc.columbia.edu. + +Reference + +Wang J., Chen S., Nolan M.F. and Siegelbaum S.A. (2002). Activity-dependent regulation of HCN pacemaker channels by cyclicAMP: signalling through dynamic allosteric coupling. Neuron 36, 1-20. +**** + +ENDCOMMENT diff --git a/data/neurons/mechanisms/hd_lts.mod b/data/neurons/mechanisms/hd_lts.mod new file mode 100644 index 00000000..8fd79e99 --- /dev/null +++ b/data/neurons/mechanisms/hd_lts.mod @@ -0,0 +1,98 @@ +TITLE I-h channel from Magee 1998 for distal dendrites + + +NEURON { + SUFFIX hd_lts + NONSPECIFIC_CURRENT i + RANGE ghdbar, vhalfl + RANGE linf,taul + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor +} + +UNITS { + (mA) = (milliamp) + (mV) = (millivolt) + +} + +PARAMETER { + v (mV) + ehd = -30 (mV) + celsius (degC) + ghdbar=.0001 (mho/cm2) + vhalfl=-81 (mV) + kl=-8 + vhalft=-75 (mV) + a0t=0.011 (/ms) + zetat=2.2 (1) + gmt=.4 (1) + q10=4.5 + qtl=1 + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + + + +STATE { + l +} + +ASSIGNED { + i (mA/cm2) + linf + taul + ghd + PKAi (mM) + modulation_factor (1) +} + +INITIAL { + rate(v) + l=linf +} + + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + ghd = ghdbar*l*modulation_factor + i = ghd*(v-ehd) + +} + + +FUNCTION alpt(v(mV)) { + alpt = exp(0.0378*zetat*(v-vhalft)) +} + +FUNCTION bett(v(mV)) { + bett = exp(0.0378*zetat*gmt*(v-vhalft)) +} + +DERIVATIVE states { : exact when v held constant; integrates over dt step + rate(v) + l' = (linf - l)/taul +} + +PROCEDURE rate(v (mV)) { :callable from hoc + LOCAL a,qt + qt=q10^((celsius-33)/10) + a = alpt(v) + linf = 1/(1 + exp(-(v-vhalfl)/kl)) + :linf = 1/(1+ alpl(v)) + taul = bett(v)/(qtl*qt*a0t*(1+a)) +} + + + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} diff --git a/data/neurons/mechanisms/im_lts.mod b/data/neurons/mechanisms/im_lts.mod new file mode 100644 index 00000000..c010f912 --- /dev/null +++ b/data/neurons/mechanisms/im_lts.mod @@ -0,0 +1,115 @@ +TITLE Cortical M current +: +: M-current, responsible for the adaptation of firing rate and the +: afterhyperpolarization (AHP) of cortical pyramidal cells +: +: First-order model described by hodgkin-Hyxley like equations. +: K+ current, activated by depolarization, noninactivating. +: +: Model taken from Yamada, W.M., Koch, C. and Adams, P.R. Multiple +: channels and calcium dynamics. In: Methods in Neuronal Modeling, +: edited by C. Koch and I. Segev, MIT press, 1989, p 97-134. +: +: See also: McCormick, D.A., Wang, Z. and Huguenard, J. Neurotransmitter +: control of neocortical neuronal activity and excitability. +: Cerebral Cortex 3: 387-398, 1993. +: +: Written by Alain Destexhe, Laval University, 1995 +: + + + +INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)} + +NEURON { + SUFFIX im_lts + USEION k READ ek WRITE ik + RANGE gkbar, m_inf, tau_m, ik + RANGE taumax + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +UNITS { + (mA) = (milliamp) + (mV) = (millivolt) +} + + +PARAMETER { + v (mV) + celsius = 36 (degC) + ek (mV) + gkbar = 1e-6 (mho/cm2) + taumax = 1000 (ms) : peak value of tau + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) + +} + + + +STATE { + m +} + +ASSIGNED { + ik (mA/cm2) + m_inf + tau_m (ms) + tau_peak (ms) + tadj + PKAi (mM) + modulation_factor (1) +} + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + ik = gkbar * m * (v - ek)*modulation_factor +} + +DERIVATIVE states { + evaluate_fct(v) + + m' = (m_inf - m) / tau_m +} + +UNITSOFF +INITIAL { + evaluate_fct(v) + m = 0 +: +: The Q10 value is assumed to be 2.3 +: + tadj = 2.3 ^ ((celsius-36)/10) + tau_peak = taumax / tadj +} + +PROCEDURE evaluate_fct(v(mV)) { + + m_inf = 1 / ( 1 + exptable(-(v+35)/10) ) + tau_m = tau_peak / ( 3.3 * exptable((v+35)/20) + exptable(-(v+35)/20) ) +} +UNITSON + + +FUNCTION exptable(x) { + TABLE FROM -25 TO 25 WITH 10000 + + if ((x > -25) && (x < 25)) { + exptable = exp(x) + } else { + exptable = 0. + } +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} diff --git a/data/neurons/mechanisms/it_lts.mod b/data/neurons/mechanisms/it_lts.mod new file mode 100644 index 00000000..00b9d603 --- /dev/null +++ b/data/neurons/mechanisms/it_lts.mod @@ -0,0 +1,113 @@ +TITLE Low threshold calcium current +: +: Ca++ current responsible for low threshold spikes (LTS) +: THALAMOCORTICAL CELLS +: Differential equations +: +: Model based on the data of Huguenard & McCormick, J Neurophysiol +: 68: 1373-1383, 1992 and Huguenard & Prince, J Neurosci. +: 12: 3804-3817, 1992. +: +: Features: +: +: - kinetics described by Nernst equations using a m2h format +: - activation considered at steady-state +: - inactivation fit to Huguenard's data using a bi-exp function +: - shift for screening charge, q10 of inactivation of 3 +: +: +: Written by Alain Destexhe, Salk Institute, 1993; modified 1995 +: + +INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)} + + +NEURON { + SUFFIX it_lts + USEION ca READ cai,cao WRITE ica + GLOBAL q10 + RANGE gcabar, m_inf, tau_m, h_inf, tau_h, shift + +} + +UNITS { + (molar) = (1/liter) + (mV) = (millivolt) + (mA) = (milliamp) + (mM) = (millimolar) + + FARADAY = (faraday) (coulomb) + R = (k-mole) (joule/degC) +} + +PARAMETER { + v (mV) + celsius = 36 (degC) + gcabar = 0.002 (mho/cm2) + q10 = 3 : Q10 of inactivation + shift = 2 (mV) : corresponds to 2mM ext Ca++ + cai = 2.4e-4 (mM) : adjusted for eca=120 mV + cao = 2 (mM) +} + +STATE { + h +} + +ASSIGNED { + ica (mA/cm2) + carev (mV) + m_inf + tau_m (ms) : dummy variable for compatibility + h_inf + tau_h (ms) + phi_h + +} + +BREAKPOINT { + SOLVE castate METHOD cnexp + carev = (1e3) * (R*(celsius+273.15))/(2*FARADAY) * log (cao/cai) + ica = gcabar * m_inf * m_inf * h * (v-carev) +} + +DERIVATIVE castate { + evaluate_fct(v) + + h' = (h_inf - h) / tau_h +} + + +UNITSOFF +INITIAL { + h = 0 + +: +: Transformation to 36 deg assuming Q10 of 3 for h +: (as in Coulter et al., J Physiol 414: 587, 1989) +: + phi_h = q10 ^ ((celsius-24 (degC) )/10 (degC) ) +} + +PROCEDURE evaluate_fct(v(mV)) { LOCAL Vm + + Vm = v + shift + + m_inf = 1.0 / ( 1 + exp(-(Vm+57)/6.2) ) + h_inf = 1.0 / ( 1 + exp((Vm+81)/4.0) ) + +: if(Vm < -80) { +: tau_h = exp((Vm+467)/66.6) / phi_h +: } else { +: tau_h = ( 28 + exp(-(Vm+22)/10.5) ) / phi_h +: } + + tau_h = 30.8 + (211.4 + exp((Vm+113.2)/5)) / (1 + exp((Vm+84)/3.2)) + + tau_h = tau_h / phi_h + +} + + +UNITSON + diff --git a/data/neurons/mechanisms/kaf_fs.mod b/data/neurons/mechanisms/kaf_fs.mod new file mode 100644 index 00000000..77cc40ad --- /dev/null +++ b/data/neurons/mechanisms/kaf_fs.mod @@ -0,0 +1,110 @@ +TITLE Fast A-type potassium current (Kv4.2) + + +NEURON { + SUFFIX kaf_fs + USEION k READ ek WRITE ik + RANGE gbar, gk, ik, q + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) +} + +PARAMETER { + gbar = 0.0 (S/cm2) + :q = 1 : room temperature (unspecified) + q = 3 : body temperature 35 C + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ek (mV) + ik (mA/cm2) + gk (S/cm2) + minf + mtau (ms) + hinf + htau (ms) + PKAi (mM) + modulation_factor (1) +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + gk = gbar*m*m*h*modulation_factor + ik = gk*(v-ek) +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +INITIAL { + rates() + m = minf + h = hinf +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-10))/(-17.7))) + mtau = (0.9+1.1/(1+exp((v-(-30))/10)))*2 + hinf = 1/(1+exp((v-(-75.6))/11.8)) + htau = 14 + UNITSON +} + + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + + +COMMENT + +Original data by Tkatch et al (2000) [1]. Neostriatal neurons were acutely +dissociated from young adult rats, age P28-P42. Electrophysiological +recordings were done at unspecified temperature (room temperature 20-22 C +assumed). Potentials were not corrected for the liquid junction potential +(estimated 1-2 mV). + +Conductance kinetics of m2h type is used [2]. Activation m^1 matches +experimental data [1, Fig.2C]. Activation time constants were fitted to +tabulated data [1, Fig.2B] by Alexander Kozlov and scaled +up x2 for m2 kinetics. Slope of inactivation function fitted to the data +[1, Fig.3B] with half inactivation potential -75.6 mV. Temperature factor +q between 3 [2] and 1.5 [3] was used for body temperature. + +[1] Tkatch T, Baranauskas G, Surmeier DJ (2000) Kv4.2 mRNA abundance and +A-type K(+) current amplitude are linearly related in basal ganglia and +basal forebrain neurons. J Neurosci 20(2):579-88. + +[2] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[3] Evans RC, Morera-Herreras T, Cui Y, Du K, Sheehan T, Kotaleski JH, +Venance L, Blackwell KT (2012) The effects of NMDA subunit composition on +calcium influx and spike timing-dependent plasticity in striatal medium +spiny neurons. PLoS Comput Biol 8(4):e1002493. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/kaf_lts.mod b/data/neurons/mechanisms/kaf_lts.mod new file mode 100644 index 00000000..a3ca457c --- /dev/null +++ b/data/neurons/mechanisms/kaf_lts.mod @@ -0,0 +1,110 @@ +TITLE Fast A-type potassium current (Kv4.2) + + +NEURON { + SUFFIX kaf_lts + USEION k READ ek WRITE ik + RANGE gbar, gk, ik, q + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) +} + +PARAMETER { + gbar = 0.0 (S/cm2) + :q = 1 : room temperature (unspecified) + q = 3 : body temperature 35 C + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ek (mV) + ik (mA/cm2) + gk (S/cm2) + minf + mtau (ms) + hinf + htau (ms) + PKAi (mM) + modulation_factor (1) +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + gk = gbar*m*m*h*modulation_factor + ik = gk*(v-ek) +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +INITIAL { + rates() + m = minf + h = hinf +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-10))/(-17.7))) + mtau = (0.9+1.1/(1+exp((v-(-30))/10)))*2 + hinf = 1/(1+exp((v-(-75.6))/11.8)) + htau = 14 + UNITSON +} + + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + + +COMMENT + +Original data by Tkatch et al (2000) [1]. Neostriatal neurons were acutely +dissociated from young adult rats, age P28-P42. Electrophysiological +recordings were done at unspecified temperature (room temperature 20-22 C +assumed). Potentials were not corrected for the liquid junction potential +(estimated 1-2 mV). + +Conductance kinetics of m2h type is used [2]. Activation m^1 matches +experimental data [1, Fig.2C]. Activation time constants were fitted to +tabulated data [1, Fig.2B] by Alexander Kozlov and scaled +up x2 for m2 kinetics. Slope of inactivation function fitted to the data +[1, Fig.3B] with half inactivation potential -75.6 mV. Temperature factor +q between 3 [2] and 1.5 [3] was used for body temperature. + +[1] Tkatch T, Baranauskas G, Surmeier DJ (2000) Kv4.2 mRNA abundance and +A-type K(+) current amplitude are linearly related in basal ganglia and +basal forebrain neurons. J Neurosci 20(2):579-88. + +[2] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[3] Evans RC, Morera-Herreras T, Cui Y, Du K, Sheehan T, Kotaleski JH, +Venance L, Blackwell KT (2012) The effects of NMDA subunit composition on +calcium influx and spike timing-dependent plasticity in striatal medium +spiny neurons. PLoS Comput Biol 8(4):e1002493. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/kaf_ms.mod b/data/neurons/mechanisms/kaf_ms.mod new file mode 100644 index 00000000..5e5623ce --- /dev/null +++ b/data/neurons/mechanisms/kaf_ms.mod @@ -0,0 +1,145 @@ +TITLE Fast A-type potassium current (Kv4.2) + + +NEURON { + SUFFIX kaf_ms + USEION k READ ek WRITE ik + RANGE gbar, gk, ik, q + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE mod_pka_shift_min, mod_pka_shift_max, mod_pka_shift_half, mod_pka_shift_slope + RANGE modulation_factor_g, modulation_factor_shift + + RANGE modShift +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) +} + +PARAMETER { + gbar = 0.0 (S/cm2) + q = 1 : room temperature (unspecified) + :q = 2 : body temperature 35 C (Du 2017) + :q = 3 : body temperature 35 C + + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) + + mod_pka_shift_min = 0 (1) + mod_pka_shift_max = 0 (1) + mod_pka_shift_half = 0.000100 (mM) + mod_pka_shift_slope = 0.01 (mM) + +} + +ASSIGNED { + v (mV) + ek (mV) + ik (mA/cm2) + gk (S/cm2) + minf + mtau (ms) + hinf + htau (ms) + PKAi (mM) + modulation_factor_g (1) + modulation_factor_shift (1) + modShift +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor_g=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + modulation_factor_shift=modulation(PKAi, mod_pka_shift_min, mod_pka_shift_max, mod_pka_shift_half, mod_pka_shift_slope) + + : In Johanna's version gk depended on modDA, and modShift on modACh + gk = gbar*m*m*h*modulation_factor_g + modShift = modulation_factor_shift + ik = gk*(v-ek) +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +INITIAL { + rates() + m = minf + h = hinf +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-10+modShift))/(-17.7))) + mtau = 0.9+1.1/(1+exp((v-(-30))/10)) + hinf = 1/(1+exp((v-(-75.6))/11.8)) + htau = 14 + UNITSON + + :Du 2017 + :LOCAL alpha, beta, sum + :UNITSOFF + :alpha = 1.5/(1+exp((v-4)/(-17))) + :beta = 0.6/(1+exp((v-10)/9)) + :sum = alpha+beta + :minf = alpha/sum + :mtau = 1/sum + : + :alpha = 0.105/(1+exp((v-(-121))/22)) + :beta = 0.065/(1+exp((v-(-55))/(-11))) + :sum = alpha+beta + :hinf = alpha/sum + :htau = 1/sum + :UNITSON +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + +COMMENT + +Original data by Tkatch et al (2000) [1]. Neostriatal neurons were acutely +dissociated from young adult rats, age P28-P42. Electrophysiological +recordings were done at unspecified temperature (room temperature 20-22 C +assumed). Potentials were not corrected for the liquid junction potential +(estimated 1-2 mV). + +Activation m^1 matches experimental data [1, Fig.2C]. Activation time +constants fit tabulated data [1, Fig.2B]. Slope of inactivation function +fitted to the data [1, Fig.3B] with half inactivation potential -75.6 +mV. Temperature factor q between 1.5 [3] and 3 [2] was used for body +temperature. Conductance kinetics of m2h type is used [2], no corrections +for m^2 applied. Later modification by Du [4] is close to this model. + +[1] Tkatch T, Baranauskas G, Surmeier DJ (2000) Kv4.2 mRNA abundance and +A-type K(+) current amplitude are linearly related in basal ganglia and +basal forebrain neurons. J Neurosci 20(2):579-88. + +[2] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[3] Evans RC, Morera-Herreras T, Cui Y, Du K, Sheehan T, Kotaleski JH, +Venance L, Blackwell KT (2012) The effects of NMDA subunit composition on +calcium influx and spike timing-dependent plasticity in striatal medium +spiny neurons. PLoS Comput Biol 8(4):e1002493. + +[4] Du K, Wu YW, Lindroos R, Liu Y, Rózsa B, Katona G, Ding JB, +Kotaleski JH (2017) Cell-type-specific inhibition of the dendritic +plateau potential in striatal spiny projection neurons. Proc Natl Acad +Sci USA 114:E7612-E7621. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/kas_fs.mod b/data/neurons/mechanisms/kas_fs.mod new file mode 100644 index 00000000..ca75d41c --- /dev/null +++ b/data/neurons/mechanisms/kas_fs.mod @@ -0,0 +1,107 @@ +TITLE Slowly inactivating A-type potassium current (Kv1.2) + +NEURON { + SUFFIX kas_fs + USEION k READ ek WRITE ik + RANGE gbar, gk, ik, shift, q + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) +} + +PARAMETER { + gbar = 0.0 (S/cm2) + a = 0.8 + :q = 1 : room temperature 22-24 C + q = 3 : body temperature 33 C + shift = 0 + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ek (mV) + ik (mA/cm2) + gk (S/cm2) + minf + mtau (ms) + hinf + htau (ms) + PKAi (mM) + modulation_factor (1) +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + gk = gbar*m*m*(h*a+1-a)*modulation_factor + ik = gk*(v-ek) +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +INITIAL { + rates() + m = minf + h = hinf +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-27)-shift)/(-16))) + mtau = 3.4+89.2*exp(-((v-(-34.3))/30.1)^2) + hinf = 1/(1+exp((v-(-33.5)-shift)/21.5)) + htau = 548.7*6/(exp((v-(-96))/(-29.01))+exp((v-(-96))/100)) + UNITSON +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + +COMMENT + +Experimental data by Shen et al (2004) [1]. Medium spiny neurons were +acutely dissociated from from young adult (P21-P28) Sprague-Dawley rat +brain. All recordings were conducted at 22-24 C. No correction for the +liquid junction potential was reported. + +Conductance kinetics of m2h type is used [1] with partial inactivation, +m2 (a h + (1-a)). Fraction a is set to 0.8, as in [1, Fig.6B]; other +values for a are possible [2] (see also kas.mod in companion code). +Equation for htau [1] is corrected to match the authors' data [1, Fig.6B] +by Alexander Kozlov . Time constants were corrected to +body temperature with factor q=3 [1,3]. + +[1] Shen W, Hernandez-Lopez S, Tkatch T, Held JE, Surmeier DJ (2004) +Kv1.2-containing K+ channels regulate subthreshold excitability of +striatal medium spiny neurons. J Neurophysiol 91(3):1337-49. + +[2] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[3] Evans RC, Maniar YM, Blackwell KT (2013) Dynamic modulation of +spike timing-dependent calcium influx during corticostriatal upstates. J +Neurophysiol 110(7):1631-45. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/kas_ms.mod b/data/neurons/mechanisms/kas_ms.mod new file mode 100644 index 00000000..26a7ba40 --- /dev/null +++ b/data/neurons/mechanisms/kas_ms.mod @@ -0,0 +1,130 @@ +TITLE Slowly inactivating A-type potassium current (Kv1.2) + + +NEURON { + SUFFIX kas_ms + USEION k READ ek WRITE ik + RANGE gbar, gk, ik + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) +} + +PARAMETER { + gbar = 0.0 (S/cm2) + a = 0.8 + :q = 1 : room temperature 22-24 C + q = 3 : body temperature 33 C + + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) + +} + +ASSIGNED { + v (mV) + ek (mV) + ik (mA/cm2) + gk (S/cm2) + minf + mtau (ms) + hinf + htau (ms) + PKAi (mM) + modulation_factor (1) +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + gk = gbar*m*m*(h*a+1-a)*modulation_factor + ik = gk*(v-ek) +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +INITIAL { + rates() + m = minf + h = hinf +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-27))/(-16))) + mtau = 3.4+89.2*exp(-((v-(-34.3))/30.1)^2) + hinf = 1/(1+exp((v-(-33.5))/21.5)) + htau = 548.7*6/(exp((v-(-96))/(-29.01))+exp((v-(-96))/100)) + : Du 2017 + :LOCAL alpha, beta, sum + :UNITSOFF + :alpha = 0.25/(1+exp((v-50)/(-20))) + :beta = 0.05/(1+exp((v-(-90))/35)) + :sum = alpha+beta + :minf = alpha/sum + :mtau = 1/sum + : + :alpha = 0.0025/(1+exp((v-(-95))/16)) + :beta = 0.002/(1+exp((v-50)/(-70))) + :sum = alpha+beta + :hinf = a+(alpha/sum)*(1-a) + :htau = 1/sum + UNITSON +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + +COMMENT + +Experimental data by Shen et al (2004) [1]. Medium spiny neurons were +acutely dissociated from from young adult (P21-P28) Sprague-Dawley rat +brain. All recordings were conducted at 22-24 C. No correction for the +liquid junction potential was reported. + +Conductance kinetics of m2h type is used [1,2] with partial inactivation, +m2 (a h + (1-a)). Fraction a is set to 0.8, as in [1, Fig.6B]; other +values for a are possible [2] (see also kas.mod in companion code). +Equation for htau [1] is corrected to match the authors' data [1, Fig.6B]. +Time constants were corrected to body temperature with factor q=3 [1-3]. +Later modification by Du [4] is close to this model with adjusted +inactivation. + +[1] Shen W, Hernandez-Lopez S, Tkatch T, Held JE, Surmeier DJ (2004) +Kv1.2-containing K+ channels regulate subthreshold excitability of +striatal medium spiny neurons. J Neurophysiol 91(3):1337-49. + +[2] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[3] Evans RC, Maniar YM, Blackwell KT (2013) Dynamic modulation of +spike timing-dependent calcium influx during corticostriatal upstates. J +Neurophysiol 110(7):1631-45. + +[4] Du K, Wu YW, Lindroos R, Liu Y, Rózsa B, Katona G, Ding JB, +Kotaleski JH (2017) Cell-type-specific inhibition of the dendritic +plateau potential in striatal spiny projection neurons. Proc Natl Acad +Sci USA 114:E7612-E7621. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/kcnq_ch.mod b/data/neurons/mechanisms/kcnq_ch.mod new file mode 100644 index 00000000..9f00b445 --- /dev/null +++ b/data/neurons/mechanisms/kcnq_ch.mod @@ -0,0 +1,67 @@ +TITLE KCNQ/M current from striatal medium spiny neurons, used for ch. interneuron. + +:KCNQ_CH.MOD +: +: 11/3/2003 + +NEURON { + SUFFIX kcnq_ch + USEION k READ ek WRITE ik + RANGE ik, ek, g, gbar + GLOBAL a0, b0, ah, bh, ac, bc +} + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (S) = (siemens) +} + +PARAMETER { + gbar = 1 (S/cm2) + ek (mV) + a0 = .018 (/ms) : parameters for alpha and beta + b0 = .01 (/ms) + ah = -43.367 (mV) + bh = -43.367 (mV) + ac = 9.7054 (mV) + bc = -9.7054 (mV) + q10v = 3 + celsius (degC) +} + +ASSIGNED { + v (mV) + g (S/cm2) + ik (mA/cm2) + alpha (/ms) + beta (/ms) +} + +STATE { + c + o +} + +INITIAL { + SOLVE kin STEADYSTATE sparse +} + +BREAKPOINT { + SOLVE kin METHOD sparse + g = gbar*o + ik = g*(v-ek) +} + +KINETIC kin { + rates(v) + ~ c <-> o (alpha, beta) + CONSERVE c + o = 1 +} + +PROCEDURE rates(v(mV)) { + LOCAL qv + qv = q10v^((celsius-22 (degC))/10 (degC)) + alpha = a0*qv / (1 + exp(-(v-ah)/ac)) + beta = b0*qv / (1 + exp(-(v-bh)/bc)) +} diff --git a/data/neurons/mechanisms/kdb_lts.mod b/data/neurons/mechanisms/kdb_lts.mod new file mode 100644 index 00000000..b8a4f5c3 --- /dev/null +++ b/data/neurons/mechanisms/kdb_lts.mod @@ -0,0 +1,90 @@ +TITLE K-D channel +: M.Migliore jun 2006 + +UNITS { + (mA) = (milliamp) + (mV) = (millivolt) + +} + +PARAMETER { + v (mV) + ek (mV) : must be explicitely def. in hoc + celsius (degC) + gkdbar=.0 (mho/cm2) + vhalfn=-33 (mV) + a0n=0.005 (/ms) + zetan=3 (1) + gmn=0.7 (1) + nmax=2 (1) + q10=1 + sh = 0 +} + + +NEURON { + SUFFIX kdb_lts + USEION k READ ek WRITE ik + RANGE gkd,gkdbar, sh + GLOBAL ninf,taun +} + +STATE { + n +} + +ASSIGNED { + ik (mA/cm2) + ninf + gkd + taun +} + +BREAKPOINT { + SOLVE states METHOD cnexp + gkd = gkdbar*n + ik = gkd*(v-ek) + +} + +INITIAL { + rates(v) + n=ninf +} + + +FUNCTION alpn(v(mV)) { + alpn = exp(1.e-3*zetan*(v-vhalfn-sh)*9.648e4/(8.315*(273.16+celsius))) +} + +FUNCTION betn(v(mV)) { + betn = exp(1.e-3*zetan*gmn*(v-vhalfn-sh)*9.648e4/(8.315*(273.16+celsius))) +} + +DERIVATIVE states { : exact when v held constant; integrates over dt step + rates(v) + n' = (ninf - n)/taun +} + +PROCEDURE rates(v (mV)) { :callable from hoc + LOCAL a,qt + qt=q10^((celsius-24)/10) + a = alpn(v) + ninf = 1/(1+a) + taun = betn(v)/(qt*a0n*(1+a)) + if (taun. + +[1] Baranauskas G, Tkatch T, Surmeier DJ (1999) Delayed rectifier currents +in rat globus pallidus neurons are attributable to Kv2.1 and Kv3.1/3.2 +K(+) channels. J Neurosci 19(15):6394-404. + +[2] Migliore M, Hoffman DA, Magee JC, Johnston D (1999) Role of an +A-type K+ conductance in the back-propagation of action potentials in the +dendrites of hippocampal pyramidal neurons. J Comput Neurosci 7(1):5-15. + +[3] Evans RC, Morera-Herreras T, Cui Y, Du K, Sheehan T, Kotaleski JH, +Venance L, Blackwell KT (2012) The effects of NMDA subunit composition on +calcium influx and spike timing-dependent plasticity in striatal medium +spiny neurons. PLoS Comput Biol 8(4):e1002493. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/kdr_lts.mod b/data/neurons/mechanisms/kdr_lts.mod new file mode 100644 index 00000000..570f781c --- /dev/null +++ b/data/neurons/mechanisms/kdr_lts.mod @@ -0,0 +1,82 @@ +TITLE Fast delayed rectifier potassium current (Kv3.1/3.2) + + +NEURON { + SUFFIX kdr_lts + USEION k READ ek WRITE ik + RANGE gbar, gk, ik, q +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) +} + +PARAMETER { + gbar = 0.0 (S/cm2) + :q = 1 : room temperature + q = 3 : body temperature 35 C +} + +ASSIGNED { + v (mV) + ek (mV) + ik (mA/cm2) + gk (S/cm2) + minf + mtau (ms) +} + +STATE { m } + +BREAKPOINT { + SOLVE states METHOD cnexp + gk = gbar*m + ik = gk*(v-ek) +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q +} + +INITIAL { + rates() + m = minf +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-13))/(-6))) + mtau = 11.1 + UNITSON +} + + +COMMENT + +Original data and model by Baranauskas et al (1999) [1] for globus +pallidus neurons from young adult rat. The temperature was not +specified. Potentials were not corrected for the liquid junction +potential, which was estimated to be 1-2 mV. + +Kinetics of m1 type is used as in [2,3]. Room temperature 20-23 C +is assumed. + +NEURON implementation by Alexander Kozlov . + +[1] Baranauskas G, Tkatch T, Surmeier DJ (1999) Delayed rectifier currents +in rat globus pallidus neurons are attributable to Kv2.1 and Kv3.1/3.2 +K(+) channels. J Neurosci 19(15):6394-404. + +[2] Migliore M, Hoffman DA, Magee JC, Johnston D (1999) Role of an +A-type K+ conductance in the back-propagation of action potentials in the +dendrites of hippocampal pyramidal neurons. J Comput Neurosci 7(1):5-15. + +[3] Evans RC, Morera-Herreras T, Cui Y, Du K, Sheehan T, Kotaleski JH, +Venance L, Blackwell KT (2012) The effects of NMDA subunit composition on +calcium influx and spike timing-dependent plasticity in striatal medium +spiny neurons. PLoS Comput Biol 8(4):e1002493. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/kdr_ms.mod b/data/neurons/mechanisms/kdr_ms.mod new file mode 100644 index 00000000..1a147689 --- /dev/null +++ b/data/neurons/mechanisms/kdr_ms.mod @@ -0,0 +1,79 @@ +TITLE Fast delayed rectifier potassium current (Kv3.1/3.2) + +NEURON { + SUFFIX kdr_ms + USEION k READ ek WRITE ik + RANGE gbar, gk, ik +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) +} + +PARAMETER { + gbar = 0.0 (S/cm2) + q = 1 +} + +ASSIGNED { + v (mV) + ek (mV) + ik (mA/cm2) + gk (S/cm2) + minf + mtau (ms) +} + +STATE { m } + +BREAKPOINT { + SOLVE states METHOD cnexp + gk = gbar*m + ik = gk*(v-ek) +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q +} + +INITIAL { + rates() + m = minf +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-13))/(-6))) + mtau = 11.1 + UNITSON +} + +COMMENT + +Original data and model by Baranauskas et al (1999) [1] for globus +pallidus neurons from young adult rat. The temperature was not +specified. Potentials were not corrected for the liquid junction +potential, which was estimated to be 1-2 mV. + +Kinetics of m^1 type is used as in [2,3]. Room temperature 20-23 C +is assumed. + +NEURON implementation by Alexander Kozlov . + +[1] Baranauskas G, Tkatch T, Surmeier DJ (1999) Delayed rectifier currents +in rat globus pallidus neurons are attributable to Kv2.1 and Kv3.1/3.2 +K(+) channels. J Neurosci 19(15):6394-404. + +[2] Migliore M, Hoffman DA, Magee JC, Johnston D (1999) Role of an +A-type K+ conductance in the back-propagation of action potentials in the +dendrites of hippocampal pyramidal neurons. J Comput Neurosci 7(1):5-15. + +[3] Evans RC, Morera-Herreras T, Cui Y, Du K, Sheehan T, Kotaleski JH, +Venance L, Blackwell KT (2012) The effects of NMDA subunit composition on +calcium influx and spike timing-dependent plasticity in striatal medium +spiny neurons. PLoS Comput Biol 8(4):e1002493. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/kdrb_lts.mod b/data/neurons/mechanisms/kdrb_lts.mod new file mode 100644 index 00000000..006e0899 --- /dev/null +++ b/data/neurons/mechanisms/kdrb_lts.mod @@ -0,0 +1,92 @@ +TITLE K-DR channel +: from Klee Ficker and Heinemann +: modified to account for Dax et al. +: M.Migliore 1997 + +UNITS { + (mA) = (milliamp) + (mV) = (millivolt) + +} + +PARAMETER { + v (mV) + ek (mV) : must be explicitely def. in hoc + celsius (degC) + gkdrbar=.003 (mho/cm2) + vhalfn=13 (mV) + a0n=0.02 (/ms) + zetan=-3 (1) + gmn=0.7 (1) + nmax=2 (1) + q10=1 + sh = 0 +} + + +NEURON { + SUFFIX kdrb_lts + USEION k READ ek WRITE ik + RANGE gkdr,gkdrbar, sh + GLOBAL ninf,taun +} + +STATE { + n +} + +ASSIGNED { + ik (mA/cm2) + ninf + gkdr + taun +} + +BREAKPOINT { + SOLVE states METHOD cnexp + gkdr = gkdrbar*n + ik = gkdr*(v-ek) + +} + +INITIAL { + rates(v) + n=ninf +} + + +FUNCTION alpn(v(mV)) { + alpn = exp(1.e-3*zetan*(v-vhalfn-sh)*9.648e4/(8.315*(273.16+celsius))) +} + +FUNCTION betn(v(mV)) { + betn = exp(1.e-3*zetan*gmn*(v-vhalfn-sh)*9.648e4/(8.315*(273.16+celsius))) +} + +DERIVATIVE states { : exact when v held constant; integrates over dt step + rates(v) + n' = (ninf - n)/taun +} + +PROCEDURE rates(v (mV)) { :callable from hoc + LOCAL a,qt + qt=q10^((celsius-24)/10) + a = alpn(v) + ninf = 1/(1+a) + taun = betn(v)/(qt*a0n*(1+a)) + if (taun. + +[1] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[2] Kubo Y, Murata Y (2001) Control of rectification and permeation by +two distinct sites after the second transmembrane region in Kir2.1 K+ +channel. J Physiol 531, 645-660. + +[3] Hayashi H, Fishman HM (1988) Inward rectifier K+ channel kinetics +from analysis of the complex conductance of aplysia neuronal membrane. +Biophys J 53, 747-757. + +[4] Steephen JE, Manchanda R (2009) Differences in biophysical properties +of nucleus accumbens medium spiny neurons emerging from inactivation of +inward rectifying potassium currents. J Comput Neurosci 27(3):453-70 + +[5] Mermelstein PG, Song WJ, Tkatch T, Yan Z, Surmeier DJ (1998) +Inwardly rectifying potassium (IRK) currents are correlated with IRK +subunit expression in rat nucleus accumbens medium spiny neurons. J +Neurosci 18(17):6650-61. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/kir23_lts.mod b/data/neurons/mechanisms/kir23_lts.mod new file mode 100644 index 00000000..630f7ea7 --- /dev/null +++ b/data/neurons/mechanisms/kir23_lts.mod @@ -0,0 +1,112 @@ +TITLE Noninactivating inwardly rectifying potassium current (Kir2.3) + +NEURON { + + SUFFIX kir23_lts + USEION k READ ek WRITE ik + RANGE gbar, gk, ik + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) +} + +PARAMETER { + gbar = 0.0 (S/cm2) + q = 1 : body temperature 35 C + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ek (mV) + ik (mA/cm2) + gk (S/cm2) + minf + mtau (ms) + PKAi (mM) + modulation_factor (1) +} + +STATE { m } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + gk = gbar*m*modulation_factor + ik = gk*(v-ek) +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q +} + +INITIAL { + rates() + m = minf +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-82))/13)) + :mtau = 1/(2*exp((v-(-106))/(-12.6))+0.086*exp((v-(-19))/47)) : Steephen (2009) + mtau = 1/(exp((v-(-97.3))/(-12.6))+exp((v-96.3)/47)) : Steephen (2009) + UNITSON +} + + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + + +COMMENT + +Original model by Wolf et al (2005) [1] for the rat MSN cells from the +nucleus accumbens. The activation curve was fitted to a mouse Kir2.1 +channel expressed in HEK cells [2] and shifted to match extracellular +concentration of K in rat. Time constants were derived from Aplysia +data [3] and adjusted to match the rat experiments [1]. Time constant +was further tuned [4] to fit the rat data below -80 mV [5]. + +Non-inactivating component of the Kir channel with m1 kinetics is used +[1,4]. Kinetics is corrected to the body temperature 35 C. + +Smooth fit of the time constants by Alexander Kozlov . + +[1] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[2] Kubo Y, Murata Y (2001) Control of rectification and permeation by +two distinct sites after the second transmembrane region in Kir2.1 K+ +channel. J Physiol 531, 645-660. + +[3] Hayashi H, Fishman HM (1988) Inward rectifier K+ channel kinetics +from analysis of the complex conductance of aplysia neuronal membrane. +Biophys J 53, 747-757. + +[4] Steephen JE, Manchanda R (2009) Differences in biophysical properties +of nucleus accumbens medium spiny neurons emerging from inactivation of +inward rectifying potassium currents. J Comput Neurosci 27(3):453-70 + +[5] Mermelstein PG, Song WJ, Tkatch T, Yan Z, Surmeier DJ (1998) +Inwardly rectifying potassium (IRK) currents are correlated with IRK +subunit expression in rat nucleus accumbens medium spiny neurons. J +Neurosci 18(17):6650-61. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/kir2_ch.mod b/data/neurons/mechanisms/kir2_ch.mod new file mode 100644 index 00000000..105cbdba --- /dev/null +++ b/data/neurons/mechanisms/kir2_ch.mod @@ -0,0 +1,75 @@ +:Kir2_ch.MOD +: Kir2, inwardly rectifying channel + + +NEURON { + SUFFIX kir2_ch + USEION k READ ek WRITE ik + RANGE g, ninf, tn, ik, gbar + GLOBAL C_tn, vh, vc + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) +} + +PARAMETER { + gbar = 3 (S/cm2) + ek (mV) + vh = -80 (mV) + vc = 5 (mV) + C_tn = 1 (ms) + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ninf + tn (ms) + ik (mA/cm2) + g (S/cm2) + PKAi (mM) + modulation_factor (1) +} + +STATE { + n +} + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + g = gbar*n*modulation_factor + ik = g*(v-ek) +} + +DERIVATIVE states{ + values() + n' = (ninf - n)/tn +} + +INITIAL { + values() + n = ninf +} + +PROCEDURE values() { + ninf = 1/(1 + exp((v - vh)/vc)) + tn = C_tn +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} diff --git a/data/neurons/mechanisms/kir_fs.mod b/data/neurons/mechanisms/kir_fs.mod new file mode 100644 index 00000000..fdb30162 --- /dev/null +++ b/data/neurons/mechanisms/kir_fs.mod @@ -0,0 +1,122 @@ +TITLE Non-inactivating inwardly rectifying potassium current (Kir2.3) + + +NEURON { + SUFFIX kir_fs + USEION k READ ek WRITE ik + USEION PKA READ PKAi VALENCE 0 + + RANGE gbar, gk, ik, shift + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) + (molar) = (1/liter) + (mM) = (millimolar) +} + +PARAMETER { + gbar = 0.0 (S/cm2) + shift = 0.0 (mV) + q = 1 : body temperature 35 C + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ek (mV) + ik (mA/cm2) + gk (S/cm2) + minf + mtau (ms) + PKAi (mM) + modulation_factor (1) +} + +STATE { m } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + gk = gbar*m*modulation_factor + ik = gk*(v-ek) +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q +} + +INITIAL { + rates() + m = minf +} + +: TODO: These parameters should NOT be hardcoded, and use function instead of procedure? +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-82)-shift)/13)) + mtau = 1/(exp((v-(-103))/(-14.5))+0.125/(1+exp((v-(-35))/(-19)))) + UNITSON +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + + +COMMENT + +2024-05-28 : Wilhelm Thunberg, Johannes Hjorth (KTH, Stockholm) +Adding neuromodulation using RxD + +Original model by Wolf et al (2005) [1] for the rat MSN cells from the +nucleus accumbens. The activation curve was fitted to a mouse Kir2.1 +channel expressed in HEK cells [2] and shifted to match extracellular +concentration of K in rat. Measured half-activation values are -109.3 +mV (striatonigral MSN) and -113.2 mV (striatopallidal MSN) [6, Supp +Tab.1]. Time constants were derived from Aplysia data [3] and adjusted +to match the rat experiments [1]. Time constant was further tuned [4] +to fit the rat data below -80 mV [5]. Kinetics is corrected to the body +temperature 35 C [4]. + +Non-inactivating Kir current was observed in cells expressing Kir2.2 +and/or Kir2.3 [5]. Activation variable with m^1 kinetics is used [1,4]. +Smooth fit of the time constants by Alexander Kozlov . + +[1] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[2] Kubo Y, Murata Y (2001) Control of rectification and permeation by +two distinct sites after the second transmembrane region in Kir2.1 K+ +channel. J Physiol 531, 645-660. + +[3] Hayashi H, Fishman HM (1988) Inward rectifier K+ channel kinetics +from analysis of the complex conductance of aplysia neuronal membrane. +Biophys J 53, 747-757. + +[4] Steephen JE, Manchanda R (2009) Differences in biophysical properties +of nucleus accumbens medium spiny neurons emerging from inactivation of +inward rectifying potassium currents. J Comput Neurosci 27(3):453-70 + +[5] Mermelstein PG, Song WJ, Tkatch T, Yan Z, Surmeier DJ (1998) +Inwardly rectifying potassium (IRK) currents are correlated with IRK +subunit expression in rat nucleus accumbens medium spiny neurons. J +Neurosci 18(17):6650-61. + +[6] Shen W, Tian X, Day M, Ulrich S, Tkatch T, Nathanson NM, Surmeier DJ +(2007) Cholinergic modulation of Kir2 channels selectively elevates +dendritic excitability in striatopallidal neurons. Nat Neurosci +10(11):1458-66. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/kir_ms.mod b/data/neurons/mechanisms/kir_ms.mod new file mode 100644 index 00000000..7bb8621e --- /dev/null +++ b/data/neurons/mechanisms/kir_ms.mod @@ -0,0 +1,124 @@ +TITLE Non-inactivating inwardly rectifying potassium current (Kir2.3) + + +NEURON { + SUFFIX kir_ms + USEION k READ ek WRITE ik + + + RANGE gbar, gk, ik, shift + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) + (molar) = (1/liter) + (mM) = (millimolar) +} + +PARAMETER { + gbar = 0.0 (S/cm2) + shift = 0.0 (mV) + q = 1 : body temperature 35 C + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ek (mV) + ik (mA/cm2) + gk (S/cm2) + minf + mtau (ms) + PKAi (mM) + modulation_factor (1) +} + +STATE { m } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + gk = gbar*m*modulation_factor + ik = gk*(v-ek) +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q +} + +INITIAL { + rates() + m = minf +} + +: TODO: These parameters should NOT be hardcoded, and use function instead of procedure? +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-82)-shift)/13)) + mtau = 1/(exp((v-(-103))/(-14.5))+0.125/(1+exp((v-(-35))/(-19)))) + UNITSON +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + + +COMMENT + +2024-05-28 : Wilhelm Thunberg, Johannes Hjorth (KTH, Stockholm) +Adding neuromodulation using RxD + +Original model by Wolf et al (2005) [1] for the rat MSN cells from the +nucleus accumbens. The activation curve was fitted to a mouse Kir2.1 +channel expressed in HEK cells [2] and shifted to match extracellular +concentration of K in rat. Measured half-activation values are -109.3 +mV (striatonigral MSN) and -113.2 mV (striatopallidal MSN) [6, Supp +Tab.1]. Time constants were derived from Aplysia data [3] and adjusted +to match the rat experiments [1]. Time constant was further tuned [4] +to fit the rat data below -80 mV [5]. Kinetics is corrected to the body +temperature 35 C [4]. + +Non-inactivating Kir current was observed in cells expressing Kir2.2 +and/or Kir2.3 [5]. Activation variable with m^1 kinetics is used [1,4]. +Smooth fit of the time constants by Alexander Kozlov . + +[1] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. + +[2] Kubo Y, Murata Y (2001) Control of rectification and permeation by +two distinct sites after the second transmembrane region in Kir2.1 K+ +channel. J Physiol 531, 645-660. + +[3] Hayashi H, Fishman HM (1988) Inward rectifier K+ channel kinetics +from analysis of the complex conductance of aplysia neuronal membrane. +Biophys J 53, 747-757. + +[4] Steephen JE, Manchanda R (2009) Differences in biophysical properties +of nucleus accumbens medium spiny neurons emerging from inactivation of +inward rectifying potassium currents. J Comput Neurosci 27(3):453-70 + +[5] Mermelstein PG, Song WJ, Tkatch T, Yan Z, Surmeier DJ (1998) +Inwardly rectifying potassium (IRK) currents are correlated with IRK +subunit expression in rat nucleus accumbens medium spiny neurons. J +Neurosci 18(17):6650-61. + +[6] Shen W, Tian X, Day M, Ulrich S, Tkatch T, Nathanson NM, Surmeier DJ +(2007) Cholinergic modulation of Kir2 channels selectively elevates +dendritic excitability in striatopallidal neurons. Nat Neurosci +10(11):1458-66. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/kv2_ch.mod b/data/neurons/mechanisms/kv2_ch.mod new file mode 100644 index 00000000..7e5758a9 --- /dev/null +++ b/data/neurons/mechanisms/kv2_ch.mod @@ -0,0 +1,92 @@ +: KV2_CH.MOD +: KV2 for Cholinergic Interneuron + +NEURON { + SUFFIX kv2_ch + USEION k READ ek WRITE ik + RANGE g, ik, an, bn, gbar +} + +UNITS { + (mV) = (millivolt) + (S) = (siemens) + (mA) = (milliamp) +} + +PARAMETER { + gbar = 1 (S/cm2) +} + +ASSIGNED { + v (mV) + ek (mV) + g (S/cm2) + ik (mA/cm2) + + an (1/ms) + bn (1/ms) + kf1 (1/ms) + kb1 (1/ms) + kf2 (1/ms) + kb2 (1/ms) + kf3 (1/ms) + kb3 (1/ms) + kf4 (1/ms) + kb4 (1/ms) +} + +STATE { + c1 + c2 + c3 + c4 + o +} + +BREAKPOINT { + SOLVE kin METHOD sparse + g = gbar*o + ik = g*(v-ek) +} + +INITIAL { + SOLVE kin STEADYSTATE sparse +} + + + +KINETIC kin{ + rates(v) + ~ c4 <-> c3 (kf1,kb1) + ~ c3 <-> c2 (kf2,kb2) + ~ c2 <-> c1 (kf3,kb3) + ~ c1 <-> o (kf4,kb4) + CONSERVE c4+c3+c2+c1+o=1 +} + + +PROCEDURE rates(v(millivolt)) { + : an = (51.743 (1/ms) - (0.612 (1/ms-mV))*v)/(exp((-84.54 (mV)+v)/-11.84 (mV)) - 1) + an = ancalc(v) + bn = (0.0051 (1/ms) )/exp(v/22.02 (mV)) + + kf1 = 4*an + kb1 = bn + kf2 = 3*an + kb2 = 2*bn + kf3 = 2*an + kb3 = 3*bn + kf4 = an + kb4 = 4*bn +} + +FUNCTION ancalc(vx(millivolt)) { + UNITSOFF + if(80 < vx && vx < 90 ) { + ancalc = 0.004186*vx^2 -0.40239*vx + 11.34 + } + else { + ancalc = (51.743 - 0.612*vx)/(exp((-84.54 +vx)/-11.84 ) - 1) + } + UNITSON +} diff --git a/data/neurons/mechanisms/kv4_ch.mod b/data/neurons/mechanisms/kv4_ch.mod new file mode 100644 index 00000000..54934540 --- /dev/null +++ b/data/neurons/mechanisms/kv4_ch.mod @@ -0,0 +1,124 @@ +COMMENT + +c1 - c2 - c3 - c4 - o +| | | | | +i1 - i2 - i3 - i4 - i5 - is + +ENDCOMMENT + +NEURON { + SUFFIX kv4_ch + USEION k READ ek WRITE ik + RANGE g, ik, gbar + GLOBAL alpha, beta + GLOBAL ci, ic, oi, io, a, b, am, bm, vc, gamma, delta, vha, vhb + GLOBAL i5is, isi5 + GLOBAL q10i, q10v + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (S) = (siemens) +} + +PARAMETER { + gbar = 1 (S/cm2) + gamma = 200 (1/ms) + delta = 4 (1/ms) + a = 3 + b = 40 + ic = 500 (/ms) + oi = 1e-9 (/ms) + io = .01 (/ms) + ci = .2 (/ms) + am = 1 (1/ms) + bm = 7 (1/ms) + vc = 10 (mV) + vha = -75 (mV) + vhb = -30 (mV) + i5is = .001 (/ms) + isi5 = .001 (/ms) + q10i = 3 + q10v = 3 + celsius (degC) + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ek (mV) + g (S/cm2) + ik (mA/cm2) + alpha (/ms) + beta (/ms) + PKAi (mM) + modulation_factor (1) +} + +STATE { + c1 + c2 + c3 + c4 + o + i1 + i2 + i3 + i4 + i5 + is +} + +BREAKPOINT { + SOLVE kin METHOD sparse + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + g = gbar*o*modulation_factor + ik = g*(v-ek) +} + +INITIAL { + SOLVE kin STEADYSTATE sparse +} + +KINETIC kin{LOCAL q10 + q10 = q10i^((celsius - 22 (degC))/10 (degC)) + rates(v) + ~ c1 <-> c2 (3*alpha,beta) + ~ c2 <-> c3 (2*alpha,2*beta) + ~ c3 <-> c4 (alpha,3*beta) + ~ c4 <-> o (q10*gamma,q10*delta) + + ~ i1 <-> i2 (3*alpha*a,beta/b) + ~ i2 <-> i3 (2*alpha*a,2*beta/b) + ~ i3 <-> i4 (alpha*a,3*beta/b) + ~ i4 <-> i5 (q10*gamma,q10*delta) + ~ i5 <-> is (q10*i5is,q10*isi5) + + ~ i1 <-> c1 (q10*ic,q10*ci) + ~ i2 <-> c2 (q10*ic/b,q10*ci*a) + ~ i3 <-> c3 (q10*ic/b^2,q10*ci*a^2) + ~ i4 <-> c4 (q10*ic/b^3,q10*ci*a^3) + ~ i5 <-> o (q10*io,q10*oi) + + CONSERVE c1+c2+c3+c4+i1+i2+i3+i4+i5+o+is=1 +} + +PROCEDURE rates(v(millivolt)) {LOCAL q10 + q10 = q10v^((celsius - 22 (degC))/10 (degC)) + alpha = q10*am*exp((v-vha)/vc) + beta = q10*bm*exp((v-vhb)/-vc) +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} diff --git a/data/neurons/mechanisms/na2_ch.mod b/data/neurons/mechanisms/na2_ch.mod new file mode 100644 index 00000000..7db908be --- /dev/null +++ b/data/neurons/mechanisms/na2_ch.mod @@ -0,0 +1,156 @@ +COMMENT +NA2_CH.MOD + +c1 - c2 - c3 - c4 - c5 - o - is1 +| | | | | | +i1 - i2 - i3 - i4 - i5 - i6 - is2 + +FAST + +6/18/2003 + + +ENDCOMMENT + + +NEURON { + SUFFIX na2_ch + USEION na READ ena WRITE ina + RANGE g, ina, gbar, a + GLOBAL Con, Coff, Oon, Ooff + GLOBAL a0, vha, vca + GLOBAL b0, vhb, vcb + GLOBAL g0 + GLOBAL d0 + GLOBAL aS1, aS2, bS + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor +} + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (S) = (siemens) +} + +PARAMETER { + gbar = 1 (S/cm2) + + a0 = 37 (1/ms) : alpha + vha = 45 (mV) + vca = 40 (mV) + + b0 = 10 (1/ms) : beta + vhb = -50 (mV) + vcb = -10 (mV) + + g0 = 40 (1/ms) : gamma + + d0 = 30 (1/ms) : delta + + aS1 = 0.0025 (1/ms) + aS2 = 0.0002 (1/ms) + bS = 0.00017 (1/ms) + + Con = 0.001 (1/ms) + Coff = 0.1 (1/ms) + Oon = 1.6 (1/ms) + Ooff = 0.01 (1/ms) + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ena (mV) + g (S/cm2) + ina (mA/cm2) + alpha (1/ms) + beta (1/ms) + gamma (1/ms) + delta (1/ms) + a + PKAi (mM) + modulation_factor (1) +} + +STATE { + c1 : closed + c2 + c3 + c4 + c5 + ct : total closed + o : open + i1 : fast inactivated + i2 + i3 + i4 + i5 + i6 + ift : total fast inactivated + is1 : slow inactivated + is2 + ist : total slow inactivated + it : total inactivated +} + +BREAKPOINT { + SOLVE kin METHOD sparse + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + g = gbar*o*modulation_factor + ina = g*(v-ena) + ct = c1 + c2 + c3 + c4 + c5 + ift = i1 + i2 + i3 + i4 + i5 + i6 + ist = is1 + is2 + it = ift + ist +} + +INITIAL { + SOLVE kin STEADYSTATE sparse +} + +KINETIC kin{ + rates(v) + + ~ c1 <-> c2 (4*alpha, beta) + ~ c2 <-> c3 (3*alpha, 2*beta) + ~ c3 <-> c4 (2*alpha, 3*beta) + ~ c4 <-> c5 (alpha, 4*beta) + ~ c5 <-> o (gamma, delta) + ~ o <-> is1 (aS1, bS) + + ~ i1 <-> i2 (4*alpha*a, beta/a) + ~ i2 <-> i3 (3*alpha*a, 2*beta/a) + ~ i3 <-> i4 (2*alpha*a, 3*beta/a) + ~ i4 <-> i5 (alpha*a, 4*beta/a) + ~ i5 <-> i6 (gamma, delta) + ~ i6 <-> is2 (aS2, bS) + + ~ c1 <-> i1 (Con, Coff) + ~ c2 <-> i2 (Con*a, Coff/a) + ~ c3 <-> i3 (Con*a^2, Coff/a^2) + ~ c4 <-> i4 (Con*a^3, Coff/a^3) + ~ c5 <-> i5 (Con*a^4, Coff/a^4) + ~ o <-> i6 (Oon, Ooff) + + CONSERVE c1+c2+c3+c4+c5+i1+i2+i3+i4+i5+i6+is1+is2+o=1 +} + +PROCEDURE rates(v(millivolt)) { + alpha = a0*exp((v-vha)/vca) + beta = b0*exp((v-vhb)/vcb) + gamma = g0 + delta = d0 + + a = ((Coff/Con)/(Ooff/Oon))^(1/8) +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} diff --git a/data/neurons/mechanisms/na3_lts.mod b/data/neurons/mechanisms/na3_lts.mod new file mode 100644 index 00000000..aa8f9b8a --- /dev/null +++ b/data/neurons/mechanisms/na3_lts.mod @@ -0,0 +1,147 @@ +TITLE na3 +: Na current +: modified from Jeff Magee. M.Migliore may97 +: added sh to account for higher threshold M.Migliore, Apr.2002 + +NEURON { + SUFFIX na3_lts + USEION na READ ena WRITE ina + RANGE gbar, ar, sh, ina + RANGE minf, hinf, mtau, htau, sinf, taus,qinf, thinf + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor +} + +PARAMETER { + sh = 0 (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) + qq = 10 (mV) + tq = -55 (mV) + + thinf = -50 (mV) : inact inf slope + qinf = 4 (mV) : inact inf slope + + vhalfs=-60 (mV) : slow inact. + a0s=0.0003 (ms) : a0s=b0s + zetas=12 (1) + gms=0.2 (1) + smax=10 (ms) + vvh=-58 (mV) + vvs=2 (mV) + ar=1 (1) : 1=no inact., 0=max inact. + ena (mV) : must be explicitly def. in hoc + celsius + v (mV) + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + + +UNITS { + (mA) = (milliamp) + (mV) = (millivolt) + (pS) = (picosiemens) + (um) = (micron) +} + +ASSIGNED { + ina (mA/cm2) + thegna (mho/cm2) + minf hinf + mtau (ms) htau (ms) + sinf (ms) taus (ms) + PKAi (mM) + modulation_factor (1) +} + + +STATE { m h s} + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + thegna = gbar*m*m*m*h*s*modulation_factor + ina = thegna * (v - ena) +} + +INITIAL { + trates(v,ar,sh) + m=minf + h=hinf + s=sinf +} + + +FUNCTION alpv(v(mV)) { + alpv = 1/(1+exp((v-vvh-sh)/vvs)) +} + +FUNCTION alps(v(mV)) { + alps = exp(1.e-3*zetas*(v-vhalfs-sh)*9.648e4/(8.315*(273.16+celsius))) +} + +FUNCTION bets(v(mV)) { + bets = exp(1.e-3*zetas*gms*(v-vhalfs-sh)*9.648e4/(8.315*(273.16+celsius))) +} + +LOCAL mexp, hexp, sexp + +DERIVATIVE states { + trates(v,ar,sh) + m' = (minf-m)/mtau + h' = (hinf-h)/htau + s' = (sinf - s)/taus +} + +PROCEDURE trates(vm,a2,sh2) { + LOCAL a, b, c, qt + qt=q10^((celsius-24)/10) + a = trap0(vm,tha+sh2,Ra,qa) + b = trap0(-vm,-tha-sh2,Rb,qa) + mtau = (1/(a+b))/qt + if (mtau 1e-6) { + trap0 = a * (v - th) / (1 - exp(-(v - th)/q)) + } else { + trap0 = a * q + } +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} diff --git a/data/neurons/mechanisms/na_ch.mod b/data/neurons/mechanisms/na_ch.mod new file mode 100644 index 00000000..3a4a6c00 --- /dev/null +++ b/data/neurons/mechanisms/na_ch.mod @@ -0,0 +1,160 @@ +COMMENT +NA_CH.MOD + +c1 - c2 - c3 - c4 - c5 - o - is1 +| | | | | | +i1 - i2 - i3 - i4 - i5 - i6 - is2 + +SLOW + +6/18/2003 + +ENDCOMMENT + + + +NEURON { + SUFFIX na_ch + USEION na READ ena WRITE ina + RANGE g, ina, gbar, a + RANGE Con, Coff, Oon, Ooff + RANGE a0, vha, vca + RANGE b0, vhb, vcb + RANGE g0 + RANGE d0 + RANGE aS1, aS2, bS + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +UNITS { + (mV) = (millivolt) + (mA) = (milliamp) + (S) = (siemens) +} + +PARAMETER { + gbar = 1 (S/cm2) + + a0 = 37 (1/ms) : alpha + vha = 45 (mV) + vca = 40 (mV) + + b0 = 10 (1/ms) : beta + vhb = -50 (mV) + vcb = -20 (mV) + + g0 = 40 (1/ms) : gamma + + d0 = 30 (1/ms) : delta + + aS1 = 0.0025 (1/ms) + aS2 = 0.0002 (1/ms) + bS = 0.00017 (1/ms) + + Con = 0.001 (1/ms) + Coff = 0.1 (1/ms) + Oon = .7 (1/ms) + Ooff = 0.01 (1/ms) + + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ena (mV) + g (S/cm2) + ina (mA/cm2) + alpha (1/ms) + beta (1/ms) + gamma (1/ms) + delta (1/ms) + a + PKAi (mM) + modulation_factor (1) +} + +STATE { + c1 : closed + c2 + c3 + c4 + c5 + ct : total closed + o : open + i1 : fast inactivated + i2 + i3 + i4 + i5 + i6 + ift : total fast inactivated + is1 : slow inactivated + is2 + ist : total slow inactivated + it : total inactivated +} + +BREAKPOINT { + SOLVE kin METHOD sparse + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + g = gbar*o*modulation_factor + ina = g*(v-ena) + ct = c1 + c2 + c3 + c4 + c5 + ift = i1 + i2 + i3 + i4 + i5 + i6 + ist = is1 + is2 + it = ift + ist +} + +INITIAL { + SOLVE kin STEADYSTATE sparse +} + +KINETIC kin{ + rates(v) + + ~ c1 <-> c2 (4*alpha, beta) + ~ c2 <-> c3 (3*alpha, 2*beta) + ~ c3 <-> c4 (2*alpha, 3*beta) + ~ c4 <-> c5 (alpha, 4*beta) + ~ c5 <-> o (gamma, delta) + ~ o <-> is1 (aS1, bS) + + ~ i1 <-> i2 (4*alpha*a, beta/a) + ~ i2 <-> i3 (3*alpha*a, 2*beta/a) + ~ i3 <-> i4 (2*alpha*a, 3*beta/a) + ~ i4 <-> i5 (alpha*a, 4*beta/a) + ~ i5 <-> i6 (gamma, delta) + ~ i6 <-> is2 (aS2, bS) + + ~ c1 <-> i1 (Con, Coff) + ~ c2 <-> i2 (Con*a, Coff/a) + ~ c3 <-> i3 (Con*a^2, Coff/a^2) + ~ c4 <-> i4 (Con*a^3, Coff/a^3) + ~ c5 <-> i5 (Con*a^4, Coff/a^4) + ~ o <-> i6 (Oon, Ooff) + + CONSERVE c1+c2+c3+c4+c5+i1+i2+i3+i4+i5+i6+is1+is2+o=1 + +} + +PROCEDURE rates(v(millivolt)) { + alpha = a0*exp((v-vha)/vca) + beta = b0*exp((v-vhb)/vcb) + gamma = g0 + delta = d0 + + a = ((Coff/Con)/(Ooff/Oon))^(1/8) +} + + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} diff --git a/data/neurons/mechanisms/naf_fs.mod b/data/neurons/mechanisms/naf_fs.mod new file mode 100644 index 00000000..e49c3baa --- /dev/null +++ b/data/neurons/mechanisms/naf_fs.mod @@ -0,0 +1,98 @@ +TITLE Fast transient sodium current + +NEURON { + SUFFIX naf_fs + USEION na READ ena WRITE ina + RANGE gbar, gna, ina, q + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) +} + +PARAMETER { + gbar = 0.0 (S/cm2) + :q = 1 : room temperature 22 C + q = 1.8 : body temperature 35 C + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ena (mV) + ina (mA/cm2) + gna (S/cm2) + minf + mtau (ms) + hinf + htau (ms) + PKAi (mM) + modulation_factor (1) +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + gna = gbar*m*m*m*h*modulation_factor + ina = gna*(v-ena) +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +INITIAL { + rates() + m = minf + h = hinf +} + +PROCEDURE rates() { + UNITSOFF + minf = 1/(1+exp((v-(-25))/(-10))) + mtau = 0.33+1/(exp((v-(-62))/14)+exp((v-(-60))/(-17))) + hinf = 1/(1+exp((v-(-62))/6)) + htau = 0.6+1/(exp((v-(-44))/8)+exp((v-(-99))/(-44))) + UNITSON +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + + +COMMENT + +Original data by Ogata and Tatebayashi (1990) [1]. Neostriatal neurons +of medium size (putative medium spiny neurons) freshly isolated from +the adult guinea pig brain (either sex, 200 g). Data compensated for +the liquid junction potential (-13 mV). Experiments carried out at room +temperature (22 C). Conductance fitted by m3h kinetics. + +Smooth fit of mtau and htau data [1] by Alexander Kozlov +assuming natural logarithm of tau values [1, Figs. 5 and 9] and +temperature correction factor of 1.8-2.1 [2] as suggested by Robert +Lindroos . + +[1] Ogata N, Tatebayashi H (1990) Sodium current kinetics in freshly +isolated neostriatal neurones of the adult guinea pig. Pflugers Arch +416(5):594-603. + +[2] Schwarz JR (1986) The effect of temperature on Na currents in rat +myelinated nerve fibres. Pflugers Arch. 406(4):397-404. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/naf_lts.mod b/data/neurons/mechanisms/naf_lts.mod new file mode 100644 index 00000000..61360dcb --- /dev/null +++ b/data/neurons/mechanisms/naf_lts.mod @@ -0,0 +1,106 @@ +TITLE Fast transient sodium current + + +NEURON { + SUFFIX naf_lts + USEION na READ ena WRITE ina + RANGE gbar, gna, ina, q + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor + +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) +} + +PARAMETER { + gbar = 0.0 (S/cm2) + :q = 1 : room temperature 22 C + q = 1.8 : body temperature 35 C + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ena (mV) + ina (mA/cm2) + gna (S/cm2) + minf + mtau (ms) + hinf + htau (ms) + PKAi (mM) + modulation_factor (1) +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + gna = gbar*m*m*m*h*modulation_factor + ina = gna*(v-ena) +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +INITIAL { + rates() + m = minf + h = hinf +} + +PROCEDURE rates() { + UNITSOFF + :minf = 1/(1+exp((v-(-25.5))/(-9.2))) + :mtau = 0.33+1/(exp((v-(-62))/14)+exp((v-(-60))/(-17))) + :hinf = 1/(1+exp((v-(-63.2))/6)) + :htau = 0.6+1/(exp((v-(-44))/8)+exp((v-(-99))/(-44))) + minf = 1/(1+exp((v-(-25))/(-10))) + mtau = 0.33+1/(exp((v-(-62))/14)+exp((v-(-60))/(-17))) + hinf = 1/(1+exp((v-(-62))/6)) + htau = 0.6+1/(exp((v-(-44))/8)+exp((v-(-99))/(-44))) + UNITSON + } + + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + + +COMMENT + +Original data by Ogata and Tatebayashi (1990) [1]. Neostriatal neurons +of medium size (putative medium spiny neurons) freshly isolated from +the adult guinea pig brain (either sex, 200 g). Data compensated for +the liquid junction potential (-13 mV). Experiments carried out at room +temperature (22 C). Conductance fitted by m3h kinetics. + +Smooth fit of mtau and htau data [1] by Alexander Kozlov +assuming natural logarithm of tau values [1, Figs. 5 and 9] and +temperature correction factor of 1.8 [2] as suggested by Robert Lindroos +. + +[1] Ogata N, Tatebayashi H (1990) Sodium current kinetics in freshly +isolated neostriatal neurones of the adult guinea pig. Pflugers Arch +416(5):594-603. + +[2] Schwarz JR (1986) The effect of temperature on Na currents in rat +myelinated nerve fibres. Pflugers Arch. 406(4):397-404. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/naf_ms.mod b/data/neurons/mechanisms/naf_ms.mod new file mode 100644 index 00000000..d733a5f6 --- /dev/null +++ b/data/neurons/mechanisms/naf_ms.mod @@ -0,0 +1,104 @@ +TITLE Fast transient sodium current + + +NEURON { + SUFFIX naf_ms + USEION na READ ena WRITE ina + RANGE gbar, gna, ina + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE modulation_factor +} + +UNITS { + (S) = (siemens) + (mV) = (millivolt) + (mA) = (milliamp) +} + +PARAMETER { + gbar = 0.0 (S/cm2) + :q = 1 : room temperature 22 C + q = 1.8 : body temperature 35 C + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) +} + +ASSIGNED { + v (mV) + ena (mV) + ina (mA/cm2) + gna (S/cm2) + minf + mtau (ms) + hinf + htau (ms) + PKAi (mM) + modulation_factor (1) +} + +STATE { m h } + +BREAKPOINT { + SOLVE states METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + + gna = gbar*m*m*m*h*modulation_factor + ina = gna*(v-ena) +} + +DERIVATIVE states { + rates() + m' = (minf-m)/mtau*q + h' = (hinf-h)/htau*q +} + +INITIAL { + rates() + m = minf + h = hinf +} + +PROCEDURE rates() { + UNITSOFF + :minf = 1/(1+exp((v-(-25.5))/(-9.2))) + :mtau = 0.33+1/(exp((v-(-62))/14)+exp((v-(-60))/(-17))) + :hinf = 1/(1+exp((v-(-63.2))/6)) + :htau = 0.6+1/(exp((v-(-44))/8)+exp((v-(-99))/(-44))) + minf = 1/(1+exp((v-(-25))/(-10))) + mtau = 0.33+1/(exp((v-(-62))/14)+exp((v-(-60))/(-17))) + hinf = 1/(1+exp((v-(-62))/6)) + htau = 0.6+1/(exp((v-(-44))/8)+exp((v-(-99))/(-44))) + UNITSON +} + + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + + +COMMENT + +Original data by Ogata and Tatebayashi (1990) [1]. Neostriatal neurons +of medium size (putative medium spiny neurons) freshly isolated from +the adult guinea pig brain (either sex, 200 g). Data compensated for +the liquid junction potential (-13 mV). Experiments carried out at room +temperature (22 C). Conductance fitted by m3h kinetics. + +Smooth fit of mtau and htau data [1] by Alexander Kozlov +assuming natural logarithm of tau values [1, Figs. 5 and 9] and +temperature correction factor of 1.8 [2] as suggested by Robert Lindroos +. + +[1] Ogata N, Tatebayashi H (1990) Sodium current kinetics in freshly +isolated neostriatal neurones of the adult guinea pig. Pflugers Arch +416(5):594-603. + +[2] Schwarz JR (1986) The effect of temperature on Na currents in rat +myelinated nerve fibres. Pflugers Arch. 406(4):397-404. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/par_ggap.mod b/data/neurons/mechanisms/par_ggap.mod new file mode 100644 index 00000000..fb76240a --- /dev/null +++ b/data/neurons/mechanisms/par_ggap.mod @@ -0,0 +1,22 @@ +: ggap.mod +: This is a conductance based gap junction model rather +: than resistance because Traub occasionally likes to +: set g=0 which of course is infinite resistance. +NEURON { + POINT_PROCESS gGapPar + RANGE g, i, vgap + ELECTRODE_CURRENT i +} +PARAMETER { g = 1e-10 (1/megohm) } +ASSIGNED { + v (millivolt) + vgap (millivolt) + i (nanoamp) +} +BREAKPOINT { i = (vgap - v)*g } + + + + + + diff --git a/data/neurons/mechanisms/sk_ch.mod b/data/neurons/mechanisms/sk_ch.mod new file mode 100644 index 00000000..4f848a0b --- /dev/null +++ b/data/neurons/mechanisms/sk_ch.mod @@ -0,0 +1,83 @@ +TITLE SK-type calcium activated K channel (KCa2.2) + +UNITS { + (molar) = (1/liter) + (mV) = (millivolt) + (mA) = (milliamp) + (mM) = (millimolar) +} + +NEURON { + SUFFIX sk_ch + USEION ca READ cai + USEION k READ ek WRITE ik + RANGE gbar, ik +} + +PARAMETER { + gbar = 0.0 (mho/cm2) + :q = 1 : room temperature 22-25 C + q = 2 : body temperature 35 C +} + +ASSIGNED { + v (mV) + ik (mA/cm2) + cai (mM) + ek (mV) + oinf + otau (ms) +} + +STATE { o } + +BREAKPOINT { + SOLVE state METHOD cnexp + ik = gbar*o*(v-ek) +} + +DERIVATIVE state { + rate(v, cai) + o' = (oinf-o)/otau*q +} + +INITIAL { + rate(v, cai) + o = oinf +} + +PROCEDURE rate(v (mV), ca (mM)) { + LOCAL a + a = (ca/0.57e-3)^5.2 + oinf = a/(1+a) + otau = 4.9 +} + +COMMENT + +Experimental data was obtained for the apamin-sensitive clone rSK2 from +rat brain cDNA expressed in Xenopus oocytes [1,2]. All experiments were +performed at room tempretaure. + +Original model [3] used calcium dependence from [2, Fig.2] and calcium +activation time constant from [1, Fig.13A]. NEURON implementation by +Alexander Kozlov follows the revised model [4]. + +[1] Hirschberg B, Maylie J, Adelman JP, Marrion NV (1998) Gating of +recombinant small-conductance Ca-activated K+ channels by calcium. J +Gen Physiol 111(4):565-81. + +[2] Maylie J, Bond CT, Herson PS, Lee WS, Adelman JP (2004) Small +conductance Ca2+-activated K+ channels and calmodulin. J Physiol 554(Pt +2):255-61. + +[3] Evans RC, Morera-Herreras T, Cui Y, Du K, Sheehan T, Kotaleski JH, +Venance L, Blackwell KT (2012) The effects of NMDA subunit composition on +calcium influx and spike timing-dependent plasticity in striatal medium +spiny neurons. PLoS Comput Biol 8(4):e1002493. + +[4] Evans RC, Maniar YM, Blackwell KT (2013) Dynamic modulation of +spike timing-dependent calcium influx during corticostriatal upstates. J +Neurophysiol 110(7):1631-45. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/sk_fs.mod b/data/neurons/mechanisms/sk_fs.mod new file mode 100644 index 00000000..4f2c3e34 --- /dev/null +++ b/data/neurons/mechanisms/sk_fs.mod @@ -0,0 +1,83 @@ +TITLE SK-type calcium activated K channel (KCa2.2) + +UNITS { + (molar) = (1/liter) + (mV) = (millivolt) + (mA) = (milliamp) + (mM) = (millimolar) +} + +NEURON { + SUFFIX sk_fs + USEION ca READ cai + USEION k READ ek WRITE ik + RANGE gbar, ik +} + +PARAMETER { + gbar = 0.0 (mho/cm2) + :q = 1 : room temperature + q = 3 : body temperature +} + +ASSIGNED { + v (mV) + ik (mA/cm2) + cai (mM) + ek (mV) + oinf + otau (ms) +} + +STATE { o } + +BREAKPOINT { + SOLVE state METHOD cnexp + ik = gbar*o*(v-ek) +} + +DERIVATIVE state { + rate(v, cai) + o' = (oinf-o)/otau*q +} + +INITIAL { + rate(v, cai) + o = oinf +} + +PROCEDURE rate(v (mV), ca (mM)) { + LOCAL a + a = (ca/0.57e-3)^5.2 + oinf = a/(1+a) + otau = 4.9 +} + +COMMENT + +Experimental data was obtained for the apamin-sensitive clone rSK2 from +rat brain cDNA expressed in Xenopus oocytes [1,2]. All experiments were +performed at room tempretaure. + +Original model [3] used calcium dependence from [2, Fig.2] and calcium +activation time constant from [1, Fig.13]. NEURON implementation by +Alexander Kozlov follows the revised model [4]. + +[1] Hirschberg B, Maylie J, Adelman JP, Marrion NV (1998) Gating of +recombinant small-conductance Ca-activated K+ channels by calcium. J +Gen Physiol 111(4):565-81. + +[2] Maylie J, Bond CT, Herson PS, Lee WS, Adelman JP (2004) Small +conductance Ca2+-activated K+ channels and calmodulin. J Physiol 554(Pt +2):255-61. + +[3] Evans RC, Morera-Herreras T, Cui Y, Du K, Sheehan T, Kotaleski JH, +Venance L, Blackwell KT (2012) The effects of NMDA subunit composition on +calcium influx and spike timing-dependent plasticity in striatal medium +spiny neurons. PLoS Comput Biol 8(4):e1002493. + +[4] Evans RC, Maniar YM, Blackwell KT (2013) Dynamic modulation of +spike timing-dependent calcium influx during corticostriatal upstates. J +Neurophysiol 110(7):1631-45. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/sk_ms.mod b/data/neurons/mechanisms/sk_ms.mod new file mode 100644 index 00000000..c25fe7dc --- /dev/null +++ b/data/neurons/mechanisms/sk_ms.mod @@ -0,0 +1,83 @@ +TITLE SK-type calcium activated K channel (KCa2.2) + +UNITS { + (molar) = (1/liter) + (mV) = (millivolt) + (mA) = (milliamp) + (mM) = (millimolar) +} + +NEURON { + SUFFIX sk_ms + USEION ca READ cai + USEION k READ ek WRITE ik + RANGE gbar, ik +} + +PARAMETER { + gbar = 0.0 (mho/cm2) + :q = 1 : room temperature + q = 1 : body temperature +} + +ASSIGNED { + v (mV) + ik (mA/cm2) + cai (mM) + ek (mV) + oinf + otau (ms) +} + +STATE { o } + +BREAKPOINT { + SOLVE state METHOD cnexp + ik = gbar*o*(v-ek) +} + +DERIVATIVE state { + rate(v, cai) + o' = (oinf-o)/otau*q +} + +INITIAL { + rate(v, cai) + o = oinf +} + +PROCEDURE rate(v (mV), ca (mM)) { + LOCAL a + a = (ca/0.57e-3)^5.2 + oinf = a/(1+a) + otau = 4.9 +} + +COMMENT + +Experimental data was obtained for the apamin-sensitive clone rSK2 from +rat brain cDNA expressed in Xenopus oocytes [1,2]. All experiments were +performed at room tempretaure. + +Original model [3] used calcium dependence from [2, Fig.2] and calcium +activation time constant from [1, Fig.13]. NEURON implementation by +Alexander Kozlov follows the revised model [4]. + +[1] Hirschberg B, Maylie J, Adelman JP, Marrion NV (1998) Gating of +recombinant small-conductance Ca-activated K+ channels by calcium. J +Gen Physiol 111(4):565-81. + +[2] Maylie J, Bond CT, Herson PS, Lee WS, Adelman JP (2004) Small +conductance Ca2+-activated K+ channels and calmodulin. J Physiol 554(Pt +2):255-61. + +[3] Evans RC, Morera-Herreras T, Cui Y, Du K, Sheehan T, Kotaleski JH, +Venance L, Blackwell KT (2012) The effects of NMDA subunit composition on +calcium influx and spike timing-dependent plasticity in striatal medium +spiny neurons. PLoS Comput Biol 8(4):e1002493. + +[4] Evans RC, Maniar YM, Blackwell KT (2013) Dynamic modulation of +spike timing-dependent calcium influx during corticostriatal upstates. J +Neurophysiol 110(7):1631-45. + +ENDCOMMENT diff --git a/data/neurons/mechanisms/tmgabaa.mod b/data/neurons/mechanisms/tmgabaa.mod new file mode 100644 index 00000000..3443ea21 --- /dev/null +++ b/data/neurons/mechanisms/tmgabaa.mod @@ -0,0 +1,154 @@ +TITLE GABA_A synapse with short-term plasticity + + +NEURON { + POINT_PROCESS tmGabaA + RANGE tau1, tau2, e, i, q + RANGE tau, tauR, tauF, U, u0 + RANGE failRate + NONSPECIFIC_CURRENT i + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope + RANGE mod_pka_fail_min, mod_pka_fail_max, mod_pka_fail_half, mod_pka_fail_slope + RANGE modulation_factor, modulation_factor_fail +} + +UNITS { + (nA) = (nanoamp) + (mV) = (millivolt) + (uS) = (microsiemens) +} + +PARAMETER { + : q = 2, now included in tau1,tau2 parameters. + tau1= 0.25 (ms) : ORIG: 0.5ms + tau2 = 3.75 (ms) : ORIG: 7.5ms, tau2 > tau1 + e = -65 (mV) + tau = 3 (ms) + tauR = 500 (ms) : tauR > tau + tauF = 0 (ms) : tauF >= 0 + U = 0.1 (1) <0, 1> + u0 = 0 (1) <0, 1> + mod_pka_g_min = 1 (1) + mod_pka_g_max = 1 (1) + mod_pka_g_half = 0.000100 (mM) + mod_pka_g_slope = 0.01 (mM) + mod_pka_fail_min = 0 (1) + mod_pka_fail_max = 0 (1) + mod_pka_fail_half = 0.000100 (mM) + mod_pka_fail_slope = 0.01 (mM) + failRate = 0 + failRateModulationScaling = 0 +} + +ASSIGNED { + v (mV) + i (nA) + g (uS) + factor + x + PKAi (mM) + + modulation_factor (1) + modulation_factor_fail (1) + +} + +STATE { + A (uS) + B (uS) +} + +INITIAL { + LOCAL tp + A = 0 + B = 0 + tp = (tau1*tau2)/(tau2-tau1) * log(tau2/tau1) + factor = -exp(-tp/tau1) + exp(-tp/tau2) + factor = 1/factor +} + +BREAKPOINT { + SOLVE state METHOD cnexp + modulation_factor=modulation(PKAi, mod_pka_g_min, mod_pka_g_max, mod_pka_g_half, mod_pka_g_slope) + modulation_factor_fail=modulation(PKAi, mod_pka_fail_min, mod_pka_fail_max, mod_pka_fail_half, mod_pka_fail_slope) + g = (B - A)*modulation_factor + i = g*(v - e) +} + +DERIVATIVE state { + A' = -A/tau1 + B' = -B/tau2 +} + +NET_RECEIVE(weight (uS), y, z, u, tsyn (ms)) { + LOCAL result + INITIAL { + y = 0 + z = 0 + u = u0 + tsyn = t + } + if ( weight <= 0 ) { +VERBATIM + return; +ENDVERBATIM + } + if( urand() > failRate*(1 + modulation_factor_fail)) { + z = z*exp(-(t-tsyn)/tauR) + z = z + (y*(exp(-(t-tsyn)/tau) - exp(-(t-tsyn)/tauR)) / (tau/tauR - 1) ) + y = y*exp(-(t-tsyn)/tau) + x = 1-y-z + if (tauF > 0) { + u = u*exp(-(t-tsyn)/tauF) + u = u + U*(1-u) + } else { + u = U + } + A = A + weight*factor*x*u / U + B = B + weight*factor*x*u / U + y = y + x*u + tsyn = t + } +} + +FUNCTION urand() { + urand = scop_random(1) +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + +COMMENT + +(2019-11-25) Synaptic failure rate (failRate) added. Random factor, no +reproducibility guaranteed in parallel sim. + +(2019-09-12) Set GABA reversal potential to -65mV + +(2019-08-21) Normalise activation by U, to make sure first activation has +amplitude set by g + +(2019-06-05) Q-factor was calculated in INITAL block, which meant if +the synapse was reinitalised then the time constants changed with each +initalise. Updated: Johannes Hjorth, hjorth@kth.se + +Implementation of GABA_A synapse model with short-term facilitation +and depression based on modified tmgsyn.mod [1] by Tsodyks et al [2]. +Choice of time constants follows [3]. NEURON implementation by Alexander +Kozlov . + +[1] tmgsyn.mod, ModelDB (https://senselab.med.yale.edu/ModelDB/), +accession number 3815. + +[2] Tsodyks M, Uziel A, Markram H (2000) Synchrony generation in recurrent +networks with frequency-dependent synapses. J Neurosci. 20(1):RC50. + +[3] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. +ENDCOMMENT diff --git a/data/neurons/mechanisms/tmglut.mod b/data/neurons/mechanisms/tmglut.mod new file mode 100644 index 00000000..0e4b8820 --- /dev/null +++ b/data/neurons/mechanisms/tmglut.mod @@ -0,0 +1,238 @@ +TITLE Glutamatergic synapse with short-term plasticity (stp) + + +NEURON { + THREADSAFE + POINT_PROCESS tmGlut + RANGE tau1_ampa, tau2_ampa, tau1_nmda, tau2_nmda + RANGE g_ampa, g_nmda, i_ampa, i_nmda, nmda_ratio + RANGE e, g, i, q, mg + RANGE tau, tauR, tauF, U, u0 + RANGE ca_ratio_ampa, ca_ratio_nmda, mggate, use_stp + RANGE failRate + + USEION PKA READ PKAi VALENCE 0 + RANGE mod_pka_g_ampa_min, mod_pka_g_ampa_max, mod_pka_g_ampa_half, mod_pka_g_ampa_slope + RANGE mod_pka_g_nmda_min, mod_pka_g_nmda_max, mod_pka_g_nmda_half, mod_pka_g_nmda_slope + RANGE modulation_factor_ampa, modulation_factor_nmda, modulation_factor_fail + + NONSPECIFIC_CURRENT i + USEION cal WRITE ical VALENCE 2 +} + +UNITS { + (nA) = (nanoamp) + (mV) = (millivolt) + (uS) = (microsiemens) + (mM) = (milli/liter) +} + +PARAMETER { + : q = 2 --- We have manually corrected these + tau1_ampa= 1.1 (ms) : ORIG 2.2, ampa same as in Wolf? not same as in Du et al 2017 (and glutamate.mod) + tau2_ampa = 5.75 (ms) : ORIG 11.5 ms, tau2 > tau1 + tau1_nmda= 2.76 (ms) : ORIG 5.52 ms Chapman et al 2003; table 1, adult rat (rise time, rt = 12.13. rt ~= 2.197*tau (wiki;rise time) -> tau = 12.13 / 2.197 ~= 5.52 + tau2_nmda = 115.5 (ms) : ORIG 231 ms, Chapman et al 2003; table 1, adult rat + nmda_ratio = 0.5 (1) + e = 0 (mV) + tau = 3 (ms) + tauR = 100 (ms) : tauR > tau + tauF = 800 (ms) : tauF >= 0 + U = 0.3 (1) <0, 1> + u0 = 0 (1) <0, 1> + ca_ratio_ampa = 0.005 + ca_ratio_nmda = 0.1 + mg = 1 (mM) + + mod_pka_g_ampa_min = 1 (1) + mod_pka_g_ampa_max = 1 (1) + mod_pka_g_ampa_half = 0.000100 (mM) + mod_pka_g_ampa_slope = 0.01 (mM) + + mod_pka_g_nmda_min = 1 (1) + mod_pka_g_nmda_max = 1 (1) + mod_pka_g_nmda_half = 0.000100 (mM) + mod_pka_g_nmda_slope = 0.01 (mM) + + mod_pka_fail_min = 0 (1) + mod_pka_fail_max = 0 (1) + mod_pka_fail_half = 0.000100 (mM) + mod_pka_fail_slope = 0.01 (mM) + + failRateScaling = 0 + failRate = 0 + use_stp = 1 : to turn of use_stp -> use 0 +} + +ASSIGNED { + v (mV) + i (nA) + i_ampa (nA) + i_nmda (nA) + ical (nA) + ical_ampa (nA) + ical_nmda (nA) + g (uS) + g_ampa (uS) + g_nmda (uS) + factor_ampa + factor_nmda + x + PKAi (mM) + modulation_factor_ampa (1) + modulation_factor_nmda (1) + modulation_factor_fail (1) +} + +STATE { + A_ampa (uS) + B_ampa (uS) + A_nmda (uS) + B_nmda (uS) +} + +INITIAL { + LOCAL tp_ampa, tp_nmda + A_ampa = 0 + B_ampa = 0 + + tp_ampa = (tau1_ampa*tau2_ampa)/(tau2_ampa-tau1_ampa) * log(tau2_ampa/tau1_ampa) + factor_ampa = -exp(-tp_ampa/tau1_ampa) + exp(-tp_ampa/tau2_ampa) + factor_ampa = 1/factor_ampa + + A_nmda = 0 + B_nmda = 0 + tp_nmda = (tau1_nmda*tau2_nmda)/(tau2_nmda-tau1_nmda) * log(tau2_nmda/tau1_nmda) + factor_nmda = -exp(-tp_nmda/tau1_nmda) + exp(-tp_nmda/tau2_nmda) + factor_nmda = 1/factor_nmda +} + +BREAKPOINT { + LOCAL itot_nmda, itot_ampa, mggate + SOLVE state METHOD cnexp + + modulation_factor_ampa=modulation(PKAi, mod_pka_g_ampa_min, mod_pka_g_ampa_max, mod_pka_g_ampa_half, mod_pka_g_ampa_slope) + modulation_factor_nmda=modulation(PKAi, mod_pka_g_nmda_min, mod_pka_g_nmda_max, mod_pka_g_nmda_half, mod_pka_g_nmda_slope) + modulation_factor_fail=modulation(PKAi, mod_pka_fail_min, mod_pka_fail_max, mod_pka_fail_half, mod_pka_fail_slope) + : NMDA + mggate = 1 / (1 + exp(-0.062 (/mV) * v) * (mg / 3.57 (mM))) + g_nmda = (B_nmda - A_nmda) * modulation_factor_nmda + itot_nmda = g_nmda * (v - e) * mggate + ical_nmda = ca_ratio_nmda*itot_nmda + i_nmda = itot_nmda - ical_nmda + + : AMPA + g_ampa = (B_ampa - A_ampa) * modulation_factor_ampa + itot_ampa = g_ampa*(v - e) + ical_ampa = ca_ratio_ampa*itot_ampa + i_ampa = itot_ampa - ical_ampa + + : total values + ical = ical_nmda + ical_ampa + g = g_ampa + g_nmda + i = i_ampa + i_nmda + + : printf("%g\t%g\t%g\t%g\t%g\n",tau1_ampa,B_ampa,A_ampa,B_nmda,A_nmda) + : printf("%g\t%g\t%g\t%g\t%g\n",v,g_nmda,g,i,ical) +} + +DERIVATIVE state { + A_ampa' = -A_ampa/tau1_ampa + B_ampa' = -B_ampa/tau2_ampa + A_nmda' = -A_nmda/tau1_nmda + B_nmda' = -B_nmda/tau2_nmda +} + +NET_RECEIVE(weight (uS), y, z, u, tsyn (ms)) { + LOCAL weight_ampa, weight_nmda + INITIAL { + y = 0 + z = 0 + u = u0 + tsyn = t + : printf("t\t t-tsyn\t y\t z\t u\n") + + } + + if ( weight <= 0 ) { +VERBATIM + return; +ENDVERBATIM + } + if( urand() > failRate*(1 + modulation_factor_fail)) { + + z = z*exp(-(t-tsyn)/tauR) + z = z + (y*(exp(-(t-tsyn)/tau) - exp(-(t-tsyn)/tauR)) / (tau/tauR - 1) ) + y = y*exp(-(t-tsyn)/tau) + x = 1-y-z + if (tauF > 0) { + u = u*exp(-(t-tsyn)/tauF) + u = u + U*(1-u) + } else { + u = U + } + + if (use_stp > 0) { + : We divide by U to normalise, so that g gives amplitude + : of first activation + weight_ampa = weight *x*u / U + } else { + weight_ampa = weight + } + + weight_nmda = weight_ampa*nmda_ratio + + A_ampa = A_ampa + weight_ampa*factor_ampa + B_ampa = B_ampa + weight_ampa*factor_ampa + A_nmda = A_nmda + weight_nmda*factor_nmda + B_nmda = B_nmda + weight_nmda*factor_nmda + + y = y + x*u + : printf("** %g\t%g\t%g\t%g\t%g\n", t, t-tsyn, y, z, u) + tsyn = t + } +} + +FUNCTION urand() { + urand = scop_random(1) +} + +FUNCTION modulation(conc (mM), mod_min (1), mod_max (1), mod_half (mM), mod_slope (mM)) (1) { + : returns modulation factor + modulation = mod_min + (mod_max-mod_min) / (1 + exp(-(conc - mod_half)/mod_slope)) +} + + + +COMMENT +(2019-11-29) Synaptic failure rate (fail) added. Random factor, no +reproducibility guaranteed in parallel sim. + +(2019-08-21) We normalise the activation by U, to make sure that g specifies + the conductance of the first actvation + +(2019-06-05) Q-factor was calculated in INITAL block, which meant if +the synapse was reinitalised then the time constants changed with each +initalise. Updated: Johannes Hjorth, hjorth@kth.se + +- updates by Robert Lindroos (robert.lindroos at ki.se): +Missing line calculating Ca ratio of NMDA current fixed. The whole block were updated since +plotting ratios for both nmda and ampa gave 0. +- switch for turning of short term dynamics added. If used this synapse will summate. + +Implementation of glutamatergic synapse model with short-term facilitation +and depression based on modified tmgsyn.mod [1] by Tsodyks et al [2]. +Choice of time constants and calcium current model follows [3]. +NEURON implementation by Alexander Kozlov . + +[1] tmgsyn.mod, ModelDB (https://senselab.med.yale.edu/ModelDB/), +accession number 3815. + +[2] Tsodyks M, Uziel A, Markram H (2000) Synchrony generation in recurrent +networks with frequency-dependent synapses. J Neurosci. 20(1):RC50. + +[3] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. +ENDCOMMENT diff --git a/data/neurons/mechanisms/tmglut_M1RH_D1.mod b/data/neurons/mechanisms/tmglut_M1RH_D1.mod new file mode 100644 index 00000000..b4d50247 --- /dev/null +++ b/data/neurons/mechanisms/tmglut_M1RH_D1.mod @@ -0,0 +1,282 @@ +TITLE Glutamatergic synapse with short-term plasticity (stp) + +COMMENT +stp can be turned of by setting use_stp == 0 + +-------------------------------------------- + +Neuromodulation is added as functions: + + modulationDA = 1 + modDA*(maxModDA-1)*levelDA + +where: + + modDA [0]: is a switch for turning modulation on or off {1/0} + maxModDA [1]: is the maximum modulation for this specific channel (read from the param file) + e.g. 10% increase would correspond to a factor of 1.1 (100% +10%) {0-inf} + levelDA [0]: is an additional parameter for scaling modulation. + Can be used simulate non static modulation by gradually changing the value from 0 to 1 {0-1} + + Further neuromodulators can be added by for example: + modulationDA = 1 + modDA*(maxModDA-1) + modulationACh = 1 + modACh*(maxModACh-1) + .... + + etc. for other neuromodulators + + + +[] == default values +{} == ranges + +ENDCOMMENT + +NEURON { + THREADSAFE + POINT_PROCESS tmGlut_M1RH_D1 + RANGE tau1_ampa, tau2_ampa, tau1_nmda, tau2_nmda + RANGE g_ampa, g_nmda, i_ampa, i_nmda, nmda_ratio + RANGE e, g, i, q, mg + RANGE tau, tauR, tauF, U, u0 + RANGE ca_ratio_ampa, ca_ratio_nmda, mggate, use_stp + RANGE modDA, maxMod_AMPADA, levelDA, maxMod_AMPAACh, levelACh + RANGE maxMod_NMDADA, modACh, maxMod_NMDAACh + NONSPECIFIC_CURRENT i + RANGE failRateDA, failRateACh, failRate + USEION cal WRITE ical VALENCE 2 +} + +UNITS { + (nA) = (nanoamp) + (mV) = (millivolt) + (uS) = (microsiemens) + (mM) = (milli/liter) +} + +PARAMETER { + : input_region = M1RH-ipsi ; cell_type = D1-MSN + tau1_ampa= 0.819 (ms) + tau2_ampa = 4.626 (ms) + tau3_ampa = 64.295 (ms) + tau1_nmda= 1.729 (ms) + tau2_nmda = 34.413 (ms) + tau3_nmda = 212.116 (ms) + nmda_ratio = 0.5 (1) + e = 0 (mV) + tau = 3 (ms) + tauR = 100 (ms) : tauR > tau + tauF = 800 (ms) : tauF >= 0 + U = 0.3 (1) <0, 1> + u0 = 0 (1) <0, 1> + ca_ratio_ampa = 0.005 + ca_ratio_nmda = 0.1 + mg = 1 (mM) + + failRate = 0 + maxMod_AMPADA = 1 + levelDA = 0 + + maxMod_AMPAACh = 1 + + modDA = 0 + maxMod_NMDADA = 1 + + modACh = 0 + maxMod_NMDAACh = 1 + levelACh = 0 + + failRateDA = 0 + failRateACh = 0 + use_stp = 1 : to turn of use_stp -> use 0 +} + +ASSIGNED { + v (mV) + i (nA) + i_ampa (nA) + i_nmda (nA) + ical (nA) + ical_ampa (nA) + ical_nmda (nA) + g (uS) + g_ampa (uS) + g_nmda (uS) + factor_ampa + factor_nmda + x + +} + +STATE { + A_ampa (uS) + B_ampa (uS) + C_ampa (uS) + A_nmda (uS) + B_nmda (uS) + C_nmda (uS) +} + +INITIAL { + LOCAL tp_ampa, tp_nmda + A_ampa = 0 + B_ampa = 0 + C_ampa = 0 + + tp_ampa = 1.628 + factor_ampa = -exp(-tp_ampa/tau1_ampa) + exp(-tp_ampa/tau2_ampa) + exp(-tp_ampa/tau3_ampa) + factor_ampa = 1/factor_ampa + + A_nmda = 0 + B_nmda = 0 + C_nmda = 0 + tp_nmda = 5.137 + factor_nmda = -exp(-tp_nmda/tau1_nmda) + exp(-tp_nmda/tau2_nmda) + exp(-tp_nmda/tau3_nmda) + factor_nmda = 1/factor_nmda +} + +BREAKPOINT { + LOCAL itot_nmda, itot_ampa, mggate + SOLVE state METHOD cnexp + + : NMDA + mggate = 1 / (1 + exp(-0.062 (/mV) * v) * (mg / 2.62 (mM))) : 3.57 instead of 2.62 if LJP not corrected + g_nmda = (B_nmda - A_nmda) * modulationDA_NMDA()*modulationACh_NMDA() + itot_nmda = g_nmda * (v - e) * mggate + ical_nmda = ca_ratio_nmda*itot_nmda + i_nmda = itot_nmda - ical_nmda + + : AMPA + g_ampa = (B_ampa - A_ampa) * modulationDA_AMPA() * modulationACh_AMPA() + itot_ampa = g_ampa*(v - e) + ical_ampa = ca_ratio_ampa*itot_ampa + i_ampa = itot_ampa - ical_ampa + + : total values + ical = ical_nmda + ical_ampa + g = g_ampa + g_nmda + i = i_ampa + i_nmda + + : printf("%g\t%g\t%g\t%g\t%g\n",tau1_ampa,B_ampa,A_ampa,B_nmda,A_nmda) + : printf("%g\t%g\t%g\t%g\t%g\n",v,g_nmda,g,i,ical) +} + +DERIVATIVE state { + A_ampa' = -A_ampa/tau1_ampa + B_ampa' = -B_ampa/tau2_ampa + C_ampa' = -C_ampa/tau3_ampa + A_nmda' = -A_nmda/tau1_nmda + B_nmda' = -B_nmda/tau2_nmda + C_nmda' = -C_nmda/tau3_nmda +} + +NET_RECEIVE(weight (uS), y, z, u, tsyn (ms)) { + LOCAL weight_ampa, weight_nmda + INITIAL { + y = 0 + z = 0 + u = u0 + tsyn = t + : printf("t\t t-tsyn\t y\t z\t u\n") + + } + + if ( weight <= 0 ) { +VERBATIM + return; +ENDVERBATIM + } + if( urand() > failRate*(1 + modDA*(failRateDA-1)*levelDA + modACh*(failRateACh-1)*levelACh)) { + + z = z*exp(-(t-tsyn)/tauR) + z = z + (y*(exp(-(t-tsyn)/tau) - exp(-(t-tsyn)/tauR)) / (tau/tauR - 1) ) + y = y*exp(-(t-tsyn)/tau) + x = 1-y-z + if (tauF > 0) { + u = u*exp(-(t-tsyn)/tauF) + u = u + U*(1-u) + } else { + u = U + } + + if (use_stp > 0) { + : We divide by U to normalise, so that g gives amplitude + : of first activation + weight_ampa = weight *x*u / U + } else { + weight_ampa = weight + } + + weight_nmda = weight_ampa*nmda_ratio + + A_ampa = A_ampa + weight_ampa*factor_ampa + B_ampa = B_ampa + weight_ampa*factor_ampa + A_nmda = A_nmda + weight_nmda*factor_nmda + B_nmda = B_nmda + weight_nmda*factor_nmda + + y = y + x*u + : printf("** %g\t%g\t%g\t%g\t%g\n", t, t-tsyn, y, z, u) + tsyn = t + } +} + +FUNCTION urand() { + urand = scop_random(1) +} + + +FUNCTION modulationDA_NMDA() { + : returns modulation factor + + modulationDA_NMDA = 1 + modDA*(maxMod_NMDADA-1)*levelDA +} + +FUNCTION modulationACh_NMDA() { + : returns modulation factor + + modulationACh_NMDA = 1 + modACh*(maxMod_NMDAACh-1)*levelACh +} + +FUNCTION modulationDA_AMPA() { + : returns modulation factor + + modulationDA_AMPA = 1 + modDA*(maxMod_AMPADA-1)*levelDA +} + +FUNCTION modulationACh_AMPA() { + : returns modulation factor + + modulationACh_AMPA = 1 + modACh*(maxMod_AMPAACh-1)*levelACh +} + +COMMENT +(2019-11-29) Synaptic failure rate (fail) added. Random factor, no +reproducibility guaranteed in parallel sim. + +(2019-08-21) We normalise the activation by U, to make sure that g specifies + the conductance of the first actvation + +(2019-06-05) Q-factor was calculated in INITAL block, which meant if +the synapse was reinitalised then the time constants changed with each +initalise. Updated: Johannes Hjorth, hjorth@kth.se + +- updates by Robert Lindroos (robert.lindroos at ki.se): +Missing line calculating Ca ratio of NMDA current fixed. The whole block were updated since +plotting ratios for both nmda and ampa gave 0. +- switch for turning of short term dynamics added. If used this synapse will summate. + +Implementation of glutamatergic synapse model with short-term facilitation +and depression based on modified tmgsyn.mod [1] by Tsodyks et al [2]. +Choice of time constants and calcium current model follows [3]. +NEURON implementation by Alexander Kozlov . + +[1] tmgsyn.mod, ModelDB (https://senselab.med.yale.edu/ModelDB/), +accession number 3815. + +[2] Tsodyks M, Uziel A, Markram H (2000) Synchrony generation in recurrent +networks with frequency-dependent synapses. J Neurosci. 20(1):RC50. + +[3] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. +ENDCOMMENT diff --git a/data/neurons/mechanisms/tmglut_double.mod b/data/neurons/mechanisms/tmglut_double.mod new file mode 100644 index 00000000..9e1c0102 --- /dev/null +++ b/data/neurons/mechanisms/tmglut_double.mod @@ -0,0 +1,302 @@ +TITLE Glutamatergic synapse with short-term plasticity (stp) + +COMMENT +stp can be turned of by setting use_stp == 0 + +-------------------------------------------- + +Neuromodulation is added as functions: + + modulationDA = 1 + modDA*(maxModDA-1)*levelDA + +where: + + modDA [0]: is a switch for turning modulation on or off {1/0} + maxModDA [1]: is the maximum modulation for this specific channel (read from the param file) + e.g. 10% increase would correspond to a factor of 1.1 (100% +10%) {0-inf} + levelDA [0]: is an additional parameter for scaling modulation. + Can be used simulate non static modulation by gradually changing the value from 0 to 1 {0-1} + + Further neuromodulators can be added by for example: + modulationDA = 1 + modDA*(maxModDA-1) + modulationACh = 1 + modACh*(maxModACh-1) + .... + + etc. for other neuromodulators + + + +[] == default values +{} == ranges + +ENDCOMMENT + +NEURON { + THREADSAFE + POINT_PROCESS tmGlut_double + RANGE tau1_ampa, tau2_ampa, tau3_ampa, tau1_nmda, tau2_nmda, tau3_nmda + RANGE I2_ampa, I3_ampa, I2_nmda, I3_nmda + RANGE tpeak_ampa, factor_ampa, tpeak_nmda, factor_nmda + RANGE g_ampa, g_nmda, i_ampa, i_nmda, itot_ampa, itot_nmda, nmda_ratio + RANGE e, g, i, q, mg + RANGE tau, tauR, tauF, U, u0 + RANGE ca_ratio_ampa, ca_ratio_nmda, mggate, use_stp + RANGE failRateDA, failRateACh, failRate + RANGE modDA, maxMod_AMPADA, levelDA, maxMod_AMPAACh, levelACh + RANGE maxMod_NMDADA, modACh, maxMod_NMDAACh + NONSPECIFIC_CURRENT i + USEION cal WRITE ical VALENCE 2 +} + +UNITS { + (nA) = (nanoamp) + (mV) = (millivolt) + (uS) = (microsiemens) + (mM) = (milli/liter) +} + +PARAMETER { + : input_region ; cell_type + e = 0 (mV) + tau = 3 (ms) + tauR = 100 (ms) : tauR > tau + tauF = 100 (ms) : tauF >= 0 + U = 0.3 (1) <0, 1> + u0 = 0.1 (1) <0, 1> + ca_ratio_ampa = 0.005 + ca_ratio_nmda = 0.1 + mg = 1 (mM) + modDA = 0 + maxMod_AMPADA = 1 + modACh = 0 + maxMod_AMPAACh = 1 + levelACh = 0 + + + maxMod_NMDADA = 1 + levelDA = 0 + + maxMod_NMDAACh = 1 + + failRateDA = 0 + failRateACh = 0 + failRate = 0 + + use_stp = 1 : to turn off use_stp -> use 0 + + tau1_ampa (ms) + tau2_ampa (ms) + tau3_ampa (ms) + I2_ampa + I3_ampa + tpeak_ampa (ms) + factor_ampa + tau1_nmda (ms) + tau2_nmda (ms) + tau3_nmda (ms) + I2_nmda + I3_nmda + tpeak_nmda (ms) + factor_nmda + nmda_ratio + + + + +} + +ASSIGNED { + v (mV) + i (nA) + i_ampa (nA) + i_nmda (nA) + ical (nA) + ical_ampa (nA) + ical_nmda (nA) + g (uS) + g_ampa (uS) + g_nmda (uS) + + x + + +} + +STATE { + A_ampa (uS) + B_ampa (uS) + C_ampa (uS) + A_nmda (uS) + B_nmda (uS) + C_nmda (uS) +} + +INITIAL { + + A_ampa = 0 + B_ampa = 0 + C_ampa = 0 + + + + A_nmda = 0 + B_nmda = 0 + C_nmda = 0 + +} + +BREAKPOINT { + LOCAL itot_nmda, itot_ampa, mggate + SOLVE state METHOD cnexp + + : NMDA + mggate = 1 / (1 + exp(-0.062 (/mV) * v) * (mg / 2.62 (mM))) : 3.57 instead of 2.62 if LJP not corrected + g_nmda = (I3_nmda*C_nmda + I2_nmda* B_nmda - (I3_nmda+I2_nmda)* A_nmda) * modulationDA_NMDA()*modulationACh_NMDA() + itot_nmda = g_nmda * (v - e) * mggate + ical_nmda = ca_ratio_nmda*itot_nmda + i_nmda = itot_nmda - ical_nmda + + : AMPA + g_ampa = (I3_ampa*C_ampa + I2_ampa* B_ampa - (I3_ampa+I2_ampa)* A_ampa) * modulationDA_AMPA() * modulationACh_AMPA() + itot_ampa = g_ampa*(v - e) + ical_ampa = ca_ratio_ampa*itot_ampa + i_ampa = itot_ampa - ical_ampa + + : total values + ical = ical_nmda + ical_ampa + g = g_ampa + g_nmda + i = i_ampa + i_nmda + + : printf("%g\t%g\t%g\t%g\t%g\n",tau1_ampa,B_ampa,A_ampa,B_nmda,A_nmda) + : printf("%g\t%g\t%g\t%g\t%g\n",v,g_nmda,g,i,ical) + : printf("%g\t%g\t%g\t%g\t%g\n",tau1_ampa,tau2_ampa,tau1_nmda,tau2_nmda,nmda_ratio) + : printf("%g\t\n",tau) +} + +DERIVATIVE state { + A_ampa' = -A_ampa/tau1_ampa + B_ampa' = -B_ampa/tau2_ampa + C_ampa' = -C_ampa/tau3_ampa + A_nmda' = -A_nmda/tau1_nmda + B_nmda' = -B_nmda/tau2_nmda + C_nmda' = -C_nmda/tau3_nmda +} + +NET_RECEIVE(weight (uS), y, z, u, tsyn (ms)) { + LOCAL weight_ampa, weight_nmda + INITIAL { + y = 0 + z = 0 + u = u0 + tsyn = t + : printf("t\t t-tsyn\t y\t z\t u\n") + + } + + if ( weight <= 0 ) { +VERBATIM + return; +ENDVERBATIM + } + if( urand() > failRate*(1 + modDA*(failRateDA-1)*levelDA + modACh*(failRateACh-1)*levelACh)) { + + z = z*exp(-(t-tsyn)/tauR) + z = z + (y*(exp(-(t-tsyn)/tau) - exp(-(t-tsyn)/tauR)) / (tau/tauR - 1) ) + y = y*exp(-(t-tsyn)/tau) + x = 1-y-z + if (tauF > 0) { + u = u*exp(-(t-tsyn)/tauF) + u = u + U*(1-u) + } else { + u = U + } + + if (use_stp > 0) { + : We divide by U to normalise, so that g gives amplitude + : of first activation + weight_ampa = weight *x*u / U + } else { + weight_ampa = weight + } + + weight_nmda = weight_ampa*nmda_ratio + + A_ampa = A_ampa + weight_ampa*factor_ampa + B_ampa = B_ampa + weight_ampa*factor_ampa + C_ampa = C_ampa + weight_ampa*factor_ampa + A_nmda = A_nmda + weight_nmda*factor_nmda + B_nmda = B_nmda + weight_nmda*factor_nmda + C_nmda = C_nmda + weight_nmda*factor_nmda + + y = y + x*u + : printf("** %g\t%g\t%g\t%g\t%g\n", t, t-tsyn, y, z, u) + tsyn = t + } +} + +FUNCTION urand() { + urand = scop_random(1) +} + +FUNCTION modulationDA_NMDA() { + : returns modulation factor + + modulationDA_NMDA = 1 + modDA*(maxMod_NMDADA-1)*levelDA +} + +FUNCTION modulationACh_NMDA() { + : returns modulation factor + + modulationACh_NMDA = 1 + modACh*(maxMod_NMDAACh-1)*levelACh +} + +FUNCTION modulationDA_AMPA() { + : returns modulation factor + + modulationDA_AMPA = 1 + modDA*(maxMod_AMPADA-1)*levelDA +} + +FUNCTION modulationACh_AMPA() { + : returns modulation factor + + modulationACh_AMPA = 1 + modACh*(maxMod_AMPAACh-1)*levelACh +} + + +COMMENT +(2020-09) C_ampa and C_nmda added to take into account a second decay time constant. +tpeak_ampa, tpeak_nmda, factor_ampa and factor_nmda are now calculated during the fitting procedure. +g_nmda and g_ampa updated. +mggate updated to take into account LJP correction. Ilaria Carannante, ilariac@kth.se + +(2019-11-29) Synaptic failure rate (fail) added. Random factor, no +reproducibility guaranteed in parallel sim. + +(2019-08-21) We normalise the activation by U, to make sure that g specifies + the conductance of the first actvation + +(2019-06-05) Q-factor was calculated in INITAL block, which meant if +the synapse was reinitalised then the time constants changed with each +initalise. Updated: Johannes Hjorth, hjorth@kth.se + +- updates by Robert Lindroos (robert.lindroos at ki.se): +Missing line calculating Ca ratio of NMDA current fixed. The whole block were updated since +plotting ratios for both nmda and ampa gave 0. +- switch for turning of short term dynamics added. If used this synapse will summate. + +Implementation of glutamatergic synapse model with short-term facilitation +and depression based on modified tmgsyn.mod [1] by Tsodyks et al [2]. +Choice of time constants and calcium current model follows [3]. +NEURON implementation by Alexander Kozlov . + +[1] tmgsyn.mod, ModelDB (https://senselab.med.yale.edu/ModelDB/), +accession number 3815. + +[2] Tsodyks M, Uziel A, Markram H (2000) Synchrony generation in recurrent +networks with frequency-dependent synapses. J Neurosci. 20(1):RC50. + +[3] Wolf JA, Moyer JT, Lazarewicz MT, Contreras D, Benoit-Marand M, +O'Donnell P, Finkel LH (2005) NMDA/AMPA ratio impacts state transitions +and entrainment to oscillations in a computational model of the nucleus +accumbens medium spiny projection neuron. J Neurosci 25(40):9080-95. +ENDCOMMENT diff --git a/data/neurons/mechanisms/vecevent.mod b/data/neurons/mechanisms/vecevent.mod new file mode 100644 index 00000000..ce917ccf --- /dev/null +++ b/data/neurons/mechanisms/vecevent.mod @@ -0,0 +1,80 @@ +: Vector stream of events + +NEURON { + THREADSAFE + ARTIFICIAL_CELL VecStim + POINTER ptr +} + +ASSIGNED { + index + etime (ms) + ptr +} + + +INITIAL { + index = 0 + element() + if (index > 0) { + net_send(etime - t, 1) + } +} + +NET_RECEIVE (w) { + if (flag == 1) { + net_event(t) + element() + if (index > 0) { + net_send(etime - t, 1) + } + } +} + +DESTRUCTOR { +VERBATIM + void* vv = (void*)(_p_ptr); + if (vv) { + hoc_obj_unref(*vector_pobj(vv)); + } +ENDVERBATIM +} + +PROCEDURE element() { +VERBATIM + { void* vv; int i, size; double* px; + i = (int)index; + if (i >= 0) { + vv = (void*)(_p_ptr); + if (vv) { + size = vector_capacity(vv); + px = vector_vec(vv); + if (i < size) { + etime = px[i]; + index += 1.; + }else{ + index = -1.; + } + }else{ + index = -1.; + } + } + } +ENDVERBATIM +} + +PROCEDURE play() { +VERBATIM + void** pv; + void* ptmp = NULL; + if (ifarg(1)) { + ptmp = vector_arg(1); + hoc_obj_ref(*vector_pobj(ptmp)); + } + pv = (void**)(&_p_ptr); + if (*pv) { + hoc_obj_unref(*vector_pobj(*pv)); + } + *pv = ptmp; +ENDVERBATIM +}