From 29199e0708dc04e09dcb2edea38662b76f6e4677 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Wed, 19 Jun 2024 11:07:28 +0100 Subject: [PATCH] Add examples with tests for various ways to include and in --- .gitignore | 12 + LEMSexamples/morphologies/.test.jnml.omt | 17 ++ .../morphologies/.test.jnmleden.multi.omt | 20 ++ .../morphologies/.test.jnmleden.multi.out.omt | 20 ++ LEMSexamples/morphologies/.test.jnmleden.omt | 17 ++ .../morphologies/.test.jnmleden.out.omt | 17 ++ .../morphologies/.test.jnmlnetpyne.multi.omt | 20 ++ .../.test.jnmlnetpyne.multi.out.omt | 20 ++ .../morphologies/.test.jnmlnetpyne.omt | 20 ++ .../morphologies/.test.jnmlnetpyne.out.omt | 20 ++ .../morphologies/.test.jnmlnrn.multi.omt | 20 ++ .../morphologies/.test.jnmlnrn.multi.out.omt | 20 ++ LEMSexamples/morphologies/.test.jnmlnrn.omt | 20 ++ .../morphologies/.test.jnmlnrn.out.omt | 20 ++ LEMSexamples/morphologies/.test.mep | 6 + LEMSexamples/morphologies/.test.multi.mep | 6 + LEMSexamples/morphologies/.test.validate.omt | 5 + LEMSexamples/morphologies/Ca_conc.nml | 8 + LEMSexamples/morphologies/Ca_pyr.channel.nml | 106 ++++++++ .../morphologies/Kahp_pyr.channel.nml | 106 ++++++++ LEMSexamples/morphologies/Kdr_pyr.channel.nml | 60 +++++ LEMSexamples/morphologies/LEMS_m_in_b_in.xml | 67 +++++ LEMSexamples/morphologies/LEMS_m_in_b_out.xml | 66 +++++ LEMSexamples/morphologies/LEMS_m_out_b_in.xml | 66 +++++ .../morphologies/LEMS_m_out_b_out.xml | 45 ++++ LEMSexamples/morphologies/LEMS_pyrfull_in.xml | 92 +++++++ .../morphologies/LEMS_pyrfull_out.xml | 91 +++++++ .../LeakConductance_pyr.channel.nml | 13 + LEMSexamples/morphologies/Na_pyr.channel.nml | 68 +++++ LEMSexamples/morphologies/README.md | 47 ++++ .../morphologies/network_m_out_b_out.net.nml | 29 +++ LEMSexamples/morphologies/pyr_4_sym.cell.nml | 246 ++++++++++++++++++ .../morphologies/pyr_4_sym_soma_morph.nml | 33 +++ LEMSexamples/morphologies/pyr_biophysics.nml | 50 ++++ .../morphologies/pyr_full_morph_biophys.nml | 241 +++++++++++++++++ .../morphologies/pyr_full_out.cell.nml | 13 + .../morphologies/pyr_morphology.cell.nml | 201 ++++++++++++++ .../morphologies/pyr_soma_m_in_b_in.cell.nml | 84 ++++++ .../morphologies/pyr_soma_m_in_b_out.cell.nml | 39 +++ .../morphologies/pyr_soma_m_out_b_in.cell.nml | 60 +++++ .../pyr_soma_m_out_b_out.cell.nml | 13 + LEMSexamples/morphologies/pyrfull_in.net.nml | 26 ++ LEMSexamples/morphologies/pyrfull_out.net.nml | 26 ++ LEMSexamples/morphologies/test_all.sh | 29 +++ 44 files changed, 2205 insertions(+) create mode 100644 LEMSexamples/morphologies/.test.jnml.omt create mode 100644 LEMSexamples/morphologies/.test.jnmleden.multi.omt create mode 100644 LEMSexamples/morphologies/.test.jnmleden.multi.out.omt create mode 100644 LEMSexamples/morphologies/.test.jnmleden.omt create mode 100644 LEMSexamples/morphologies/.test.jnmleden.out.omt create mode 100644 LEMSexamples/morphologies/.test.jnmlnetpyne.multi.omt create mode 100644 LEMSexamples/morphologies/.test.jnmlnetpyne.multi.out.omt create mode 100644 LEMSexamples/morphologies/.test.jnmlnetpyne.omt create mode 100644 LEMSexamples/morphologies/.test.jnmlnetpyne.out.omt create mode 100644 LEMSexamples/morphologies/.test.jnmlnrn.multi.omt create mode 100644 LEMSexamples/morphologies/.test.jnmlnrn.multi.out.omt create mode 100644 LEMSexamples/morphologies/.test.jnmlnrn.omt create mode 100644 LEMSexamples/morphologies/.test.jnmlnrn.out.omt create mode 100644 LEMSexamples/morphologies/.test.mep create mode 100644 LEMSexamples/morphologies/.test.multi.mep create mode 100644 LEMSexamples/morphologies/.test.validate.omt create mode 100644 LEMSexamples/morphologies/Ca_conc.nml create mode 100644 LEMSexamples/morphologies/Ca_pyr.channel.nml create mode 100644 LEMSexamples/morphologies/Kahp_pyr.channel.nml create mode 100644 LEMSexamples/morphologies/Kdr_pyr.channel.nml create mode 100644 LEMSexamples/morphologies/LEMS_m_in_b_in.xml create mode 100644 LEMSexamples/morphologies/LEMS_m_in_b_out.xml create mode 100644 LEMSexamples/morphologies/LEMS_m_out_b_in.xml create mode 100644 LEMSexamples/morphologies/LEMS_m_out_b_out.xml create mode 100644 LEMSexamples/morphologies/LEMS_pyrfull_in.xml create mode 100644 LEMSexamples/morphologies/LEMS_pyrfull_out.xml create mode 100644 LEMSexamples/morphologies/LeakConductance_pyr.channel.nml create mode 100644 LEMSexamples/morphologies/Na_pyr.channel.nml create mode 100644 LEMSexamples/morphologies/README.md create mode 100644 LEMSexamples/morphologies/network_m_out_b_out.net.nml create mode 100644 LEMSexamples/morphologies/pyr_4_sym.cell.nml create mode 100644 LEMSexamples/morphologies/pyr_4_sym_soma_morph.nml create mode 100644 LEMSexamples/morphologies/pyr_biophysics.nml create mode 100644 LEMSexamples/morphologies/pyr_full_morph_biophys.nml create mode 100644 LEMSexamples/morphologies/pyr_full_out.cell.nml create mode 100644 LEMSexamples/morphologies/pyr_morphology.cell.nml create mode 100644 LEMSexamples/morphologies/pyr_soma_m_in_b_in.cell.nml create mode 100644 LEMSexamples/morphologies/pyr_soma_m_in_b_out.cell.nml create mode 100644 LEMSexamples/morphologies/pyr_soma_m_out_b_in.cell.nml create mode 100644 LEMSexamples/morphologies/pyr_soma_m_out_b_out.cell.nml create mode 100644 LEMSexamples/morphologies/pyrfull_in.net.nml create mode 100644 LEMSexamples/morphologies/pyrfull_out.net.nml create mode 100755 LEMSexamples/morphologies/test_all.sh diff --git a/.gitignore b/.gitignore index e58f53e..0dfe0af 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,15 @@ examples/*.pov /LEMSexamples/tmp arm64 /examples/NML2_SingleCompHHCell.nml__flattened.xml +/LEMSexamples/morphologies/*.mod +/LEMSexamples/morphologies/*.c +/LEMSexamples/morphologies/*.so +*eden.py +*netpyne.py +*nrn.py +/LEMSexamples/morphologies/*.dat +/LEMSexamples/morphologies/*.hoc +/LEMSexamples/morphologies/NET_m_in_b_in.net.nml +/LEMSexamples/morphologies/simulator.props +/LEMSexamples/morphologies/NET_m_in_b_out.net.nml +/LEMSexamples/morphologies/NET_m_out_b_in.net.nml diff --git a/LEMSexamples/morphologies/.test.jnml.omt b/LEMSexamples/morphologies/.test.jnml.omt new file mode 100644 index 0000000..15552fa --- /dev/null +++ b/LEMSexamples/morphologies/.test.jnml.omt @@ -0,0 +1,17 @@ +# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation + +target: LEMS_m_in_b_in.xml +engine: jNeuroML +mep: .test.mep +experiments: + Current clamp pyramidal: + observables: + spike times: + file: + path: pyramidal_soma_0.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0.004018425953151025 diff --git a/LEMSexamples/morphologies/.test.jnmleden.multi.omt b/LEMSexamples/morphologies/.test.jnmleden.multi.omt new file mode 100644 index 0000000..584aad5 --- /dev/null +++ b/LEMSexamples/morphologies/.test.jnmleden.multi.omt @@ -0,0 +1,20 @@ +# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation + +target: LEMS_pyrfull_in.xml +engine: jNeuroML_EDEN +mep: .test.multi.mep +experiments: + Current clamp pyramidal: + observables: + spike times: + file: + path: pyramidals_0.0.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0.017719626168224333 + + + diff --git a/LEMSexamples/morphologies/.test.jnmleden.multi.out.omt b/LEMSexamples/morphologies/.test.jnmleden.multi.out.omt new file mode 100644 index 0000000..b81acec --- /dev/null +++ b/LEMSexamples/morphologies/.test.jnmleden.multi.out.omt @@ -0,0 +1,20 @@ +# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation + +target: LEMS_pyrfull_out.xml +engine: jNeuroML_EDEN +mep: .test.multi.mep +experiments: + Current clamp pyramidal: + observables: + spike times: + file: + path: pyramidals_0.0.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0.017719626168224333 + + + diff --git a/LEMSexamples/morphologies/.test.jnmleden.omt b/LEMSexamples/morphologies/.test.jnmleden.omt new file mode 100644 index 0000000..b488705 --- /dev/null +++ b/LEMSexamples/morphologies/.test.jnmleden.omt @@ -0,0 +1,17 @@ +# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation + +target: LEMS_m_in_b_in.xml +engine: jNeuroML_EDEN +mep: .test.mep +experiments: + Current clamp pyramidal: + observables: + spike times: + file: + path: pyramidal_soma_0.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0.0024858998690222445 diff --git a/LEMSexamples/morphologies/.test.jnmleden.out.omt b/LEMSexamples/morphologies/.test.jnmleden.out.omt new file mode 100644 index 0000000..e3a1926 --- /dev/null +++ b/LEMSexamples/morphologies/.test.jnmleden.out.omt @@ -0,0 +1,17 @@ +# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation + +target: LEMS_m_out_b_out.xml +engine: jNeuroML_EDEN +mep: .test.mep +experiments: + Current clamp pyramidal: + observables: + spike times: + file: + path: pyramidal_soma_0.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0.0024858998690222445 diff --git a/LEMSexamples/morphologies/.test.jnmlnetpyne.multi.omt b/LEMSexamples/morphologies/.test.jnmlnetpyne.multi.omt new file mode 100644 index 0000000..51aefcc --- /dev/null +++ b/LEMSexamples/morphologies/.test.jnmlnetpyne.multi.omt @@ -0,0 +1,20 @@ +# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation + +target: LEMS_pyrfull_in.xml +engine: jNeuroML_NetPyNE +mep: .test.multi.mep +experiments: + Current clamp pyramidal: + observables: + spike times: + file: + path: pyramidals_0.0.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0 + + + diff --git a/LEMSexamples/morphologies/.test.jnmlnetpyne.multi.out.omt b/LEMSexamples/morphologies/.test.jnmlnetpyne.multi.out.omt new file mode 100644 index 0000000..aa53dcc --- /dev/null +++ b/LEMSexamples/morphologies/.test.jnmlnetpyne.multi.out.omt @@ -0,0 +1,20 @@ +# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation + +target: LEMS_pyrfull_out.xml +engine: jNeuroML_NetPyNE +mep: .test.multi.mep +experiments: + Current clamp pyramidal: + observables: + spike times: + file: + path: pyramidals_0.0.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0 + + + diff --git a/LEMSexamples/morphologies/.test.jnmlnetpyne.omt b/LEMSexamples/morphologies/.test.jnmlnetpyne.omt new file mode 100644 index 0000000..f43719a --- /dev/null +++ b/LEMSexamples/morphologies/.test.jnmlnetpyne.omt @@ -0,0 +1,20 @@ +# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation + +target: LEMS_m_in_b_in.xml +engine: jNeuroML_NetPyNE +mep: .test.mep +experiments: + Current clamp pyramidal: + observables: + spike times: + file: + path: pyramidal_soma_0.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0 + + + diff --git a/LEMSexamples/morphologies/.test.jnmlnetpyne.out.omt b/LEMSexamples/morphologies/.test.jnmlnetpyne.out.omt new file mode 100644 index 0000000..4f3a609 --- /dev/null +++ b/LEMSexamples/morphologies/.test.jnmlnetpyne.out.omt @@ -0,0 +1,20 @@ +# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation + +target: LEMS_m_out_b_out.xml +engine: jNeuroML_NetPyNE +mep: .test.mep +experiments: + Current clamp pyramidal: + observables: + spike times: + file: + path: pyramidal_soma_0.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0 + + + diff --git a/LEMSexamples/morphologies/.test.jnmlnrn.multi.omt b/LEMSexamples/morphologies/.test.jnmlnrn.multi.omt new file mode 100644 index 0000000..6df86c8 --- /dev/null +++ b/LEMSexamples/morphologies/.test.jnmlnrn.multi.omt @@ -0,0 +1,20 @@ +# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation + +target: LEMS_pyrfull_in.xml +engine: jNeuroML_NEURON +mep: .test.multi.mep +experiments: + Current clamp pyramidal: + observables: + spike times: + file: + path: pyramidals_0.0.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0 + + + diff --git a/LEMSexamples/morphologies/.test.jnmlnrn.multi.out.omt b/LEMSexamples/morphologies/.test.jnmlnrn.multi.out.omt new file mode 100644 index 0000000..356c609 --- /dev/null +++ b/LEMSexamples/morphologies/.test.jnmlnrn.multi.out.omt @@ -0,0 +1,20 @@ +# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation + +target: LEMS_pyrfull_out.xml +engine: jNeuroML_NEURON +mep: .test.multi.mep +experiments: + Current clamp pyramidal: + observables: + spike times: + file: + path: pyramidals_0.0.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0 + + + diff --git a/LEMSexamples/morphologies/.test.jnmlnrn.omt b/LEMSexamples/morphologies/.test.jnmlnrn.omt new file mode 100644 index 0000000..191f96e --- /dev/null +++ b/LEMSexamples/morphologies/.test.jnmlnrn.omt @@ -0,0 +1,20 @@ +# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation + +target: LEMS_m_in_b_in.xml +engine: jNeuroML_NEURON +mep: .test.mep +experiments: + Current clamp pyramidal: + observables: + spike times: + file: + path: pyramidal_soma_0.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0 + + + diff --git a/LEMSexamples/morphologies/.test.jnmlnrn.out.omt b/LEMSexamples/morphologies/.test.jnmlnrn.out.omt new file mode 100644 index 0000000..4d47a59 --- /dev/null +++ b/LEMSexamples/morphologies/.test.jnmlnrn.out.omt @@ -0,0 +1,20 @@ +# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation + +target: LEMS_m_out_b_out.xml +engine: jNeuroML_NEURON +mep: .test.mep +experiments: + Current clamp pyramidal: + observables: + spike times: + file: + path: pyramidal_soma_0.dat + columns: [0,1] + scaling: [1000, 1000] + spike detection: + method: threshold + threshold: 0 + tolerance: 0 + + + diff --git a/LEMSexamples/morphologies/.test.mep b/LEMSexamples/morphologies/.test.mep new file mode 100644 index 0000000..88d6fa5 --- /dev/null +++ b/LEMSexamples/morphologies/.test.mep @@ -0,0 +1,6 @@ +system: Testing a single compartment cell + +experiments: + Current clamp pyramidal: + expected: + spike times: [102.49, 120.78, 148.66, 256.3125, 330.84000000000003, 408.0575, 484.6375, 561.1650000000001] diff --git a/LEMSexamples/morphologies/.test.multi.mep b/LEMSexamples/morphologies/.test.multi.mep new file mode 100644 index 0000000..741189f --- /dev/null +++ b/LEMSexamples/morphologies/.test.multi.mep @@ -0,0 +1,6 @@ +system: Testing a cell + +experiments: + Current clamp pyramidal: + expected: + spike times: [134.24, 401.25] diff --git a/LEMSexamples/morphologies/.test.validate.omt b/LEMSexamples/morphologies/.test.validate.omt new file mode 100644 index 0000000..7402c51 --- /dev/null +++ b/LEMSexamples/morphologies/.test.validate.omt @@ -0,0 +1,5 @@ +# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation + +# This test will validate all of the NeuroML 2 files in the current directory using: jnml -validate *.nml +target: "*cell.nml *channel.nml C*.nml" +engine: jNeuroML_validate diff --git a/LEMSexamples/morphologies/Ca_conc.nml b/LEMSexamples/morphologies/Ca_conc.nml new file mode 100644 index 0000000..985481f --- /dev/null +++ b/LEMSexamples/morphologies/Ca_conc.nml @@ -0,0 +1,8 @@ + + + + NeuroML file describing intracellular Calcium dynamics, from the Hippocampal CA3 neuron model presented in Traub et al., 1991. + + + + diff --git a/LEMSexamples/morphologies/Ca_pyr.channel.nml b/LEMSexamples/morphologies/Ca_pyr.channel.nml new file mode 100644 index 0000000..d878a9d --- /dev/null +++ b/LEMSexamples/morphologies/Ca_pyr.channel.nml @@ -0,0 +1,106 @@ + + + + NeuroML file containing a single Calcium Channel description, from the Hippocampal CA3 neuron model presented in Traub et al., 1991. + + + + NeuroML file containing a single Calcium Channel description, from the Hippocampal CA3 neuron model presented in Traub et al., 1991. + + + + + + + + + + + + + + Traub, R. D., Wong, R. K., Miles, R., and Michelson, H. (1991). A model of a CA3 hippocampal pyramidal neuron incorporating voltage-clamp data on intrinsic conductances. Journal of neurophysiology, 66(2), 635-50. + + + + + + + + + + + + + Ca channels + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/LEMSexamples/morphologies/Kahp_pyr.channel.nml b/LEMSexamples/morphologies/Kahp_pyr.channel.nml new file mode 100644 index 0000000..b3cfbaa --- /dev/null +++ b/LEMSexamples/morphologies/Kahp_pyr.channel.nml @@ -0,0 +1,106 @@ + + + + NeuroML file containing a single Calcium-dependent Potassium Channel description, from the Hippocampal CA3 neuron model presented in Traub et al., 1991. + + + + NeuroML file containing a single Calcium-dependent Potassium Channel description, from the Hippocampal CA3 neuron model presented in Traub et al., 1991. + + + + + + + + + + + + + + Traub, R. D., Wong, R. K., Miles, R., and Michelson, H. (1991). A model of a CA3 hippocampal pyramidal neuron incorporating voltage-clamp data on intrinsic conductances. Journal of neurophysiology, 66(2), 635-50. + + + + + + + + + + + + + K channels + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/LEMSexamples/morphologies/Kdr_pyr.channel.nml b/LEMSexamples/morphologies/Kdr_pyr.channel.nml new file mode 100644 index 0000000..20364ae --- /dev/null +++ b/LEMSexamples/morphologies/Kdr_pyr.channel.nml @@ -0,0 +1,60 @@ + + + + NeuroML file containing a single Potassium Channel description, from the Hippocampal CA3 neuron model presented in Traub et al., 1991. + + + + NeuroML file containing a single Potassium Channel description, from the Hippocampal CA3 neuron model presented in Traub et al., 1991. + + + + + + + + + + + + + + Traub, R. D., Wong, R. K., Miles, R., and Michelson, H. (1991). A model of a CA3 hippocampal pyramidal neuron incorporating voltage-clamp data on intrinsic conductances. Journal of neurophysiology, 66(2), 635-50. + + + + + + + + + + + + + K channels + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/LEMSexamples/morphologies/LEMS_m_in_b_in.xml b/LEMSexamples/morphologies/LEMS_m_in_b_in.xml new file mode 100644 index 0000000..993aed2 --- /dev/null +++ b/LEMSexamples/morphologies/LEMS_m_in_b_in.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/LEMS_m_in_b_out.xml b/LEMSexamples/morphologies/LEMS_m_in_b_out.xml new file mode 100644 index 0000000..f1f325f --- /dev/null +++ b/LEMSexamples/morphologies/LEMS_m_in_b_out.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/LEMS_m_out_b_in.xml b/LEMSexamples/morphologies/LEMS_m_out_b_in.xml new file mode 100644 index 0000000..dfb2434 --- /dev/null +++ b/LEMSexamples/morphologies/LEMS_m_out_b_in.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/LEMS_m_out_b_out.xml b/LEMSexamples/morphologies/LEMS_m_out_b_out.xml new file mode 100644 index 0000000..8055450 --- /dev/null +++ b/LEMSexamples/morphologies/LEMS_m_out_b_out.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/LEMS_pyrfull_in.xml b/LEMSexamples/morphologies/LEMS_pyrfull_in.xml new file mode 100644 index 0000000..32a9647 --- /dev/null +++ b/LEMSexamples/morphologies/LEMS_pyrfull_in.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/LEMS_pyrfull_out.xml b/LEMSexamples/morphologies/LEMS_pyrfull_out.xml new file mode 100644 index 0000000..e91c7c7 --- /dev/null +++ b/LEMSexamples/morphologies/LEMS_pyrfull_out.xml @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/LeakConductance_pyr.channel.nml b/LEMSexamples/morphologies/LeakConductance_pyr.channel.nml new file mode 100644 index 0000000..ecfb8b7 --- /dev/null +++ b/LEMSexamples/morphologies/LeakConductance_pyr.channel.nml @@ -0,0 +1,13 @@ + + + + NeuroML file containing a single Channel description + + + + Passive conductance for pyramidal cell + + + + + diff --git a/LEMSexamples/morphologies/Na_pyr.channel.nml b/LEMSexamples/morphologies/Na_pyr.channel.nml new file mode 100644 index 0000000..5d0ff83 --- /dev/null +++ b/LEMSexamples/morphologies/Na_pyr.channel.nml @@ -0,0 +1,68 @@ + + + + NeuroML file containing a single Sodium Channel description, from the Hippocampal CA3 neuron model presented in Traub et al., 1991. + + + + NeuroML file containing a single Sodium Channel description, from the Hippocampal CA3 neuron model presented in Traub et al., 1991. + + + + + + + + + + + + + + Traub, R. D., Wong, R. K., Miles, R., and Michelson, H. (1991). A model of a CA3 hippocampal pyramidal neuron incorporating voltage-clamp data on intrinsic conductances. Journal of neurophysiology, 66(2), 635-50. + + + + + + + + + + + + + Na channels + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/LEMSexamples/morphologies/README.md b/LEMSexamples/morphologies/README.md new file mode 100644 index 0000000..5bd53d5 --- /dev/null +++ b/LEMSexamples/morphologies/README.md @@ -0,0 +1,47 @@ +## Examples with tests for various ways to include `` and `` in `` + + +See https://github.com/NeuroML/NeuroML2/issues/150 for background. + +Cells with morphologies and biophysical properties can be expressed as: + +```xml + +... + + + + ... + + + + + ... + + + +``` +or +```xml + + ... + + + + + + + + ... + + + + + ... + + +``` +See [pyr_soma_m_in_b_in.cell.nml](pyr_soma_m_in_b_in.cell.nml), [pyr_soma_m_out_b_in.cell.nml](pyr_soma_m_out_b_in.cell.nml), [pyr_soma_m_in_b_out.cell.nml](pyr_soma_m_in_b_out.cell.nml), [pyr_full_out.cell.nml](pyr_full_out.cell.nml) etc. + + + diff --git a/LEMSexamples/morphologies/network_m_out_b_out.net.nml b/LEMSexamples/morphologies/network_m_out_b_out.net.nml new file mode 100644 index 0000000..5b89a3d --- /dev/null +++ b/LEMSexamples/morphologies/network_m_out_b_out.net.nml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/pyr_4_sym.cell.nml b/LEMSexamples/morphologies/pyr_4_sym.cell.nml new file mode 100644 index 0000000..dda6278 --- /dev/null +++ b/LEMSexamples/morphologies/pyr_4_sym.cell.nml @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + A simplified pyramidal cell model with 9 compartments + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/LEMSexamples/morphologies/pyr_4_sym_soma_morph.nml b/LEMSexamples/morphologies/pyr_4_sym_soma_morph.nml new file mode 100644 index 0000000..9154b8a --- /dev/null +++ b/LEMSexamples/morphologies/pyr_4_sym_soma_morph.nml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/pyr_biophysics.nml b/LEMSexamples/morphologies/pyr_biophysics.nml new file mode 100644 index 0000000..b90938d --- /dev/null +++ b/LEMSexamples/morphologies/pyr_biophysics.nml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/pyr_full_morph_biophys.nml b/LEMSexamples/morphologies/pyr_full_morph_biophys.nml new file mode 100644 index 0000000..28a2561 --- /dev/null +++ b/LEMSexamples/morphologies/pyr_full_morph_biophys.nml @@ -0,0 +1,241 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/LEMSexamples/morphologies/pyr_full_out.cell.nml b/LEMSexamples/morphologies/pyr_full_out.cell.nml new file mode 100644 index 0000000..9d335f5 --- /dev/null +++ b/LEMSexamples/morphologies/pyr_full_out.cell.nml @@ -0,0 +1,13 @@ + + + + + + + + + A simplified pyramidal cell model with 9 compartments + + + + diff --git a/LEMSexamples/morphologies/pyr_morphology.cell.nml b/LEMSexamples/morphologies/pyr_morphology.cell.nml new file mode 100644 index 0000000..9590c14 --- /dev/null +++ b/LEMSexamples/morphologies/pyr_morphology.cell.nml @@ -0,0 +1,201 @@ + + + + + + + + Just the morphology + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/LEMSexamples/morphologies/pyr_soma_m_in_b_in.cell.nml b/LEMSexamples/morphologies/pyr_soma_m_in_b_in.cell.nml new file mode 100644 index 0000000..b0561c8 --- /dev/null +++ b/LEMSexamples/morphologies/pyr_soma_m_in_b_in.cell.nml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + A single segment/compartment cell + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/pyr_soma_m_in_b_out.cell.nml b/LEMSexamples/morphologies/pyr_soma_m_in_b_out.cell.nml new file mode 100644 index 0000000..7b11f33 --- /dev/null +++ b/LEMSexamples/morphologies/pyr_soma_m_in_b_out.cell.nml @@ -0,0 +1,39 @@ + + + + + + + + A single segment/compartment cell + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/pyr_soma_m_out_b_in.cell.nml b/LEMSexamples/morphologies/pyr_soma_m_out_b_in.cell.nml new file mode 100644 index 0000000..8aa95c4 --- /dev/null +++ b/LEMSexamples/morphologies/pyr_soma_m_out_b_in.cell.nml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + A single segment/compartment cell + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/pyr_soma_m_out_b_out.cell.nml b/LEMSexamples/morphologies/pyr_soma_m_out_b_out.cell.nml new file mode 100644 index 0000000..506ef23 --- /dev/null +++ b/LEMSexamples/morphologies/pyr_soma_m_out_b_out.cell.nml @@ -0,0 +1,13 @@ + + + + + + + + + A single segment/compartment cell + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/pyrfull_in.net.nml b/LEMSexamples/morphologies/pyrfull_in.net.nml new file mode 100644 index 0000000..6abb92c --- /dev/null +++ b/LEMSexamples/morphologies/pyrfull_in.net.nml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/pyrfull_out.net.nml b/LEMSexamples/morphologies/pyrfull_out.net.nml new file mode 100644 index 0000000..d994109 --- /dev/null +++ b/LEMSexamples/morphologies/pyrfull_out.net.nml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LEMSexamples/morphologies/test_all.sh b/LEMSexamples/morphologies/test_all.sh new file mode 100755 index 0000000..c35aa7e --- /dev/null +++ b/LEMSexamples/morphologies/test_all.sh @@ -0,0 +1,29 @@ +#!/bin/bash +set -ex + +pynml -validate C*nml *cell.nml *channel.nml + +pynml-summary pyr_soma_m_in_b_in.cell.nml -v +pynml-summary pyr_soma_m_in_b_out.cell.nml -v +pynml-summary pyr_soma_m_out_b_in.cell.nml -v +pynml-summary pyr_soma_m_out_b_out.cell.nml -v + +pynml LEMS_m_in_b_in.xml -nogui + +pynml LEMS_m_in_b_in.xml -neuron -run -nogui +pynml LEMS_m_in_b_out.xml -neuron -run -nogui +pynml LEMS_m_out_b_in.xml -neuron -run -nogui +pynml LEMS_m_out_b_out.xml -neuron -run -nogui + +pynml LEMS_m_in_b_in.xml -netpyne -run +pynml LEMS_m_in_b_out.xml -netpyne -run +pynml LEMS_m_out_b_in.xml -netpyne -run +pynml LEMS_m_out_b_out.xml -netpyne -run + +pynml LEMS_pyrfull_in.xml -neuron -run -nogui +pynml LEMS_pyrfull_in.xml -netpyne -run + +pynml LEMS_pyrfull_out.xml -neuron -run -nogui +pynml LEMS_pyrfull_out.xml -netpyne -run + +echo "All tests completed!"