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!"
| |