From 03790d7257ca1df091cbc9c148c284eb0331b6b4 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Fri, 11 Dec 2015 11:18:44 +0000 Subject: [PATCH 1/3] Test moving mep/omt files --- NEURON/{ => test}/.test.mep | 0 NEURON/{ => test}/.test.neuron.omt | 4 ++-- neuroConstruct/pythonScripts/RunTestsPace.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename NEURON/{ => test}/.test.mep (100%) rename NEURON/{ => test}/.test.neuron.omt (87%) diff --git a/NEURON/.test.mep b/NEURON/test/.test.mep similarity index 100% rename from NEURON/.test.mep rename to NEURON/test/.test.mep diff --git a/NEURON/.test.neuron.omt b/NEURON/test/.test.neuron.omt similarity index 87% rename from NEURON/.test.neuron.omt rename to NEURON/test/.test.neuron.omt index d01f726..270db8e 100644 --- a/NEURON/.test.neuron.omt +++ b/NEURON/test/.test.neuron.omt @@ -1,6 +1,6 @@ # Script for running automated tests on OSB using Travis-CI, see https://github.com/OpenSourceBrain/osb-model-validation -target: Test_golgi.hoc +target: ../Test_golgi.hoc engine: NEURON mep: .test.mep @@ -9,7 +9,7 @@ experiments: observables: spike times: file: - path: Soma.dat + path: ../Soma.dat columns: [0,1] scaling: [1, 1] spike detection: diff --git a/neuroConstruct/pythonScripts/RunTestsPace.py b/neuroConstruct/pythonScripts/RunTestsPace.py index 2d668b2..091fb44 100644 --- a/neuroConstruct/pythonScripts/RunTestsPace.py +++ b/neuroConstruct/pythonScripts/RunTestsPace.py @@ -55,7 +55,7 @@ spike_times = [] -mep_file = open('../../NEURON/.test.mep') +mep_file = open('../../NEURON/test/.test.mep') for line in mep_file: line = line.strip() if line.startswith('spike times: ['): From 936ea96f703e5aa6930e89d7cd5e49ee41025dc5 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Fri, 11 Dec 2015 11:30:31 +0000 Subject: [PATCH 2/3] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index a8980d9..24b87eb 100644 --- a/README.md +++ b/README.md @@ -10,3 +10,5 @@ Based on implementation in NEURON taken from: http://senselab.med.yale.edu/model For more information see http://www.opensourcebrain.org/projects/cerebellum--cerebellar-golgi-cell--solinasetal-golgicell + +[![Build Status](https://travis-ci.org/OpenSourceBrain/SolinasEtAl-GolgiCell.svg)](https://travis-ci.org/OpenSourceBrain/SolinasEtAl-GolgiCell) From 52458045db5a33cf9c642b9825f709a280c9f750 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Fri, 11 Dec 2015 12:04:39 +0000 Subject: [PATCH 3/3] Updating test scripts for KAHP/SK2 channel --- NEURON/CaClamp.mod | 114 ++++++++++++++++++++++++++++++++++++ NEURON/test/Test_SK2.hoc | 21 ++++--- NeuroML2/CaClamp.nml | 4 +- NeuroML2/LEMS_KAHP_Test.xml | 19 +++--- NeuroML2/TestKAHP.cell.nml | 20 +++---- NeuroML2/TestKAHP.net.nml | 2 +- 6 files changed, 146 insertions(+), 34 deletions(-) create mode 100644 NEURON/CaClamp.mod diff --git a/NEURON/CaClamp.mod b/NEURON/CaClamp.mod new file mode 100644 index 0000000..16bba61 --- /dev/null +++ b/NEURON/CaClamp.mod @@ -0,0 +1,114 @@ +TITLE Mod file for component: Component(id=CaClamp type=caClamp) + +COMMENT + + This NEURON file has been generated by org.neuroml.export (see https://github.com/NeuroML/org.neuroml.export) + org.neuroml.export v1.4.3 + org.neuroml.model v1.4.3 + jLEMS v0.9.8.1 + +ENDCOMMENT + +NEURON { + SUFFIX CaClamp + USEION ca READ cai, cao, ica WRITE cai VALENCE 2 + RANGE cai + RANGE cao + GLOBAL initialConcentration + GLOBAL initialExtConcentration + RANGE conc0 : parameter + RANGE conc1 : parameter + RANGE delay : parameter + RANGE duration : parameter + +} + +UNITS { + + (nA) = (nanoamp) + (uA) = (microamp) + (mA) = (milliamp) + (A) = (amp) + (mV) = (millivolt) + (mS) = (millisiemens) + (uS) = (microsiemens) + (molar) = (1/liter) + (kHz) = (kilohertz) + (mM) = (millimolar) + (um) = (micrometer) + (umol) = (micromole) + (S) = (siemens) + +} + +PARAMETER { + surfaceArea (um2) + iCa (nA) + initialConcentration (mM) + initialExtConcentration (mM) + + conc0 = 5.0E-5 (mM) + conc1 = 0.005 (mM) + delay = 200 (ms) + duration = 200 (ms) +} + +ASSIGNED { + cai (mM) + cao (mM) + ica (mA/cm2) + diam (um) + area (um2) + +} + +STATE { + concentration (mM) + extConcentration (mM) + +} + +INITIAL { + initialConcentration = cai + initialExtConcentration = cao + rates() + rates() ? To ensure correct initialisation. + + concentration = initialConcentration + + extConcentration = initialExtConcentration + +} + +BREAKPOINT { + + rates() + if (t <= delay) { + concentration = conc0 ? standard OnCondition + } + + if (t >= delay && t <= duration + delay) { + concentration = conc1 ? standard OnCondition + } + + if (t >= duration + delay) { + concentration = conc0 ? standard OnCondition + } + + + cai = concentration + + +} + +PROCEDURE rates() { + + surfaceArea = area : surfaceArea has units (um2), area (built in to NEURON) is in um^2... + + iCa = -1 * (0.01) * ica * surfaceArea : iCa has units (nA) ; ica (built in to NEURON) has units (mA/cm2)... + + + + +} + diff --git a/NEURON/test/Test_SK2.hoc b/NEURON/test/Test_SK2.hoc index 439f2b1..b717de7 100644 --- a/NEURON/test/Test_SK2.hoc +++ b/NEURON/test/Test_SK2.hoc @@ -7,30 +7,29 @@ usegui = 1 create Soma access Soma -celsius = 6.3 +celsius = 23 -Soma {pt3dclear() pt3dadd(0.0, 0, 0.0, 13.4715) pt3dadd(0.0, 23.1694, 0.0, 13.4715)} +Soma {pt3dclear() pt3dadd(0.0, 0, 0.0, 27) pt3dadd(0.0, 27, 0.0, 27)} define_shape() forall Ra = 100 insert Golgi_lkg - -insert Golgi_Ca_HVA +glbar_Golgi_lkg=2.1e-05 insert Golgi_SK2 -insert Golgi_CALC +insert CaClamp proc initialiseValues0() { - forall v = -63 + forall v = -65 } objref fih0 {fih0 = new FInitializeHandler(0, "initialiseValues0()")} - +/* objref stim1 objref stim2 @@ -45,11 +44,11 @@ Soma { stim2.del = 800.0 stim2.dur = 200.0 stim2.amp = 0.04 -} +}*/ -tstop = 1500.0 +tstop = 600.0 dt = 0.01 @@ -91,7 +90,7 @@ if (usegui==1) { {GraphWin_1.view(0, -0.1, tstop, 1.2, 80, 330, 330, 250)} { GraphWin_1.addexpr("o1", "Soma.o1_Golgi_SK2", 1, 1, 0.8, 0.9, 2) - GraphWin_1.addexpr("o1", "Soma.o2_Golgi_SK2", 2, 1, 0.8, 0.9, 2) + GraphWin_1.addexpr("o2", "Soma.o2_Golgi_SK2", 2, 1, 0.8, 0.9, 2) GraphWin_1.addexpr("c1", "Soma.c1_Golgi_SK2", 3, 1, 0.8, 0.9, 2) GraphWin_1.addexpr("c2", "Soma.c2_Golgi_SK2", 4, 1, 0.8, 0.9, 2) GraphWin_1.addexpr("c3", "Soma.c3_Golgi_SK2", 5, 1, 0.8, 0.9, 2) @@ -149,7 +148,7 @@ if (usegui==1) { xbutton("Stop","stoprun=1") t = 0 xvalue("t","t", 2 ) - tstop = 700.0 + tstop = 600.0 xvalue("Tstop","tstop", 1,"tstop_changed()", 0, 1 ) dt = 0.01 xvalue("dt","dt", 1,"setdt()", 0, 1 ) diff --git a/NeuroML2/CaClamp.nml b/NeuroML2/CaClamp.nml index a39c1e3..5e88313 100644 --- a/NeuroML2/CaClamp.nml +++ b/NeuroML2/CaClamp.nml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://www.neuroml.org/schema/neuroml2 https://raw.github.com/NeuroML/NeuroML2/development/Schemas/NeuroML2/NeuroML_v2beta4.xsd" id="CaClamp"> - + @@ -17,7 +17,7 @@ - + diff --git a/NeuroML2/LEMS_KAHP_Test.xml b/NeuroML2/LEMS_KAHP_Test.xml index e3d73b2..d2fc868 100644 --- a/NeuroML2/LEMS_KAHP_Test.xml +++ b/NeuroML2/LEMS_KAHP_Test.xml @@ -13,7 +13,7 @@ - + @@ -31,13 +31,13 @@ - - + + - - - - + + + + @@ -52,13 +52,14 @@ + + + - - diff --git a/NeuroML2/TestKAHP.cell.nml b/NeuroML2/TestKAHP.cell.nml index 943a40c..71fcbae 100644 --- a/NeuroML2/TestKAHP.cell.nml +++ b/NeuroML2/TestKAHP.cell.nml @@ -3,8 +3,6 @@ xsi:schemaLocation="http://www.neuroml.org/schema/neuroml2 https://raw.githubusercontent.com/NeuroML/NeuroML2/development/Schemas/NeuroML2/NeuroML_v2beta4.xsd" id="TestKAHP"> - - @@ -15,8 +13,8 @@ - - + +