├── tests └── TestsFiles │ ├── L4_LBC_cNAC187_5_for_run │ ├── mod │ │ ├── .dropbox.attr │ │ ├── CaDynamics_E2.mod │ │ ├── SKv3_1.mod │ │ ├── Ih.mod │ │ ├── Im.mod │ │ ├── SK_E2.mod │ │ ├── Ca.mod │ │ ├── Ca_LVAst.mod │ │ ├── K_Tst.mod │ │ ├── NaTa_t.mod │ │ ├── NaTs2_t.mod │ │ ├── K_Pst.mod │ │ └── Nap_Et2.mod │ └── morphology.hoc │ ├── Test_7_Almog │ ├── 1487081844_732516.txt │ ├── best.params │ └── mod │ │ ├── SK.mod │ │ ├── epsp.mod │ │ ├── ih.mod │ │ ├── kfast.mod │ │ └── ca_r.mod │ ├── Test_12_TPC_L6_Markram │ ├── synapses │ │ └── analyze.txt │ ├── mod │ │ ├── CaDynamics_E2.mod │ │ ├── SKv3_1.mod │ │ ├── Ih.mod │ │ ├── Im.mod │ │ ├── SK_E2.mod │ │ ├── Ca_HVA.mod │ │ ├── Ca_LVAst.mod │ │ ├── K_Tst.mod │ │ ├── NaTa_t.mod │ │ ├── NaTs2_t.mod │ │ ├── K_Pst.mod │ │ └── Nap_Et2.mod │ └── morphology.hoc │ ├── Test_13_DBC_L4_Markram │ ├── synapses │ │ └── analyze.txt │ ├── mod │ │ ├── CaDynamics_E2.mod │ │ ├── SKv3_1.mod │ │ ├── Ih.mod │ │ ├── Im.mod │ │ ├── SK_E2.mod │ │ ├── Ca.mod │ │ ├── Ca_LVAst.mod │ │ ├── K_Tst.mod │ │ ├── NaTa_t.mod │ │ ├── NaTs2_t.mod │ │ ├── K_Pst.mod │ │ └── Nap_Et2.mod │ └── morphology.hoc │ ├── Test_4_LBC_amsalem │ ├── mod │ │ ├── gap2.mod │ │ ├── gap1.mod │ │ ├── gapmul.mod │ │ ├── gap.mod │ │ ├── halfgap.mod │ │ ├── _calciumc_concentration.mod │ │ ├── calcium_dynamics.mod │ │ ├── CaDynamics_E2.mod │ │ ├── calcium_shaul.mod │ │ ├── Nap.mod │ │ ├── CaDynamics_E.mod │ │ ├── SKv3_1.mod │ │ ├── Ih.mod │ │ ├── Im.mod │ │ ├── SKv3_1t.mod │ │ ├── Ca_LVA.mod │ │ ├── SK_E.mod │ │ ├── SK_E2.mod │ │ ├── Ca_LVAs.mod │ │ ├── K_Ts.mod │ │ ├── K_P.mod │ │ ├── SK_S.mod │ │ ├── Ca.mod │ │ ├── Ca_HVA.mod │ │ ├── KdShu2007.mod │ │ ├── _iM.mod │ │ ├── K_Ps.mod │ │ ├── Ca_LVAst.mod │ │ ├── K_Tst.mod │ │ ├── NaTa_t.mod │ │ ├── NaTs2_t.mod │ │ ├── K_Pst.mod │ │ ├── Nap_E.mod │ │ ├── Nap_Et2.mod │ │ ├── _calcium.mod │ │ ├── _calcium2.mod │ │ ├── Isin.mod │ │ └── izap.mod │ └── TDistFunc.hoc │ ├── Test_8_C1_Marasco │ ├── mod │ │ ├── distr.mod │ │ ├── h.mod │ │ └── kdrca1.mod │ └── Morphology_replace_user05.py │ ├── Test_10_Allen_47804508 │ ├── reconstruction.marker │ ├── mod │ │ ├── Kv3_1.mod │ │ ├── CaDynamics.mod │ │ ├── Kd.mod │ │ ├── Im_v2.mod │ │ ├── Im.mod │ │ ├── SK.mod │ │ ├── Ih.mod │ │ ├── K_T.mod │ │ ├── Ca_LVA.mod │ │ ├── K_P.mod │ │ ├── Nap.mod │ │ ├── Ca_HVA.mod │ │ ├── NaTs.mod │ │ ├── Kv2like.mod │ │ └── NaTa.mod │ └── AllenBiophys.hoc │ ├── Test_9_Allen_483108201 │ ├── reconstruction.marker │ ├── mod │ │ ├── Kv3_1.mod │ │ ├── CaDynamics.mod │ │ ├── Kd.mod │ │ ├── Im_v2.mod │ │ ├── Im.mod │ │ ├── SK.mod │ │ ├── Ih.mod │ │ ├── K_T.mod │ │ ├── Ca_LVA.mod │ │ ├── K_P.mod │ │ ├── Nap.mod │ │ ├── Ca_HVA.mod │ │ ├── NaTs.mod │ │ ├── Kv2like.mod │ │ └── NaTa.mod │ ├── Allen_483108201.hoc │ └── AllenBiophys.hoc │ └── Test_5_Hay_2011 │ ├── mod │ ├── CaDynamics_E2.mod │ ├── SKv3_1.mod │ ├── Ih.mod │ ├── Im.mod │ ├── SK_E2.mod │ ├── Ca_HVA.mod │ ├── Ca_LVAst.mod │ ├── K_Tst.mod │ ├── NaTa_t.mod │ ├── NaTs2_t.mod │ ├── epsp.mod │ ├── K_Pst.mod │ └── Nap_Et2.mod │ └── L5PCbiophys3.hoc ├── neuron_reduce ├── __init__.py └── hoc_funcs.hoc ├── example ├── mod │ ├── CaDynamics_E2.mod │ ├── SKv3_1.mod │ ├── Ih.mod │ ├── Im.mod │ ├── SK_E2.mod │ ├── Ca_HVA.mod │ ├── Ca_LVAst.mod │ ├── K_Tst.mod │ ├── NaTa_t.mod │ ├── NaTs2_t.mod │ ├── epsp.mod │ ├── K_Pst.mod │ └── Nap_Et2.mod └── L5PCbiophys3.hoc ├── setup.py ├── LICENSE └── .gitignore /tests/TestsFiles/L4_LBC_cNAC187_5_for_run/mod/.dropbox.attr: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /tests/TestsFiles/Test_7_Almog/1487081844_732516.txt: -------------------------------------------------------------------------------- 1 | [basal,13,0.188244940929] 2 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_12_TPC_L6_Markram/synapses/analyze.txt: -------------------------------------------------------------------------------- 1 | tau_r_GABAA 7.64546419721 2 | i_weight 0.000876995640627 3 | tau_r_AMPA 1.73774640059 4 | e_weight 0.00078538944389 5 | num syns 3218 6 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_13_DBC_L4_Markram/synapses/analyze.txt: -------------------------------------------------------------------------------- 1 | tau_r_GABAA 8.32325145933 2 | i_weight 0.000834812854451 3 | tau_r_AMPA 1.73125066061 4 | e_weight 0.000406389921244 5 | num syns 221 6 | -------------------------------------------------------------------------------- /neuron_reduce/__init__.py: -------------------------------------------------------------------------------- 1 | from .subtree_reductor_func import subtree_reductor 2 | import os 3 | 4 | 5 | def run_tests(): 6 | 7 | pp = os.path.realpath(__file__) 8 | pp = os.path.dirname(pp) 9 | print(pp) 10 | execfile(pp + '/../tests/run_all_tests.py') 11 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/gap2.mod: -------------------------------------------------------------------------------- 1 | NEURON { 2 | POINT_PROCESS Gap2 3 | RANGE vgap 4 | RANGE r, i 5 | NONSPECIFIC_CURRENT i 6 | } 7 | PARAMETER { r = 1e10 (megohm) } 8 | ASSIGNED { 9 | v (millivolt) 10 | vgap (millivolt) 11 | i (nanoamp) 12 | } 13 | BREAKPOINT { i = (v - vgap)/r } 14 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/gap1.mod: -------------------------------------------------------------------------------- 1 | NEURON { 2 | POINT_PROCESS Gap1 3 | POINTER vgap 4 | RANGE r, i 5 | NONSPECIFIC_CURRENT i 6 | } 7 | PARAMETER { r = 1e10 (megohm) } 8 | ASSIGNED { 9 | v (millivolt) 10 | vgap (millivolt) 11 | i (nanoamp) 12 | } 13 | BREAKPOINT { i = (v - vgap)/r } 14 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/gapmul.mod: -------------------------------------------------------------------------------- 1 | NEURON { 2 | POINT_PROCESS GapMul 3 | RANGE g, i, vgap 4 | NONSPECIFIC_CURRENT i 5 | THREADSAFE 6 | } 7 | PARAMETER { g = 1 (nanosiemens) } 8 | ASSIGNED { 9 | v (millivolt) 10 | vgap (millivolt) 11 | i (nanoamp) 12 | } 13 | BREAKPOINT { i = (v - vgap)*(g*1e-3) } 14 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/gap.mod: -------------------------------------------------------------------------------- 1 | NEURON { 2 | POINT_PROCESS Gap 3 | POINTER vgap 4 | RANGE g, i 5 | NONSPECIFIC_CURRENT i 6 | THREADSAFE 7 | } 8 | PARAMETER { g = 1 (nanosiemens) } 9 | ASSIGNED { 10 | v (millivolt) 11 | vgap (millivolt) 12 | i (nanoamp) 13 | } 14 | BREAKPOINT { i = (v - vgap)*(g*1e-3) } 15 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/halfgap.mod: -------------------------------------------------------------------------------- 1 | NEURON { 2 | POINT_PROCESS HalfGap 3 | ELECTRODE_CURRENT i 4 | RANGE g, i, vgap 5 | } 6 | 7 | PARAMETER { 8 | g = 1 (nanosiemens) 9 | } 10 | 11 | ASSIGNED { 12 | v (millivolt) 13 | vgap (millivolt) 14 | i (nanoamp) 15 | } 16 | 17 | BREAKPOINT { 18 | i = g * (vgap - v) 19 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_8_C1_Marasco/mod/distr.mod: -------------------------------------------------------------------------------- 1 | TITLE ...just to store peak membrane voltage 2 | : M.Migliore June 2001 3 | 4 | UNITS { 5 | (mA) = (milliamp) 6 | (mV) = (millivolt) 7 | 8 | } 9 | 10 | PARAMETER { 11 | v (mV) 12 | } 13 | 14 | 15 | NEURON { 16 | SUFFIX ds 17 | RANGE vmax 18 | } 19 | 20 | ASSIGNED { 21 | vmax 22 | } 23 | 24 | INITIAL { 25 | vmax=v 26 | } 27 | 28 | 29 | BREAKPOINT { 30 | if (v>vmax) {vmax=v} 31 | } 32 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_7_Almog/best.params: -------------------------------------------------------------------------------- 1 | 120.438 2 | 25812.2 3 | 0.602042 4 | -47.8446 5 | 118.437 6 | 351.814 7 | -0.0137979 8 | 2.5117 9 | 1.44732 10 | 3.78767 11 | -0.0915783 12 | 205.886 13 | 28.2824 14 | -0.0117721 15 | 331.65 16 | 352.142 17 | 56.4519 18 | 480.929 19 | -10.9975 20 | -9.60842 21 | 9.27521e-05 22 | 0.000155847 23 | 10.3458 24 | -4.49601 25 | -7.11157 26 | 0.00314901 27 | 0.000488401 28 | 924.858 29 | -9.67845 30 | -2.1308 31 | 1.15288 32 | 3.18076 33 | 0.524016 34 | 238.75 35 | 0.638741 36 | 1.22971 37 | 27.5943 38 | 39 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/_calciumc_concentration.mod: -------------------------------------------------------------------------------- 1 | NEURON { 2 | SUFFIX caint 3 | USEION ca READ ica WRITE cai 4 | RANGE decay, surftovol 5 | RANGE init_cai 6 | } 7 | 8 | UNITS { 9 | (mV) = (millivolt) 10 | (mA) = (milliamp) 11 | FARADAY = (faraday) (coulombs) 12 | (molar) = (1/liter) 13 | (mM) = (millimolar) 14 | } 15 | 16 | PARAMETER { 17 | surftovol = 10 18 | decay = 1500 (ms) 19 | init_cai = 0 20 | } 21 | 22 | ASSIGNED {ica (mA/cm2)} 23 | 24 | STATE {cai (mM) } 25 | 26 | INITIAL{ 27 | cai = init_cai 28 | } 29 | 30 | BREAKPOINT { SOLVE state METHOD cnexp } 31 | 32 | DERIVATIVE state { 33 | cai' = -(ica*surftovol/FARADAY) - cai/decay 34 | } 35 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/reconstruction.marker: -------------------------------------------------------------------------------- 1 | ##x,y,z,radius,shape,name,comment, color_r,color_g,color_b 2 | 258.2008,272.3864,5.32,0.0, 1, 10, , 113,208,93 3 | 291.2246,244.9418,10.5664,0.0, 1, 10, , 113,208,93 4 | 281.5384,270.2128,8.0889,0.0, 1, 10, , 113,208,93 5 | 385.1745,273.1586,14.2758,0.0, 1, 10, , 113,208,93 6 | 373.7448,254.0824,5.32,0.0, 1, 10, , 113,208,93 7 | 429.5972,281.424,6.6268,0.0, 1, 10, , 113,208,93 8 | 331.5312,327.0696,5.88,0.0, 1, 10, , 113,208,93 9 | 321.5784,276.0472,5.32,0.0, 1, 10, , 113,208,93 10 | 383.3544,333.7048,6.44,0.0, 1, 10, , 113,208,93 11 | 379.5918,307.927,4.6978,0.0, 1, 10, , 113,208,93 12 | 371.609,333.6282,8.12,0.0, 1, 10, , 113,208,93 13 | 369.6168,303.1916,4.8272,0.0, 1, 30, , 113,208,93 14 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_9_Allen_483108201/reconstruction.marker: -------------------------------------------------------------------------------- 1 | ##x,y,z,radius,shape,name,comment, color_r,color_g,color_b 2 | 258.2008,272.3864,5.32,0.0, 1, 10, , 113,208,93 3 | 291.2246,244.9418,10.5664,0.0, 1, 10, , 113,208,93 4 | 281.5384,270.2128,8.0889,0.0, 1, 10, , 113,208,93 5 | 385.1745,273.1586,14.2758,0.0, 1, 10, , 113,208,93 6 | 373.7448,254.0824,5.32,0.0, 1, 10, , 113,208,93 7 | 429.5972,281.424,6.6268,0.0, 1, 10, , 113,208,93 8 | 331.5312,327.0696,5.88,0.0, 1, 10, , 113,208,93 9 | 321.5784,276.0472,5.32,0.0, 1, 10, , 113,208,93 10 | 383.3544,333.7048,6.44,0.0, 1, 10, , 113,208,93 11 | 379.5918,307.927,4.6978,0.0, 1, 10, , 113,208,93 12 | 371.609,333.6282,8.12,0.0, 1, 10, , 113,208,93 13 | 369.6168,303.1916,4.8272,0.0, 1, 30, , 113,208,93 14 | -------------------------------------------------------------------------------- /example/mod/CaDynamics_E2.mod: -------------------------------------------------------------------------------- 1 | : Dynamics that track inside calcium concentration 2 | : modified from Destexhe et al. 1994 3 | 4 | NEURON { 5 | SUFFIX CaDynamics_E2 6 | USEION ca READ ica WRITE cai 7 | RANGE decay, gamma, minCai, depth 8 | } 9 | 10 | UNITS { 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | FARADAY = (faraday) (coulombs) 14 | (molar) = (1/liter) 15 | (mM) = (millimolar) 16 | (um) = (micron) 17 | } 18 | 19 | PARAMETER { 20 | gamma = 0.05 : percent of free calcium (not buffered) 21 | decay = 80 (ms) : rate of removal of calcium 22 | depth = 0.1 (um) : depth of shell 23 | minCai = 1e-4 (mM) 24 | } 25 | 26 | ASSIGNED {ica (mA/cm2)} 27 | 28 | STATE { 29 | cai (mM) 30 | } 31 | 32 | BREAKPOINT { SOLVE states METHOD cnexp } 33 | 34 | DERIVATIVE states { 35 | cai' = -(10000)*(ica*gamma/(2*FARADAY*depth)) - (cai - minCai)/decay 36 | } 37 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | import setuptools 2 | 3 | with open("README.md", "r") as fh: 4 | long_description = fh.read() 5 | 6 | setuptools.setup( 7 | name="neuron_reduce", 8 | version="0.0.7", 9 | author="Oren Amsalem, Guy Eyal, Noa Rogozinski, Michael Gevaert, Idan Segev", 10 | author_email="oren.amsalem1@mail.huji.ac.il", 11 | description="Efficient analytical reduction of nonlinear detailed neuron models", 12 | long_description=long_description, 13 | long_description_content_type="text/markdown", 14 | url="https://github.com/orena1/neuron_reduce", 15 | packages=setuptools.find_packages(), 16 | classifiers=[ 17 | "Programming Language :: Python :: 2", 18 | "Programming Language :: Python :: 3", 19 | "License :: OSI Approved :: MIT License", 20 | "Operating System :: OS Independent", 21 | ], 22 | ) 23 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/calcium_dynamics.mod: -------------------------------------------------------------------------------- 1 | : Dynamics that track inside and outside calcium concentrations 2 | 3 | NEURON { 4 | SUFFIX calcium 5 | USEION ca READ ica WRITE cai,cao 6 | RANGE decay, surftovol 7 | RANGE trans, fhspace 8 | } 9 | 10 | UNITS { 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | FARADAY = (faraday) (coulombs) 14 | (molar) = (1/liter) 15 | (mM) = (millimolar) 16 | } 17 | 18 | PARAMETER { 19 | surftovol = 10 20 | decay = 1500 (ms) 21 | cabath = 2 (mM) 22 | fhspace = 300 (angstrom) 23 | trans = 50 (ms) 24 | } 25 | 26 | ASSIGNED {ica (mA/cm2)} 27 | 28 | STATE { 29 | cai (mM) 30 | cao (mM) 31 | } 32 | 33 | BREAKPOINT { SOLVE states METHOD cnexp } 34 | 35 | DERIVATIVE states { 36 | cai' = -(ica*surftovol/FARADAY) - (cai-(5*1e-5))/decay 37 | cao' = ica*(1e6)/(fhspace*FARADAY) + (cabath-cao)/trans :unclear 38 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_5_Hay_2011/mod/CaDynamics_E2.mod: -------------------------------------------------------------------------------- 1 | : Dynamics that track inside calcium concentration 2 | : modified from Destexhe et al. 1994 3 | 4 | NEURON { 5 | SUFFIX CaDynamics_E2 6 | USEION ca READ ica WRITE cai 7 | RANGE decay, gamma, minCai, depth 8 | } 9 | 10 | UNITS { 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | FARADAY = (faraday) (coulombs) 14 | (molar) = (1/liter) 15 | (mM) = (millimolar) 16 | (um) = (micron) 17 | } 18 | 19 | PARAMETER { 20 | gamma = 0.05 : percent of free calcium (not buffered) 21 | decay = 80 (ms) : rate of removal of calcium 22 | depth = 0.1 (um) : depth of shell 23 | minCai = 1e-4 (mM) 24 | } 25 | 26 | ASSIGNED {ica (mA/cm2)} 27 | 28 | STATE { 29 | cai (mM) 30 | } 31 | 32 | BREAKPOINT { SOLVE states METHOD cnexp } 33 | 34 | DERIVATIVE states { 35 | cai' = -(10000)*(ica*gamma/(2*FARADAY*depth)) - (cai - minCai)/decay 36 | } 37 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_12_TPC_L6_Markram/mod/CaDynamics_E2.mod: -------------------------------------------------------------------------------- 1 | : Dynamics that track inside calcium concentration 2 | : modified from Destexhe et al. 1994 3 | 4 | NEURON { 5 | SUFFIX CaDynamics_E2 6 | USEION ca READ ica WRITE cai 7 | RANGE decay, gamma, minCai, depth 8 | } 9 | 10 | UNITS { 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | FARADAY = (faraday) (coulombs) 14 | (molar) = (1/liter) 15 | (mM) = (millimolar) 16 | (um) = (micron) 17 | } 18 | 19 | PARAMETER { 20 | gamma = 0.05 : percent of free calcium (not buffered) 21 | decay = 80 (ms) : rate of removal of calcium 22 | depth = 0.1 (um) : depth of shell 23 | minCai = 1e-4 (mM) 24 | } 25 | 26 | ASSIGNED {ica (mA/cm2)} 27 | 28 | STATE { 29 | cai (mM) 30 | } 31 | 32 | BREAKPOINT { SOLVE states METHOD cnexp } 33 | 34 | DERIVATIVE states { 35 | cai' = -(10000)*(ica*gamma/(2*FARADAY*depth)) - (cai - minCai)/decay 36 | } 37 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_13_DBC_L4_Markram/mod/CaDynamics_E2.mod: -------------------------------------------------------------------------------- 1 | : Dynamics that track inside calcium concentration 2 | : modified from Destexhe et al. 1994 3 | 4 | NEURON { 5 | SUFFIX CaDynamics_E2 6 | USEION ca READ ica WRITE cai 7 | RANGE decay, gamma, minCai, depth 8 | } 9 | 10 | UNITS { 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | FARADAY = (faraday) (coulombs) 14 | (molar) = (1/liter) 15 | (mM) = (millimolar) 16 | (um) = (micron) 17 | } 18 | 19 | PARAMETER { 20 | gamma = 0.05 : percent of free calcium (not buffered) 21 | decay = 80 (ms) : rate of removal of calcium 22 | depth = 0.1 (um) : depth of shell 23 | minCai = 1e-4 (mM) 24 | } 25 | 26 | ASSIGNED {ica (mA/cm2)} 27 | 28 | STATE { 29 | cai (mM) 30 | } 31 | 32 | BREAKPOINT { SOLVE states METHOD cnexp } 33 | 34 | DERIVATIVE states { 35 | cai' = -(10000)*(ica*gamma/(2*FARADAY*depth)) - (cai - minCai)/decay 36 | } 37 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/CaDynamics_E2.mod: -------------------------------------------------------------------------------- 1 | : Dynamics that track inside calcium concentration 2 | : modified from Destexhe et al. 1994 3 | 4 | NEURON { 5 | SUFFIX CaDynamics_E2 6 | USEION ca READ ica WRITE cai 7 | RANGE decay, gamma, minCai, depth 8 | } 9 | 10 | UNITS { 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | FARADAY = (faraday) (coulombs) 14 | (molar) = (1/liter) 15 | (mM) = (millimolar) 16 | (um) = (micron) 17 | } 18 | 19 | PARAMETER { 20 | gamma = 0.05 : percent of free calcium (not buffered) 21 | decay = 80 (ms) : rate of removal of calcium 22 | depth = 0.1 (um) : depth of shell 23 | minCai = 1e-4 (mM) 24 | } 25 | 26 | ASSIGNED {ica (mA/cm2)} 27 | 28 | STATE { 29 | cai (mM) 30 | } 31 | 32 | BREAKPOINT { SOLVE states METHOD cnexp } 33 | 34 | DERIVATIVE states { 35 | cai' = -(10000)*(ica*gamma/(2*FARADAY*depth)) - (cai - minCai)/decay 36 | } 37 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/calcium_shaul.mod: -------------------------------------------------------------------------------- 1 | : Dynamics that track inside calcium concentration 2 | 3 | NEURON { 4 | SUFFIX CaDynamics 5 | USEION ca READ ica WRITE cai 6 | RANGE decay, gamma, minCai 7 | } 8 | 9 | UNITS { 10 | (mV) = (millivolt) 11 | (mA) = (milliamp) 12 | FARADAY = (faraday) (coulombs) 13 | (molar) = (1/liter) 14 | (mM) = (millimolar) 15 | } 16 | 17 | PARAMETER { 18 | gamma = 20 : Represents the diffusion 19 | : and buffering of calcium within the cell. 20 | : Should be corrected by two for Ca ion num 21 | decay = 2000 (ms) 22 | minCai = 1e-8 (mM) 23 | } 24 | 25 | ASSIGNED {ica (mA/cm2)} 26 | 27 | STATE { 28 | cai (mM) 29 | } 30 | 31 | BREAKPOINT { SOLVE states METHOD cnexp } 32 | 33 | DERIVATIVE states { 34 | cai' = -(ica*gamma/(2*FARADAY)) - (cai - minCai)/decay 35 | } 36 | 37 | INITIAL { 38 | cai = minCai 39 | } 40 | -------------------------------------------------------------------------------- /tests/TestsFiles/L4_LBC_cNAC187_5_for_run/mod/CaDynamics_E2.mod: -------------------------------------------------------------------------------- 1 | : Dynamics that track inside calcium concentration 2 | : modified from Destexhe et al. 1994 3 | 4 | NEURON { 5 | SUFFIX CaDynamics_E2 6 | USEION ca READ ica WRITE cai 7 | RANGE decay, gamma, minCai, depth 8 | } 9 | 10 | UNITS { 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | FARADAY = (faraday) (coulombs) 14 | (molar) = (1/liter) 15 | (mM) = (millimolar) 16 | (um) = (micron) 17 | } 18 | 19 | PARAMETER { 20 | gamma = 0.05 : percent of free calcium (not buffered) 21 | decay = 80 (ms) : rate of removal of calcium 22 | depth = 0.1 (um) : depth of shell 23 | minCai = 1e-4 (mM) 24 | } 25 | 26 | ASSIGNED {ica (mA/cm2)} 27 | 28 | STATE { 29 | cai (mM) 30 | } 31 | 32 | BREAKPOINT { SOLVE states METHOD cnexp } 33 | 34 | DERIVATIVE states { 35 | cai' = -(10000)*(ica*gamma/(2*FARADAY*depth)) - (cai - minCai)/decay 36 | } 37 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/Nap.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference :Magistretti.J and Alonso.A, J. Gen. Physiol, 1999 3 | 4 | NEURON { 5 | SUFFIX Nap 6 | USEION na READ ena WRITE ina 7 | RANGE gNapbar, gNap, ina 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gNapbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ena (mV) 23 | ina (mA/cm2) 24 | gNap (S/cm2) 25 | mInf 26 | mTau 27 | } 28 | 29 | STATE { 30 | m 31 | } 32 | 33 | BREAKPOINT { 34 | SOLVE states METHOD cnexp 35 | gNap = gNapbar*m*m*m 36 | ina = gNap*(v-ena) 37 | } 38 | 39 | DERIVATIVE states { 40 | rates() 41 | m' = (mInf-m)/mTau 42 | } 43 | 44 | INITIAL{ 45 | rates() 46 | m = mInf 47 | } 48 | 49 | PROCEDURE rates(){ 50 | UNITSOFF 51 | mInf = 1.0000/(1+ exp((v - -44.0000)/-4.8500)) 52 | mTau = 1 53 | UNITSON 54 | } 55 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/CaDynamics_E.mod: -------------------------------------------------------------------------------- 1 | : Dynamics that track inside calcium concentration 2 | : 3 | : Etay (9.5.07) 4 | : Gamma and Decay set based on multiple runs 5 | 6 | NEURON { 7 | SUFFIX CaDynamics_E 8 | USEION ca READ ica WRITE cai 9 | RANGE decay, gamma, minCai 10 | } 11 | 12 | UNITS { 13 | (mV) = (millivolt) 14 | (mA) = (milliamp) 15 | FARADAY = (faraday) (coulombs) 16 | (molar) = (1/liter) 17 | (mM) = (millimolar) 18 | } 19 | 20 | PARAMETER { 21 | gamma = 30 : Represents the diffusion 22 | : and buffering of calcium within the cell. 23 | : Should be corrected by two for Ca ion num 24 | decay = 800 (ms) 25 | minCai = 1e-8 (mM) 26 | } 27 | 28 | ASSIGNED {ica (mA/cm2)} 29 | 30 | STATE { 31 | cai (mM) 32 | } 33 | 34 | BREAKPOINT { SOLVE states METHOD cnexp } 35 | 36 | DERIVATIVE states { 37 | cai' = -(ica*gamma/(2*FARADAY)) - (cai - minCai)/decay 38 | } 39 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/mod/Kv3_1.mod: -------------------------------------------------------------------------------- 1 | : Comment: Kv3-like potassium current 2 | 3 | NEURON { 4 | SUFFIX Kv3_1 5 | USEION k READ ek WRITE ik 6 | RANGE gbar, g, ik 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gbar = 0.00001 (S/cm2) 17 | vshift = 0 (mV) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | g (S/cm2) 25 | mInf 26 | mTau 27 | } 28 | 29 | STATE { 30 | m 31 | } 32 | 33 | BREAKPOINT { 34 | SOLVE states METHOD cnexp 35 | g = gbar*m 36 | ik = g*(v-ek) 37 | } 38 | 39 | DERIVATIVE states { 40 | rates() 41 | m' = (mInf-m)/mTau 42 | } 43 | 44 | INITIAL{ 45 | rates() 46 | m = mInf 47 | } 48 | 49 | PROCEDURE rates(){ 50 | UNITSOFF 51 | mInf = 1/(1+exp(((v -(18.700 + vshift))/(-9.700)))) 52 | mTau = 0.2*20.000/(1+exp(((v -(-46.560 + vshift))/(-44.140)))) 53 | UNITSON 54 | } 55 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_9_Allen_483108201/mod/Kv3_1.mod: -------------------------------------------------------------------------------- 1 | : Comment: Kv3-like potassium current 2 | 3 | NEURON { 4 | SUFFIX Kv3_1 5 | USEION k READ ek WRITE ik 6 | RANGE gbar, g, ik 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gbar = 0.00001 (S/cm2) 17 | vshift = 0 (mV) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | g (S/cm2) 25 | mInf 26 | mTau 27 | } 28 | 29 | STATE { 30 | m 31 | } 32 | 33 | BREAKPOINT { 34 | SOLVE states METHOD cnexp 35 | g = gbar*m 36 | ik = g*(v-ek) 37 | } 38 | 39 | DERIVATIVE states { 40 | rates() 41 | m' = (mInf-m)/mTau 42 | } 43 | 44 | INITIAL{ 45 | rates() 46 | m = mInf 47 | } 48 | 49 | PROCEDURE rates(){ 50 | UNITSOFF 51 | mInf = 1/(1+exp(((v -(18.700 + vshift))/(-9.700)))) 52 | mTau = 0.2*20.000/(1+exp(((v -(-46.560 + vshift))/(-44.140)))) 53 | UNITSON 54 | } 55 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/mod/CaDynamics.mod: -------------------------------------------------------------------------------- 1 | : Dynamics that track inside calcium concentration 2 | : modified from Destexhe et al. 1994 3 | 4 | NEURON { 5 | SUFFIX CaDynamics 6 | USEION ca READ ica WRITE cai 7 | RANGE decay, gamma, minCai, depth 8 | } 9 | 10 | UNITS { 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | FARADAY = (faraday) (coulombs) 14 | (molar) = (1/liter) 15 | (mM) = (millimolar) 16 | (um) = (micron) 17 | } 18 | 19 | PARAMETER { 20 | gamma = 0.05 : percent of free calcium (not buffered) 21 | decay = 80 (ms) : rate of removal of calcium 22 | depth = 0.1 (um) : depth of shell 23 | minCai = 1e-4 (mM) 24 | } 25 | 26 | ASSIGNED {ica (mA/cm2)} 27 | 28 | INITIAL { 29 | cai = minCai 30 | } 31 | 32 | STATE { 33 | cai (mM) 34 | } 35 | 36 | BREAKPOINT { SOLVE states METHOD cnexp } 37 | 38 | DERIVATIVE states { 39 | cai' = -(10000)*(ica*gamma/(2*FARADAY*depth)) - (cai - minCai)/decay 40 | } 41 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_9_Allen_483108201/mod/CaDynamics.mod: -------------------------------------------------------------------------------- 1 | : Dynamics that track inside calcium concentration 2 | : modified from Destexhe et al. 1994 3 | 4 | NEURON { 5 | SUFFIX CaDynamics 6 | USEION ca READ ica WRITE cai 7 | RANGE decay, gamma, minCai, depth 8 | } 9 | 10 | UNITS { 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | FARADAY = (faraday) (coulombs) 14 | (molar) = (1/liter) 15 | (mM) = (millimolar) 16 | (um) = (micron) 17 | } 18 | 19 | PARAMETER { 20 | gamma = 0.05 : percent of free calcium (not buffered) 21 | decay = 80 (ms) : rate of removal of calcium 22 | depth = 0.1 (um) : depth of shell 23 | minCai = 1e-4 (mM) 24 | } 25 | 26 | ASSIGNED {ica (mA/cm2)} 27 | 28 | INITIAL { 29 | cai = minCai 30 | } 31 | 32 | STATE { 33 | cai (mM) 34 | } 35 | 36 | BREAKPOINT { SOLVE states METHOD cnexp } 37 | 38 | DERIVATIVE states { 39 | cai' = -(10000)*(ica*gamma/(2*FARADAY*depth)) - (cai - minCai)/decay 40 | } 41 | -------------------------------------------------------------------------------- /example/mod/SKv3_1.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Characterization of a Shaw-related potassium channel family in rat brain, The EMBO Journal, vol.11, no.7,2473-2486 (1992) 3 | 4 | NEURON { 5 | SUFFIX SKv3_1 6 | USEION k READ ek WRITE ik 7 | RANGE gSKv3_1bar, gSKv3_1, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gSKv3_1bar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | gSKv3_1 (S/cm2) 25 | mInf 26 | mTau 27 | } 28 | 29 | STATE { 30 | m 31 | } 32 | 33 | BREAKPOINT { 34 | SOLVE states METHOD cnexp 35 | gSKv3_1 = gSKv3_1bar*m 36 | ik = gSKv3_1*(v-ek) 37 | } 38 | 39 | DERIVATIVE states { 40 | rates() 41 | m' = (mInf-m)/mTau 42 | } 43 | 44 | INITIAL{ 45 | rates() 46 | m = mInf 47 | } 48 | 49 | PROCEDURE rates(){ 50 | UNITSOFF 51 | mInf = 1/(1+exp(((v -(18.700))/(-9.700)))) 52 | mTau = 0.2*20.000/(1+exp(((v -(-46.560))/(-44.140)))) 53 | UNITSON 54 | } 55 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/mod/Kd.mod: -------------------------------------------------------------------------------- 1 | : Based on Kd model of Foust et al. (2011) 2 | 3 | 4 | NEURON { 5 | SUFFIX Kd 6 | USEION k READ ek WRITE ik 7 | RANGE gbar, g, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | g (S/cm2) 25 | celsius (degC) 26 | mInf 27 | mTau 28 | hInf 29 | hTau 30 | } 31 | 32 | STATE { 33 | m 34 | h 35 | } 36 | 37 | BREAKPOINT { 38 | SOLVE states METHOD cnexp 39 | g = gbar * m * h 40 | ik = g * (v - ek) 41 | } 42 | 43 | DERIVATIVE states { 44 | rates() 45 | m' = (mInf - m) / mTau 46 | h' = (hInf - h) / hTau 47 | } 48 | 49 | INITIAL{ 50 | rates() 51 | m = mInf 52 | h = hInf 53 | } 54 | 55 | PROCEDURE rates() { 56 | LOCAL qt 57 | qt = 2.3^((celsius-23)/10) 58 | mInf = 1 - 1 / (1 + exp((v - (-43)) / 8)) 59 | mTau = 1 60 | hInf = 1 / (1 + exp((v - (-67)) / 7.3)) 61 | hTau = 1500 62 | } 63 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_9_Allen_483108201/mod/Kd.mod: -------------------------------------------------------------------------------- 1 | : Based on Kd model of Foust et al. (2011) 2 | 3 | 4 | NEURON { 5 | SUFFIX Kd 6 | USEION k READ ek WRITE ik 7 | RANGE gbar, g, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | g (S/cm2) 25 | celsius (degC) 26 | mInf 27 | mTau 28 | hInf 29 | hTau 30 | } 31 | 32 | STATE { 33 | m 34 | h 35 | } 36 | 37 | BREAKPOINT { 38 | SOLVE states METHOD cnexp 39 | g = gbar * m * h 40 | ik = g * (v - ek) 41 | } 42 | 43 | DERIVATIVE states { 44 | rates() 45 | m' = (mInf - m) / mTau 46 | h' = (hInf - h) / hTau 47 | } 48 | 49 | INITIAL{ 50 | rates() 51 | m = mInf 52 | h = hInf 53 | } 54 | 55 | PROCEDURE rates() { 56 | LOCAL qt 57 | qt = 2.3^((celsius-23)/10) 58 | mInf = 1 - 1 / (1 + exp((v - (-43)) / 8)) 59 | mTau = 1 60 | hInf = 1 / (1 + exp((v - (-67)) / 7.3)) 61 | hTau = 1500 62 | } 63 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_5_Hay_2011/mod/SKv3_1.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Characterization of a Shaw-related potassium channel family in rat brain, The EMBO Journal, vol.11, no.7,2473-2486 (1992) 3 | 4 | NEURON { 5 | SUFFIX SKv3_1 6 | USEION k READ ek WRITE ik 7 | RANGE gSKv3_1bar, gSKv3_1, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gSKv3_1bar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | gSKv3_1 (S/cm2) 25 | mInf 26 | mTau 27 | } 28 | 29 | STATE { 30 | m 31 | } 32 | 33 | BREAKPOINT { 34 | SOLVE states METHOD cnexp 35 | gSKv3_1 = gSKv3_1bar*m 36 | ik = gSKv3_1*(v-ek) 37 | } 38 | 39 | DERIVATIVE states { 40 | rates() 41 | m' = (mInf-m)/mTau 42 | } 43 | 44 | INITIAL{ 45 | rates() 46 | m = mInf 47 | } 48 | 49 | PROCEDURE rates(){ 50 | UNITSOFF 51 | mInf = 1/(1+exp(((v -(18.700))/(-9.700)))) 52 | mTau = 0.2*20.000/(1+exp(((v -(-46.560))/(-44.140)))) 53 | UNITSON 54 | } 55 | -------------------------------------------------------------------------------- /example/mod/Ih.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Kole,Hallermann,and Stuart, J. Neurosci. 2006 3 | 4 | NEURON { 5 | SUFFIX Ih 6 | NONSPECIFIC_CURRENT ihcn 7 | RANGE gIhbar, gIh, ihcn 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gIhbar = 0.00001 (S/cm2) 18 | ehcn = -45.0 (mV) 19 | } 20 | 21 | ASSIGNED { 22 | v (mV) 23 | ihcn (mA/cm2) 24 | gIh (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | } 30 | 31 | STATE { 32 | m 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gIh = gIhbar*m 38 | ihcn = gIh*(v-ehcn) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates() 43 | m' = (mInf-m)/mTau 44 | } 45 | 46 | INITIAL{ 47 | rates() 48 | m = mInf 49 | } 50 | 51 | PROCEDURE rates(){ 52 | UNITSOFF 53 | if(v == -154.9){ 54 | v = v + 0.0001 55 | } 56 | mAlpha = 0.001*6.43*(v+154.9)/(exp((v+154.9)/11.9)-1) 57 | mBeta = 0.001*193*exp(v/33.1) 58 | mInf = mAlpha/(mAlpha + mBeta) 59 | mTau = 1/(mAlpha + mBeta) 60 | UNITSON 61 | } 62 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/mod/Im_v2.mod: -------------------------------------------------------------------------------- 1 | : Based on Im model of Vervaeke et al. (2006) 2 | 3 | NEURON { 4 | SUFFIX Im_v2 5 | USEION k READ ek WRITE ik 6 | RANGE gbar, g, ik 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gbar = 0.00001 (S/cm2) 17 | } 18 | 19 | ASSIGNED { 20 | v (mV) 21 | ek (mV) 22 | ik (mA/cm2) 23 | g (S/cm2) 24 | celsius (degC) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | } 30 | 31 | STATE { 32 | m 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | g = gbar * m 38 | ik = g * (v - ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates() 43 | m' = (mInf - m) / mTau 44 | } 45 | 46 | INITIAL{ 47 | rates() 48 | m = mInf 49 | } 50 | 51 | PROCEDURE rates() { 52 | LOCAL qt 53 | qt = 2.3^((celsius-30)/10) 54 | mAlpha = 0.007 * exp( (6 * 0.4 * (v - (-48))) / 26.12 ) 55 | mBeta = 0.007 * exp( (-6 * (1 - 0.4) * (v - (-48))) / 26.12 ) 56 | 57 | mInf = mAlpha / (mAlpha + mBeta) 58 | mTau = (15 + 1 / (mAlpha + mBeta)) / qt 59 | } 60 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_9_Allen_483108201/mod/Im_v2.mod: -------------------------------------------------------------------------------- 1 | : Based on Im model of Vervaeke et al. (2006) 2 | 3 | NEURON { 4 | SUFFIX Im_v2 5 | USEION k READ ek WRITE ik 6 | RANGE gbar, g, ik 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gbar = 0.00001 (S/cm2) 17 | } 18 | 19 | ASSIGNED { 20 | v (mV) 21 | ek (mV) 22 | ik (mA/cm2) 23 | g (S/cm2) 24 | celsius (degC) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | } 30 | 31 | STATE { 32 | m 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | g = gbar * m 38 | ik = g * (v - ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates() 43 | m' = (mInf - m) / mTau 44 | } 45 | 46 | INITIAL{ 47 | rates() 48 | m = mInf 49 | } 50 | 51 | PROCEDURE rates() { 52 | LOCAL qt 53 | qt = 2.3^((celsius-30)/10) 54 | mAlpha = 0.007 * exp( (6 * 0.4 * (v - (-48))) / 26.12 ) 55 | mBeta = 0.007 * exp( (-6 * (1 - 0.4) * (v - (-48))) / 26.12 ) 56 | 57 | mInf = mAlpha / (mAlpha + mBeta) 58 | mTau = (15 + 1 / (mAlpha + mBeta)) / qt 59 | } 60 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/SKv3_1.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Characterization of a Shaw-related potassium channel family in rat brain, The EMBO Journal, vol.11, no.7,2473-2486 (1992) 3 | 4 | NEURON { 5 | SUFFIX SKv3_1 6 | USEION k READ ek WRITE ik 7 | RANGE gSKv3_1bar, gSKv3_1, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gSKv3_1bar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | gSKv3_1 (S/cm2) 25 | mInf 26 | mTau 27 | } 28 | 29 | STATE { 30 | m 31 | } 32 | 33 | BREAKPOINT { 34 | SOLVE states METHOD cnexp 35 | gSKv3_1 = gSKv3_1bar*m 36 | ik = gSKv3_1*(v-ek) 37 | } 38 | 39 | DERIVATIVE states { 40 | rates() 41 | m' = (mInf-m)/mTau 42 | } 43 | 44 | INITIAL{ 45 | rates() 46 | m = mInf 47 | } 48 | 49 | PROCEDURE rates(){ 50 | UNITSOFF 51 | mInf = 1/(1+exp(((v -(18.700))/(-9.700)))) 52 | mTau = 0.2*20.000/(1+exp(((v -(-46.560))/(-44.140)))) 53 | UNITSON 54 | } 55 | 56 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_12_TPC_L6_Markram/mod/SKv3_1.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Characterization of a Shaw-related potassium channel family in rat brain, The EMBO Journal, vol.11, no.7,2473-2486 (1992) 3 | 4 | NEURON { 5 | SUFFIX SKv3_1 6 | USEION k READ ek WRITE ik 7 | RANGE gSKv3_1bar, gSKv3_1, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gSKv3_1bar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | gSKv3_1 (S/cm2) 25 | mInf 26 | mTau 27 | } 28 | 29 | STATE { 30 | m 31 | } 32 | 33 | BREAKPOINT { 34 | SOLVE states METHOD cnexp 35 | gSKv3_1 = gSKv3_1bar*m 36 | ik = gSKv3_1*(v-ek) 37 | } 38 | 39 | DERIVATIVE states { 40 | rates() 41 | m' = (mInf-m)/mTau 42 | } 43 | 44 | INITIAL{ 45 | rates() 46 | m = mInf 47 | } 48 | 49 | PROCEDURE rates(){ 50 | UNITSOFF 51 | mInf = 1/(1+exp(((v -(18.700))/(-9.700)))) 52 | mTau = 0.2*20.000/(1+exp(((v -(-46.560))/(-44.140)))) 53 | UNITSON 54 | } 55 | 56 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_13_DBC_L4_Markram/mod/SKv3_1.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Characterization of a Shaw-related potassium channel family in rat brain, The EMBO Journal, vol.11, no.7,2473-2486 (1992) 3 | 4 | NEURON { 5 | SUFFIX SKv3_1 6 | USEION k READ ek WRITE ik 7 | RANGE gSKv3_1bar, gSKv3_1, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gSKv3_1bar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | gSKv3_1 (S/cm2) 25 | mInf 26 | mTau 27 | } 28 | 29 | STATE { 30 | m 31 | } 32 | 33 | BREAKPOINT { 34 | SOLVE states METHOD cnexp 35 | gSKv3_1 = gSKv3_1bar*m 36 | ik = gSKv3_1*(v-ek) 37 | } 38 | 39 | DERIVATIVE states { 40 | rates() 41 | m' = (mInf-m)/mTau 42 | } 43 | 44 | INITIAL{ 45 | rates() 46 | m = mInf 47 | } 48 | 49 | PROCEDURE rates(){ 50 | UNITSOFF 51 | mInf = 1/(1+exp(((v -(18.700))/(-9.700)))) 52 | mTau = 0.2*20.000/(1+exp(((v -(-46.560))/(-44.140)))) 53 | UNITSON 54 | } 55 | 56 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_5_Hay_2011/mod/Ih.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Kole,Hallermann,and Stuart, J. Neurosci. 2006 3 | 4 | NEURON { 5 | SUFFIX Ih 6 | NONSPECIFIC_CURRENT ihcn 7 | RANGE gIhbar, gIh, ihcn 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gIhbar = 0.00001 (S/cm2) 18 | ehcn = -45.0 (mV) 19 | } 20 | 21 | ASSIGNED { 22 | v (mV) 23 | ihcn (mA/cm2) 24 | gIh (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | } 30 | 31 | STATE { 32 | m 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gIh = gIhbar*m 38 | ihcn = gIh*(v-ehcn) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates() 43 | m' = (mInf-m)/mTau 44 | } 45 | 46 | INITIAL{ 47 | rates() 48 | m = mInf 49 | } 50 | 51 | PROCEDURE rates(){ 52 | UNITSOFF 53 | if(v == -154.9){ 54 | v = v + 0.0001 55 | } 56 | mAlpha = 0.001*6.43*(v+154.9)/(exp((v+154.9)/11.9)-1) 57 | mBeta = 0.001*193*exp(v/33.1) 58 | mInf = mAlpha/(mAlpha + mBeta) 59 | mTau = 1/(mAlpha + mBeta) 60 | UNITSON 61 | } 62 | -------------------------------------------------------------------------------- /tests/TestsFiles/L4_LBC_cNAC187_5_for_run/mod/SKv3_1.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Characterization of a Shaw-related potassium channel family in rat brain, The EMBO Journal, vol.11, no.7,2473-2486 (1992) 3 | 4 | NEURON { 5 | SUFFIX SKv3_1 6 | USEION k READ ek WRITE ik 7 | RANGE gSKv3_1bar, gSKv3_1, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gSKv3_1bar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | gSKv3_1 (S/cm2) 25 | mInf 26 | mTau 27 | } 28 | 29 | STATE { 30 | m 31 | } 32 | 33 | BREAKPOINT { 34 | SOLVE states METHOD cnexp 35 | gSKv3_1 = gSKv3_1bar*m 36 | ik = gSKv3_1*(v-ek) 37 | } 38 | 39 | DERIVATIVE states { 40 | rates() 41 | m' = (mInf-m)/mTau 42 | } 43 | 44 | INITIAL{ 45 | rates() 46 | m = mInf 47 | } 48 | 49 | PROCEDURE rates(){ 50 | UNITSOFF 51 | mInf = 1/(1+exp(((v -(18.700))/(-9.700)))) 52 | mTau = 0.2*20.000/(1+exp(((v -(-46.560))/(-44.140)))) 53 | UNITSON 54 | } 55 | 56 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_12_TPC_L6_Markram/mod/Ih.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Kole,Hallermann,and Stuart, J. Neurosci. 2006 3 | 4 | NEURON { 5 | SUFFIX Ih 6 | NONSPECIFIC_CURRENT ihcn 7 | RANGE gIhbar, gIh, ihcn 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gIhbar = 0.00001 (S/cm2) 18 | ehcn = -45.0 (mV) 19 | } 20 | 21 | ASSIGNED { 22 | v (mV) 23 | ihcn (mA/cm2) 24 | gIh (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | } 30 | 31 | STATE { 32 | m 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gIh = gIhbar*m 38 | ihcn = gIh*(v-ehcn) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates() 43 | m' = (mInf-m)/mTau 44 | } 45 | 46 | INITIAL{ 47 | rates() 48 | m = mInf 49 | } 50 | 51 | PROCEDURE rates(){ 52 | UNITSOFF 53 | if(v == -154.9){ 54 | v = v + 0.0001 55 | } 56 | mAlpha = 0.001*6.43*(v+154.9)/(exp((v+154.9)/11.9)-1) 57 | mBeta = 0.001*193*exp(v/33.1) 58 | mInf = mAlpha/(mAlpha + mBeta) 59 | mTau = 1/(mAlpha + mBeta) 60 | UNITSON 61 | } 62 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_13_DBC_L4_Markram/mod/Ih.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Kole,Hallermann,and Stuart, J. Neurosci. 2006 3 | 4 | NEURON { 5 | SUFFIX Ih 6 | NONSPECIFIC_CURRENT ihcn 7 | RANGE gIhbar, gIh, ihcn 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gIhbar = 0.00001 (S/cm2) 18 | ehcn = -45.0 (mV) 19 | } 20 | 21 | ASSIGNED { 22 | v (mV) 23 | ihcn (mA/cm2) 24 | gIh (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | } 30 | 31 | STATE { 32 | m 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gIh = gIhbar*m 38 | ihcn = gIh*(v-ehcn) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates() 43 | m' = (mInf-m)/mTau 44 | } 45 | 46 | INITIAL{ 47 | rates() 48 | m = mInf 49 | } 50 | 51 | PROCEDURE rates(){ 52 | UNITSOFF 53 | if(v == -154.9){ 54 | v = v + 0.0001 55 | } 56 | mAlpha = 0.001*6.43*(v+154.9)/(exp((v+154.9)/11.9)-1) 57 | mBeta = 0.001*193*exp(v/33.1) 58 | mInf = mAlpha/(mAlpha + mBeta) 59 | mTau = 1/(mAlpha + mBeta) 60 | UNITSON 61 | } 62 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/Ih.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Kole,Hallermann,and Stuart, J. Neurosci. 2006 3 | 4 | NEURON { 5 | SUFFIX Ih 6 | NONSPECIFIC_CURRENT ihcn 7 | RANGE gIhbar, gIh, ihcn 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gIhbar = 0.00001 (S/cm2) 18 | ehcn = -45.0 (mV) 19 | } 20 | 21 | ASSIGNED { 22 | v (mV) 23 | ihcn (mA/cm2) 24 | gIh (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | } 30 | 31 | STATE { 32 | m 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gIh = gIhbar*m 38 | ihcn = gIh*(v-ehcn) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates() 43 | m' = (mInf-m)/mTau 44 | } 45 | 46 | INITIAL{ 47 | rates() 48 | m = mInf 49 | } 50 | 51 | PROCEDURE rates(){ 52 | UNITSOFF 53 | if(v == -154.9){ 54 | v = v + 0.0001 55 | } 56 | mAlpha = 0.001*6.43*(v+154.9)/(exp((v+154.9)/11.9)-1) 57 | mBeta = 0.001*193*exp(v/33.1) 58 | mInf = mAlpha/(mAlpha + mBeta) 59 | mTau = 1/(mAlpha + mBeta) 60 | UNITSON 61 | } 62 | -------------------------------------------------------------------------------- /tests/TestsFiles/L4_LBC_cNAC187_5_for_run/mod/Ih.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Kole,Hallermann,and Stuart, J. Neurosci. 2006 3 | 4 | NEURON { 5 | SUFFIX Ih 6 | NONSPECIFIC_CURRENT ihcn 7 | RANGE gIhbar, gIh, ihcn 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gIhbar = 0.00001 (S/cm2) 18 | ehcn = -45.0 (mV) 19 | } 20 | 21 | ASSIGNED { 22 | v (mV) 23 | ihcn (mA/cm2) 24 | gIh (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | } 30 | 31 | STATE { 32 | m 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gIh = gIhbar*m 38 | ihcn = gIh*(v-ehcn) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates() 43 | m' = (mInf-m)/mTau 44 | } 45 | 46 | INITIAL{ 47 | rates() 48 | m = mInf 49 | } 50 | 51 | PROCEDURE rates(){ 52 | UNITSOFF 53 | if(v == -154.9){ 54 | v = v + 0.0001 55 | } 56 | mAlpha = 0.001*6.43*(v+154.9)/(exp((v+154.9)/11.9)-1) 57 | mBeta = 0.001*193*exp(v/33.1) 58 | mInf = mAlpha/(mAlpha + mBeta) 59 | mTau = 1/(mAlpha + mBeta) 60 | UNITSON 61 | } 62 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2018 The Python Packaging Authority 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /example/mod/Im.mod: -------------------------------------------------------------------------------- 1 | :Reference : : Adams et al. 1982 - M-currents and other potassium currents in bullfrog sympathetic neurones 2 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 3 | 4 | NEURON { 5 | SUFFIX Im 6 | USEION k READ ek WRITE ik 7 | RANGE gImbar, gIm, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gImbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | gIm (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | } 30 | 31 | STATE { 32 | m 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gIm = gImbar*m 38 | ik = gIm*(v-ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates() 43 | m' = (mInf-m)/mTau 44 | } 45 | 46 | INITIAL{ 47 | rates() 48 | m = mInf 49 | } 50 | 51 | PROCEDURE rates(){ 52 | LOCAL qt 53 | qt = 2.3^((34-21)/10) 54 | 55 | UNITSOFF 56 | mAlpha = 3.3e-3*exp(2.5*0.04*(v - -35)) 57 | mBeta = 3.3e-3*exp(-2.5*0.04*(v - -35)) 58 | mInf = mAlpha/(mAlpha + mBeta) 59 | mTau = (1/(mAlpha + mBeta))/qt 60 | UNITSON 61 | } 62 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_5_Hay_2011/mod/Im.mod: -------------------------------------------------------------------------------- 1 | :Reference : : Adams et al. 1982 - M-currents and other potassium currents in bullfrog sympathetic neurones 2 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 3 | 4 | NEURON { 5 | SUFFIX Im 6 | USEION k READ ek WRITE ik 7 | RANGE gImbar, gIm, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gImbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | gIm (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | } 30 | 31 | STATE { 32 | m 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gIm = gImbar*m 38 | ik = gIm*(v-ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates() 43 | m' = (mInf-m)/mTau 44 | } 45 | 46 | INITIAL{ 47 | rates() 48 | m = mInf 49 | } 50 | 51 | PROCEDURE rates(){ 52 | LOCAL qt 53 | qt = 2.3^((34-21)/10) 54 | 55 | UNITSOFF 56 | mAlpha = 3.3e-3*exp(2.5*0.04*(v - -35)) 57 | mBeta = 3.3e-3*exp(-2.5*0.04*(v - -35)) 58 | mInf = mAlpha/(mAlpha + mBeta) 59 | mTau = (1/(mAlpha + mBeta))/qt 60 | UNITSON 61 | } 62 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/Im.mod: -------------------------------------------------------------------------------- 1 | :Reference : : Adams et al. 1982 - M-currents and other potassium currents in bullfrog sympathetic neurones 2 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 3 | 4 | NEURON { 5 | SUFFIX Im 6 | USEION k READ ek WRITE ik 7 | RANGE gImbar, gIm, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gImbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | gIm (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | } 30 | 31 | STATE { 32 | m 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gIm = gImbar*m 38 | ik = gIm*(v-ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates() 43 | m' = (mInf-m)/mTau 44 | } 45 | 46 | INITIAL{ 47 | rates() 48 | m = mInf 49 | } 50 | 51 | PROCEDURE rates(){ 52 | LOCAL qt 53 | qt = 2.3^((34-21)/10) 54 | 55 | UNITSOFF 56 | mAlpha = 3.3e-3*exp(2.5*0.04*(v - -35)) 57 | mBeta = 3.3e-3*exp(-2.5*0.04*(v - -35)) 58 | mInf = mAlpha/(mAlpha + mBeta) 59 | mTau = (1/(mAlpha + mBeta))/qt 60 | UNITSON 61 | } 62 | -------------------------------------------------------------------------------- /tests/TestsFiles/L4_LBC_cNAC187_5_for_run/mod/Im.mod: -------------------------------------------------------------------------------- 1 | :Reference : : Adams et al. 1982 - M-currents and other potassium currents in bullfrog sympathetic neurones 2 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 3 | 4 | NEURON { 5 | SUFFIX Im 6 | USEION k READ ek WRITE ik 7 | RANGE gImbar, gIm, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gImbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | gIm (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | } 30 | 31 | STATE { 32 | m 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gIm = gImbar*m 38 | ik = gIm*(v-ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates() 43 | m' = (mInf-m)/mTau 44 | } 45 | 46 | INITIAL{ 47 | rates() 48 | m = mInf 49 | } 50 | 51 | PROCEDURE rates(){ 52 | LOCAL qt 53 | qt = 2.3^((34-21)/10) 54 | 55 | UNITSOFF 56 | mAlpha = 3.3e-3*exp(2.5*0.04*(v - -35)) 57 | mBeta = 3.3e-3*exp(-2.5*0.04*(v - -35)) 58 | mInf = mAlpha/(mAlpha + mBeta) 59 | mTau = (1/(mAlpha + mBeta))/qt 60 | UNITSON 61 | } 62 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_12_TPC_L6_Markram/mod/Im.mod: -------------------------------------------------------------------------------- 1 | :Reference : : Adams et al. 1982 - M-currents and other potassium currents in bullfrog sympathetic neurones 2 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 3 | 4 | NEURON { 5 | SUFFIX Im 6 | USEION k READ ek WRITE ik 7 | RANGE gImbar, gIm, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gImbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | gIm (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | } 30 | 31 | STATE { 32 | m 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gIm = gImbar*m 38 | ik = gIm*(v-ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates() 43 | m' = (mInf-m)/mTau 44 | } 45 | 46 | INITIAL{ 47 | rates() 48 | m = mInf 49 | } 50 | 51 | PROCEDURE rates(){ 52 | LOCAL qt 53 | qt = 2.3^((34-21)/10) 54 | 55 | UNITSOFF 56 | mAlpha = 3.3e-3*exp(2.5*0.04*(v - -35)) 57 | mBeta = 3.3e-3*exp(-2.5*0.04*(v - -35)) 58 | mInf = mAlpha/(mAlpha + mBeta) 59 | mTau = (1/(mAlpha + mBeta))/qt 60 | UNITSON 61 | } 62 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_13_DBC_L4_Markram/mod/Im.mod: -------------------------------------------------------------------------------- 1 | :Reference : : Adams et al. 1982 - M-currents and other potassium currents in bullfrog sympathetic neurones 2 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 3 | 4 | NEURON { 5 | SUFFIX Im 6 | USEION k READ ek WRITE ik 7 | RANGE gImbar, gIm, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gImbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | gIm (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | } 30 | 31 | STATE { 32 | m 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gIm = gImbar*m 38 | ik = gIm*(v-ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates() 43 | m' = (mInf-m)/mTau 44 | } 45 | 46 | INITIAL{ 47 | rates() 48 | m = mInf 49 | } 50 | 51 | PROCEDURE rates(){ 52 | LOCAL qt 53 | qt = 2.3^((34-21)/10) 54 | 55 | UNITSOFF 56 | mAlpha = 3.3e-3*exp(2.5*0.04*(v - -35)) 57 | mBeta = 3.3e-3*exp(-2.5*0.04*(v - -35)) 58 | mInf = mAlpha/(mAlpha + mBeta) 59 | mTau = (1/(mAlpha + mBeta))/qt 60 | UNITSON 61 | } 62 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/SKv3_1t.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Characterization of a Shaw-related potassium channel family in rat brain, The EMBO Journal, vol.11, no.7,2473-2486 (1992) 3 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 4 | 5 | NEURON { 6 | SUFFIX SKv3_1t 7 | USEION k READ ek WRITE ik 8 | RANGE gSKv3_1tbar, gSKv3_1t, ik 9 | } 10 | 11 | UNITS { 12 | (S) = (siemens) 13 | (mV) = (millivolt) 14 | (mA) = (milliamp) 15 | } 16 | 17 | PARAMETER { 18 | gSKv3_1tbar = 0.00001 (S/cm2) 19 | } 20 | 21 | ASSIGNED { 22 | v (mV) 23 | ek (mV) 24 | ik (mA/cm2) 25 | gSKv3_1t (S/cm2) 26 | mInf 27 | mTau 28 | } 29 | 30 | STATE { 31 | m 32 | } 33 | 34 | BREAKPOINT { 35 | SOLVE states METHOD cnexp 36 | gSKv3_1t = gSKv3_1tbar*m 37 | ik = gSKv3_1t*(v-ek) 38 | } 39 | 40 | DERIVATIVE states { 41 | rates() 42 | m' = (mInf-m)/mTau 43 | } 44 | 45 | INITIAL{ 46 | rates() 47 | m = mInf 48 | } 49 | 50 | PROCEDURE rates(){ 51 | LOCAL qt 52 | qt = 2.3^((34-21)/10) 53 | UNITSOFF 54 | mInf = 1/(1+exp(((v -(18.700))/(-9.700)))) 55 | mTau = 0.2*20.000/(1+exp(((v -(-46.560))/(-44.140))))/qt 56 | UNITSON 57 | } 58 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/mod/Im.mod: -------------------------------------------------------------------------------- 1 | : Reference: Adams et al. 1982 - M-currents and other potassium currents in bullfrog sympathetic neurones 2 | : Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 3 | 4 | NEURON { 5 | SUFFIX Im 6 | USEION k READ ek WRITE ik 7 | RANGE gbar, g, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | g (S/cm2) 25 | celsius (degC) 26 | mInf 27 | mTau 28 | mAlpha 29 | mBeta 30 | } 31 | 32 | STATE { 33 | m 34 | } 35 | 36 | BREAKPOINT { 37 | SOLVE states METHOD cnexp 38 | g = gbar*m 39 | ik = g*(v-ek) 40 | } 41 | 42 | DERIVATIVE states { 43 | rates() 44 | m' = (mInf-m)/mTau 45 | } 46 | 47 | INITIAL{ 48 | rates() 49 | m = mInf 50 | } 51 | 52 | PROCEDURE rates(){ 53 | LOCAL qt 54 | qt = 2.3^((celsius-21)/10) 55 | 56 | UNITSOFF 57 | mAlpha = 3.3e-3*exp(2.5*0.04*(v - -35)) 58 | mBeta = 3.3e-3*exp(-2.5*0.04*(v - -35)) 59 | mInf = mAlpha/(mAlpha + mBeta) 60 | mTau = (1/(mAlpha + mBeta))/qt 61 | UNITSON 62 | } 63 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_9_Allen_483108201/mod/Im.mod: -------------------------------------------------------------------------------- 1 | : Reference: Adams et al. 1982 - M-currents and other potassium currents in bullfrog sympathetic neurones 2 | : Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 3 | 4 | NEURON { 5 | SUFFIX Im 6 | USEION k READ ek WRITE ik 7 | RANGE gbar, g, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | g (S/cm2) 25 | celsius (degC) 26 | mInf 27 | mTau 28 | mAlpha 29 | mBeta 30 | } 31 | 32 | STATE { 33 | m 34 | } 35 | 36 | BREAKPOINT { 37 | SOLVE states METHOD cnexp 38 | g = gbar*m 39 | ik = g*(v-ek) 40 | } 41 | 42 | DERIVATIVE states { 43 | rates() 44 | m' = (mInf-m)/mTau 45 | } 46 | 47 | INITIAL{ 48 | rates() 49 | m = mInf 50 | } 51 | 52 | PROCEDURE rates(){ 53 | LOCAL qt 54 | qt = 2.3^((celsius-21)/10) 55 | 56 | UNITSOFF 57 | mAlpha = 3.3e-3*exp(2.5*0.04*(v - -35)) 58 | mBeta = 3.3e-3*exp(-2.5*0.04*(v - -35)) 59 | mInf = mAlpha/(mAlpha + mBeta) 60 | mTau = (1/(mAlpha + mBeta))/qt 61 | UNITSON 62 | } 63 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/Ca_LVA.mod: -------------------------------------------------------------------------------- 1 | :Comment : LVA ca channel. Note: mtau is an approximation from the plots 2 | :Reference : : Avery and Johnston 1996, tau from Randall 1997 3 | 4 | NEURON { 5 | SUFFIX Ca_LVA 6 | USEION ca READ eca WRITE ica 7 | RANGE gCa_LVAbar, gCa_LVA, ica 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gCa_LVAbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | eca (mV) 23 | ica (mA/cm2) 24 | gCa_LVA (S/cm2) 25 | mInf 26 | mTau 27 | hInf 28 | hTau 29 | } 30 | 31 | STATE { 32 | m 33 | h 34 | } 35 | 36 | BREAKPOINT { 37 | SOLVE states METHOD cnexp 38 | gCa_LVA = gCa_LVAbar*m*m*h 39 | ica = gCa_LVA*(v-eca) 40 | } 41 | 42 | DERIVATIVE states { 43 | rates() 44 | m' = (mInf-m)/mTau 45 | h' = (hInf-h)/hTau 46 | } 47 | 48 | INITIAL{ 49 | rates() 50 | m = mInf 51 | h = hInf 52 | } 53 | 54 | PROCEDURE rates(){ 55 | UNITSOFF 56 | mInf = 1.0000/(1+ exp((v - -30.000)/-6)) 57 | mTau = 5.0000 + 20.0000/(1+exp((v - -25.000)/5)) 58 | hInf = 1.0000/(1+ exp((v - -80.000)/6.4)) 59 | hTau = 20.0000 + 50.0000/(1+exp((v - -40.000)/7)) 60 | UNITSON 61 | } 62 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/mod/SK.mod: -------------------------------------------------------------------------------- 1 | : SK-type calcium-activated potassium current 2 | : Reference : Kohler et al. 1996 3 | 4 | NEURON { 5 | SUFFIX SK 6 | USEION k READ ek WRITE ik 7 | USEION ca READ cai 8 | RANGE gbar, g, ik 9 | } 10 | 11 | UNITS { 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | (mM) = (milli/liter) 15 | } 16 | 17 | PARAMETER { 18 | v (mV) 19 | gbar = .000001 (mho/cm2) 20 | zTau = 1 (ms) 21 | ek (mV) 22 | cai (mM) 23 | } 24 | 25 | ASSIGNED { 26 | zInf 27 | ik (mA/cm2) 28 | g (S/cm2) 29 | } 30 | 31 | STATE { 32 | z FROM 0 TO 1 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | g = gbar * z 38 | ik = g * (v - ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates(cai) 43 | z' = (zInf - z) / zTau 44 | } 45 | 46 | PROCEDURE rates(ca(mM)) { 47 | if(ca < 1e-7){ 48 | ca = ca + 1e-07 49 | } 50 | zInf = 1/(1 + (0.00043 / ca)^4.8) 51 | } 52 | 53 | INITIAL { 54 | rates(cai) 55 | z = zInf 56 | } 57 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_9_Allen_483108201/mod/SK.mod: -------------------------------------------------------------------------------- 1 | : SK-type calcium-activated potassium current 2 | : Reference : Kohler et al. 1996 3 | 4 | NEURON { 5 | SUFFIX SK 6 | USEION k READ ek WRITE ik 7 | USEION ca READ cai 8 | RANGE gbar, g, ik 9 | } 10 | 11 | UNITS { 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | (mM) = (milli/liter) 15 | } 16 | 17 | PARAMETER { 18 | v (mV) 19 | gbar = .000001 (mho/cm2) 20 | zTau = 1 (ms) 21 | ek (mV) 22 | cai (mM) 23 | } 24 | 25 | ASSIGNED { 26 | zInf 27 | ik (mA/cm2) 28 | g (S/cm2) 29 | } 30 | 31 | STATE { 32 | z FROM 0 TO 1 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | g = gbar * z 38 | ik = g * (v - ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates(cai) 43 | z' = (zInf - z) / zTau 44 | } 45 | 46 | PROCEDURE rates(ca(mM)) { 47 | if(ca < 1e-7){ 48 | ca = ca + 1e-07 49 | } 50 | zInf = 1/(1 + (0.00043 / ca)^4.8) 51 | } 52 | 53 | INITIAL { 54 | rates(cai) 55 | z = zInf 56 | } 57 | -------------------------------------------------------------------------------- /example/mod/SK_E2.mod: -------------------------------------------------------------------------------- 1 | : SK-type calcium-activated potassium current 2 | : Reference : Kohler et al. 1996 3 | 4 | NEURON { 5 | SUFFIX SK_E2 6 | USEION k READ ek WRITE ik 7 | USEION ca READ cai 8 | RANGE gSK_E2bar, gSK_E2, ik 9 | } 10 | 11 | UNITS { 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | (mM) = (milli/liter) 15 | } 16 | 17 | PARAMETER { 18 | v (mV) 19 | gSK_E2bar = .000001 (mho/cm2) 20 | zTau = 1 (ms) 21 | ek (mV) 22 | cai (mM) 23 | } 24 | 25 | ASSIGNED { 26 | zInf 27 | ik (mA/cm2) 28 | gSK_E2 (S/cm2) 29 | } 30 | 31 | STATE { 32 | z FROM 0 TO 1 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gSK_E2 = gSK_E2bar * z 38 | ik = gSK_E2 * (v - ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates(cai) 43 | z' = (zInf - z) / zTau 44 | } 45 | 46 | PROCEDURE rates(ca(mM)) { 47 | if(ca < 1e-7){ 48 | ca = ca + 1e-07 49 | } 50 | zInf = 1/(1 + (0.00043 / ca)^4.8) 51 | } 52 | 53 | INITIAL { 54 | rates(cai) 55 | z = zInf 56 | } 57 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/SK_E.mod: -------------------------------------------------------------------------------- 1 | : SK-type calcium-activated potassium current 2 | : Reference : 3 | 4 | NEURON { 5 | SUFFIX SK_E 6 | USEION k READ ek WRITE ik 7 | USEION ca READ cai 8 | RANGE gSK_Ebar, gSK_E, ik 9 | } 10 | 11 | UNITS { 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | (mM) = (milli/liter) 15 | } 16 | 17 | PARAMETER { 18 | v (mV) 19 | gSK_Ebar = .000001 (mho/cm2) 20 | zTau = 1 (ms) 21 | ek (mV) 22 | cai (mM) 23 | } 24 | 25 | ASSIGNED { 26 | zInf 27 | ik (mA/cm2) 28 | gSK_E (S/cm2) 29 | } 30 | 31 | STATE { 32 | z FROM 0 TO 1 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gSK_E = gSK_Ebar * z * z 38 | ik = gSK_E * (v - ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates(cai) 43 | z' = (zInf - z) / zTau 44 | } 45 | 46 | PROCEDURE rates(ca(mM)) { 47 | LOCAL v 48 | if(ca < 1e-7){ 49 | ca = ca + 1e-07 50 | } 51 | zInf = 1/(1 + 0.001 / ca) 52 | } 53 | 54 | INITIAL { 55 | rates(cai) 56 | z = zInf 57 | } 58 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_5_Hay_2011/mod/SK_E2.mod: -------------------------------------------------------------------------------- 1 | : SK-type calcium-activated potassium current 2 | : Reference : Kohler et al. 1996 3 | 4 | NEURON { 5 | SUFFIX SK_E2 6 | USEION k READ ek WRITE ik 7 | USEION ca READ cai 8 | RANGE gSK_E2bar, gSK_E2, ik 9 | } 10 | 11 | UNITS { 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | (mM) = (milli/liter) 15 | } 16 | 17 | PARAMETER { 18 | v (mV) 19 | gSK_E2bar = .000001 (mho/cm2) 20 | zTau = 1 (ms) 21 | ek (mV) 22 | cai (mM) 23 | } 24 | 25 | ASSIGNED { 26 | zInf 27 | ik (mA/cm2) 28 | gSK_E2 (S/cm2) 29 | } 30 | 31 | STATE { 32 | z FROM 0 TO 1 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gSK_E2 = gSK_E2bar * z 38 | ik = gSK_E2 * (v - ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates(cai) 43 | z' = (zInf - z) / zTau 44 | } 45 | 46 | PROCEDURE rates(ca(mM)) { 47 | if(ca < 1e-7){ 48 | ca = ca + 1e-07 49 | } 50 | zInf = 1/(1 + (0.00043 / ca)^4.8) 51 | } 52 | 53 | INITIAL { 54 | rates(cai) 55 | z = zInf 56 | } 57 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/SK_E2.mod: -------------------------------------------------------------------------------- 1 | : SK-type calcium-activated potassium current 2 | : Reference : Kohler et al. 1996 3 | 4 | NEURON { 5 | SUFFIX SK_E2 6 | USEION k READ ek WRITE ik 7 | USEION ca READ cai 8 | RANGE gSK_E2bar, gSK_E2, ik 9 | } 10 | 11 | UNITS { 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | (mM) = (milli/liter) 15 | } 16 | 17 | PARAMETER { 18 | v (mV) 19 | gSK_E2bar = .000001 (mho/cm2) 20 | zTau = 1 (ms) 21 | ek (mV) 22 | cai (mM) 23 | } 24 | 25 | ASSIGNED { 26 | zInf 27 | ik (mA/cm2) 28 | gSK_E2 (S/cm2) 29 | } 30 | 31 | STATE { 32 | z FROM 0 TO 1 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gSK_E2 = gSK_E2bar * z 38 | ik = gSK_E2 * (v - ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates(cai) 43 | z' = (zInf - z) / zTau 44 | } 45 | 46 | PROCEDURE rates(ca(mM)) { 47 | if(ca < 1e-7){ 48 | ca = ca + 1e-07 49 | } 50 | zInf = 1/(1 + (0.00043 / ca)^4.8) 51 | } 52 | 53 | INITIAL { 54 | rates(cai) 55 | z = zInf 56 | } 57 | -------------------------------------------------------------------------------- /tests/TestsFiles/L4_LBC_cNAC187_5_for_run/mod/SK_E2.mod: -------------------------------------------------------------------------------- 1 | : SK-type calcium-activated potassium current 2 | : Reference : Kohler et al. 1996 3 | 4 | NEURON { 5 | SUFFIX SK_E2 6 | USEION k READ ek WRITE ik 7 | USEION ca READ cai 8 | RANGE gSK_E2bar, gSK_E2, ik 9 | } 10 | 11 | UNITS { 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | (mM) = (milli/liter) 15 | } 16 | 17 | PARAMETER { 18 | v (mV) 19 | gSK_E2bar = .000001 (mho/cm2) 20 | zTau = 1 (ms) 21 | ek (mV) 22 | cai (mM) 23 | } 24 | 25 | ASSIGNED { 26 | zInf 27 | ik (mA/cm2) 28 | gSK_E2 (S/cm2) 29 | } 30 | 31 | STATE { 32 | z FROM 0 TO 1 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gSK_E2 = gSK_E2bar * z 38 | ik = gSK_E2 * (v - ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates(cai) 43 | z' = (zInf - z) / zTau 44 | } 45 | 46 | PROCEDURE rates(ca(mM)) { 47 | if(ca < 1e-7){ 48 | ca = ca + 1e-07 49 | } 50 | zInf = 1/(1 + (0.00043 / ca)^4.8) 51 | } 52 | 53 | INITIAL { 54 | rates(cai) 55 | z = zInf 56 | } 57 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_12_TPC_L6_Markram/mod/SK_E2.mod: -------------------------------------------------------------------------------- 1 | : SK-type calcium-activated potassium current 2 | : Reference : Kohler et al. 1996 3 | 4 | NEURON { 5 | SUFFIX SK_E2 6 | USEION k READ ek WRITE ik 7 | USEION ca READ cai 8 | RANGE gSK_E2bar, gSK_E2, ik 9 | } 10 | 11 | UNITS { 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | (mM) = (milli/liter) 15 | } 16 | 17 | PARAMETER { 18 | v (mV) 19 | gSK_E2bar = .000001 (mho/cm2) 20 | zTau = 1 (ms) 21 | ek (mV) 22 | cai (mM) 23 | } 24 | 25 | ASSIGNED { 26 | zInf 27 | ik (mA/cm2) 28 | gSK_E2 (S/cm2) 29 | } 30 | 31 | STATE { 32 | z FROM 0 TO 1 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gSK_E2 = gSK_E2bar * z 38 | ik = gSK_E2 * (v - ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates(cai) 43 | z' = (zInf - z) / zTau 44 | } 45 | 46 | PROCEDURE rates(ca(mM)) { 47 | if(ca < 1e-7){ 48 | ca = ca + 1e-07 49 | } 50 | zInf = 1/(1 + (0.00043 / ca)^4.8) 51 | } 52 | 53 | INITIAL { 54 | rates(cai) 55 | z = zInf 56 | } 57 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_13_DBC_L4_Markram/mod/SK_E2.mod: -------------------------------------------------------------------------------- 1 | : SK-type calcium-activated potassium current 2 | : Reference : Kohler et al. 1996 3 | 4 | NEURON { 5 | SUFFIX SK_E2 6 | USEION k READ ek WRITE ik 7 | USEION ca READ cai 8 | RANGE gSK_E2bar, gSK_E2, ik 9 | } 10 | 11 | UNITS { 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | (mM) = (milli/liter) 15 | } 16 | 17 | PARAMETER { 18 | v (mV) 19 | gSK_E2bar = .000001 (mho/cm2) 20 | zTau = 1 (ms) 21 | ek (mV) 22 | cai (mM) 23 | } 24 | 25 | ASSIGNED { 26 | zInf 27 | ik (mA/cm2) 28 | gSK_E2 (S/cm2) 29 | } 30 | 31 | STATE { 32 | z FROM 0 TO 1 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gSK_E2 = gSK_E2bar * z 38 | ik = gSK_E2 * (v - ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates(cai) 43 | z' = (zInf - z) / zTau 44 | } 45 | 46 | PROCEDURE rates(ca(mM)) { 47 | if(ca < 1e-7){ 48 | ca = ca + 1e-07 49 | } 50 | zInf = 1/(1 + (0.00043 / ca)^4.8) 51 | } 52 | 53 | INITIAL { 54 | rates(cai) 55 | z = zInf 56 | } 57 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/Ca_LVAs.mod: -------------------------------------------------------------------------------- 1 | :Comment : LVA ca channel. Note: mtau is an approximation from the plots 2 | :Reference : : Avery and Johnston 1996, tau from Randall 1997 3 | :Comment: shifted by -10 mv to correct for junction potential 4 | 5 | NEURON { 6 | SUFFIX Ca_LVAs 7 | USEION ca READ eca WRITE ica 8 | RANGE gCa_LVAsbar, gCa_LVAs, ica 9 | } 10 | 11 | UNITS { 12 | (S) = (siemens) 13 | (mV) = (millivolt) 14 | (mA) = (milliamp) 15 | } 16 | 17 | PARAMETER { 18 | gCa_LVAsbar = 0.00001 (S/cm2) 19 | } 20 | 21 | ASSIGNED { 22 | v (mV) 23 | eca (mV) 24 | ica (mA/cm2) 25 | gCa_LVAs (S/cm2) 26 | mInf 27 | mTau 28 | hInf 29 | hTau 30 | } 31 | 32 | STATE { 33 | m 34 | h 35 | } 36 | 37 | BREAKPOINT { 38 | SOLVE states METHOD cnexp 39 | gCa_LVAs = gCa_LVAsbar*m*m*h 40 | ica = gCa_LVAs*(v-eca) 41 | } 42 | 43 | DERIVATIVE states { 44 | rates() 45 | m' = (mInf-m)/mTau 46 | h' = (hInf-h)/hTau 47 | } 48 | 49 | INITIAL{ 50 | rates() 51 | m = mInf 52 | h = hInf 53 | } 54 | 55 | PROCEDURE rates(){ 56 | UNITSOFF 57 | v = v + 10 58 | mInf = 1.0000/(1+ exp((v - -30.000)/-6)) 59 | mTau = 5.0000 + 20.0000/(1+exp((v - -25.000)/5)) 60 | hInf = 1.0000/(1+ exp((v - -80.000)/6.4)) 61 | hTau = 20.0000 + 50.0000/(1+exp((v - -40.000)/7)) 62 | v = v - 10 63 | UNITSON 64 | } 65 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/K_Ts.mod: -------------------------------------------------------------------------------- 1 | :Comment : The transient component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | :Comment : shifted -10 mv to correct for junction potential 4 | 5 | NEURON { 6 | SUFFIX K_Ts 7 | USEION k READ ek WRITE ik 8 | RANGE gK_Tsbar, gK_Ts, ik 9 | } 10 | 11 | UNITS { 12 | (S) = (siemens) 13 | (mV) = (millivolt) 14 | (mA) = (milliamp) 15 | } 16 | 17 | PARAMETER { 18 | gK_Tsbar = 0.00001 (S/cm2) 19 | } 20 | 21 | ASSIGNED { 22 | v (mV) 23 | ek (mV) 24 | ik (mA/cm2) 25 | gK_Ts (S/cm2) 26 | mInf 27 | mTau 28 | hInf 29 | hTau 30 | } 31 | 32 | STATE { 33 | m 34 | h 35 | } 36 | 37 | BREAKPOINT { 38 | SOLVE states METHOD cnexp 39 | gK_Ts = gK_Tsbar*(m^4)*h 40 | ik = gK_Ts*(v-ek) 41 | } 42 | 43 | DERIVATIVE states { 44 | rates() 45 | m' = (mInf-m)/mTau 46 | h' = (hInf-h)/hTau 47 | } 48 | 49 | INITIAL{ 50 | rates() 51 | m = mInf 52 | h = hInf 53 | } 54 | 55 | PROCEDURE rates(){ 56 | UNITSOFF 57 | v = v + 10 58 | mInf = 1/(1 + exp(-(v+0)/19)) 59 | mTau = (0.34+0.92*exp(-((v+71)/59)^2)) 60 | hInf = 1/(1 + exp(-(v+66)/-10)) 61 | hTau = (8+49*exp(-((v+73)/23)^2)) 62 | v = v - 10 63 | UNITSON 64 | } 65 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/K_P.mod: -------------------------------------------------------------------------------- 1 | :Comment : The persistent component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | 4 | NEURON { 5 | SUFFIX K_P 6 | USEION k READ ek WRITE ik 7 | RANGE gK_Pbar, gK_P, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gK_Pbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ek (mV) 23 | ik (mA/cm2) 24 | gK_P (S/cm2) 25 | mInf 26 | mTau 27 | hInf 28 | hTau 29 | } 30 | 31 | STATE { 32 | m 33 | h 34 | } 35 | 36 | BREAKPOINT { 37 | SOLVE states METHOD cnexp 38 | gK_P = gK_Pbar*m*m*h 39 | ik = gK_P*(v-ek) 40 | } 41 | 42 | DERIVATIVE states { 43 | rates() 44 | m' = (mInf-m)/mTau 45 | h' = (hInf-h)/hTau 46 | } 47 | 48 | INITIAL{ 49 | rates() 50 | m = mInf 51 | h = hInf 52 | } 53 | 54 | PROCEDURE rates(){ 55 | UNITSOFF 56 | mInf = (1/(1 + exp(-(v+1)/12))) 57 | if(v<-50){ 58 | mTau = (1.25+175.03*exp(-v * -0.026)) 59 | }else{ 60 | mTau = (1.25+13*exp(-v*0.026)) 61 | } 62 | hInf = 1/(1 + exp(-(v+54)/-11)) 63 | hTau = 360+(1010+24*(v+55))*exp(-((v+75)/48)^2) 64 | UNITSON 65 | } 66 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/SK_S.mod: -------------------------------------------------------------------------------- 1 | : SK-type calcium-activated potassium current 2 | 3 | 4 | NEURON { 5 | SUFFIX SK_S 6 | USEION k READ ek WRITE ik 7 | USEION ca READ cai 8 | RANGE gSK_Sbar, gSK_S, ik 9 | } 10 | 11 | UNITS { 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | (mM) = (milli/liter) 15 | } 16 | 17 | PARAMETER { 18 | v (mV) 19 | gSK_Sbar = 0 (mho/cm2) 20 | zTau = 1 (ms) 21 | ek (mV) 22 | cai (mM) 23 | } 24 | 25 | ASSIGNED { 26 | zInf 27 | ik (mA/cm2) 28 | gSK_S (S/cm2) 29 | } 30 | 31 | STATE { 32 | z FROM 0 TO 1 33 | } 34 | 35 | BREAKPOINT { 36 | SOLVE states METHOD cnexp 37 | gSK_S = gSK_Sbar * z * z 38 | ik = gSK_S * (v - ek) 39 | } 40 | 41 | DERIVATIVE states { 42 | rates(v,cai) 43 | z' = (zInf - z) / zTau 44 | } 45 | 46 | PROCEDURE rates(Vm (mV), ca(mM)) { 47 | LOCAL v 48 | v = Vm + 5 49 | if(ca < 1e-7){ 50 | ca = ca + 1e-07 51 | } 52 | zInf = 1/(1 + 0.001 / ca) 53 | } 54 | 55 | INITIAL { 56 | rates(v,cai) 57 | z = zInf 58 | } 59 | 60 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/mod/Ih.mod: -------------------------------------------------------------------------------- 1 | : Reference: Kole,Hallermann,and Stuart, J. Neurosci. 2006 2 | 3 | NEURON { 4 | SUFFIX Ih 5 | NONSPECIFIC_CURRENT ihcn 6 | RANGE gbar, g, ihcn 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gbar = 0.00001 (S/cm2) 17 | ehcn = -45.0 (mV) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ihcn (mA/cm2) 23 | g (S/cm2) 24 | mInf 25 | mTau 26 | mAlpha 27 | mBeta 28 | } 29 | 30 | STATE { 31 | m 32 | } 33 | 34 | BREAKPOINT { 35 | SOLVE states METHOD cnexp 36 | g = gbar*m 37 | ihcn = g*(v-ehcn) 38 | } 39 | 40 | DERIVATIVE states { 41 | rates() 42 | m' = (mInf-m)/mTau 43 | } 44 | 45 | INITIAL{ 46 | rates() 47 | m = mInf 48 | } 49 | 50 | PROCEDURE rates(){ 51 | UNITSOFF 52 | : if(v == -154.9){ 53 | : v = v + 0.0001 54 | : } 55 | :mAlpha = 0.001*6.43*(v+154.9)/(exp((v+154.9)/11.9)-1) 56 | mAlpha = 0.001 * 6.43 * vtrap(v + 154.9, 11.9) 57 | mBeta = 0.001*193*exp(v/33.1) 58 | mInf = mAlpha/(mAlpha + mBeta) 59 | mTau = 1/(mAlpha + mBeta) 60 | UNITSON 61 | } 62 | 63 | FUNCTION vtrap(x, y) { : Traps for 0 in denominator of rate equations 64 | UNITSOFF 65 | if (fabs(x / y) < 1e-6) { 66 | vtrap = y * (1 - x / y / 2) 67 | } else { 68 | vtrap = x / (exp(x / y) - 1) 69 | } 70 | UNITSON 71 | } 72 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_13_DBC_L4_Markram/mod/Ca.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Reuveni, Friedman, Amitai, and Gutnick, J.Neurosci. 1993 3 | 4 | NEURON { 5 | SUFFIX Ca 6 | USEION ca READ eca WRITE ica 7 | RANGE gCabar, gCa, ica 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gCabar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | eca (mV) 23 | ica (mA/cm2) 24 | gCa (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | hInf 30 | hTau 31 | hAlpha 32 | hBeta 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | gCa = gCabar*m*m*h 43 | ica = gCa*(v-eca) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | UNITSOFF 60 | if((v == -27) ){ 61 | v = v+0.0001 62 | } 63 | mAlpha = (0.055*(-27-v))/(exp((-27-v)/3.8) - 1) 64 | mBeta = (0.94*exp((-75-v)/17)) 65 | mInf = mAlpha/(mAlpha + mBeta) 66 | mTau = 1/(mAlpha + mBeta) 67 | hAlpha = (0.000457*exp((-13-v)/50)) 68 | hBeta = (0.0065/(exp((-v-15)/28)+1)) 69 | hInf = hAlpha/(hAlpha + hBeta) 70 | hTau = 1/(hAlpha + hBeta) 71 | UNITSON 72 | } 73 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/Ca.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Reuveni, Friedman, Amitai, and Gutnick, J.Neurosci. 1993 3 | 4 | NEURON { 5 | SUFFIX Ca 6 | USEION ca READ eca WRITE ica 7 | RANGE gCabar, gCa, ica 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gCabar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | eca (mV) 23 | ica (mA/cm2) 24 | gCa (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | hInf 30 | hTau 31 | hAlpha 32 | hBeta 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | gCa = gCabar*m*m*h 43 | ica = gCa*(v-eca) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | UNITSOFF 60 | if((v == -27) ){ 61 | v = v+0.0001 62 | } 63 | mAlpha = (0.055*(-27-v))/(exp((-27-v)/3.8) - 1) 64 | mBeta = (0.94*exp((-75-v)/17)) 65 | mInf = mAlpha/(mAlpha + mBeta) 66 | mTau = 1/(mAlpha + mBeta) 67 | hAlpha = (0.000457*exp((-13-v)/50)) 68 | hBeta = (0.0065/(exp((-v-15)/28)+1)) 69 | hInf = hAlpha/(hAlpha + hBeta) 70 | hTau = 1/(hAlpha + hBeta) 71 | UNITSON 72 | } 73 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_9_Allen_483108201/mod/Ih.mod: -------------------------------------------------------------------------------- 1 | : Reference: Kole,Hallermann,and Stuart, J. Neurosci. 2006 2 | 3 | NEURON { 4 | SUFFIX Ih 5 | NONSPECIFIC_CURRENT ihcn 6 | RANGE gbar, g, ihcn 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gbar = 0.00001 (S/cm2) 17 | ehcn = -45.0 (mV) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ihcn (mA/cm2) 23 | g (S/cm2) 24 | mInf 25 | mTau 26 | mAlpha 27 | mBeta 28 | } 29 | 30 | STATE { 31 | m 32 | } 33 | 34 | BREAKPOINT { 35 | SOLVE states METHOD cnexp 36 | g = gbar*m 37 | ihcn = g*(v-ehcn) 38 | } 39 | 40 | DERIVATIVE states { 41 | rates() 42 | m' = (mInf-m)/mTau 43 | } 44 | 45 | INITIAL{ 46 | rates() 47 | m = mInf 48 | } 49 | 50 | PROCEDURE rates(){ 51 | UNITSOFF 52 | : if(v == -154.9){ 53 | : v = v + 0.0001 54 | : } 55 | :mAlpha = 0.001*6.43*(v+154.9)/(exp((v+154.9)/11.9)-1) 56 | mAlpha = 0.001 * 6.43 * vtrap(v + 154.9, 11.9) 57 | mBeta = 0.001*193*exp(v/33.1) 58 | mInf = mAlpha/(mAlpha + mBeta) 59 | mTau = 1/(mAlpha + mBeta) 60 | UNITSON 61 | } 62 | 63 | FUNCTION vtrap(x, y) { : Traps for 0 in denominator of rate equations 64 | UNITSOFF 65 | if (fabs(x / y) < 1e-6) { 66 | vtrap = y * (1 - x / y / 2) 67 | } else { 68 | vtrap = x / (exp(x / y) - 1) 69 | } 70 | UNITSON 71 | } 72 | -------------------------------------------------------------------------------- /example/mod/Ca_HVA.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Reuveni, Friedman, Amitai, and Gutnick, J.Neurosci. 1993 3 | 4 | NEURON { 5 | SUFFIX Ca_HVA 6 | USEION ca READ eca WRITE ica 7 | RANGE gCa_HVAbar, gCa_HVA, ica 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gCa_HVAbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | eca (mV) 23 | ica (mA/cm2) 24 | gCa_HVA (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | hInf 30 | hTau 31 | hAlpha 32 | hBeta 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | gCa_HVA = gCa_HVAbar*m*m*h 43 | ica = gCa_HVA*(v-eca) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | UNITSOFF 60 | if((v == -27) ){ 61 | v = v+0.0001 62 | } 63 | mAlpha = (0.055*(-27-v))/(exp((-27-v)/3.8) - 1) 64 | mBeta = (0.94*exp((-75-v)/17)) 65 | mInf = mAlpha/(mAlpha + mBeta) 66 | mTau = 1/(mAlpha + mBeta) 67 | hAlpha = (0.000457*exp((-13-v)/50)) 68 | hBeta = (0.0065/(exp((-v-15)/28)+1)) 69 | hInf = hAlpha/(hAlpha + hBeta) 70 | hTau = 1/(hAlpha + hBeta) 71 | UNITSON 72 | } 73 | -------------------------------------------------------------------------------- /tests/TestsFiles/L4_LBC_cNAC187_5_for_run/mod/Ca.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Reuveni, Friedman, Amitai, and Gutnick, J.Neurosci. 1993 3 | 4 | NEURON { 5 | SUFFIX Ca 6 | USEION ca READ eca WRITE ica 7 | RANGE gCabar, gCa, ica 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gCabar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | eca (mV) 23 | ica (mA/cm2) 24 | gCa (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | hInf 30 | hTau 31 | hAlpha 32 | hBeta 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | gCa = gCabar*m*m*h 43 | ica = gCa*(v-eca) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | UNITSOFF 60 | if((v == -27) ){ 61 | v = v+0.0001 62 | } 63 | mAlpha = (0.055*(-27-v))/(exp((-27-v)/3.8) - 1) 64 | mBeta = (0.94*exp((-75-v)/17)) 65 | mInf = mAlpha/(mAlpha + mBeta) 66 | mTau = 1/(mAlpha + mBeta) 67 | hAlpha = (0.000457*exp((-13-v)/50)) 68 | hBeta = (0.0065/(exp((-v-15)/28)+1)) 69 | hInf = hAlpha/(hAlpha + hBeta) 70 | hTau = 1/(hAlpha + hBeta) 71 | UNITSON 72 | } 73 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/mod/K_T.mod: -------------------------------------------------------------------------------- 1 | : Comment: The transient component of the K current 2 | : Reference: Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | 4 | NEURON { 5 | SUFFIX K_T 6 | USEION k READ ek WRITE ik 7 | RANGE gbar, g, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gbar = 0.00001 (S/cm2) 18 | vshift = 0 (mV) 19 | mTauF = 1.0 20 | hTauF = 1.0 21 | } 22 | 23 | ASSIGNED { 24 | v (mV) 25 | ek (mV) 26 | ik (mA/cm2) 27 | g (S/cm2) 28 | celsius (degC) 29 | mInf 30 | mTau 31 | hInf 32 | hTau 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | g = gbar*m*m*m*m*h 43 | ik = g*(v-ek) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | LOCAL qt 60 | qt = 2.3^((celsius-21)/10) 61 | 62 | UNITSOFF 63 | mInf = 1/(1 + exp(-(v - (-47 + vshift)) / 29)) 64 | mTau = (0.34 + mTauF * 0.92*exp(-((v+71-vshift)/59)^2))/qt 65 | hInf = 1/(1 + exp(-(v+66-vshift)/-10)) 66 | hTau = (8 + hTauF * 49*exp(-((v+73-vshift)/23)^2))/qt 67 | UNITSON 68 | } 69 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_9_Allen_483108201/mod/K_T.mod: -------------------------------------------------------------------------------- 1 | : Comment: The transient component of the K current 2 | : Reference: Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | 4 | NEURON { 5 | SUFFIX K_T 6 | USEION k READ ek WRITE ik 7 | RANGE gbar, g, ik 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gbar = 0.00001 (S/cm2) 18 | vshift = 0 (mV) 19 | mTauF = 1.0 20 | hTauF = 1.0 21 | } 22 | 23 | ASSIGNED { 24 | v (mV) 25 | ek (mV) 26 | ik (mA/cm2) 27 | g (S/cm2) 28 | celsius (degC) 29 | mInf 30 | mTau 31 | hInf 32 | hTau 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | g = gbar*m*m*m*m*h 43 | ik = g*(v-ek) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | LOCAL qt 60 | qt = 2.3^((celsius-21)/10) 61 | 62 | UNITSOFF 63 | mInf = 1/(1 + exp(-(v - (-47 + vshift)) / 29)) 64 | mTau = (0.34 + mTauF * 0.92*exp(-((v+71-vshift)/59)^2))/qt 65 | hInf = 1/(1 + exp(-(v+66-vshift)/-10)) 66 | hTau = (8 + hTauF * 49*exp(-((v+73-vshift)/23)^2))/qt 67 | UNITSON 68 | } 69 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/Ca_HVA.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Reuveni, Friedman, Amitai, and Gutnick, J.Neurosci. 1993 3 | 4 | NEURON { 5 | SUFFIX Ca_HVA 6 | USEION ca READ eca WRITE ica 7 | RANGE gCa_HVAbar, gCa_HVA, ica 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gCa_HVAbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | eca (mV) 23 | ica (mA/cm2) 24 | gCa (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | hInf 30 | hTau 31 | hAlpha 32 | hBeta 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | gCa = gCa_HVAbar*m*m*h 43 | ica = gCa*(v-eca) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | UNITSOFF 60 | if((v == -27) ){ 61 | v = v+0.0001 62 | } 63 | mAlpha = (0.055*(-27-v))/(exp((-27-v)/3.8) - 1) 64 | mBeta = (0.94*exp((-75-v)/17)) 65 | mInf = mAlpha/(mAlpha + mBeta) 66 | mTau = 1/(mAlpha + mBeta) 67 | hAlpha = (0.000457*exp((-13-v)/50)) 68 | hBeta = (0.0065/(exp((-v-15)/28)+1)) 69 | hInf = hAlpha/(hAlpha + hBeta) 70 | hTau = 1/(hAlpha + hBeta) 71 | UNITSON 72 | } 73 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_12_TPC_L6_Markram/mod/Ca_HVA.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Reuveni, Friedman, Amitai, and Gutnick, J.Neurosci. 1993 3 | 4 | NEURON { 5 | SUFFIX Ca_HVA 6 | USEION ca READ eca WRITE ica 7 | RANGE gCa_HVAbar, gCa_HVA, ica 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gCa_HVAbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | eca (mV) 23 | ica (mA/cm2) 24 | gCa (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | hInf 30 | hTau 31 | hAlpha 32 | hBeta 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | gCa = gCa_HVAbar*m*m*h 43 | ica = gCa*(v-eca) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | UNITSOFF 60 | if((v == -27) ){ 61 | v = v+0.0001 62 | } 63 | mAlpha = (0.055*(-27-v))/(exp((-27-v)/3.8) - 1) 64 | mBeta = (0.94*exp((-75-v)/17)) 65 | mInf = mAlpha/(mAlpha + mBeta) 66 | mTau = 1/(mAlpha + mBeta) 67 | hAlpha = (0.000457*exp((-13-v)/50)) 68 | hBeta = (0.0065/(exp((-v-15)/28)+1)) 69 | hInf = hAlpha/(hAlpha + hBeta) 70 | hTau = 1/(hAlpha + hBeta) 71 | UNITSON 72 | } 73 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/KdShu2007.mod: -------------------------------------------------------------------------------- 1 | TITLE K-D 2 | : K-D current for prefrontal cortical neuron ------Yuguo Yu 2007 3 | 4 | NEURON { 5 | THREADSAFE 6 | SUFFIX KdShu2007 7 | USEION k WRITE ik 8 | RANGE gkbar, ik, ek 9 | GLOBAL minf, mtau, hinf, htau 10 | } 11 | 12 | PARAMETER { 13 | gkbar = 0.1 (mho/cm2) 14 | 15 | celsius 16 | ek = -100 (mV) : must be explicitly def. in hoc 17 | v (mV) 18 | vhalfm=-43 (mV) 19 | km=8 20 | vhalfh=-67 (mV) 21 | kh=7.3 22 | q10=2.3 23 | } 24 | 25 | 26 | UNITS { 27 | (mA) = (milliamp) 28 | (mV) = (millivolt) 29 | (pS) = (picosiemens) 30 | (um) = (micron) 31 | } 32 | 33 | ASSIGNED { 34 | ik (mA/cm2) 35 | minf mtau (ms) 36 | hinf htau (ms) 37 | } 38 | 39 | 40 | STATE { m h} 41 | 42 | BREAKPOINT { 43 | SOLVE states METHOD cnexp 44 | ik = gkbar * m*h*(v-ek) 45 | } 46 | 47 | INITIAL { 48 | trates(v) 49 | m=minf 50 | h=hinf 51 | } 52 | 53 | DERIVATIVE states { 54 | trates(v) 55 | m' = (minf-m)/mtau 56 | h' = (hinf-h)/htau 57 | } 58 | 59 | PROCEDURE trates(v) { 60 | LOCAL qt 61 | qt=q10^((celsius-22)/10) 62 | minf=1-1/(1+exp((v-vhalfm)/km)) 63 | hinf=1/(1+exp((v-vhalfh)/kh)) 64 | 65 | mtau = 0.6 66 | htau = 1500 67 | } 68 | 69 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_5_Hay_2011/mod/Ca_HVA.mod: -------------------------------------------------------------------------------- 1 | :Comment : 2 | :Reference : : Reuveni, Friedman, Amitai, and Gutnick, J.Neurosci. 1993 3 | 4 | NEURON { 5 | SUFFIX Ca_HVA 6 | USEION ca READ eca WRITE ica 7 | RANGE gCa_HVAbar, gCa_HVA, ica 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gCa_HVAbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | eca (mV) 23 | ica (mA/cm2) 24 | gCa_HVA (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | hInf 30 | hTau 31 | hAlpha 32 | hBeta 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | gCa_HVA = gCa_HVAbar*m*m*h 43 | ica = gCa_HVA*(v-eca) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | UNITSOFF 60 | if((v == -27) ){ 61 | v = v+0.0001 62 | } 63 | mAlpha = (0.055*(-27-v))/(exp((-27-v)/3.8) - 1) 64 | mBeta = (0.94*exp((-75-v)/17)) 65 | mInf = mAlpha/(mAlpha + mBeta) 66 | mTau = 1/(mAlpha + mBeta) 67 | hAlpha = (0.000457*exp((-13-v)/50)) 68 | hBeta = (0.0065/(exp((-v-15)/28)+1)) 69 | hInf = hAlpha/(hAlpha + hBeta) 70 | hTau = 1/(hAlpha + hBeta) 71 | UNITSON 72 | } 73 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/_iM.mod: -------------------------------------------------------------------------------- 1 | TITLE slowly activating potassium (M-) current from bullfrog sympathetic ganglion cells 2 | 3 | COMMENT Equations from 4 | Yamada WM, Koch C, Adams P (1989) In: Methods in Neuronal Modeling. MIT 5 | Press. 6 | 7 | >< Temperature adjusts time constant measured at 23.5 degC. 8 | >< Written by Arthur Houweling for MyFirstNEURON. 9 | ENDCOMMENT 10 | 11 | NEURON { 12 | SUFFIX iM 13 | USEION k READ ek WRITE ik 14 | RANGE gk, minf, mtau, ik 15 | RANGE SLOP,SHFT 16 | } 17 | 18 | UNITS { 19 | (mA) = (milliamp) 20 | (mV) = (millivolt) 21 | } 22 | 23 | PARAMETER { 24 | v (mV) 25 | celsius (degC) 26 | ek (mV) 27 | gk= 0:3.1e-4 (mho/cm2) 28 | SLOP=0 29 | SHFT=0 30 | 31 | } 32 | 33 | STATE { m } 34 | 35 | ASSIGNED { 36 | ik (mA/cm2) 37 | mtau (ms) 38 | htau (ms) 39 | minf 40 | tadj 41 | 42 | } 43 | 44 | BREAKPOINT { 45 | SOLVE states METHOD cnexp 46 | ik= gk* m* (v- ek) 47 | } 48 | 49 | FUNCTION gate(vv){ 50 | gate = 1/ ( 1+ exp(-(vv+ 35 + SHFT)/ (10 + SLOP)) ) 51 | 52 | } 53 | 54 | DERIVATIVE states { 55 | rates() 56 | m'= (minf- m)/ mtau 57 | } 58 | 59 | INITIAL { UNITSOFF 60 | tadj= 3^ ((celsius- 23.5)/ 10) 61 | rates() 62 | m= minf 63 | } 64 | 65 | PROCEDURE rates() { LOCAL a,b 66 | mtau= 1000/( 3.3* (exp((v+ 35+ SHFT)/ 20)+ exp(-(v+ 35+ SHFT)/ 20)))/ tadj 67 | minf= 1/ (1+ exp(-(v+ 35+ SHFT)/ (10+ SLOP))) 68 | } 69 | -------------------------------------------------------------------------------- /example/mod/Ca_LVAst.mod: -------------------------------------------------------------------------------- 1 | :Comment : LVA ca channel. Note: mtau is an approximation from the plots 2 | :Reference : : Avery and Johnston 1996, tau from Randall 1997 3 | :Comment: shifted by -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | NEURON { 7 | SUFFIX Ca_LVAst 8 | USEION ca READ eca WRITE ica 9 | RANGE gCa_LVAstbar, gCa_LVAst, ica 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gCa_LVAstbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | eca (mV) 25 | ica (mA/cm2) 26 | gCa_LVAst (S/cm2) 27 | mInf 28 | mTau 29 | hInf 30 | hTau 31 | } 32 | 33 | STATE { 34 | m 35 | h 36 | } 37 | 38 | BREAKPOINT { 39 | SOLVE states METHOD cnexp 40 | gCa_LVAst = gCa_LVAstbar*m*m*h 41 | ica = gCa_LVAst*(v-eca) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | m' = (mInf-m)/mTau 47 | h' = (hInf-h)/hTau 48 | } 49 | 50 | INITIAL{ 51 | rates() 52 | m = mInf 53 | h = hInf 54 | } 55 | 56 | PROCEDURE rates(){ 57 | LOCAL qt 58 | qt = 2.3^((34-21)/10) 59 | 60 | UNITSOFF 61 | v = v + 10 62 | mInf = 1.0000/(1+ exp((v - -30.000)/-6)) 63 | mTau = (5.0000 + 20.0000/(1+exp((v - -25.000)/5)))/qt 64 | hInf = 1.0000/(1+ exp((v - -80.000)/6.4)) 65 | hTau = (20.0000 + 50.0000/(1+exp((v - -40.000)/7)))/qt 66 | v = v - 10 67 | UNITSON 68 | } 69 | -------------------------------------------------------------------------------- /example/mod/K_Tst.mod: -------------------------------------------------------------------------------- 1 | :Comment : The transient component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | :Comment : shifted -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | NEURON { 7 | SUFFIX K_Tst 8 | USEION k READ ek WRITE ik 9 | RANGE gK_Tstbar, gK_Tst, ik 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gK_Tstbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | ek (mV) 25 | ik (mA/cm2) 26 | gK_Tst (S/cm2) 27 | mInf 28 | mTau 29 | hInf 30 | hTau 31 | } 32 | 33 | STATE { 34 | m 35 | h 36 | } 37 | 38 | BREAKPOINT { 39 | SOLVE states METHOD cnexp 40 | gK_Tst = gK_Tstbar*(m^4)*h 41 | ik = gK_Tst*(v-ek) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | m' = (mInf-m)/mTau 47 | h' = (hInf-h)/hTau 48 | } 49 | 50 | INITIAL{ 51 | rates() 52 | m = mInf 53 | h = hInf 54 | } 55 | 56 | PROCEDURE rates(){ 57 | LOCAL qt 58 | qt = 2.3^((34-21)/10) 59 | 60 | UNITSOFF 61 | v = v + 10 62 | mInf = 1/(1 + exp(-(v+0)/19)) 63 | mTau = (0.34+0.92*exp(-((v+71)/59)^2))/qt 64 | hInf = 1/(1 + exp(-(v+66)/-10)) 65 | hTau = (8+49*exp(-((v+73)/23)^2))/qt 66 | v = v - 10 67 | UNITSON 68 | } 69 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/mod/Ca_LVA.mod: -------------------------------------------------------------------------------- 1 | : Comment: LVA ca channel. Note: mtau is an approximation from the plots 2 | : Reference: Avery and Johnston 1996, tau from Randall 1997 3 | : Comment: shifted by -10 mv to correct for junction potential 4 | : Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | NEURON { 7 | SUFFIX Ca_LVA 8 | USEION ca READ eca WRITE ica 9 | RANGE gbar, g, ica 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | eca (mV) 25 | ica (mA/cm2) 26 | g (S/cm2) 27 | celsius (degC) 28 | mInf 29 | mTau 30 | hInf 31 | hTau 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | g = gbar*m*m*h 42 | ica = g*(v-eca) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | LOCAL qt 59 | qt = 2.3^((celsius-21)/10) 60 | 61 | UNITSOFF 62 | v = v + 10 63 | mInf = 1.0000/(1+ exp((v - -30.000)/-6)) 64 | mTau = (5.0000 + 20.0000/(1+exp((v - -25.000)/5)))/qt 65 | hInf = 1.0000/(1+ exp((v - -80.000)/6.4)) 66 | hTau = (20.0000 + 50.0000/(1+exp((v - -40.000)/7)))/qt 67 | v = v - 10 68 | UNITSON 69 | } 70 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_9_Allen_483108201/mod/Ca_LVA.mod: -------------------------------------------------------------------------------- 1 | : Comment: LVA ca channel. Note: mtau is an approximation from the plots 2 | : Reference: Avery and Johnston 1996, tau from Randall 1997 3 | : Comment: shifted by -10 mv to correct for junction potential 4 | : Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | NEURON { 7 | SUFFIX Ca_LVA 8 | USEION ca READ eca WRITE ica 9 | RANGE gbar, g, ica 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | eca (mV) 25 | ica (mA/cm2) 26 | g (S/cm2) 27 | celsius (degC) 28 | mInf 29 | mTau 30 | hInf 31 | hTau 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | g = gbar*m*m*h 42 | ica = g*(v-eca) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | LOCAL qt 59 | qt = 2.3^((celsius-21)/10) 60 | 61 | UNITSOFF 62 | v = v + 10 63 | mInf = 1.0000/(1+ exp((v - -30.000)/-6)) 64 | mTau = (5.0000 + 20.0000/(1+exp((v - -25.000)/5)))/qt 65 | hInf = 1.0000/(1+ exp((v - -80.000)/6.4)) 66 | hTau = (20.0000 + 50.0000/(1+exp((v - -40.000)/7)))/qt 67 | v = v - 10 68 | UNITSON 69 | } 70 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/K_Ps.mod: -------------------------------------------------------------------------------- 1 | :Comment : The persistent component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | :Comment : shifted -10 mv to correct for junction potential 4 | 5 | 6 | NEURON { 7 | SUFFIX K_Ps 8 | USEION k READ ek WRITE ik 9 | RANGE gK_Psbar, gK_Ps, ik 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gK_Psbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | ek (mV) 25 | ik (mA/cm2) 26 | gK_Ps (S/cm2) 27 | mInf 28 | mTau 29 | hInf 30 | hTau 31 | } 32 | 33 | STATE { 34 | m 35 | h 36 | } 37 | 38 | BREAKPOINT { 39 | SOLVE states METHOD cnexp 40 | gK_Ps = gK_Psbar*m*m*h 41 | ik = gK_Ps*(v-ek) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | m' = (mInf-m)/mTau 47 | h' = (hInf-h)/hTau 48 | } 49 | 50 | INITIAL{ 51 | rates() 52 | m = mInf 53 | h = hInf 54 | } 55 | 56 | PROCEDURE rates(){ 57 | UNITSOFF 58 | v = v + 10 59 | mInf = (1/(1 + exp(-(v+1)/12))) 60 | if(v<-50){ 61 | mTau = (1.25+175.03*exp(-v * -0.026)) 62 | }else{ 63 | mTau = (1.25+13*exp(-v*0.026)) 64 | } 65 | hInf = 1/(1 + exp(-(v+54)/-11)) 66 | hTau = 360+(1010+24*(v+55))*exp(-((v+75)/48)^2) 67 | v = v - 10 68 | UNITSON 69 | } 70 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_7_Almog/mod/SK.mod: -------------------------------------------------------------------------------- 1 | :modified 1/7/2007 by Chris Deister for the GP neuron (to remove some of the background current that existed in Mercer 2007) 2 | 3 | NEURON { 4 | SUFFIX sk 5 | USEION k READ ek WRITE ik 6 | USEION ca READ cai 7 | RANGE gbar,gkahp,ik, inf,tau,g 8 | GLOBAL Cq10 9 | } 10 | 11 | UNITS { 12 | (mA) = (milliamp) 13 | (mV) = (millivolt) 14 | (molar) = (1/liter) 15 | (mM) = (millimolar) 16 | (pS) = (picosiemens) 17 | (um) = (micron) 18 | } 19 | 20 | PARAMETER { 21 | gbar = 0 (pS/um2) 22 | n = 4 23 | cai = 50.e-6 (mM) 24 | a0 = 1.3e4 (1/ms-mM-mM-mM-mM) :b0/(1.4e-4^4) 25 | b0 = 0.06 (1/ms) :0.5/(0.100e3), was .5e-2 (1/ms) 26 | celsius = 37(degC) 27 | Cq10 = 3 28 | } 29 | 30 | STATE { w } 31 | 32 | ASSIGNED { 33 | ik (mA/cm2) 34 | g (pS/um2) 35 | inf 36 | tau (ms) 37 | a (1/ms) 38 | v (mV) 39 | ek (mV) 40 | } 41 | 42 | BREAKPOINT { 43 | SOLVE state METHOD cnexp 44 | g = gbar*w 45 | ik = (1e-4)* g*(v-ek) 46 | } 47 | 48 | INITIAL { 49 | rate(cai) 50 | w=inf 51 | } 52 | 53 | DERIVATIVE state { 54 | rate(cai) 55 | w' = (inf - w)/tau 56 | } 57 | 58 | PROCEDURE rate(cai (mM)) { 59 | LOCAL q10 60 | q10 = Cq10^((celsius - 22 (degC))/10 (degC) ) 61 | a = a0*cai^4 62 | tau = q10/(a + b0) 63 | inf = a/(a + b0) 64 | } 65 | 66 | 67 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_5_Hay_2011/mod/Ca_LVAst.mod: -------------------------------------------------------------------------------- 1 | :Comment : LVA ca channel. Note: mtau is an approximation from the plots 2 | :Reference : : Avery and Johnston 1996, tau from Randall 1997 3 | :Comment: shifted by -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | NEURON { 7 | SUFFIX Ca_LVAst 8 | USEION ca READ eca WRITE ica 9 | RANGE gCa_LVAstbar, gCa_LVAst, ica 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gCa_LVAstbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | eca (mV) 25 | ica (mA/cm2) 26 | gCa_LVAst (S/cm2) 27 | mInf 28 | mTau 29 | hInf 30 | hTau 31 | } 32 | 33 | STATE { 34 | m 35 | h 36 | } 37 | 38 | BREAKPOINT { 39 | SOLVE states METHOD cnexp 40 | gCa_LVAst = gCa_LVAstbar*m*m*h 41 | ica = gCa_LVAst*(v-eca) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | m' = (mInf-m)/mTau 47 | h' = (hInf-h)/hTau 48 | } 49 | 50 | INITIAL{ 51 | rates() 52 | m = mInf 53 | h = hInf 54 | } 55 | 56 | PROCEDURE rates(){ 57 | LOCAL qt 58 | qt = 2.3^((34-21)/10) 59 | 60 | UNITSOFF 61 | v = v + 10 62 | mInf = 1.0000/(1+ exp((v - -30.000)/-6)) 63 | mTau = (5.0000 + 20.0000/(1+exp((v - -25.000)/5)))/qt 64 | hInf = 1.0000/(1+ exp((v - -80.000)/6.4)) 65 | hTau = (20.0000 + 50.0000/(1+exp((v - -40.000)/7)))/qt 66 | v = v - 10 67 | UNITSON 68 | } 69 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_5_Hay_2011/mod/K_Tst.mod: -------------------------------------------------------------------------------- 1 | :Comment : The transient component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | :Comment : shifted -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | NEURON { 7 | SUFFIX K_Tst 8 | USEION k READ ek WRITE ik 9 | RANGE gK_Tstbar, gK_Tst, ik 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gK_Tstbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | ek (mV) 25 | ik (mA/cm2) 26 | gK_Tst (S/cm2) 27 | mInf 28 | mTau 29 | hInf 30 | hTau 31 | } 32 | 33 | STATE { 34 | m 35 | h 36 | } 37 | 38 | BREAKPOINT { 39 | SOLVE states METHOD cnexp 40 | gK_Tst = gK_Tstbar*(m^4)*h 41 | ik = gK_Tst*(v-ek) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | m' = (mInf-m)/mTau 47 | h' = (hInf-h)/hTau 48 | } 49 | 50 | INITIAL{ 51 | rates() 52 | m = mInf 53 | h = hInf 54 | } 55 | 56 | PROCEDURE rates(){ 57 | LOCAL qt 58 | qt = 2.3^((34-21)/10) 59 | 60 | UNITSOFF 61 | v = v + 10 62 | mInf = 1/(1 + exp(-(v+0)/19)) 63 | mTau = (0.34+0.92*exp(-((v+71)/59)^2))/qt 64 | hInf = 1/(1 + exp(-(v+66)/-10)) 65 | hTau = (8+49*exp(-((v+73)/23)^2))/qt 66 | v = v - 10 67 | UNITSON 68 | } 69 | -------------------------------------------------------------------------------- /example/mod/NaTa_t.mod: -------------------------------------------------------------------------------- 1 | :Reference :Colbert and Pan 2002 2 | 3 | NEURON { 4 | SUFFIX NaTa_t 5 | USEION na READ ena WRITE ina 6 | RANGE gNaTa_tbar, gNaTa_t, ina 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gNaTa_tbar = 0.00001 (S/cm2) 17 | } 18 | 19 | ASSIGNED { 20 | v (mV) 21 | ena (mV) 22 | ina (mA/cm2) 23 | gNaTa_t (S/cm2) 24 | mInf 25 | mTau 26 | mAlpha 27 | mBeta 28 | hInf 29 | hTau 30 | hAlpha 31 | hBeta 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | gNaTa_t = gNaTa_tbar*m*m*m*h 42 | ina = gNaTa_t*(v-ena) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | LOCAL qt 59 | qt = 2.3^((34-21)/10) 60 | 61 | UNITSOFF 62 | if(v == -38){ 63 | v = v+0.0001 64 | } 65 | mAlpha = (0.182 * (v- -38))/(1-(exp(-(v- -38)/6))) 66 | mBeta = (0.124 * (-v -38))/(1-(exp(-(-v -38)/6))) 67 | mTau = (1/(mAlpha + mBeta))/qt 68 | mInf = mAlpha/(mAlpha + mBeta) 69 | 70 | if(v == -66){ 71 | v = v + 0.0001 72 | } 73 | 74 | hAlpha = (-0.015 * (v- -66))/(1-(exp((v- -66)/6))) 75 | hBeta = (-0.015 * (-v -66))/(1-(exp((-v -66)/6))) 76 | hTau = (1/(hAlpha + hBeta))/qt 77 | hInf = hAlpha/(hAlpha + hBeta) 78 | UNITSON 79 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_12_TPC_L6_Markram/mod/Ca_LVAst.mod: -------------------------------------------------------------------------------- 1 | :Comment : LVA ca channel. Note: mtau is an approximation from the plots 2 | :Reference : : Avery and Johnston 1996, tau from Randall 1997 3 | :Comment: shifted by -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | NEURON { 7 | SUFFIX Ca_LVAst 8 | USEION ca READ eca WRITE ica 9 | RANGE gCa_LVAstbar, gCa_LVAst, ica 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gCa_LVAstbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | eca (mV) 25 | ica (mA/cm2) 26 | gCa_LVAst (S/cm2) 27 | mInf 28 | mTau 29 | hInf 30 | hTau 31 | } 32 | 33 | STATE { 34 | m 35 | h 36 | } 37 | 38 | BREAKPOINT { 39 | SOLVE states METHOD cnexp 40 | gCa_LVAst = gCa_LVAstbar*m*m*h 41 | ica = gCa_LVAst*(v-eca) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | m' = (mInf-m)/mTau 47 | h' = (hInf-h)/hTau 48 | } 49 | 50 | INITIAL{ 51 | rates() 52 | m = mInf 53 | h = hInf 54 | } 55 | 56 | PROCEDURE rates(){ 57 | LOCAL qt 58 | qt = 2.3^((34-21)/10) 59 | 60 | UNITSOFF 61 | v = v + 10 62 | mInf = 1.0000/(1+ exp((v - -30.000)/-6)) 63 | mTau = (5.0000 + 20.0000/(1+exp((v - -25.000)/5)))/qt 64 | hInf = 1.0000/(1+ exp((v - -80.000)/6.4)) 65 | hTau = (20.0000 + 50.0000/(1+exp((v - -40.000)/7)))/qt 66 | v = v - 10 67 | UNITSON 68 | } 69 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_12_TPC_L6_Markram/mod/K_Tst.mod: -------------------------------------------------------------------------------- 1 | :Comment : The transient component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | :Comment : shifted -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | NEURON { 7 | SUFFIX K_Tst 8 | USEION k READ ek WRITE ik 9 | RANGE gK_Tstbar, gK_Tst, ik 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gK_Tstbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | ek (mV) 25 | ik (mA/cm2) 26 | gK_Tst (S/cm2) 27 | mInf 28 | mTau 29 | hInf 30 | hTau 31 | } 32 | 33 | STATE { 34 | m 35 | h 36 | } 37 | 38 | BREAKPOINT { 39 | SOLVE states METHOD cnexp 40 | gK_Tst = gK_Tstbar*(m^4)*h 41 | ik = gK_Tst*(v-ek) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | m' = (mInf-m)/mTau 47 | h' = (hInf-h)/hTau 48 | } 49 | 50 | INITIAL{ 51 | rates() 52 | m = mInf 53 | h = hInf 54 | } 55 | 56 | PROCEDURE rates(){ 57 | LOCAL qt 58 | qt = 2.3^((34-21)/10) 59 | 60 | UNITSOFF 61 | v = v + 10 62 | mInf = 1/(1 + exp(-(v+0)/19)) 63 | mTau = (0.34+0.92*exp(-((v+71)/59)^2))/qt 64 | hInf = 1/(1 + exp(-(v+66)/-10)) 65 | hTau = (8+49*exp(-((v+73)/23)^2))/qt 66 | v = v - 10 67 | UNITSON 68 | } 69 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_13_DBC_L4_Markram/mod/Ca_LVAst.mod: -------------------------------------------------------------------------------- 1 | :Comment : LVA ca channel. Note: mtau is an approximation from the plots 2 | :Reference : : Avery and Johnston 1996, tau from Randall 1997 3 | :Comment: shifted by -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | NEURON { 7 | SUFFIX Ca_LVAst 8 | USEION ca READ eca WRITE ica 9 | RANGE gCa_LVAstbar, gCa_LVAst, ica 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gCa_LVAstbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | eca (mV) 25 | ica (mA/cm2) 26 | gCa_LVAst (S/cm2) 27 | mInf 28 | mTau 29 | hInf 30 | hTau 31 | } 32 | 33 | STATE { 34 | m 35 | h 36 | } 37 | 38 | BREAKPOINT { 39 | SOLVE states METHOD cnexp 40 | gCa_LVAst = gCa_LVAstbar*m*m*h 41 | ica = gCa_LVAst*(v-eca) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | m' = (mInf-m)/mTau 47 | h' = (hInf-h)/hTau 48 | } 49 | 50 | INITIAL{ 51 | rates() 52 | m = mInf 53 | h = hInf 54 | } 55 | 56 | PROCEDURE rates(){ 57 | LOCAL qt 58 | qt = 2.3^((34-21)/10) 59 | 60 | UNITSOFF 61 | v = v + 10 62 | mInf = 1.0000/(1+ exp((v - -30.000)/-6)) 63 | mTau = (5.0000 + 20.0000/(1+exp((v - -25.000)/5)))/qt 64 | hInf = 1.0000/(1+ exp((v - -80.000)/6.4)) 65 | hTau = (20.0000 + 50.0000/(1+exp((v - -40.000)/7)))/qt 66 | v = v - 10 67 | UNITSON 68 | } 69 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_13_DBC_L4_Markram/mod/K_Tst.mod: -------------------------------------------------------------------------------- 1 | :Comment : The transient component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | :Comment : shifted -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | NEURON { 7 | SUFFIX K_Tst 8 | USEION k READ ek WRITE ik 9 | RANGE gK_Tstbar, gK_Tst, ik 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gK_Tstbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | ek (mV) 25 | ik (mA/cm2) 26 | gK_Tst (S/cm2) 27 | mInf 28 | mTau 29 | hInf 30 | hTau 31 | } 32 | 33 | STATE { 34 | m 35 | h 36 | } 37 | 38 | BREAKPOINT { 39 | SOLVE states METHOD cnexp 40 | gK_Tst = gK_Tstbar*(m^4)*h 41 | ik = gK_Tst*(v-ek) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | m' = (mInf-m)/mTau 47 | h' = (hInf-h)/hTau 48 | } 49 | 50 | INITIAL{ 51 | rates() 52 | m = mInf 53 | h = hInf 54 | } 55 | 56 | PROCEDURE rates(){ 57 | LOCAL qt 58 | qt = 2.3^((34-21)/10) 59 | 60 | UNITSOFF 61 | v = v + 10 62 | mInf = 1/(1 + exp(-(v+0)/19)) 63 | mTau = (0.34+0.92*exp(-((v+71)/59)^2))/qt 64 | hInf = 1/(1 + exp(-(v+66)/-10)) 65 | hTau = (8+49*exp(-((v+73)/23)^2))/qt 66 | v = v - 10 67 | UNITSON 68 | } 69 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/Ca_LVAst.mod: -------------------------------------------------------------------------------- 1 | :Comment : LVA ca channel. Note: mtau is an approximation from the plots 2 | :Reference : : Avery and Johnston 1996, tau from Randall 1997 3 | :Comment: shifted by -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | NEURON { 7 | SUFFIX Ca_LVAst 8 | USEION ca READ eca WRITE ica 9 | RANGE gCa_LVAstbar, gCa_LVAst, ica 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gCa_LVAstbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | eca (mV) 25 | ica (mA/cm2) 26 | gCa_LVAst (S/cm2) 27 | mInf 28 | mTau 29 | hInf 30 | hTau 31 | } 32 | 33 | STATE { 34 | m 35 | h 36 | } 37 | 38 | BREAKPOINT { 39 | SOLVE states METHOD cnexp 40 | gCa_LVAst = gCa_LVAstbar*m*m*h 41 | ica = gCa_LVAst*(v-eca) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | m' = (mInf-m)/mTau 47 | h' = (hInf-h)/hTau 48 | } 49 | 50 | INITIAL{ 51 | rates() 52 | m = mInf 53 | h = hInf 54 | } 55 | 56 | PROCEDURE rates(){ 57 | LOCAL qt 58 | qt = 2.3^((34-21)/10) 59 | 60 | UNITSOFF 61 | v = v + 10 62 | mInf = 1.0000/(1+ exp((v - -30.000)/-6)) 63 | mTau = (5.0000 + 20.0000/(1+exp((v - -25.000)/5)))/qt 64 | hInf = 1.0000/(1+ exp((v - -80.000)/6.4)) 65 | hTau = (20.0000 + 50.0000/(1+exp((v - -40.000)/7)))/qt 66 | v = v - 10 67 | UNITSON 68 | } 69 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/K_Tst.mod: -------------------------------------------------------------------------------- 1 | :Comment : The transient component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | :Comment : shifted -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | NEURON { 7 | SUFFIX K_Tst 8 | USEION k READ ek WRITE ik 9 | RANGE gK_Tstbar, gK_Tst, ik 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gK_Tstbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | ek (mV) 25 | ik (mA/cm2) 26 | gK_Tst (S/cm2) 27 | mInf 28 | mTau 29 | hInf 30 | hTau 31 | } 32 | 33 | STATE { 34 | m 35 | h 36 | } 37 | 38 | BREAKPOINT { 39 | SOLVE states METHOD cnexp 40 | gK_Tst = gK_Tstbar*(m^4)*h 41 | ik = gK_Tst*(v-ek) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | m' = (mInf-m)/mTau 47 | h' = (hInf-h)/hTau 48 | } 49 | 50 | INITIAL{ 51 | rates() 52 | m = mInf 53 | h = hInf 54 | } 55 | 56 | PROCEDURE rates(){ 57 | LOCAL qt 58 | qt = 2.3^((34-21)/10) 59 | 60 | UNITSOFF 61 | v = v + 10 62 | mInf = 1/(1 + exp(-(v+0)/19)) 63 | mTau = (0.34+0.92*exp(-((v+71)/59)^2))/qt 64 | hInf = 1/(1 + exp(-(v+66)/-10)) 65 | hTau = (8+49*exp(-((v+73)/23)^2))/qt 66 | v = v - 10 67 | UNITSON 68 | } 69 | -------------------------------------------------------------------------------- /tests/TestsFiles/L4_LBC_cNAC187_5_for_run/mod/Ca_LVAst.mod: -------------------------------------------------------------------------------- 1 | :Comment : LVA ca channel. Note: mtau is an approximation from the plots 2 | :Reference : : Avery and Johnston 1996, tau from Randall 1997 3 | :Comment: shifted by -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | NEURON { 7 | SUFFIX Ca_LVAst 8 | USEION ca READ eca WRITE ica 9 | RANGE gCa_LVAstbar, gCa_LVAst, ica 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gCa_LVAstbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | eca (mV) 25 | ica (mA/cm2) 26 | gCa_LVAst (S/cm2) 27 | mInf 28 | mTau 29 | hInf 30 | hTau 31 | } 32 | 33 | STATE { 34 | m 35 | h 36 | } 37 | 38 | BREAKPOINT { 39 | SOLVE states METHOD cnexp 40 | gCa_LVAst = gCa_LVAstbar*m*m*h 41 | ica = gCa_LVAst*(v-eca) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | m' = (mInf-m)/mTau 47 | h' = (hInf-h)/hTau 48 | } 49 | 50 | INITIAL{ 51 | rates() 52 | m = mInf 53 | h = hInf 54 | } 55 | 56 | PROCEDURE rates(){ 57 | LOCAL qt 58 | qt = 2.3^((34-21)/10) 59 | 60 | UNITSOFF 61 | v = v + 10 62 | mInf = 1.0000/(1+ exp((v - -30.000)/-6)) 63 | mTau = (5.0000 + 20.0000/(1+exp((v - -25.000)/5)))/qt 64 | hInf = 1.0000/(1+ exp((v - -80.000)/6.4)) 65 | hTau = (20.0000 + 50.0000/(1+exp((v - -40.000)/7)))/qt 66 | v = v - 10 67 | UNITSON 68 | } 69 | -------------------------------------------------------------------------------- /tests/TestsFiles/L4_LBC_cNAC187_5_for_run/mod/K_Tst.mod: -------------------------------------------------------------------------------- 1 | :Comment : The transient component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | :Comment : shifted -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | NEURON { 7 | SUFFIX K_Tst 8 | USEION k READ ek WRITE ik 9 | RANGE gK_Tstbar, gK_Tst, ik 10 | } 11 | 12 | UNITS { 13 | (S) = (siemens) 14 | (mV) = (millivolt) 15 | (mA) = (milliamp) 16 | } 17 | 18 | PARAMETER { 19 | gK_Tstbar = 0.00001 (S/cm2) 20 | } 21 | 22 | ASSIGNED { 23 | v (mV) 24 | ek (mV) 25 | ik (mA/cm2) 26 | gK_Tst (S/cm2) 27 | mInf 28 | mTau 29 | hInf 30 | hTau 31 | } 32 | 33 | STATE { 34 | m 35 | h 36 | } 37 | 38 | BREAKPOINT { 39 | SOLVE states METHOD cnexp 40 | gK_Tst = gK_Tstbar*(m^4)*h 41 | ik = gK_Tst*(v-ek) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | m' = (mInf-m)/mTau 47 | h' = (hInf-h)/hTau 48 | } 49 | 50 | INITIAL{ 51 | rates() 52 | m = mInf 53 | h = hInf 54 | } 55 | 56 | PROCEDURE rates(){ 57 | LOCAL qt 58 | qt = 2.3^((34-21)/10) 59 | 60 | UNITSOFF 61 | v = v + 10 62 | mInf = 1/(1 + exp(-(v+0)/19)) 63 | mTau = (0.34+0.92*exp(-((v+71)/59)^2))/qt 64 | hInf = 1/(1 + exp(-(v+66)/-10)) 65 | hTau = (8+49*exp(-((v+73)/23)^2))/qt 66 | v = v - 10 67 | UNITSON 68 | } 69 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_5_Hay_2011/mod/NaTa_t.mod: -------------------------------------------------------------------------------- 1 | :Reference :Colbert and Pan 2002 2 | 3 | NEURON { 4 | SUFFIX NaTa_t 5 | USEION na READ ena WRITE ina 6 | RANGE gNaTa_tbar, gNaTa_t, ina 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gNaTa_tbar = 0.00001 (S/cm2) 17 | } 18 | 19 | ASSIGNED { 20 | v (mV) 21 | ena (mV) 22 | ina (mA/cm2) 23 | gNaTa_t (S/cm2) 24 | mInf 25 | mTau 26 | mAlpha 27 | mBeta 28 | hInf 29 | hTau 30 | hAlpha 31 | hBeta 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | gNaTa_t = gNaTa_tbar*m*m*m*h 42 | ina = gNaTa_t*(v-ena) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | LOCAL qt 59 | qt = 2.3^((34-21)/10) 60 | 61 | UNITSOFF 62 | if(v == -38){ 63 | v = v+0.0001 64 | } 65 | mAlpha = (0.182 * (v- -38))/(1-(exp(-(v- -38)/6))) 66 | mBeta = (0.124 * (-v -38))/(1-(exp(-(-v -38)/6))) 67 | mTau = (1/(mAlpha + mBeta))/qt 68 | mInf = mAlpha/(mAlpha + mBeta) 69 | 70 | if(v == -66){ 71 | v = v + 0.0001 72 | } 73 | 74 | hAlpha = (-0.015 * (v- -66))/(1-(exp((v- -66)/6))) 75 | hBeta = (-0.015 * (-v -66))/(1-(exp((-v -66)/6))) 76 | hTau = (1/(hAlpha + hBeta))/qt 77 | hInf = hAlpha/(hAlpha + hBeta) 78 | UNITSON 79 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_12_TPC_L6_Markram/mod/NaTa_t.mod: -------------------------------------------------------------------------------- 1 | :Reference :Colbert and Pan 2002 2 | 3 | NEURON { 4 | SUFFIX NaTa_t 5 | USEION na READ ena WRITE ina 6 | RANGE gNaTa_tbar, gNaTa_t, ina 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gNaTa_tbar = 0.00001 (S/cm2) 17 | } 18 | 19 | ASSIGNED { 20 | v (mV) 21 | ena (mV) 22 | ina (mA/cm2) 23 | gNaTa_t (S/cm2) 24 | mInf 25 | mTau 26 | mAlpha 27 | mBeta 28 | hInf 29 | hTau 30 | hAlpha 31 | hBeta 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | gNaTa_t = gNaTa_tbar*m*m*m*h 42 | ina = gNaTa_t*(v-ena) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | LOCAL qt 59 | qt = 2.3^((34-21)/10) 60 | 61 | UNITSOFF 62 | if(v == -38){ 63 | v = v+0.0001 64 | } 65 | mAlpha = (0.182 * (v- -38))/(1-(exp(-(v- -38)/6))) 66 | mBeta = (0.124 * (-v -38))/(1-(exp(-(-v -38)/6))) 67 | mTau = (1/(mAlpha + mBeta))/qt 68 | mInf = mAlpha/(mAlpha + mBeta) 69 | 70 | if(v == -66){ 71 | v = v + 0.0001 72 | } 73 | 74 | hAlpha = (-0.015 * (v- -66))/(1-(exp((v- -66)/6))) 75 | hBeta = (-0.015 * (-v -66))/(1-(exp((-v -66)/6))) 76 | hTau = (1/(hAlpha + hBeta))/qt 77 | hInf = hAlpha/(hAlpha + hBeta) 78 | UNITSON 79 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_13_DBC_L4_Markram/mod/NaTa_t.mod: -------------------------------------------------------------------------------- 1 | :Reference :Colbert and Pan 2002 2 | 3 | NEURON { 4 | SUFFIX NaTa_t 5 | USEION na READ ena WRITE ina 6 | RANGE gNaTa_tbar, gNaTa_t, ina 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gNaTa_tbar = 0.00001 (S/cm2) 17 | } 18 | 19 | ASSIGNED { 20 | v (mV) 21 | ena (mV) 22 | ina (mA/cm2) 23 | gNaTa_t (S/cm2) 24 | mInf 25 | mTau 26 | mAlpha 27 | mBeta 28 | hInf 29 | hTau 30 | hAlpha 31 | hBeta 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | gNaTa_t = gNaTa_tbar*m*m*m*h 42 | ina = gNaTa_t*(v-ena) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | LOCAL qt 59 | qt = 2.3^((34-21)/10) 60 | 61 | UNITSOFF 62 | if(v == -38){ 63 | v = v+0.0001 64 | } 65 | mAlpha = (0.182 * (v- -38))/(1-(exp(-(v- -38)/6))) 66 | mBeta = (0.124 * (-v -38))/(1-(exp(-(-v -38)/6))) 67 | mTau = (1/(mAlpha + mBeta))/qt 68 | mInf = mAlpha/(mAlpha + mBeta) 69 | 70 | if(v == -66){ 71 | v = v + 0.0001 72 | } 73 | 74 | hAlpha = (-0.015 * (v- -66))/(1-(exp((v- -66)/6))) 75 | hBeta = (-0.015 * (-v -66))/(1-(exp((-v -66)/6))) 76 | hTau = (1/(hAlpha + hBeta))/qt 77 | hInf = hAlpha/(hAlpha + hBeta) 78 | UNITSON 79 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/NaTa_t.mod: -------------------------------------------------------------------------------- 1 | :Reference :Colbert and Pan 2002 2 | 3 | NEURON { 4 | SUFFIX NaTa_t 5 | USEION na READ ena WRITE ina 6 | RANGE gNaTa_tbar, gNaTa_t, ina 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gNaTa_tbar = 0.00001 (S/cm2) 17 | } 18 | 19 | ASSIGNED { 20 | v (mV) 21 | ena (mV) 22 | ina (mA/cm2) 23 | gNaTa_t (S/cm2) 24 | mInf 25 | mTau 26 | mAlpha 27 | mBeta 28 | hInf 29 | hTau 30 | hAlpha 31 | hBeta 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | gNaTa_t = gNaTa_tbar*m*m*m*h 42 | ina = gNaTa_t*(v-ena) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | LOCAL qt 59 | qt = 2.3^((34-21)/10) 60 | 61 | UNITSOFF 62 | if(v == -38){ 63 | v = v+0.0001 64 | } 65 | mAlpha = (0.182 * (v- -38))/(1-(exp(-(v- -38)/6))) 66 | mBeta = (0.124 * (-v -38))/(1-(exp(-(-v -38)/6))) 67 | mTau = (1/(mAlpha + mBeta))/qt 68 | mInf = mAlpha/(mAlpha + mBeta) 69 | 70 | if(v == -66){ 71 | v = v + 0.0001 72 | } 73 | 74 | hAlpha = (-0.015 * (v- -66))/(1-(exp((v- -66)/6))) 75 | hBeta = (-0.015 * (-v -66))/(1-(exp((-v -66)/6))) 76 | hTau = (1/(hAlpha + hBeta))/qt 77 | hInf = hAlpha/(hAlpha + hBeta) 78 | UNITSON 79 | } -------------------------------------------------------------------------------- /tests/TestsFiles/L4_LBC_cNAC187_5_for_run/mod/NaTa_t.mod: -------------------------------------------------------------------------------- 1 | :Reference :Colbert and Pan 2002 2 | 3 | NEURON { 4 | SUFFIX NaTa_t 5 | USEION na READ ena WRITE ina 6 | RANGE gNaTa_tbar, gNaTa_t, ina 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gNaTa_tbar = 0.00001 (S/cm2) 17 | } 18 | 19 | ASSIGNED { 20 | v (mV) 21 | ena (mV) 22 | ina (mA/cm2) 23 | gNaTa_t (S/cm2) 24 | mInf 25 | mTau 26 | mAlpha 27 | mBeta 28 | hInf 29 | hTau 30 | hAlpha 31 | hBeta 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | gNaTa_t = gNaTa_tbar*m*m*m*h 42 | ina = gNaTa_t*(v-ena) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | LOCAL qt 59 | qt = 2.3^((34-21)/10) 60 | 61 | UNITSOFF 62 | if(v == -38){ 63 | v = v+0.0001 64 | } 65 | mAlpha = (0.182 * (v- -38))/(1-(exp(-(v- -38)/6))) 66 | mBeta = (0.124 * (-v -38))/(1-(exp(-(-v -38)/6))) 67 | mTau = (1/(mAlpha + mBeta))/qt 68 | mInf = mAlpha/(mAlpha + mBeta) 69 | 70 | if(v == -66){ 71 | v = v + 0.0001 72 | } 73 | 74 | hAlpha = (-0.015 * (v- -66))/(1-(exp((v- -66)/6))) 75 | hBeta = (-0.015 * (-v -66))/(1-(exp((-v -66)/6))) 76 | hTau = (1/(hAlpha + hBeta))/qt 77 | hInf = hAlpha/(hAlpha + hBeta) 78 | UNITSON 79 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/mod/K_P.mod: -------------------------------------------------------------------------------- 1 | : Comment: The persistent component of the K current 2 | : Reference: Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | 4 | 5 | NEURON { 6 | SUFFIX K_P 7 | USEION k READ ek WRITE ik 8 | RANGE gbar, g, ik 9 | } 10 | 11 | UNITS { 12 | (S) = (siemens) 13 | (mV) = (millivolt) 14 | (mA) = (milliamp) 15 | } 16 | 17 | PARAMETER { 18 | gbar = 0.00001 (S/cm2) 19 | vshift = 0 (mV) 20 | tauF = 1 21 | } 22 | 23 | ASSIGNED { 24 | v (mV) 25 | ek (mV) 26 | ik (mA/cm2) 27 | g (S/cm2) 28 | celsius (degC) 29 | mInf 30 | mTau 31 | hInf 32 | hTau 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | g = gbar*m*m*h 43 | ik = g*(v-ek) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates() { 59 | LOCAL qt 60 | qt = 2.3^((celsius-21)/10) 61 | UNITSOFF 62 | mInf = 1 / (1 + exp(-(v - (-14.3 + vshift)) / 14.6)) 63 | if (v < -50 + vshift){ 64 | mTau = tauF * (1.25+175.03*exp(-(v - vshift) * -0.026))/qt 65 | } else { 66 | mTau = tauF * (1.25+13*exp(-(v - vshift) * 0.026))/qt 67 | } 68 | hInf = 1/(1 + exp(-(v - (-54 + vshift))/-11)) 69 | hTau = (360+(1010+24*(v - (-55 + vshift)))*exp(-((v - (-75 + vshift))/48)^2))/qt 70 | UNITSON 71 | } 72 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_9_Allen_483108201/mod/K_P.mod: -------------------------------------------------------------------------------- 1 | : Comment: The persistent component of the K current 2 | : Reference: Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | 4 | 5 | NEURON { 6 | SUFFIX K_P 7 | USEION k READ ek WRITE ik 8 | RANGE gbar, g, ik 9 | } 10 | 11 | UNITS { 12 | (S) = (siemens) 13 | (mV) = (millivolt) 14 | (mA) = (milliamp) 15 | } 16 | 17 | PARAMETER { 18 | gbar = 0.00001 (S/cm2) 19 | vshift = 0 (mV) 20 | tauF = 1 21 | } 22 | 23 | ASSIGNED { 24 | v (mV) 25 | ek (mV) 26 | ik (mA/cm2) 27 | g (S/cm2) 28 | celsius (degC) 29 | mInf 30 | mTau 31 | hInf 32 | hTau 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | g = gbar*m*m*h 43 | ik = g*(v-ek) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates() { 59 | LOCAL qt 60 | qt = 2.3^((celsius-21)/10) 61 | UNITSOFF 62 | mInf = 1 / (1 + exp(-(v - (-14.3 + vshift)) / 14.6)) 63 | if (v < -50 + vshift){ 64 | mTau = tauF * (1.25+175.03*exp(-(v - vshift) * -0.026))/qt 65 | } else { 66 | mTau = tauF * (1.25+13*exp(-(v - vshift) * 0.026))/qt 67 | } 68 | hInf = 1/(1 + exp(-(v - (-54 + vshift))/-11)) 69 | hTau = (360+(1010+24*(v - (-55 + vshift)))*exp(-((v - (-75 + vshift))/48)^2))/qt 70 | UNITSON 71 | } 72 | -------------------------------------------------------------------------------- /example/mod/NaTs2_t.mod: -------------------------------------------------------------------------------- 1 | :Reference :Colbert and Pan 2002 2 | :comment: took the NaTa and shifted both activation/inactivation by 6 mv 3 | 4 | NEURON { 5 | SUFFIX NaTs2_t 6 | USEION na READ ena WRITE ina 7 | RANGE gNaTs2_tbar, gNaTs2_t, ina 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gNaTs2_tbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ena (mV) 23 | ina (mA/cm2) 24 | gNaTs2_t (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | hInf 30 | hTau 31 | hAlpha 32 | hBeta 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | gNaTs2_t = gNaTs2_tbar*m*m*m*h 43 | ina = gNaTs2_t*(v-ena) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | LOCAL qt 60 | qt = 2.3^((34-21)/10) 61 | 62 | UNITSOFF 63 | if(v == -32){ 64 | v = v+0.0001 65 | } 66 | mAlpha = (0.182 * (v- -32))/(1-(exp(-(v- -32)/6))) 67 | mBeta = (0.124 * (-v -32))/(1-(exp(-(-v -32)/6))) 68 | mInf = mAlpha/(mAlpha + mBeta) 69 | mTau = (1/(mAlpha + mBeta))/qt 70 | 71 | if(v == -60){ 72 | v = v + 0.0001 73 | } 74 | hAlpha = (-0.015 * (v- -60))/(1-(exp((v- -60)/6))) 75 | hBeta = (-0.015 * (-v -60))/(1-(exp((-v -60)/6))) 76 | hInf = hAlpha/(hAlpha + hBeta) 77 | hTau = (1/(hAlpha + hBeta))/qt 78 | UNITSON 79 | } -------------------------------------------------------------------------------- /example/mod/epsp.mod: -------------------------------------------------------------------------------- 1 | : this model is built-in to neuron with suffix epsp 2 | : Schaefer et al. 2003 3 | 4 | COMMENT 5 | modified from syn2.mod 6 | injected current with exponential rise and decay current defined by 7 | i = 0 for t < onset and 8 | i=amp*((1-exp(-(t-onset)/tau0))-(1-exp(-(t-onset)/tau1))) 9 | for t > onset 10 | 11 | compare to experimental current injection: 12 | i = - amp*(1-exp(-t/t1))*(exp(-t/t2)) 13 | 14 | -> tau1==t2 tau0 ^-1 = t1^-1 + t2^-1 15 | ENDCOMMENT 16 | 17 | INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)} 18 | 19 | NEURON { 20 | POINT_PROCESS epsp 21 | RANGE onset, tau0, tau1, imax, i, myv 22 | NONSPECIFIC_CURRENT i 23 | } 24 | UNITS { 25 | (nA) = (nanoamp) 26 | (mV) = (millivolt) 27 | (umho) = (micromho) 28 | } 29 | 30 | PARAMETER { 31 | onset=0 (ms) 32 | tau0=0.2 (ms) 33 | tau1=3.0 (ms) 34 | imax=0 (nA) 35 | v (mV) 36 | } 37 | 38 | ASSIGNED { i (nA) myv (mV)} 39 | 40 | LOCAL a[2] 41 | LOCAL tpeak 42 | LOCAL adjust 43 | LOCAL amp 44 | 45 | BREAKPOINT { 46 | myv = v 47 | i = curr(t) 48 | } 49 | 50 | FUNCTION myexp(x) { 51 | if (x < -100) { 52 | myexp = 0 53 | }else{ 54 | myexp = exp(x) 55 | } 56 | } 57 | 58 | FUNCTION curr(x) { 59 | tpeak=tau0*tau1*log(tau0/tau1)/(tau0-tau1) 60 | adjust=1/((1-myexp(-tpeak/tau0))-(1-myexp(-tpeak/tau1))) 61 | amp=adjust*imax 62 | if (x < onset) { 63 | curr = 0 64 | }else{ 65 | a[0]=1-myexp(-(x-onset)/tau0) 66 | a[1]=1-myexp(-(x-onset)/tau1) 67 | curr = -amp*(a[0]-a[1]) 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_7_Almog/mod/epsp.mod: -------------------------------------------------------------------------------- 1 | : this model is built-in to neuron with suffix epsp 2 | 3 | COMMENT 4 | modified from syn2.mod 5 | injected current with exponential rise and decay current defined by 6 | i = 0 for t < onset and 7 | i=amp*((1-exp(-(t-onset)/tau0))-(1-exp(-(t-onset)/tau1))) 8 | for t > onset 9 | 10 | compare to experimental current injection: 11 | i = - amp*(1-exp(-t/t1))*(exp(-t/t2)) 12 | 13 | -> tau1==t2 tau0 ^-1 = t1^-1 + t2^-1 14 | ENDCOMMENT 15 | 16 | INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)} 17 | 18 | NEURON { 19 | POINT_PROCESS epsp 20 | RANGE onset, tau0, tau1, imax, i, myv, curr 21 | NONSPECIFIC_CURRENT i 22 | } 23 | UNITS { 24 | (nA) = (nanoamp) 25 | (mV) = (millivolt) 26 | (umho) = (micromho) 27 | } 28 | 29 | PARAMETER { 30 | onset=0 (ms) 31 | tau0=0.2 (ms) 32 | tau1=3.0 (ms) 33 | imax=0 (nA) 34 | v (mV) 35 | } 36 | 37 | ASSIGNED { i (nA) myv (mV)} 38 | 39 | LOCAL a[2] 40 | LOCAL tpeak 41 | LOCAL adjust 42 | LOCAL amp 43 | 44 | BREAKPOINT { 45 | myv = v 46 | i = curr(t) 47 | } 48 | 49 | FUNCTION myexp(x) { 50 | if (x < -100) { 51 | myexp = 0 52 | }else{ 53 | myexp = exp(x) 54 | } 55 | } 56 | 57 | FUNCTION curr(x) { 58 | tpeak=tau0*tau1*log(tau0/tau1)/(tau0-tau1) 59 | adjust=1/((1-myexp(-tpeak/tau0))-(1-myexp(-tpeak/tau1))) 60 | amp=adjust*imax 61 | if (x < onset) { 62 | curr = 0 63 | }else{ 64 | a[0]=1-myexp(-(x-onset)/tau0) 65 | a[1]=1-myexp(-(x-onset)/tau1) 66 | curr = -amp*(a[0]-a[1]) 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /example/mod/K_Pst.mod: -------------------------------------------------------------------------------- 1 | :Comment : The persistent component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | :Comment : shifted -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | 7 | NEURON { 8 | SUFFIX K_Pst 9 | USEION k READ ek WRITE ik 10 | RANGE gK_Pstbar, gK_Pst, ik 11 | } 12 | 13 | UNITS { 14 | (S) = (siemens) 15 | (mV) = (millivolt) 16 | (mA) = (milliamp) 17 | } 18 | 19 | PARAMETER { 20 | gK_Pstbar = 0.00001 (S/cm2) 21 | } 22 | 23 | ASSIGNED { 24 | v (mV) 25 | ek (mV) 26 | ik (mA/cm2) 27 | gK_Pst (S/cm2) 28 | mInf 29 | mTau 30 | hInf 31 | hTau 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | gK_Pst = gK_Pstbar*m*m*h 42 | ik = gK_Pst*(v-ek) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | LOCAL qt 59 | qt = 2.3^((34-21)/10) 60 | UNITSOFF 61 | v = v + 10 62 | mInf = (1/(1 + exp(-(v+1)/12))) 63 | if(v<-50){ 64 | mTau = (1.25+175.03*exp(-v * -0.026))/qt 65 | }else{ 66 | mTau = ((1.25+13*exp(-v*0.026)))/qt 67 | } 68 | hInf = 1/(1 + exp(-(v+54)/-11)) 69 | hTau = (360+(1010+24*(v+55))*exp(-((v+75)/48)^2))/qt 70 | v = v - 10 71 | UNITSON 72 | } 73 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/mod/Nap.mod: -------------------------------------------------------------------------------- 1 | :Reference : Modeled according to kinetics derived from Magistretti & Alonso 1999 2 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 3 | 4 | NEURON { 5 | SUFFIX Nap 6 | USEION na READ ena WRITE ina 7 | RANGE gbar, g, ina 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ena (mV) 23 | ina (mA/cm2) 24 | g (S/cm2) 25 | celsius (degC) 26 | mInf 27 | hInf 28 | hTau 29 | hAlpha 30 | hBeta 31 | } 32 | 33 | STATE { 34 | h 35 | } 36 | 37 | BREAKPOINT { 38 | SOLVE states METHOD cnexp 39 | rates() 40 | g = gbar*mInf*h 41 | ina = g*(v-ena) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | h' = (hInf-h)/hTau 47 | } 48 | 49 | INITIAL{ 50 | rates() 51 | h = hInf 52 | } 53 | 54 | PROCEDURE rates(){ 55 | LOCAL qt 56 | qt = 2.3^((celsius-21)/10) 57 | 58 | UNITSOFF 59 | mInf = 1.0/(1+exp((v- -52.6)/-4.6)) : assuming instantaneous activation as modeled by Magistretti and Alonso 60 | 61 | hInf = 1.0/(1+exp((v- -48.8)/10)) 62 | hAlpha = 2.88e-6 * vtrap(v + 17, 4.63) 63 | hBeta = 6.94e-6 * vtrap(-(v + 64.4), 2.63) 64 | 65 | hTau = (1/(hAlpha + hBeta))/qt 66 | UNITSON 67 | } 68 | 69 | FUNCTION vtrap(x, y) { : Traps for 0 in denominator of rate equations 70 | UNITSOFF 71 | if (fabs(x / y) < 1e-6) { 72 | vtrap = y * (1 - x / y / 2) 73 | } else { 74 | vtrap = x / (exp(x / y) - 1) 75 | } 76 | UNITSON 77 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_9_Allen_483108201/mod/Nap.mod: -------------------------------------------------------------------------------- 1 | :Reference : Modeled according to kinetics derived from Magistretti & Alonso 1999 2 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 3 | 4 | NEURON { 5 | SUFFIX Nap 6 | USEION na READ ena WRITE ina 7 | RANGE gbar, g, ina 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ena (mV) 23 | ina (mA/cm2) 24 | g (S/cm2) 25 | celsius (degC) 26 | mInf 27 | hInf 28 | hTau 29 | hAlpha 30 | hBeta 31 | } 32 | 33 | STATE { 34 | h 35 | } 36 | 37 | BREAKPOINT { 38 | SOLVE states METHOD cnexp 39 | rates() 40 | g = gbar*mInf*h 41 | ina = g*(v-ena) 42 | } 43 | 44 | DERIVATIVE states { 45 | rates() 46 | h' = (hInf-h)/hTau 47 | } 48 | 49 | INITIAL{ 50 | rates() 51 | h = hInf 52 | } 53 | 54 | PROCEDURE rates(){ 55 | LOCAL qt 56 | qt = 2.3^((celsius-21)/10) 57 | 58 | UNITSOFF 59 | mInf = 1.0/(1+exp((v- -52.6)/-4.6)) : assuming instantaneous activation as modeled by Magistretti and Alonso 60 | 61 | hInf = 1.0/(1+exp((v- -48.8)/10)) 62 | hAlpha = 2.88e-6 * vtrap(v + 17, 4.63) 63 | hBeta = 6.94e-6 * vtrap(-(v + 64.4), 2.63) 64 | 65 | hTau = (1/(hAlpha + hBeta))/qt 66 | UNITSON 67 | } 68 | 69 | FUNCTION vtrap(x, y) { : Traps for 0 in denominator of rate equations 70 | UNITSOFF 71 | if (fabs(x / y) < 1e-6) { 72 | vtrap = y * (1 - x / y / 2) 73 | } else { 74 | vtrap = x / (exp(x / y) - 1) 75 | } 76 | UNITSON 77 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/NaTs2_t.mod: -------------------------------------------------------------------------------- 1 | :Reference :Colbert and Pan 2002 2 | :comment: took the NaTa and shifted both activation/inactivation by 6 mv 3 | 4 | NEURON { 5 | SUFFIX NaTs2_t 6 | USEION na READ ena WRITE ina 7 | RANGE gNaTs2_tbar, gNaTs2_t, ina 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gNaTs2_tbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ena (mV) 23 | ina (mA/cm2) 24 | gNaTs2_t (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | hInf 30 | hTau 31 | hAlpha 32 | hBeta 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | gNaTs2_t = gNaTs2_tbar*m*m*m*h 43 | ina = gNaTs2_t*(v-ena) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | LOCAL qt 60 | qt = 2.3^((34-21)/10) 61 | 62 | UNITSOFF 63 | if(v == -32){ 64 | v = v+0.0001 65 | } 66 | mAlpha = (0.182 * (v- -32))/(1-(exp(-(v- -32)/6))) 67 | mBeta = (0.124 * (-v -32))/(1-(exp(-(-v -32)/6))) 68 | mInf = mAlpha/(mAlpha + mBeta) 69 | mTau = (1/(mAlpha + mBeta))/qt 70 | 71 | if(v == -60){ 72 | v = v + 0.0001 73 | } 74 | hAlpha = (-0.015 * (v- -60))/(1-(exp((v- -60)/6))) 75 | hBeta = (-0.015 * (-v -60))/(1-(exp((-v -60)/6))) 76 | hInf = hAlpha/(hAlpha + hBeta) 77 | hTau = (1/(hAlpha + hBeta))/qt 78 | UNITSON 79 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_5_Hay_2011/mod/NaTs2_t.mod: -------------------------------------------------------------------------------- 1 | :Reference :Colbert and Pan 2002 2 | :comment: took the NaTa and shifted both activation/inactivation by 6 mv 3 | 4 | NEURON { 5 | SUFFIX NaTs2_t 6 | USEION na READ ena WRITE ina 7 | RANGE gNaTs2_tbar, gNaTs2_t, ina 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gNaTs2_tbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ena (mV) 23 | ina (mA/cm2) 24 | gNaTs2_t (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | hInf 30 | hTau 31 | hAlpha 32 | hBeta 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | gNaTs2_t = gNaTs2_tbar*m*m*m*h 43 | ina = gNaTs2_t*(v-ena) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | LOCAL qt 60 | qt = 2.3^((34-21)/10) 61 | 62 | UNITSOFF 63 | if(v == -32){ 64 | v = v+0.0001 65 | } 66 | mAlpha = (0.182 * (v- -32))/(1-(exp(-(v- -32)/6))) 67 | mBeta = (0.124 * (-v -32))/(1-(exp(-(-v -32)/6))) 68 | mInf = mAlpha/(mAlpha + mBeta) 69 | mTau = (1/(mAlpha + mBeta))/qt 70 | 71 | if(v == -60){ 72 | v = v + 0.0001 73 | } 74 | hAlpha = (-0.015 * (v- -60))/(1-(exp((v- -60)/6))) 75 | hBeta = (-0.015 * (-v -60))/(1-(exp((-v -60)/6))) 76 | hInf = hAlpha/(hAlpha + hBeta) 77 | hTau = (1/(hAlpha + hBeta))/qt 78 | UNITSON 79 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_12_TPC_L6_Markram/mod/NaTs2_t.mod: -------------------------------------------------------------------------------- 1 | :Reference :Colbert and Pan 2002 2 | :comment: took the NaTa and shifted both activation/inactivation by 6 mv 3 | 4 | NEURON { 5 | SUFFIX NaTs2_t 6 | USEION na READ ena WRITE ina 7 | RANGE gNaTs2_tbar, gNaTs2_t, ina 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gNaTs2_tbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ena (mV) 23 | ina (mA/cm2) 24 | gNaTs2_t (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | hInf 30 | hTau 31 | hAlpha 32 | hBeta 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | gNaTs2_t = gNaTs2_tbar*m*m*m*h 43 | ina = gNaTs2_t*(v-ena) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | LOCAL qt 60 | qt = 2.3^((34-21)/10) 61 | 62 | UNITSOFF 63 | if(v == -32){ 64 | v = v+0.0001 65 | } 66 | mAlpha = (0.182 * (v- -32))/(1-(exp(-(v- -32)/6))) 67 | mBeta = (0.124 * (-v -32))/(1-(exp(-(-v -32)/6))) 68 | mInf = mAlpha/(mAlpha + mBeta) 69 | mTau = (1/(mAlpha + mBeta))/qt 70 | 71 | if(v == -60){ 72 | v = v + 0.0001 73 | } 74 | hAlpha = (-0.015 * (v- -60))/(1-(exp((v- -60)/6))) 75 | hBeta = (-0.015 * (-v -60))/(1-(exp((-v -60)/6))) 76 | hInf = hAlpha/(hAlpha + hBeta) 77 | hTau = (1/(hAlpha + hBeta))/qt 78 | UNITSON 79 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_13_DBC_L4_Markram/mod/NaTs2_t.mod: -------------------------------------------------------------------------------- 1 | :Reference :Colbert and Pan 2002 2 | :comment: took the NaTa and shifted both activation/inactivation by 6 mv 3 | 4 | NEURON { 5 | SUFFIX NaTs2_t 6 | USEION na READ ena WRITE ina 7 | RANGE gNaTs2_tbar, gNaTs2_t, ina 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gNaTs2_tbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ena (mV) 23 | ina (mA/cm2) 24 | gNaTs2_t (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | hInf 30 | hTau 31 | hAlpha 32 | hBeta 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | gNaTs2_t = gNaTs2_tbar*m*m*m*h 43 | ina = gNaTs2_t*(v-ena) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | LOCAL qt 60 | qt = 2.3^((34-21)/10) 61 | 62 | UNITSOFF 63 | if(v == -32){ 64 | v = v+0.0001 65 | } 66 | mAlpha = (0.182 * (v- -32))/(1-(exp(-(v- -32)/6))) 67 | mBeta = (0.124 * (-v -32))/(1-(exp(-(-v -32)/6))) 68 | mInf = mAlpha/(mAlpha + mBeta) 69 | mTau = (1/(mAlpha + mBeta))/qt 70 | 71 | if(v == -60){ 72 | v = v + 0.0001 73 | } 74 | hAlpha = (-0.015 * (v- -60))/(1-(exp((v- -60)/6))) 75 | hBeta = (-0.015 * (-v -60))/(1-(exp((-v -60)/6))) 76 | hInf = hAlpha/(hAlpha + hBeta) 77 | hTau = (1/(hAlpha + hBeta))/qt 78 | UNITSON 79 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_5_Hay_2011/mod/epsp.mod: -------------------------------------------------------------------------------- 1 | : this model is built-in to neuron with suffix epsp 2 | : Schaefer et al. 2003 3 | 4 | COMMENT 5 | modified from syn2.mod 6 | injected current with exponential rise and decay current defined by 7 | i = 0 for t < onset and 8 | i=amp*((1-exp(-(t-onset)/tau0))-(1-exp(-(t-onset)/tau1))) 9 | for t > onset 10 | 11 | compare to experimental current injection: 12 | i = - amp*(1-exp(-t/t1))*(exp(-t/t2)) 13 | 14 | -> tau1==t2 tau0 ^-1 = t1^-1 + t2^-1 15 | ENDCOMMENT 16 | 17 | INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)} 18 | 19 | NEURON { 20 | POINT_PROCESS epsp 21 | RANGE onset, tau0, tau1, imax, i, myv 22 | NONSPECIFIC_CURRENT i 23 | } 24 | UNITS { 25 | (nA) = (nanoamp) 26 | (mV) = (millivolt) 27 | (umho) = (micromho) 28 | } 29 | 30 | PARAMETER { 31 | onset=0 (ms) 32 | tau0=0.2 (ms) 33 | tau1=3.0 (ms) 34 | imax=0 (nA) 35 | v (mV) 36 | } 37 | 38 | ASSIGNED { i (nA) myv (mV)} 39 | 40 | LOCAL a[2] 41 | LOCAL tpeak 42 | LOCAL adjust 43 | LOCAL amp 44 | 45 | BREAKPOINT { 46 | myv = v 47 | i = curr(t) 48 | } 49 | 50 | FUNCTION myexp(x) { 51 | if (x < -100) { 52 | myexp = 0 53 | }else{ 54 | myexp = exp(x) 55 | } 56 | } 57 | 58 | FUNCTION curr(x) { 59 | tpeak=tau0*tau1*log(tau0/tau1)/(tau0-tau1) 60 | adjust=1/((1-myexp(-tpeak/tau0))-(1-myexp(-tpeak/tau1))) 61 | amp=adjust*imax 62 | if (x < onset) { 63 | curr = 0 64 | }else{ 65 | a[0]=1-myexp(-(x-onset)/tau0) 66 | a[1]=1-myexp(-(x-onset)/tau1) 67 | curr = -amp*(a[0]-a[1]) 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /tests/TestsFiles/L4_LBC_cNAC187_5_for_run/mod/NaTs2_t.mod: -------------------------------------------------------------------------------- 1 | :Reference :Colbert and Pan 2002 2 | :comment: took the NaTa and shifted both activation/inactivation by 6 mv 3 | 4 | NEURON { 5 | SUFFIX NaTs2_t 6 | USEION na READ ena WRITE ina 7 | RANGE gNaTs2_tbar, gNaTs2_t, ina 8 | } 9 | 10 | UNITS { 11 | (S) = (siemens) 12 | (mV) = (millivolt) 13 | (mA) = (milliamp) 14 | } 15 | 16 | PARAMETER { 17 | gNaTs2_tbar = 0.00001 (S/cm2) 18 | } 19 | 20 | ASSIGNED { 21 | v (mV) 22 | ena (mV) 23 | ina (mA/cm2) 24 | gNaTs2_t (S/cm2) 25 | mInf 26 | mTau 27 | mAlpha 28 | mBeta 29 | hInf 30 | hTau 31 | hAlpha 32 | hBeta 33 | } 34 | 35 | STATE { 36 | m 37 | h 38 | } 39 | 40 | BREAKPOINT { 41 | SOLVE states METHOD cnexp 42 | gNaTs2_t = gNaTs2_tbar*m*m*m*h 43 | ina = gNaTs2_t*(v-ena) 44 | } 45 | 46 | DERIVATIVE states { 47 | rates() 48 | m' = (mInf-m)/mTau 49 | h' = (hInf-h)/hTau 50 | } 51 | 52 | INITIAL{ 53 | rates() 54 | m = mInf 55 | h = hInf 56 | } 57 | 58 | PROCEDURE rates(){ 59 | LOCAL qt 60 | qt = 2.3^((34-21)/10) 61 | 62 | UNITSOFF 63 | if(v == -32){ 64 | v = v+0.0001 65 | } 66 | mAlpha = (0.182 * (v- -32))/(1-(exp(-(v- -32)/6))) 67 | mBeta = (0.124 * (-v -32))/(1-(exp(-(-v -32)/6))) 68 | mInf = mAlpha/(mAlpha + mBeta) 69 | mTau = (1/(mAlpha + mBeta))/qt 70 | 71 | if(v == -60){ 72 | v = v + 0.0001 73 | } 74 | hAlpha = (-0.015 * (v- -60))/(1-(exp((v- -60)/6))) 75 | hBeta = (-0.015 * (-v -60))/(1-(exp((-v -60)/6))) 76 | hInf = hAlpha/(hAlpha + hBeta) 77 | hTau = (1/(hAlpha + hBeta))/qt 78 | UNITSON 79 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_5_Hay_2011/mod/K_Pst.mod: -------------------------------------------------------------------------------- 1 | :Comment : The persistent component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | :Comment : shifted -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | 7 | NEURON { 8 | SUFFIX K_Pst 9 | USEION k READ ek WRITE ik 10 | RANGE gK_Pstbar, gK_Pst, ik 11 | } 12 | 13 | UNITS { 14 | (S) = (siemens) 15 | (mV) = (millivolt) 16 | (mA) = (milliamp) 17 | } 18 | 19 | PARAMETER { 20 | gK_Pstbar = 0.00001 (S/cm2) 21 | } 22 | 23 | ASSIGNED { 24 | v (mV) 25 | ek (mV) 26 | ik (mA/cm2) 27 | gK_Pst (S/cm2) 28 | mInf 29 | mTau 30 | hInf 31 | hTau 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | gK_Pst = gK_Pstbar*m*m*h 42 | ik = gK_Pst*(v-ek) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | LOCAL qt 59 | qt = 2.3^((34-21)/10) 60 | UNITSOFF 61 | v = v + 10 62 | mInf = (1/(1 + exp(-(v+1)/12))) 63 | if(v<-50){ 64 | mTau = (1.25+175.03*exp(-v * -0.026))/qt 65 | }else{ 66 | mTau = ((1.25+13*exp(-v*0.026)))/qt 67 | } 68 | hInf = 1/(1 + exp(-(v+54)/-11)) 69 | hTau = (360+(1010+24*(v+55))*exp(-((v+75)/48)^2))/qt 70 | v = v - 10 71 | UNITSON 72 | } 73 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/K_Pst.mod: -------------------------------------------------------------------------------- 1 | :Comment : The persistent component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | :Comment : shifted -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | 7 | NEURON { 8 | SUFFIX K_Pst 9 | USEION k READ ek WRITE ik 10 | RANGE gK_Pstbar, gK_Pst, ik 11 | } 12 | 13 | UNITS { 14 | (S) = (siemens) 15 | (mV) = (millivolt) 16 | (mA) = (milliamp) 17 | } 18 | 19 | PARAMETER { 20 | gK_Pstbar = 0.00001 (S/cm2) 21 | } 22 | 23 | ASSIGNED { 24 | v (mV) 25 | ek (mV) 26 | ik (mA/cm2) 27 | gK_Pst (S/cm2) 28 | mInf 29 | mTau 30 | hInf 31 | hTau 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | gK_Pst = gK_Pstbar*m*m*h 42 | ik = gK_Pst*(v-ek) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | LOCAL qt 59 | qt = 2.3^((34-21)/10) 60 | UNITSOFF 61 | v = v + 10 62 | mInf = (1/(1 + exp(-(v+1)/12))) 63 | if(v<-50){ 64 | mTau = (1.25+175.03*exp(-v * -0.026))/qt 65 | }else{ 66 | mTau = ((1.25+13*exp(-v*0.026)))/qt 67 | } 68 | hInf = 1/(1 + exp(-(v+54)/-11)) 69 | hTau = (360+(1010+24*(v+55))*exp(-((v+75)/48)^2))/qt 70 | v = v - 10 71 | UNITSON 72 | } 73 | -------------------------------------------------------------------------------- /tests/TestsFiles/L4_LBC_cNAC187_5_for_run/mod/K_Pst.mod: -------------------------------------------------------------------------------- 1 | :Comment : The persistent component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | :Comment : shifted -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | 7 | NEURON { 8 | SUFFIX K_Pst 9 | USEION k READ ek WRITE ik 10 | RANGE gK_Pstbar, gK_Pst, ik 11 | } 12 | 13 | UNITS { 14 | (S) = (siemens) 15 | (mV) = (millivolt) 16 | (mA) = (milliamp) 17 | } 18 | 19 | PARAMETER { 20 | gK_Pstbar = 0.00001 (S/cm2) 21 | } 22 | 23 | ASSIGNED { 24 | v (mV) 25 | ek (mV) 26 | ik (mA/cm2) 27 | gK_Pst (S/cm2) 28 | mInf 29 | mTau 30 | hInf 31 | hTau 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | gK_Pst = gK_Pstbar*m*m*h 42 | ik = gK_Pst*(v-ek) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | LOCAL qt 59 | qt = 2.3^((34-21)/10) 60 | UNITSOFF 61 | v = v + 10 62 | mInf = (1/(1 + exp(-(v+1)/12))) 63 | if(v<-50){ 64 | mTau = (1.25+175.03*exp(-v * -0.026))/qt 65 | }else{ 66 | mTau = ((1.25+13*exp(-v*0.026)))/qt 67 | } 68 | hInf = 1/(1 + exp(-(v+54)/-11)) 69 | hTau = (360+(1010+24*(v+55))*exp(-((v+75)/48)^2))/qt 70 | v = v - 10 71 | UNITSON 72 | } 73 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_12_TPC_L6_Markram/mod/K_Pst.mod: -------------------------------------------------------------------------------- 1 | :Comment : The persistent component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | :Comment : shifted -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | 7 | NEURON { 8 | SUFFIX K_Pst 9 | USEION k READ ek WRITE ik 10 | RANGE gK_Pstbar, gK_Pst, ik 11 | } 12 | 13 | UNITS { 14 | (S) = (siemens) 15 | (mV) = (millivolt) 16 | (mA) = (milliamp) 17 | } 18 | 19 | PARAMETER { 20 | gK_Pstbar = 0.00001 (S/cm2) 21 | } 22 | 23 | ASSIGNED { 24 | v (mV) 25 | ek (mV) 26 | ik (mA/cm2) 27 | gK_Pst (S/cm2) 28 | mInf 29 | mTau 30 | hInf 31 | hTau 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | gK_Pst = gK_Pstbar*m*m*h 42 | ik = gK_Pst*(v-ek) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | LOCAL qt 59 | qt = 2.3^((34-21)/10) 60 | UNITSOFF 61 | v = v + 10 62 | mInf = (1/(1 + exp(-(v+1)/12))) 63 | if(v<-50){ 64 | mTau = (1.25+175.03*exp(-v * -0.026))/qt 65 | }else{ 66 | mTau = ((1.25+13*exp(-v*0.026)))/qt 67 | } 68 | hInf = 1/(1 + exp(-(v+54)/-11)) 69 | hTau = (360+(1010+24*(v+55))*exp(-((v+75)/48)^2))/qt 70 | v = v - 10 71 | UNITSON 72 | } 73 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_13_DBC_L4_Markram/mod/K_Pst.mod: -------------------------------------------------------------------------------- 1 | :Comment : The persistent component of the K current 2 | :Reference : : Voltage-gated K+ channels in layer 5 neocortical pyramidal neurones from young rats:subtypes and gradients,Korngreen and Sakmann, J. Physiology, 2000 3 | :Comment : shifted -10 mv to correct for junction potential 4 | :Comment: corrected rates using q10 = 2.3, target temperature 34, orginal 21 5 | 6 | 7 | NEURON { 8 | SUFFIX K_Pst 9 | USEION k READ ek WRITE ik 10 | RANGE gK_Pstbar, gK_Pst, ik 11 | } 12 | 13 | UNITS { 14 | (S) = (siemens) 15 | (mV) = (millivolt) 16 | (mA) = (milliamp) 17 | } 18 | 19 | PARAMETER { 20 | gK_Pstbar = 0.00001 (S/cm2) 21 | } 22 | 23 | ASSIGNED { 24 | v (mV) 25 | ek (mV) 26 | ik (mA/cm2) 27 | gK_Pst (S/cm2) 28 | mInf 29 | mTau 30 | hInf 31 | hTau 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | gK_Pst = gK_Pstbar*m*m*h 42 | ik = gK_Pst*(v-ek) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | LOCAL qt 59 | qt = 2.3^((34-21)/10) 60 | UNITSOFF 61 | v = v + 10 62 | mInf = (1/(1 + exp(-(v+1)/12))) 63 | if(v<-50){ 64 | mTau = (1.25+175.03*exp(-v * -0.026))/qt 65 | }else{ 66 | mTau = ((1.25+13*exp(-v*0.026)))/qt 67 | } 68 | hInf = 1/(1 + exp(-(v+54)/-11)) 69 | hTau = (360+(1010+24*(v+55))*exp(-((v+75)/48)^2))/qt 70 | v = v - 10 71 | UNITSON 72 | } 73 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/mod/Ca_HVA.mod: -------------------------------------------------------------------------------- 1 | : Reference: Reuveni, Friedman, Amitai, and Gutnick, J.Neurosci. 1993 2 | 3 | NEURON { 4 | SUFFIX Ca_HVA 5 | USEION ca READ eca WRITE ica 6 | RANGE gbar, g, ica 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gbar = 0.00001 (S/cm2) 17 | } 18 | 19 | ASSIGNED { 20 | v (mV) 21 | eca (mV) 22 | ica (mA/cm2) 23 | g (S/cm2) 24 | mInf 25 | mTau 26 | mAlpha 27 | mBeta 28 | hInf 29 | hTau 30 | hAlpha 31 | hBeta 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | g = gbar*m*m*h 42 | ica = g*(v-eca) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | UNITSOFF 59 | : if((v == -27) ){ 60 | : v = v+0.0001 61 | : } 62 | :mAlpha = (0.055*(-27-v))/(exp((-27-v)/3.8) - 1) 63 | mAlpha = 0.055 * vtrap(-27 - v, 3.8) 64 | mBeta = (0.94*exp((-75-v)/17)) 65 | mInf = mAlpha/(mAlpha + mBeta) 66 | mTau = 1/(mAlpha + mBeta) 67 | hAlpha = (0.000457*exp((-13-v)/50)) 68 | hBeta = (0.0065/(exp((-v-15)/28)+1)) 69 | hInf = hAlpha/(hAlpha + hBeta) 70 | hTau = 1/(hAlpha + hBeta) 71 | UNITSON 72 | } 73 | 74 | FUNCTION vtrap(x, y) { : Traps for 0 in denominator of rate equations 75 | UNITSOFF 76 | if (fabs(x / y) < 1e-6) { 77 | vtrap = y * (1 - x / y / 2) 78 | } else { 79 | vtrap = x / (exp(x / y) - 1) 80 | } 81 | UNITSON 82 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_9_Allen_483108201/mod/Ca_HVA.mod: -------------------------------------------------------------------------------- 1 | : Reference: Reuveni, Friedman, Amitai, and Gutnick, J.Neurosci. 1993 2 | 3 | NEURON { 4 | SUFFIX Ca_HVA 5 | USEION ca READ eca WRITE ica 6 | RANGE gbar, g, ica 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gbar = 0.00001 (S/cm2) 17 | } 18 | 19 | ASSIGNED { 20 | v (mV) 21 | eca (mV) 22 | ica (mA/cm2) 23 | g (S/cm2) 24 | mInf 25 | mTau 26 | mAlpha 27 | mBeta 28 | hInf 29 | hTau 30 | hAlpha 31 | hBeta 32 | } 33 | 34 | STATE { 35 | m 36 | h 37 | } 38 | 39 | BREAKPOINT { 40 | SOLVE states METHOD cnexp 41 | g = gbar*m*m*h 42 | ica = g*(v-eca) 43 | } 44 | 45 | DERIVATIVE states { 46 | rates() 47 | m' = (mInf-m)/mTau 48 | h' = (hInf-h)/hTau 49 | } 50 | 51 | INITIAL{ 52 | rates() 53 | m = mInf 54 | h = hInf 55 | } 56 | 57 | PROCEDURE rates(){ 58 | UNITSOFF 59 | : if((v == -27) ){ 60 | : v = v+0.0001 61 | : } 62 | :mAlpha = (0.055*(-27-v))/(exp((-27-v)/3.8) - 1) 63 | mAlpha = 0.055 * vtrap(-27 - v, 3.8) 64 | mBeta = (0.94*exp((-75-v)/17)) 65 | mInf = mAlpha/(mAlpha + mBeta) 66 | mTau = 1/(mAlpha + mBeta) 67 | hAlpha = (0.000457*exp((-13-v)/50)) 68 | hBeta = (0.0065/(exp((-v-15)/28)+1)) 69 | hInf = hAlpha/(hAlpha + hBeta) 70 | hTau = 1/(hAlpha + hBeta) 71 | UNITSON 72 | } 73 | 74 | FUNCTION vtrap(x, y) { : Traps for 0 in denominator of rate equations 75 | UNITSOFF 76 | if (fabs(x / y) < 1e-6) { 77 | vtrap = y * (1 - x / y / 2) 78 | } else { 79 | vtrap = x / (exp(x / y) - 1) 80 | } 81 | UNITSON 82 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/AllenBiophys.hoc: -------------------------------------------------------------------------------- 1 | // Author: Etay Hay, 2011, Guy Eyal 2016 2 | // Models of Neocortical Layer 1 V1 from the Allen celltypes database 3 | // http://celltypes.brain-map.org/mouse/experiment/electrophysiology/475585413 4 | 5 | 6 | begintemplate AllenBiophys 7 | public biophys 8 | 9 | proc biophys() { 10 | forsec $o1.all { 11 | insert pas 12 | cm = 2.29773222065 13 | Ra = 176.517567199 14 | e_pas = -78.84947204589844 15 | celsius = 34 16 | } 17 | 18 | forsec $o1.somatic { 19 | insert Ih 20 | insert NaV 21 | insert Kd 22 | insert Kv2like 23 | insert Kv3_1 24 | insert K_T 25 | insert Im_v2 26 | insert SK 27 | insert Ca_HVA 28 | insert Ca_LVA 29 | insert CaDynamics 30 | 31 | 32 | 33 | ena = 53 34 | ek = -107 35 | 36 | gbar_Ih = 2.6424965762772425e-08 37 | gbar_NaV = 0.060624670094181071 38 | gbar_Kd = 1.1552615378218611e-07 39 | gbar_Kv2like = 3.4832887024216497e-06 40 | gbar_Kv3_1 = 0.045803505561795153 41 | gbar_K_T = 2.9872960058963116e-06 42 | gbar_Im_v2 = 0.0022773154124232533 43 | gbar_SK = 3.3988480432900481e-13 44 | gbar_Ca_HVA = 1.819265062256159e-07 45 | gbar_Ca_LVA = 0.0044638111168145466 46 | gamma_CaDynamics = 0.0016649738143806471 47 | decay_CaDynamics = 799.19235706631252 48 | g_pas = 0.00075654907878872774 49 | 50 | 51 | } 52 | 53 | 54 | forsec $o1.basal { 55 | 56 | 57 | g_pas = 0.00091441335257491662 58 | 59 | } 60 | 61 | forsec $o1.axonal { 62 | 63 | g_pas = 0.00054568440105765947 64 | 65 | } 66 | } 67 | 68 | endtemplate AllenBiophys 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/Nap_E.mod: -------------------------------------------------------------------------------- 1 | :Comment : mtau deduced from text (said to be 6 times faster than for NaT) 2 | :Comment : so I used the equations from NaT and multiplied by 6 3 | :Reference : Modeled according to kinetics derived from Magistretti & Alonso 1999 4 | 5 | NEURON { 6 | SUFFIX Nap_E 7 | USEION na READ ena WRITE ina 8 | RANGE gNap_Ebar, gNap_E, ina 9 | } 10 | 11 | UNITS { 12 | (S) = (siemens) 13 | (mV) = (millivolt) 14 | (mA) = (milliamp) 15 | } 16 | 17 | PARAMETER { 18 | gNap_Ebar = 0.00001 (S/cm2) 19 | } 20 | 21 | ASSIGNED { 22 | v (mV) 23 | ena (mV) 24 | ina (mA/cm2) 25 | gNap_E (S/cm2) 26 | mInf 27 | mTau 28 | mAlpha 29 | mBeta 30 | hInf 31 | hTau 32 | hAlpha 33 | hBeta 34 | } 35 | 36 | STATE { 37 | m 38 | h 39 | } 40 | 41 | BREAKPOINT { 42 | SOLVE states METHOD cnexp 43 | gNap_E = gNap_Ebar*m*m*m*h 44 | ina = gNap_E*(v-ena) 45 | } 46 | 47 | DERIVATIVE states { 48 | rates() 49 | m' = (mInf-m)/mTau 50 | h' = (hInf-h)/hTau 51 | } 52 | 53 | INITIAL{ 54 | rates() 55 | m = mInf 56 | h = hInf 57 | } 58 | 59 | PROCEDURE rates(){ 60 | UNITSOFF 61 | mInf = 1.0/(1+exp((v- -52.6)/-4.6)) 62 | if(v == -25){ 63 | v = v + 0.0001 64 | } 65 | mAlpha = (0.182 * (v- -25))/(1-(exp(-(v- -25)/9))) 66 | mBeta = (0.124 * (-v -25))/(1-(exp(-(-v -25)/9))) 67 | mTau = 6 * 1/(mAlpha + mBeta) 68 | if(v == -50){ 69 | v = v + 0.0001 70 | } 71 | hAlpha = (0.00001 * (v- -50))/(1-(exp(-(v- -50)/13))) 72 | if(v == -75){ 73 | v = v+0.0001 74 | } 75 | hBeta = (0.00001 * (-v - 75))/(1-(exp(-(-v - 75)/13))) 76 | hInf = 1.0/(1+exp((v- -48.8)/10)) 77 | hTau = (1/(hAlpha + hBeta)) 78 | UNITSON 79 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_8_C1_Marasco/mod/h.mod: -------------------------------------------------------------------------------- 1 | TITLE I-h channel from Magee 1998 for distal dendrites 2 | 3 | UNITS { 4 | (mA) = (milliamp) 5 | (mV) = (millivolt) 6 | 7 | } 8 | 9 | PARAMETER { 10 | v (mV) 11 | ehd (mV) 12 | celsius (degC) 13 | ghdbar=.0001 (mho/cm2) 14 | vhalfl=-81 (mV) 15 | kl=-8 16 | vhalft=-75 (mV) 17 | a0t=0.011 (/ms) 18 | zetat=2.2 (1) 19 | gmt=.4 (1) 20 | q10=4.5 21 | qtl=1 22 | } 23 | 24 | 25 | NEURON { 26 | SUFFIX hd 27 | NONSPECIFIC_CURRENT i 28 | RANGE ghdbar, vhalfl 29 | GLOBAL linf,taul 30 | } 31 | 32 | STATE { 33 | l 34 | } 35 | 36 | ASSIGNED { 37 | i (mA/cm2) 38 | linf 39 | taul 40 | ghd 41 | } 42 | 43 | INITIAL { 44 | rate(v) 45 | l=linf 46 | } 47 | 48 | 49 | BREAKPOINT { 50 | SOLVE states METHOD cnexp 51 | ghd = ghdbar*l 52 | i = ghd*(v-ehd) 53 | 54 | } 55 | 56 | 57 | FUNCTION alpt(v(mV)) { 58 | alpt = exp(0.0378*zetat*(v-vhalft)) 59 | } 60 | 61 | FUNCTION bett(v(mV)) { 62 | bett = exp(0.0378*zetat*gmt*(v-vhalft)) 63 | } 64 | 65 | DERIVATIVE states { : exact when v held constant; integrates over dt step 66 | rate(v) 67 | l' = (linf - l)/taul 68 | } 69 | 70 | PROCEDURE rate(v (mV)) { :callable from hoc 71 | LOCAL a,qt 72 | qt=q10^((celsius-33)/10) 73 | a = alpt(v) 74 | linf = 1/(1 + exp(-(v-vhalfl)/kl)) 75 | : linf = 1/(1+ alpl(v)) 76 | taul = bett(v)/(qtl*qt*a0t*(1+a)) 77 | } 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_10_Allen_47804508/mod/NaTs.mod: -------------------------------------------------------------------------------- 1 | : Reference: Colbert and Pan 2002 2 | 3 | NEURON { 4 | SUFFIX NaTs 5 | USEION na READ ena WRITE ina 6 | RANGE gbar, g, ina 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gbar = 0.00001 (S/cm2) 17 | 18 | malphaF = 0.182 19 | mbetaF = 0.124 20 | mvhalf = -40 (mV) 21 | mk = 6 (mV) 22 | 23 | halphaF = 0.015 24 | hbetaF = 0.015 25 | hvhalf = -66 (mV) 26 | hk = 6 (mV) 27 | } 28 | 29 | ASSIGNED { 30 | v (mV) 31 | ena (mV) 32 | ina (mA/cm2) 33 | g (S/cm2) 34 | celsius (degC) 35 | mInf 36 | mTau 37 | mAlpha 38 | mBeta 39 | hInf 40 | hTau 41 | hAlpha 42 | hBeta 43 | } 44 | 45 | STATE { 46 | m 47 | h 48 | } 49 | 50 | BREAKPOINT { 51 | SOLVE states METHOD cnexp 52 | g = gbar*m*m*m*h 53 | ina = g*(v-ena) 54 | } 55 | 56 | DERIVATIVE states { 57 | rates() 58 | m' = (mInf-m)/mTau 59 | h' = (hInf-h)/hTau 60 | } 61 | 62 | INITIAL{ 63 | rates() 64 | m = mInf 65 | h = hInf 66 | } 67 | 68 | PROCEDURE rates(){ 69 | LOCAL qt 70 | qt = 2.3^((celsius-23)/10) 71 | 72 | UNITSOFF 73 | mAlpha = malphaF * vtrap(-(v - mvhalf), mk) 74 | mBeta = mbetaF * vtrap((v - mvhalf), mk) 75 | 76 | mInf = mAlpha/(mAlpha + mBeta) 77 | mTau = (1/(mAlpha + mBeta))/qt 78 | 79 | hAlpha = halphaF * vtrap(v - hvhalf, hk) 80 | hBeta = hbetaF * vtrap(-(v - hvhalf), hk) 81 | 82 | hInf = hAlpha/(hAlpha + hBeta) 83 | hTau = (1/(hAlpha + hBeta))/qt 84 | UNITSON 85 | } 86 | 87 | FUNCTION vtrap(x, y) { : Traps for 0 in denominator of rate equations 88 | UNITSOFF 89 | if (fabs(x / y) < 1e-6) { 90 | vtrap = y * (1 - x / y / 2) 91 | } else { 92 | vtrap = x / (exp(x / y) - 1) 93 | } 94 | UNITSON 95 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_9_Allen_483108201/mod/NaTs.mod: -------------------------------------------------------------------------------- 1 | : Reference: Colbert and Pan 2002 2 | 3 | NEURON { 4 | SUFFIX NaTs 5 | USEION na READ ena WRITE ina 6 | RANGE gbar, g, ina 7 | } 8 | 9 | UNITS { 10 | (S) = (siemens) 11 | (mV) = (millivolt) 12 | (mA) = (milliamp) 13 | } 14 | 15 | PARAMETER { 16 | gbar = 0.00001 (S/cm2) 17 | 18 | malphaF = 0.182 19 | mbetaF = 0.124 20 | mvhalf = -40 (mV) 21 | mk = 6 (mV) 22 | 23 | halphaF = 0.015 24 | hbetaF = 0.015 25 | hvhalf = -66 (mV) 26 | hk = 6 (mV) 27 | } 28 | 29 | ASSIGNED { 30 | v (mV) 31 | ena (mV) 32 | ina (mA/cm2) 33 | g (S/cm2) 34 | celsius (degC) 35 | mInf 36 | mTau 37 | mAlpha 38 | mBeta 39 | hInf 40 | hTau 41 | hAlpha 42 | hBeta 43 | } 44 | 45 | STATE { 46 | m 47 | h 48 | } 49 | 50 | BREAKPOINT { 51 | SOLVE states METHOD cnexp 52 | g = gbar*m*m*m*h 53 | ina = g*(v-ena) 54 | } 55 | 56 | DERIVATIVE states { 57 | rates() 58 | m' = (mInf-m)/mTau 59 | h' = (hInf-h)/hTau 60 | } 61 | 62 | INITIAL{ 63 | rates() 64 | m = mInf 65 | h = hInf 66 | } 67 | 68 | PROCEDURE rates(){ 69 | LOCAL qt 70 | qt = 2.3^((celsius-23)/10) 71 | 72 | UNITSOFF 73 | mAlpha = malphaF * vtrap(-(v - mvhalf), mk) 74 | mBeta = mbetaF * vtrap((v - mvhalf), mk) 75 | 76 | mInf = mAlpha/(mAlpha + mBeta) 77 | mTau = (1/(mAlpha + mBeta))/qt 78 | 79 | hAlpha = halphaF * vtrap(v - hvhalf, hk) 80 | hBeta = hbetaF * vtrap(-(v - hvhalf), hk) 81 | 82 | hInf = hAlpha/(hAlpha + hBeta) 83 | hTau = (1/(hAlpha + hBeta))/qt 84 | UNITSON 85 | } 86 | 87 | FUNCTION vtrap(x, y) { : Traps for 0 in denominator of rate equations 88 | UNITSOFF 89 | if (fabs(x / y) < 1e-6) { 90 | vtrap = y * (1 - x / y / 2) 91 | } else { 92 | vtrap = x / (exp(x / y) - 1) 93 | } 94 | UNITSON 95 | } -------------------------------------------------------------------------------- /tests/TestsFiles/Test_13_DBC_L4_Markram/morphology.hoc: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | Copyright (c) 2015 EPFL-BBP, All rights reserved. 5 | 6 | THIS SOFTWARE IS PROVIDED BY THE BLUE BRAIN PROJECT ``AS IS'' 7 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 8 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 9 | PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE BLUE BRAIN PROJECT 10 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 11 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 12 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 13 | BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 14 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 15 | OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 16 | IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 17 | 18 | This work is licensed under a 19 | Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. 20 | To view a copy of this license, visit 21 | http://creativecommons.org/licenses/by-nc-sa/4.0/legalcode or send a letter to 22 | Creative Commons, 23 | 171 Second Street, Suite 300, 24 | San Francisco, California, 94105, USA. 25 | */ 26 | 27 | /* 28 | * @file morphology.hoc 29 | * @brief Morphology 30 | * @author Werner Van Geit @ BBP 31 | * @date 2015 32 | */ 33 | 34 | begintemplate morphology_23ffe29c8b 35 | public morphology 36 | 37 | proc morphology(){localobj nl,import 38 | nl = new Import3d_Neurolucida3() 39 | nl.quiet = 1 40 | nl.input("morphology/C140600C-I1_-_Clone_2.asc") 41 | import = new Import3d_GUI(nl, 0) 42 | import.instantiate($o1) 43 | } 44 | endtemplate morphology_23ffe29c8b 45 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_8_C1_Marasco/mod/kdrca1.mod: -------------------------------------------------------------------------------- 1 | TITLE K-DR channel 2 | : from Klee Ficker and Heinemann 3 | : modified to account for Dax et al. 4 | : M.Migliore 1997 5 | 6 | UNITS { 7 | (mA) = (milliamp) 8 | (mV) = (millivolt) 9 | 10 | } 11 | 12 | PARAMETER { 13 | v (mV) 14 | ek (mV) : must be explicitely def. in hoc 15 | celsius (degC) 16 | gkdrbar=.003 (mho/cm2) 17 | vhalfn=13 (mV) 18 | a0n=0.02 (/ms) 19 | zetan=-3 (1) 20 | gmn=0.7 (1) 21 | nmax=2 (1) 22 | q10=1 23 | } 24 | 25 | 26 | NEURON { 27 | SUFFIX kdr 28 | USEION k READ ek WRITE ik 29 | RANGE gkdr,gkdrbar 30 | GLOBAL ninf,taun 31 | } 32 | 33 | STATE { 34 | n 35 | } 36 | 37 | ASSIGNED { 38 | ik (mA/cm2) 39 | ninf 40 | gkdr 41 | taun 42 | } 43 | 44 | BREAKPOINT { 45 | SOLVE states METHOD cnexp 46 | gkdr = gkdrbar*n 47 | ik = gkdr*(v-ek) 48 | 49 | } 50 | 51 | INITIAL { 52 | rates(v) 53 | n=ninf 54 | } 55 | 56 | 57 | FUNCTION alpn(v(mV)) { 58 | alpn = exp(1.e-3*zetan*(v-vhalfn)*9.648e4/(8.315*(273.16+celsius))) 59 | } 60 | 61 | FUNCTION betn(v(mV)) { 62 | betn = exp(1.e-3*zetan*gmn*(v-vhalfn)*9.648e4/(8.315*(273.16+celsius))) 63 | } 64 | 65 | DERIVATIVE states { : exact when v held constant; integrates over dt step 66 | rates(v) 67 | n' = (ninf - n)/taun 68 | } 69 | 70 | PROCEDURE rates(v (mV)) { :callable from hoc 71 | LOCAL a,qt 72 | qt=q10^((celsius-24)/10) 73 | a = alpn(v) 74 | ninf = 1/(1+a) 75 | taun = betn(v)/(qt*a0n*(1+a)) 76 | if (taun3) norm_factor = getLongestBranch(sl) 35 | sprint(distfunc,"%%s %s(%%f) = %s",mech, distfunc) 36 | //print distfunc 37 | forsec sl for(x) { 38 | sprint (stmp,distfunc,secname(),x,distance(x)/norm_factor) 39 | // print stmp 40 | execute(stmp) 41 | } 42 | } 43 | 44 | 45 | func getLongestBranch(){local maxL,d localobj distallist,sref 46 | forsec $o1 { 47 | distance() 48 | break 49 | } 50 | maxL = 0 51 | d = 0 52 | distallist = new SectionList() 53 | forsec $o1 { 54 | sref = new SectionRef() 55 | if (sref.nchild==0) distallist.append() 56 | } 57 | forsec distallist{ 58 | d = distance(1) 59 | if(maxL 55 | amp (nA) 56 | freq (Hz) 57 | } 58 | ASSIGNED { i (nA) } 59 | 60 | INITIAL { 61 | i = 0 62 | } 63 | 64 | BREAKPOINT { 65 | at_time(del) 66 | at_time(del+dur) 67 | 68 | if (t < del + dur && t >= del) { 69 | i = off + amp * sin(0.0062831853071795866*freq*t) 70 | }else{ 71 | i = off 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_4_LBC_amsalem/mod/izap.mod: -------------------------------------------------------------------------------- 1 | : $Id: izap.mod,v 1.3 2010/06/22 06:40:59 ted Exp $ 2 | 3 | COMMENT 4 | izap.mod 5 | 6 | Delivers an oscillating current that starts at t = del >= 0. 7 | The frequency of the oscillation increases linearly with time 8 | from f0 at t == del to f1 at t == del + dur, 9 | where both del and dur are > 0. 10 | 11 | Uses event delivery system to ensure compatibility with adaptive integration. 12 | 13 | Original implementation 12/4/2008 NTC 14 | ENDCOMMENT 15 | 16 | NEURON { 17 | POINT_PROCESS Izap 18 | RANGE del, dur, f0, f1, amp, f, i 19 | ELECTRODE_CURRENT i 20 | } 21 | 22 | UNITS { 23 | (nA) = (nanoamp) 24 | PI = (pi) (1) 25 | } 26 | 27 | PARAMETER { 28 | del (ms) 29 | dur (ms) 30 | f0 (1/s) : frequency is in Hz 31 | f1 (1/s) 32 | amp (nA) 33 | } 34 | 35 | ASSIGNED { 36 | f (1/s) 37 | i (nA) 38 | on (1) 39 | } 40 | 41 | INITIAL { 42 | f = 0 43 | i = 0 44 | on = 0 45 | 46 | if (del<0) { del=0 } 47 | if (dur<0) { dur=0 } 48 | if (f0<=0) { f0=0 (1/s) } 49 | if (f1<=0) { f1=0 (1/s) } 50 | 51 | : do nothing if dur == 0 52 | if (dur>0) { 53 | net_send(del, 1) : to turn it on and start frequency ramp 54 | } 55 | } 56 | 57 | COMMENT 58 | The angular velocity in radians/sec is w = 2*PI*f, 59 | where f is the instantaneous frequency in Hz. 60 | 61 | Assume for the moment that the frequency ramp starts at t = 0. 62 | f = f0 + (f1 - f0)*t/dur 63 | 64 | Then the angular displacement is 65 | theta = 2*PI * ( f0*t + (f1 - f0)*(t^2)/(2*dur) ) 66 | = 2*PI * t * (f0 + (f1 - f0)*t/(2*dur)) 67 | But the ramp starts at t = del, so just substitute t-del for every occurrence of t 68 | in the formula for theta. 69 | ENDCOMMENT 70 | 71 | BREAKPOINT { 72 | if (on==0) { 73 | f = 0 74 | i = 0 75 | } else { 76 | f = f0 + (f1 - f0)*(t-del)/dur 77 | i = amp * sin( 2*PI * (t-del) * (f0 + (f1 - f0)*(t-del)/(2*dur)) * (0.001) ) 78 | } 79 | } 80 | 81 | NET_RECEIVE (w) { 82 | : respond only to self-events with flag > 0 83 | if (flag == 1) { 84 | if (on==0) { 85 | on = 1 : turn it on 86 | net_send(t+dur, 1) : to stop frequency ramp, freezing frequency at f1 87 | } else { 88 | on = 0 : turn it off 89 | } 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_8_C1_Marasco/Morphology_replace_user05.py: -------------------------------------------------------------------------------- 1 | name = 'geo5038801mod' 2 | apical_dendriteEnd = 79 3 | 4 | 5 | total_user5 = 70 6 | f = open(name + '.hoc','r') 7 | 8 | new_ls = '' 9 | for line in f: 10 | if 'user5[' in line and 'create' not in line and 'append' not in line: 11 | parts = line.split('user5[') 12 | #sdfs 13 | 14 | 15 | 16 | if '{user5[51] connect user5[52](0), 1}' in line: 17 | pass 18 | #asdas 19 | pass 20 | for i in range(len(parts)): 21 | if i in range(1,len(parts)): 22 | #asdas 23 | parts[i] 24 | num = int(parts[i][:parts[i].index(']')]) 25 | num = num + apical_dendriteEnd 26 | new_ls += 'apic[' + str(num) + ']' + parts[i][parts[i].index(']')+1:].replace('apical_dendrite','apic') 27 | else: 28 | new_ls += parts[i].replace('apical_dendrite','apic') 29 | 30 | 31 | elif 'create user5' in line: 32 | new_ls +='\n' 33 | 34 | elif 'user5al.append()' in line: 35 | new_ls +=' for i=' + str(apical_dendriteEnd) + ', ' + \ 36 | str(apical_dendriteEnd + total_user5-1) +' apic[i] user5al.append()\n' 37 | 38 | 39 | elif 'user5[i] all.append()' in line: 40 | new_ls +='\n' 41 | elif 'apical_dendrite[i] all.append()' in line: 42 | new_ls += ' for i=0, '+ str(apical_dendriteEnd + total_user5-1) +' apic[i] all.append()' 43 | 44 | elif 'apical_dendrite' in line and 'create' not in line: 45 | new_ls += line.replace('apical_dendrite','apic').replace('apical_dendrite','apic').replace('apical_dendrite','apic') 46 | 47 | 48 | elif 'create apical_dendrite' in line: 49 | parts = line.split('apical_dendrite[') 50 | new_ls += parts[0] + 'apic[' + str(apical_dendriteEnd+total_user5) + parts[1][parts[1].index(']'):] 51 | 52 | 53 | elif 'template' in line: 54 | new_ls += line.replace(name, name + 'Mod') 55 | 56 | else: 57 | new_ls += line 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | f.close() 67 | f1 = open(name + 'Mod.hoc', 'w') 68 | f1.write(new_ls) 69 | f1.close() 70 | -------------------------------------------------------------------------------- /example/L5PCbiophys3.hoc: -------------------------------------------------------------------------------- 1 | // Author: Etay Hay, 2011 2 | // Models of Neocortical Layer 5b Pyramidal Cells Capturing a Wide Range of 3 | // Dendritic and Perisomatic Active Properties 4 | // (Hay et al., PLoS Computational Biology, 2011) 5 | // 6 | // Model of L5 Pyramidal Cell, constrained both for BAC firing and Current Step Firing 7 | 8 | 9 | begintemplate L5PCbiophys 10 | public biophys 11 | 12 | proc biophys() { 13 | forsec $o1.all { 14 | insert pas 15 | cm = 1 16 | Ra = 100 17 | e_pas = -90 18 | } 19 | 20 | forsec $o1.somatic { 21 | insert Ca_LVAst 22 | insert Ca_HVA 23 | insert SKv3_1 24 | insert SK_E2 25 | insert K_Tst 26 | insert K_Pst 27 | insert Nap_Et2 28 | insert NaTa_t 29 | insert CaDynamics_E2 30 | insert Ih 31 | ek = -85 32 | ena = 50 33 | gIhbar_Ih = 0.0002 34 | g_pas = 0.0000338 35 | decay_CaDynamics_E2 = 460.0 36 | gamma_CaDynamics_E2 = 0.000501 37 | gCa_LVAstbar_Ca_LVAst = 0.00343 38 | gCa_HVAbar_Ca_HVA = 0.000992 39 | gSKv3_1bar_SKv3_1 = 0.693 40 | gSK_E2bar_SK_E2 = 0.0441 41 | gK_Tstbar_K_Tst = 0.0812 42 | gK_Pstbar_K_Pst = 0.00223 43 | gNap_Et2bar_Nap_Et2 = 0.00172 44 | gNaTa_tbar_NaTa_t = 2.04 45 | } 46 | 47 | forsec $o1.apical { 48 | cm = 2 49 | insert Ih 50 | insert SK_E2 51 | insert Ca_LVAst 52 | insert Ca_HVA 53 | insert SKv3_1 54 | insert NaTa_t 55 | insert Im 56 | insert CaDynamics_E2 57 | ek = -85 58 | ena = 50 59 | decay_CaDynamics_E2 = 122 60 | gamma_CaDynamics_E2 = 0.000509 61 | gSK_E2bar_SK_E2 = 0.0012 62 | gSKv3_1bar_SKv3_1 = 0.000261 63 | gNaTa_tbar_NaTa_t = 0.0213 64 | gImbar_Im = 0.0000675 65 | g_pas = 0.0000589 66 | } 67 | $o1.distribute_channels("apic","gIhbar_Ih",2,-0.8696,3.6161,0.0,2.0870,0.00020000000) 68 | $o1.distribute_channels("apic","gCa_LVAstbar_Ca_LVAst",3,1.000000,0.010000,685.000000,885.000000,0.0187000000) 69 | $o1.distribute_channels("apic","gCa_HVAbar_Ca_HVA",3,1.000000,0.100000,685.000000,885.000000,0.0005550000) 70 | 71 | forsec $o1.basal { 72 | cm = 2 73 | insert Ih 74 | gIhbar_Ih = 0.0002 75 | g_pas = 0.0000467 76 | } 77 | 78 | forsec $o1.axonal { 79 | g_pas = 0.0000325 80 | } 81 | } 82 | 83 | endtemplate L5PCbiophys 84 | 85 | 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_5_Hay_2011/L5PCbiophys3.hoc: -------------------------------------------------------------------------------- 1 | // Author: Etay Hay, 2011 2 | // Models of Neocortical Layer 5b Pyramidal Cells Capturing a Wide Range of 3 | // Dendritic and Perisomatic Active Properties 4 | // (Hay et al., PLoS Computational Biology, 2011) 5 | // 6 | // Model of L5 Pyramidal Cell, constrained both for BAC firing and Current Step Firing 7 | 8 | 9 | begintemplate L5PCbiophys 10 | public biophys 11 | 12 | proc biophys() { 13 | forsec $o1.all { 14 | insert pas 15 | cm = 1 16 | Ra = 100 17 | e_pas = -90 18 | } 19 | 20 | forsec $o1.somatic { 21 | insert Ca_LVAst 22 | insert Ca_HVA 23 | insert SKv3_1 24 | insert SK_E2 25 | insert K_Tst 26 | insert K_Pst 27 | insert Nap_Et2 28 | insert NaTa_t 29 | insert CaDynamics_E2 30 | insert Ih 31 | ek = -85 32 | ena = 50 33 | gIhbar_Ih = 0.0002 34 | g_pas = 0.0000338 35 | decay_CaDynamics_E2 = 460.0 36 | gamma_CaDynamics_E2 = 0.000501 37 | gCa_LVAstbar_Ca_LVAst = 0.00343 38 | gCa_HVAbar_Ca_HVA = 0.000992 39 | gSKv3_1bar_SKv3_1 = 0.693 40 | gSK_E2bar_SK_E2 = 0.0441 41 | gK_Tstbar_K_Tst = 0.0812 42 | gK_Pstbar_K_Pst = 0.00223 43 | gNap_Et2bar_Nap_Et2 = 0.00172 44 | gNaTa_tbar_NaTa_t = 2.04 45 | } 46 | 47 | forsec $o1.apical { 48 | cm = 2 49 | insert Ih 50 | insert SK_E2 51 | insert Ca_LVAst 52 | insert Ca_HVA 53 | insert SKv3_1 54 | insert NaTa_t 55 | insert Im 56 | insert CaDynamics_E2 57 | ek = -85 58 | ena = 50 59 | decay_CaDynamics_E2 = 122 60 | gamma_CaDynamics_E2 = 0.000509 61 | gSK_E2bar_SK_E2 = 0.0012 62 | gSKv3_1bar_SKv3_1 = 0.000261 63 | gNaTa_tbar_NaTa_t = 0.0213 64 | gImbar_Im = 0.0000675 65 | g_pas = 0.0000589 66 | } 67 | $o1.distribute_channels("apic","gIhbar_Ih",2,-0.8696,3.6161,0.0,2.0870,0.00020000000) 68 | $o1.distribute_channels("apic","gCa_LVAstbar_Ca_LVAst",3,1.000000,0.010000,685.000000,885.000000,0.0187000000) 69 | $o1.distribute_channels("apic","gCa_HVAbar_Ca_HVA",3,1.000000,0.100000,685.000000,885.000000,0.0005550000) 70 | 71 | forsec $o1.basal { 72 | cm = 2 73 | insert Ih 74 | gIhbar_Ih = 0.0002 75 | g_pas = 0.0000467 76 | } 77 | 78 | forsec $o1.axonal { 79 | g_pas = 0.0000325 80 | } 81 | } 82 | 83 | endtemplate L5PCbiophys 84 | 85 | 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /tests/TestsFiles/Test_7_Almog/mod/ca_r.mod: -------------------------------------------------------------------------------- 1 | TITLE Low threshold calcium current 2 | : 3 | 4 | INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)} 5 | 6 | NEURON { 7 | SUFFIX car 8 | USEION ca READ cai,cao WRITE ica 9 | RANGE pbar, minf, taum, hinf, tauh, shift, shifth 10 | GLOBAL qm, qh 11 | } 12 | 13 | UNITS { 14 | (molar) = (1/liter) 15 | (mV) = (millivolt) 16 | (mA) = (milliamp) 17 | (mM) = (millimolar) 18 | 19 | FARADAY = (faraday) (coulomb) 20 | R = (k-mole) (joule/degC) 21 | } 22 | 23 | PARAMETER { 24 | v (mV) 25 | celsius (degC) 26 | pbar =.4e-4 (cm/s) : Maximum Permeability 27 | shift = 2 (mV) : corresponds to 2mM ext Ca++ 28 | shifth = 0 (mV) : inactivation shift 29 | cai (mM) :2.4e-4 (mM) adjusted foreca=120 mV 30 | cao (mM) 31 | qm = 1 : q10's for activation and inactivation 32 | qh = 1 : from Coulter et al., J Physiol 414: 587, 1989 33 | 34 | } 35 | 36 | STATE { 37 | m h 38 | } 39 | 40 | ASSIGNED { 41 | ica (mA/cm2) 42 | minf 43 | taum (ms) 44 | hinf 45 | tauh (ms) 46 | phim 47 | phih 48 | } 49 | 50 | BREAKPOINT { 51 | SOLVE castate METHOD cnexp 52 | ica = pbar * m*m*h * ghk(v, cai, cao) 53 | } 54 | 55 | DERIVATIVE castate { 56 | evaluatefct(v) 57 | 58 | m' = (minf - m) / taum 59 | h' = (hinf - h) / tauh 60 | } 61 | 62 | 63 | UNITSOFF 64 | INITIAL { 65 | phim = qm ^ ((celsius-24)/10) 66 | phih = qh ^ ((celsius-24)/10) 67 | 68 | evaluatefct(v) 69 | 70 | m = minf 71 | h = hinf 72 | } 73 | 74 | PROCEDURE evaluatefct(v(mV)) { 75 | : 76 | 77 | minf = 1/(1+exp(-(v+shift+23)/7.4)) 78 | hinf = 1/(1+exp((v+shifth+79)/7.8)) 79 | 80 | taum = (5.5/(cosh(0.032*(v+shift+23))))/phim 81 | tauh = (771/(cosh(0.047*(v+shifth+79))))/phih 82 | } 83 | 84 | FUNCTION ghk(v(mV), ci(mM), co(mM)) (.001 coul/cm3) { 85 | LOCAL z, eci, eco 86 | z = (1e-3)*2*FARADAY*v/(R*(celsius+273.15)) 87 | eco = co*efun(z) 88 | eci = ci*efun(-z) 89 | :high cao charge moves inward 90 | :negative potential charge moves inward 91 | ghk = (.001)*2*FARADAY*(eci - eco) 92 | } 93 | 94 | FUNCTION efun(z) { 95 | if (fabs(z) < 1e-4) { 96 | efun = 1 - z/2 97 | }else{ 98 | efun = z/(exp(z) - 1) 99 | } 100 | } 101 | FUNCTION nongat(v,cai,cao) { : non gated current 102 | nongat = pbar * ghk(v, cai, cao) 103 | } 104 | UNITSON 105 | --------------------------------------------------------------------------------