From 2fa06ef241310dfb8eca31d232f9182159e75d09 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Thu, 21 Sep 2023 11:39:53 +0100 Subject: [PATCH 01/27] Regenerate using latest libnml libs --- examples/LEMS_SimExample3.xml | 2 +- examples/LEMS_SimExample4.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/LEMS_SimExample3.xml b/examples/LEMS_SimExample3.xml index c683160..c84d2c3 100644 --- a/examples/LEMS_SimExample3.xml +++ b/examples/LEMS_SimExample3.xml @@ -2,7 +2,7 @@ diff --git a/examples/LEMS_SimExample4.xml b/examples/LEMS_SimExample4.xml index 449619e..8c3c6ac 100644 --- a/examples/LEMS_SimExample4.xml +++ b/examples/LEMS_SimExample4.xml @@ -2,7 +2,7 @@ From 67d3bb00d38ca6b732466a2f6424ffb076b2e3ae Mon Sep 17 00:00:00 2001 From: pgleeson Date: Fri, 22 Sep 2023 16:52:16 +0100 Subject: [PATCH 02/27] To v0.5.8 --- docs/NeuroMLlite_specification.json | 2 +- docs/NeuroMLlite_specification.yaml | 2 +- docs/README.md | 2 +- examples/Example10_Lorenz.json | 2 +- examples/Example11_Synapses.json | 2 +- examples/Example11_Synapses.net.nml | 2 +- examples/Example12_MultiComp.json | 2 +- examples/Example1_TestNetwork.json | 2 +- examples/Example2_TestNetwork.json | 2 +- examples/Example2_TestNetwork.net.nml | 2 +- examples/Example3_Network.json | 2 +- examples/Example3_Network.net.nml | 2 +- examples/Example4_PyNN.json | 2 +- examples/Example4_PyNN.net.nml | 2 +- examples/Example4_PyNN.yaml | 2 +- examples/Example6_PyNN.json | 2 +- examples/Example6_PyNN.net.nml | 2 +- examples/Example6_PyNN_noinputs.json | 2 +- examples/Example6_PyNN_noinputs.net.nml | 2 +- examples/Example7_Brunel2000.json | 2 +- examples/Example7_Brunel2000.net.nml | 2 +- examples/Example8_Extension.json | 2 +- examples/Example9_HindmarshRose.json | 2 +- examples/SimExample10.json | 2 +- examples/SimExample11.json | 2 +- examples/SimExample12_MultiComp.json | 2 +- examples/SimExample3.json | 2 +- examples/SimExample4.json | 2 +- examples/SimExample4.yaml | 2 +- examples/SimExample6_PyNN.json | 2 +- examples/SimExample7.json | 2 +- examples/SimExample8.json | 2 +- examples/SimExample9.json | 2 +- examples/arbor/ArborExample.json | 2 +- examples/arbor/ArborExample.yaml | 2 +- examples/arbor/SimArborExample.json | 2 +- examples/arbor/SimArborExample.yaml | 2 +- examples/spikeratetest/SimSpikers.json | 2 +- examples/spikeratetest/Spikers.json | 2 +- neuromllite/__init__.py | 2 +- 40 files changed, 40 insertions(+), 40 deletions(-) diff --git a/docs/NeuroMLlite_specification.json b/docs/NeuroMLlite_specification.json index 48f192e..9aeefa5 100644 --- a/docs/NeuroMLlite_specification.json +++ b/docs/NeuroMLlite_specification.json @@ -1,5 +1,5 @@ { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "specification": { "Network": { "definition": "A Network containing multiple Population's, connected by Projection's and receiving Input's", diff --git a/docs/NeuroMLlite_specification.yaml b/docs/NeuroMLlite_specification.yaml index c05d843..13278f1 100644 --- a/docs/NeuroMLlite_specification.yaml +++ b/docs/NeuroMLlite_specification.yaml @@ -1,4 +1,4 @@ -version: NeuroMLlite v0.5.7 +version: NeuroMLlite v0.5.8 specification: Network: definition: A Network containing multiple Population's, connected by Projection's diff --git a/docs/README.md b/docs/README.md index 1833050..a814b0d 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,4 +1,4 @@ -# Specification of NeuroMLlite v0.5.7 +# Specification of NeuroMLlite v0.5.8 **Note: the NeuroMLlite specification is still in development! Subject to change...** ## Network diff --git a/examples/Example10_Lorenz.json b/examples/Example10_Lorenz.json index 5380a74..065cecf 100644 --- a/examples/Example10_Lorenz.json +++ b/examples/Example10_Lorenz.json @@ -1,6 +1,6 @@ { "Example10_Lorenz": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "notes": "Example 10: Lorenz", "parameters": { "N": 1, diff --git a/examples/Example11_Synapses.json b/examples/Example11_Synapses.json index e8a3ace..1800533 100644 --- a/examples/Example11_Synapses.json +++ b/examples/Example11_Synapses.json @@ -1,6 +1,6 @@ { "Example11_Synapses": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "notes": "Example 11: synaptic properties", "parameters": { "input_amp": 0.23, diff --git a/examples/Example11_Synapses.net.nml b/examples/Example11_Synapses.net.nml index 34f2db2..7d37090 100644 --- a/examples/Example11_Synapses.net.nml +++ b/examples/Example11_Synapses.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.7 + Generated by NeuroMLlite v0.5.8 Generated network: Example11_Synapses Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example12_MultiComp.json b/examples/Example12_MultiComp.json index 899d352..8fdbfc3 100644 --- a/examples/Example12_MultiComp.json +++ b/examples/Example12_MultiComp.json @@ -1,6 +1,6 @@ { "Example12_MultiComp": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "notes": "Example 12: Multicompartmental cells...", "parameters": { "N": 20, diff --git a/examples/Example1_TestNetwork.json b/examples/Example1_TestNetwork.json index 76a405a..0fde5be 100644 --- a/examples/Example1_TestNetwork.json +++ b/examples/Example1_TestNetwork.json @@ -1,6 +1,6 @@ { "TestNetwork": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "notes": "A simple network with 2 populations & projection between them. No info yet on what the cells are so network can't be simulated.", "populations": { "pop0": { diff --git a/examples/Example2_TestNetwork.json b/examples/Example2_TestNetwork.json index 42e386d..e900634 100644 --- a/examples/Example2_TestNetwork.json +++ b/examples/Example2_TestNetwork.json @@ -1,6 +1,6 @@ { "Example2_TestNetwork": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "notes": "A simple network with 2 populations & projection between them. Cells are specified to be NeuroML 2 HH cell models & pre population is given a spiking input.", "cells": { "hhcell": { diff --git a/examples/Example2_TestNetwork.net.nml b/examples/Example2_TestNetwork.net.nml index e1de4e8..0d65062 100644 --- a/examples/Example2_TestNetwork.net.nml +++ b/examples/Example2_TestNetwork.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.7 + Generated by NeuroMLlite v0.5.8 Generated network: Example2_TestNetwork Generation seed: 1234 diff --git a/examples/Example3_Network.json b/examples/Example3_Network.json index a323ac5..1b58f99 100644 --- a/examples/Example3_Network.json +++ b/examples/Example3_Network.json @@ -1,6 +1,6 @@ { "Example3_Network": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "notes": "Example 3: simple network with 2 populations of NeuroML2 cells, a projection between them and spiking input.", "cells": { "hhcell": { diff --git a/examples/Example3_Network.net.nml b/examples/Example3_Network.net.nml index 8993003..c251a6e 100644 --- a/examples/Example3_Network.net.nml +++ b/examples/Example3_Network.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.7 + Generated by NeuroMLlite v0.5.8 Generated network: Example3_Network Generation seed: 1234 diff --git a/examples/Example4_PyNN.json b/examples/Example4_PyNN.json index 69ae655..a3a5693 100644 --- a/examples/Example4_PyNN.json +++ b/examples/Example4_PyNN.json @@ -1,6 +1,6 @@ { "Example4_PyNN": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "notes": "Example 4: a network with PyNN cells & inputs", "parameters": { "input_amp": 0.99 diff --git a/examples/Example4_PyNN.net.nml b/examples/Example4_PyNN.net.nml index 20d156f..c12e585 100644 --- a/examples/Example4_PyNN.net.nml +++ b/examples/Example4_PyNN.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.7 + Generated by NeuroMLlite v0.5.8 Generated network: Example4_PyNN Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example4_PyNN.yaml b/examples/Example4_PyNN.yaml index b9895fb..bdb808a 100644 --- a/examples/Example4_PyNN.yaml +++ b/examples/Example4_PyNN.yaml @@ -1,5 +1,5 @@ Example4_PyNN: - version: NeuroMLlite v0.5.7 + version: NeuroMLlite v0.5.8 notes: 'Example 4: a network with PyNN cells & inputs' parameters: input_amp: 0.99 diff --git a/examples/Example6_PyNN.json b/examples/Example6_PyNN.json index 90719f4..fdac4b0 100644 --- a/examples/Example6_PyNN.json +++ b/examples/Example6_PyNN.json @@ -1,6 +1,6 @@ { "Example6_PyNN": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "notes": "Another network for PyNN - work in progress...", "parameters": { "N_scaling": 0.005, diff --git a/examples/Example6_PyNN.net.nml b/examples/Example6_PyNN.net.nml index 4fe9d45..97050c1 100644 --- a/examples/Example6_PyNN.net.nml +++ b/examples/Example6_PyNN.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.7 + Generated by NeuroMLlite v0.5.8 Generated network: Example6_PyNN Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example6_PyNN_noinputs.json b/examples/Example6_PyNN_noinputs.json index a141bf4..96b61aa 100644 --- a/examples/Example6_PyNN_noinputs.json +++ b/examples/Example6_PyNN_noinputs.json @@ -1,6 +1,6 @@ { "Example6_PyNN_noinputs": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "notes": "Another network for PyNN - work in progress...", "parameters": { "N_scaling": 0.005, diff --git a/examples/Example6_PyNN_noinputs.net.nml b/examples/Example6_PyNN_noinputs.net.nml index acc00d0..b059cb8 100644 --- a/examples/Example6_PyNN_noinputs.net.nml +++ b/examples/Example6_PyNN_noinputs.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.7 + Generated by NeuroMLlite v0.5.8 Generated network: Example6_PyNN_noinputs Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example7_Brunel2000.json b/examples/Example7_Brunel2000.json index 1876d95..8c3c453 100644 --- a/examples/Example7_Brunel2000.json +++ b/examples/Example7_Brunel2000.json @@ -1,6 +1,6 @@ { "Example7_Brunel2000": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "notes": "Example 7: based on network of Brunel 2000", "parameters": { "g": 4, diff --git a/examples/Example7_Brunel2000.net.nml b/examples/Example7_Brunel2000.net.nml index 767a913..7f5f39e 100644 --- a/examples/Example7_Brunel2000.net.nml +++ b/examples/Example7_Brunel2000.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.7 + Generated by NeuroMLlite v0.5.8 Generated network: Example7_Brunel2000 Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example8_Extension.json b/examples/Example8_Extension.json index ca00411..54e1c9c 100644 --- a/examples/Example8_Extension.json +++ b/examples/Example8_Extension.json @@ -1,6 +1,6 @@ { "Example8_Extension": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "notes": "Example 8: general testing...", "parameters": { "N": 10, diff --git a/examples/Example9_HindmarshRose.json b/examples/Example9_HindmarshRose.json index 7792ec6..aac74ca 100644 --- a/examples/Example9_HindmarshRose.json +++ b/examples/Example9_HindmarshRose.json @@ -1,6 +1,6 @@ { "Example9_HindmarshRose": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "notes": "Example 9: HindmarshRose", "parameters": { "N": 1, diff --git a/examples/SimExample10.json b/examples/SimExample10.json index 3326ea9..c2909f7 100644 --- a/examples/SimExample10.json +++ b/examples/SimExample10.json @@ -1,6 +1,6 @@ { "SimExample10": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "network": "Example10_Lorenz.json", "duration": 10000.0, "dt": 1.0, diff --git a/examples/SimExample11.json b/examples/SimExample11.json index e816096..323c0b4 100644 --- a/examples/SimExample11.json +++ b/examples/SimExample11.json @@ -1,6 +1,6 @@ { "SimExample11": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "network": "Example11_Synapses.json", "duration": 1000.0, "dt": 0.01, diff --git a/examples/SimExample12_MultiComp.json b/examples/SimExample12_MultiComp.json index 7833778..f1c808b 100644 --- a/examples/SimExample12_MultiComp.json +++ b/examples/SimExample12_MultiComp.json @@ -1,6 +1,6 @@ { "SimExample12_MultiComp": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "network": "Example12_MultiComp.json", "duration": 1000.0, "dt": 0.025, diff --git a/examples/SimExample3.json b/examples/SimExample3.json index 30e11d9..f921f10 100644 --- a/examples/SimExample3.json +++ b/examples/SimExample3.json @@ -1,6 +1,6 @@ { "SimExample3": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "network": "Example3_Network.json", "duration": 1000.0, "dt": 0.025, diff --git a/examples/SimExample4.json b/examples/SimExample4.json index 309083d..1808ac5 100644 --- a/examples/SimExample4.json +++ b/examples/SimExample4.json @@ -1,6 +1,6 @@ { "SimExample4": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "network": "Example4_PyNN.json", "duration": 1000.0, "dt": 0.01, diff --git a/examples/SimExample4.yaml b/examples/SimExample4.yaml index 875fcf9..2c8dfff 100644 --- a/examples/SimExample4.yaml +++ b/examples/SimExample4.yaml @@ -1,5 +1,5 @@ SimExample4: - version: NeuroMLlite v0.5.7 + version: NeuroMLlite v0.5.8 network: Example4_PyNN.yaml duration: 1000.0 dt: 0.01 diff --git a/examples/SimExample6_PyNN.json b/examples/SimExample6_PyNN.json index a0686d6..3828e7e 100644 --- a/examples/SimExample6_PyNN.json +++ b/examples/SimExample6_PyNN.json @@ -1,6 +1,6 @@ { "SimExample6_PyNN": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "network": "Example6_PyNN.json", "duration": 100.0, "dt": 0.025, diff --git a/examples/SimExample7.json b/examples/SimExample7.json index b827ae4..673b763 100644 --- a/examples/SimExample7.json +++ b/examples/SimExample7.json @@ -1,6 +1,6 @@ { "SimExample7": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "network": "Example7_Brunel2000.json", "duration": 1000.0, "dt": 0.025, diff --git a/examples/SimExample8.json b/examples/SimExample8.json index e7924ab..6ac6391 100644 --- a/examples/SimExample8.json +++ b/examples/SimExample8.json @@ -1,6 +1,6 @@ { "SimExample8": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "network": "Example8_Extension.json", "duration": 1000.0, "dt": 0.025, diff --git a/examples/SimExample9.json b/examples/SimExample9.json index 31eefa7..654ecc6 100644 --- a/examples/SimExample9.json +++ b/examples/SimExample9.json @@ -1,6 +1,6 @@ { "SimExample9": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "network": "Example9_HindmarshRose.json", "duration": 1000000.0, "dt": 25.0, diff --git a/examples/arbor/ArborExample.json b/examples/arbor/ArborExample.json index 3b7acec..e2a9d33 100644 --- a/examples/arbor/ArborExample.json +++ b/examples/arbor/ArborExample.json @@ -1,6 +1,6 @@ { "ArborExample": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "notes": "Example for testing Arbor", "parameters": { "v_init": -50, diff --git a/examples/arbor/ArborExample.yaml b/examples/arbor/ArborExample.yaml index f3d8586..7a76208 100644 --- a/examples/arbor/ArborExample.yaml +++ b/examples/arbor/ArborExample.yaml @@ -1,5 +1,5 @@ ArborExample: - version: NeuroMLlite v0.5.7 + version: NeuroMLlite v0.5.8 notes: Example for testing Arbor parameters: v_init: -50 diff --git a/examples/arbor/SimArborExample.json b/examples/arbor/SimArborExample.json index ca27e3b..c36d797 100644 --- a/examples/arbor/SimArborExample.json +++ b/examples/arbor/SimArborExample.json @@ -1,6 +1,6 @@ { "SimArborExample": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "network": "ArborExample.json", "duration": 100.0, "dt": 0.01, diff --git a/examples/arbor/SimArborExample.yaml b/examples/arbor/SimArborExample.yaml index 6951a5b..64d6ad6 100644 --- a/examples/arbor/SimArborExample.yaml +++ b/examples/arbor/SimArborExample.yaml @@ -1,5 +1,5 @@ SimArborExample: - version: NeuroMLlite v0.5.7 + version: NeuroMLlite v0.5.8 network: ArborExample.yaml duration: 100.0 dt: 0.01 diff --git a/examples/spikeratetest/SimSpikers.json b/examples/spikeratetest/SimSpikers.json index 65b72b0..13f4839 100644 --- a/examples/spikeratetest/SimSpikers.json +++ b/examples/spikeratetest/SimSpikers.json @@ -1,6 +1,6 @@ { "SimSpikers": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "network": "Spikers.json", "duration": 10000.0, "dt": 0.025, diff --git a/examples/spikeratetest/Spikers.json b/examples/spikeratetest/Spikers.json index 9ce401e..6cfb51e 100644 --- a/examples/spikeratetest/Spikers.json +++ b/examples/spikeratetest/Spikers.json @@ -1,6 +1,6 @@ { "Spikers": { - "version": "NeuroMLlite v0.5.7", + "version": "NeuroMLlite v0.5.8", "notes": "Example with spiking entities..", "parameters": { "N": 10, diff --git a/neuromllite/__init__.py b/neuromllite/__init__.py index ca81abc..2eefbe8 100644 --- a/neuromllite/__init__.py +++ b/neuromllite/__init__.py @@ -1,6 +1,6 @@ import collections -__version__ = "0.5.7" +__version__ = "0.5.8" # import pyNN # import nest From e33c26610e5a327d1f157f68d4d40d0a2a0a6829 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Fri, 29 Sep 2023 11:24:34 +0100 Subject: [PATCH 03/27] Updating sonata test example --- examples/sonatatest/SimSonataExample.json | 14 +-- examples/sonatatest/SonataExample.json | 116 ++++++++---------- examples/sonatatest/SonataExample.py | 4 +- examples/sonatatest/circuit_config.json | 20 +-- .../point_neuron_models_dir/testcell.json | 14 +-- examples/sonatatest/config.json | 2 +- .../network/SonataExample_node_types.csv | 4 +- .../network/SonataExample_nodes.sonata.h5 | Bin 7992 -> 7960 bytes examples/sonatatest/regenerateAndTest.sh | 8 ++ examples/sonatatest/run_bmtk.py | 16 +-- examples/sonatatest/run_pynml.jnml.sh | 3 +- examples/sonatatest/simulation_config.json | 68 +++++----- neuromllite/NetworkGenerator.py | 34 ++--- 13 files changed, 151 insertions(+), 152 deletions(-) create mode 100755 examples/sonatatest/regenerateAndTest.sh diff --git a/examples/sonatatest/SimSonataExample.json b/examples/sonatatest/SimSonataExample.json index ecac3c6..844b2a3 100644 --- a/examples/sonatatest/SimSonataExample.json +++ b/examples/sonatatest/SimSonataExample.json @@ -1,13 +1,13 @@ { "SimSonataExample": { - "version": "NeuroMLlite v0.1.9", - "network": "SonataExample.json", - "duration": 1000.0, - "dt": 0.01, - "recordTraces": { + "version": "NeuroMLlite v0.5.8", + "network": "SonataExample.json", + "duration": 1000.0, + "dt": 0.01, + "record_traces": { "all": "*" - }, - "recordSpikes": { + }, + "record_spikes": { "pop0": "*" } } diff --git a/examples/sonatatest/SonataExample.json b/examples/sonatatest/SonataExample.json index fdffef3..4e877db 100644 --- a/examples/sonatatest/SonataExample.json +++ b/examples/sonatatest/SonataExample.json @@ -1,74 +1,64 @@ { "SonataExample": { - "version": "NeuroMLlite v0.1.9", + "version": "NeuroMLlite v0.5.8", + "notes": "Example for testing Sonata", "parameters": { - "input_del": 100, - "input_dur": 800, - "input_amp": 0.19 - }, - "notes": "Example for testing Sonata", - "cells": [ - { - "testcell": { - "pynn_cell": "IF_cond_alpha", - "parameters": { - "tau_refrac": 3, - "tau_m": 22.1, - "i_offset": 0, - "cm": 0.117, - "v_thresh": -47, - "v_rest": -78, - "v_reset": -50 - } - } + "input_amp": 0.19, + "input_del": 100, + "input_dur": 800 + }, + "cells": { + "testcell": { + "parameters": { + "i_offset": 0, + "cm": 0.117, + "tau_m": 22.1, + "tau_refrac": 3, + "v_reset": -50, + "v_rest": -78, + "v_thresh": -47 + }, + "pynn_cell": "IF_cond_alpha" } - ], - "input_sources": [ - { - "i_clamp": { - "pynn_input": "DCSource", - "parameters": { - "start": "input_del", - "stop": "input_del+input_dur", - "amplitude": "input_amp" - } - } + }, + "input_sources": { + "i_clamp": { + "parameters": { + "amplitude": "input_amp", + "start": "input_del", + "stop": "input_del+input_dur" + }, + "pynn_input": "DCSource" } - ], - "regions": [ - { - "region1": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "width": 1000.0, - "height": 100.0, - "depth": 1000.0 - } + }, + "regions": { + "region1": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "width": 1000.0, + "height": 100.0, + "depth": 1000.0 } - ], - "populations": [ - { - "pop0": { - "size": 2, - "component": "testcell", - "properties": { - "color": "1 0 0" - }, - "random_layout": { - "region": "region1" - } + }, + "populations": { + "pop0": { + "size": 2, + "component": "testcell", + "properties": { + "color": "1 0 0" + }, + "random_layout": { + "region": "region1" } } - ], - "inputs": [ - { - "stim": { - "input_source": "i_clamp", - "population": "pop0", - "percentage": 50.0 - } + }, + "inputs": { + "stim": { + "input_source": "i_clamp", + "population": "pop0", + "percentage": 50 } - ] + } } } \ No newline at end of file diff --git a/examples/sonatatest/SonataExample.py b/examples/sonatatest/SonataExample.py index 7c74bae..cd42d3d 100644 --- a/examples/sonatatest/SonataExample.py +++ b/examples/sonatatest/SonataExample.py @@ -106,8 +106,8 @@ network=new_file, duration="1000", dt="0.01", - recordTraces={"all": "*"}, - recordSpikes={"pop0": "*"}, + record_traces={"all": "*"}, + record_spikes={"pop0": "*"}, ) sim.to_json_file() diff --git a/examples/sonatatest/circuit_config.json b/examples/sonatatest/circuit_config.json index 787cd75..1731543 100644 --- a/examples/sonatatest/circuit_config.json +++ b/examples/sonatatest/circuit_config.json @@ -1,18 +1,18 @@ { + "manifest": { + "$NETWORK_DIR": "./network", + "$COMPONENT_DIR": "./components" + }, + "components": { + "synaptic_models_dir": "$COMPONENT_DIR/synaptic_models", + "point_neuron_models_dir": "$COMPONENT_DIR/point_neuron_models_dir" + }, "networks": { "nodes": [ { - "node_types_file": "$NETWORK_DIR/SonataExample_node_types.csv", - "nodes_file": "$NETWORK_DIR/SonataExample_nodes.sonata.h5" + "nodes_file": "$NETWORK_DIR/SonataExample_nodes.sonata.h5", + "node_types_file": "$NETWORK_DIR/SonataExample_node_types.csv" } ] - }, - "components": { - "point_neuron_models_dir": "$COMPONENT_DIR/point_neuron_models_dir", - "synaptic_models_dir": "$COMPONENT_DIR/synaptic_models" - }, - "manifest": { - "$NETWORK_DIR": "./network", - "$COMPONENT_DIR": "./components" } } \ No newline at end of file diff --git a/examples/sonatatest/components/point_neuron_models_dir/testcell.json b/examples/sonatatest/components/point_neuron_models_dir/testcell.json index 894d196..c9ffe0b 100644 --- a/examples/sonatatest/components/point_neuron_models_dir/testcell.json +++ b/examples/sonatatest/components/point_neuron_models_dir/testcell.json @@ -1,9 +1,9 @@ { - "tau_m": 22.1, - "V_th": -47.0, - "I_e": 0.0, - "C_m": 117.0, - "V_reset": -50.0, - "t_ref": 3.0, - "E_L": -78.0 + "E_L": -78.0, + "C_m": 117.0, + "tau_m": 22.1, + "t_ref": 3.0, + "V_th": -47.0, + "V_reset": -50.0, + "I_e": 0.0 } \ No newline at end of file diff --git a/examples/sonatatest/config.json b/examples/sonatatest/config.json index 0a8af5b..9591b8f 100644 --- a/examples/sonatatest/config.json +++ b/examples/sonatatest/config.json @@ -1,4 +1,4 @@ { - "network": "./circuit_config.json", + "network": "./circuit_config.json", "simulation": "./simulation_config.json" } \ No newline at end of file diff --git a/examples/sonatatest/network/SonataExample_node_types.csv b/examples/sonatatest/network/SonataExample_node_types.csv index 8d048ed..7e6a49c 100644 --- a/examples/sonatatest/network/SonataExample_node_types.csv +++ b/examples/sonatatest/network/SonataExample_node_types.csv @@ -1,2 +1,2 @@ -node_type_id dynamics_params pop_name model_template model_type model_name -100 testcell.json pop0 nest:iaf_psc_alpha point_process testcell +node_type_id pop_name model_name model_template model_type dynamics_params +100 pop0 testcell nest:iaf_psc_alpha point_process testcell.json diff --git a/examples/sonatatest/network/SonataExample_nodes.sonata.h5 b/examples/sonatatest/network/SonataExample_nodes.sonata.h5 index 58516620b2d336096e56fd769e099e7ee4e1da58..6a720e3b669679f1de13bbbdcfc43d6f9accd183 100644 GIT binary patch delta 495 zcmdmCH^Xj%2BXA8O-p$e21W)31_>Yr0RbQc0R?6-#V})HqdH^7#+8$q7#SwpGP?uG zR%YYL57;F*A3&8bO#aEN&e*V7kwu(|QDL$rTfXEDs1(R#5P&P)e2~qYk@E#RM3`eT zBZoR;$7W3qpw5iRj$HXt2cS|gop7aG8#l@^g6!q`zzxwYz&H69vl`O_fsL#9m?k^$ zaWEQ8_TYr0RbQc0R?6-#js;yqdMb^jVmWJF|tgyWp)RW zt<1(iNr{OYWhWnCm*8Yzfv8lNe3Mz7alvLr7I7vaMv%Q+0z42U27HrmF{?2# zNN!xk$23`ikApE_vL;`?<_m6ABM|DLwn8X|h{*@})R{b_CT^7Dw1A3bOcvx Date: Fri, 29 Sep 2023 11:33:14 +0100 Subject: [PATCH 04/27] Some black formatting --- examples/sonatatest/run_bmtk.py | 15 ++++++--------- neuromllite/MDFHandler.py | 2 +- neuromllite/NetworkGenerator.py | 19 +++++++++---------- neuromllite/utils.py | 2 ++ 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/examples/sonatatest/run_bmtk.py b/examples/sonatatest/run_bmtk.py index 276f4eb..17006e5 100644 --- a/examples/sonatatest/run_bmtk.py +++ b/examples/sonatatest/run_bmtk.py @@ -2,17 +2,17 @@ import sys -def run(config_file, simulator): - if simulator=='NEURON': +def run(config_file, simulator): + if simulator == "NEURON": from bmtk.simulator import bionet + conf = bionet.Config.from_json(config_file, validate=True) conf.build_env() net = bionet.BioNetwork.from_config(conf) sim = bionet.BioSimulator.from_config(conf, network=net) - - elif simulator=='NEST': + elif simulator == "NEST": from bmtk.simulator import pointnet conf = pointnet.Config.from_json(config_file) conf.build_env() @@ -22,8 +22,5 @@ def run(config_file, simulator): sim.run() -if __name__ == '__main__': - - run('config.json', 'NEST') - - \ No newline at end of file +if __name__ == "__main__": + run("config.json", "NEST") \ No newline at end of file diff --git a/neuromllite/MDFHandler.py b/neuromllite/MDFHandler.py index b6bb48e..84295e5 100644 --- a/neuromllite/MDFHandler.py +++ b/neuromllite/MDFHandler.py @@ -409,7 +409,7 @@ def _comp_to_mdf_node(self, nmllite_comp, lems_comp_id, size=1, properties=None) # node["parameters"][sv.name]["value"] = [0]*size node["output_ports"][sv.name] = {"value": sv.name} - print_v("Adding %s as an output port"%sv.name) + print_v("Adding %s as an output port" % sv.name) if sv.exposure: node["output_ports"][sv.exposure] = {"value": sv.name} diff --git a/neuromllite/NetworkGenerator.py b/neuromllite/NetworkGenerator.py index e4b6fec..0e2182c 100644 --- a/neuromllite/NetworkGenerator.py +++ b/neuromllite/NetworkGenerator.py @@ -410,7 +410,9 @@ def generate_network( if input.weight else 1 ) - if flip * 100.0 < evaluate(input.percentage, nl_model.parameters, rng): + if flip * 100.0 < evaluate( + input.percentage, nl_model.parameters, rng + ): if input.number_per_cell and input.segment_ids: raise Exception( "On input: %s, only one of number_per_cell or segment_ids is allowed" @@ -1284,17 +1286,17 @@ def generate_value_array(node, index, context='{0}', param='value'): import sys -def run(config_file, simulator): - if simulator=='NEURON': +def run(config_file, simulator): + if simulator == "NEURON": from bmtk.simulator import bionet + conf = bionet.Config.from_json(config_file, validate=True) conf.build_env() net = bionet.BioNetwork.from_config(conf) sim = bionet.BioSimulator.from_config(conf, network=net) - - elif simulator=='NEST': + elif simulator == "NEST": from bmtk.simulator import pointnet conf = pointnet.Config.from_json(config_file) conf.build_env() @@ -1304,11 +1306,8 @@ def run(config_file, simulator): sim.run() -if __name__ == '__main__': - - run('config.json', '%s') - - """ +if __name__ == "__main__": + run("config.json", "%s")""" run_bmtk_file = open("run_bmtk.py", "w") run_bmtk_file.write(run_bmtk_template % (target_simulator)) diff --git a/neuromllite/utils.py b/neuromllite/utils.py index 86c67e6..a5d030d 100644 --- a/neuromllite/utils.py +++ b/neuromllite/utils.py @@ -80,6 +80,7 @@ def load_network_yaml(filename): return net + def load_simulation(filename): """ Load a NeuroMLlite simulation JSON/YAML file @@ -89,6 +90,7 @@ def load_simulation(filename): else: return load_simulation_json(filename) + def load_simulation_json(filename: str) -> Optional[dict]: """ Load a NeuroMLlite simulation JSON file From 5795fa57aa89f54e83de0a09c53b926f1bc88491 Mon Sep 17 00:00:00 2001 From: "Ankur Sinha (Ankur Sinha Gmail)" Date: Thu, 26 Oct 2023 14:21:38 +0100 Subject: [PATCH 05/27] feat: update for matplotlib 3.6 There may be other bits that need updating too. Reference: https://matplotlib.org/stable/api/prev_api_changes/api_changes_3.6.0.html#classes-methods-and-attributes --- neuromllite/MatrixHandler.py | 2 +- neuromllite/sweep/ParameterSweep.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/neuromllite/MatrixHandler.py b/neuromllite/MatrixHandler.py index de1c859..b302f38 100644 --- a/neuromllite/MatrixHandler.py +++ b/neuromllite/MatrixHandler.py @@ -248,7 +248,7 @@ def finalise_document(self): title = "%s" % (proj_type) title2 = "%s" % (proj_type) plt.title(title) - fig.canvas.set_window_title(title2) + fig.canvas.manager.set_window_title(title2) max_abs_weight = max(weight_array.max(), -1.0 * (weight_array.min())) min_abs_weight = np.min(abs(weight_array[np.nonzero(weight_array)])) diff --git a/neuromllite/sweep/ParameterSweep.py b/neuromllite/sweep/ParameterSweep.py index 9130c89..52f167a 100644 --- a/neuromllite/sweep/ParameterSweep.py +++ b/neuromllite/sweep/ParameterSweep.py @@ -383,7 +383,7 @@ def run(self): plt.xlim([self.hm_x[0], self.hm_x[-1]]) plt.ylim([self.hm_y[0], self.hm_y[-1]]) title = "Values of %s" % self.vary.keys() - self.hm_fig.canvas.set_window_title(title) + self.hm_fig.canvas.manager.set_window_title(title) plt.title(title) # plt.axes().set_aspect('equal') From 3c671403e4c2075da276e4835c350a45b67e52be Mon Sep 17 00:00:00 2001 From: "Ankur Sinha (Ankur Sinha Gmail)" Date: Tue, 7 Nov 2023 14:55:18 +0000 Subject: [PATCH 06/27] feat(matrix-handler): tweak tick size relative to defaults This allows users to modify the tick size by changing the defaults, which is very useful: https://matplotlib.org/stable/users/explain/customizing.html --- neuromllite/MatrixHandler.py | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/neuromllite/MatrixHandler.py b/neuromllite/MatrixHandler.py index b302f38..68b9d2b 100644 --- a/neuromllite/MatrixHandler.py +++ b/neuromllite/MatrixHandler.py @@ -308,14 +308,33 @@ def finalise_document(self): ax.set_yticklabels(entries) ax.set_xticklabels(entries) ax.set_ylabel("presynaptic") - tick_size = ( - 10 + + # change in relation to default so that users can override + default_tick_size_x = matplotlib.rcParams["xtick.labelsize"] + tick_size_x = ( + default_tick_size_x if weight_array.shape[0] < 20 - else (8 if weight_array.shape[0] < 40 else 6) + else ( + (default_tick_size_x - 2) + if weight_array.shape[0] < 40 + else (default_tick_size_x - 4) + ) ) - ax.tick_params(axis="y", labelsize=tick_size) + ax.tick_params(axis="x", labelsize=tick_size_x) + + default_tick_size_y = matplotlib.rcParams["ytick.labelsize"] + tick_size_y = ( + default_tick_size_y + if weight_array.shape[0] < 20 + else ( + (default_tick_size_y - 2) + if weight_array.shape[0] < 40 + else (default_tick_size_y - 4) + ) + ) + ax.tick_params(axis="y", labelsize=tick_size_y) + ax.set_xlabel("postsynaptic") - ax.tick_params(axis="x", labelsize=tick_size) fig.autofmt_xdate() for i in range(len(entries)): From c686cd39dfb5da482661bf67681d4afc3e9b4986 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Thu, 14 Dec 2023 10:58:59 +0000 Subject: [PATCH 07/27] Regenerated nml --- examples/Example4.py | 1 + examples/LEMS_SimExample3.xml | 49 +++++++++++++++++------------------ examples/LEMS_SimExample4.xml | 39 ++++++++++++++-------------- 3 files changed, 44 insertions(+), 45 deletions(-) diff --git a/examples/Example4.py b/examples/Example4.py index d579f83..fcf3d10 100644 --- a/examples/Example4.py +++ b/examples/Example4.py @@ -109,6 +109,7 @@ print(net.to_json()) net_json_file = net.to_json_file("%s.json" % net.id) net_yaml_file = net.to_yaml_file("%s.yaml" % net.id) +net_xml_file = net.to_xml_file("%s.nmllite.xml" % net.id) ################################################################################ diff --git a/examples/LEMS_SimExample3.xml b/examples/LEMS_SimExample3.xml index c84d2c3..c143f79 100644 --- a/examples/LEMS_SimExample3.xml +++ b/examples/LEMS_SimExample3.xml @@ -1,11 +1,11 @@ - + - + @@ -13,14 +13,13 @@ - + - + - @@ -28,7 +27,7 @@ - + @@ -41,28 +40,28 @@ - + - - - - - + + + + + - + - - - - - - - - - - + + + + + + + + + + - + diff --git a/examples/LEMS_SimExample4.xml b/examples/LEMS_SimExample4.xml index 8c3c6ac..62eeb46 100644 --- a/examples/LEMS_SimExample4.xml +++ b/examples/LEMS_SimExample4.xml @@ -1,11 +1,11 @@ - + - + @@ -13,45 +13,44 @@ - + - + - - + - + - + - - + + - + - - + + - + - + - + - - + + - + From 8342b57d51a35e345757f1db9bc5206428f31a13 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Thu, 14 Dec 2023 11:13:15 +0000 Subject: [PATCH 08/27] Fix 3d plot --- neuromllite/gui/NMLliteUI.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neuromllite/gui/NMLliteUI.py b/neuromllite/gui/NMLliteUI.py index d54bbbb..389b9b2 100644 --- a/neuromllite/gui/NMLliteUI.py +++ b/neuromllite/gui/NMLliteUI.py @@ -1128,7 +1128,7 @@ def replotSimResults(self): # ax_3d = fig.add_subplot(111) from mpl_toolkits.mplot3d import Axes3D - ax_3d = fig.gca(projection="3d") + ax_3d = fig.add_subplot(projection="3d") ax_3d.clear() xs = self.current_traces[info["x_axis"]] From 024cf9007c59cc13b547ea2176f1c8a78be545cf Mon Sep 17 00:00:00 2001 From: pgleeson Date: Tue, 30 Jan 2024 08:57:05 +0000 Subject: [PATCH 09/27] Regenerated examples with latest pynml --- examples/LEMS_SimExample3.xml | 2 +- examples/LEMS_SimExample4.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/LEMS_SimExample3.xml b/examples/LEMS_SimExample3.xml index c143f79..da92cef 100644 --- a/examples/LEMS_SimExample3.xml +++ b/examples/LEMS_SimExample3.xml @@ -2,7 +2,7 @@ diff --git a/examples/LEMS_SimExample4.xml b/examples/LEMS_SimExample4.xml index 62eeb46..08796f8 100644 --- a/examples/LEMS_SimExample4.xml +++ b/examples/LEMS_SimExample4.xml @@ -2,7 +2,7 @@ From 6b8109c431fcfd3a5655cd59e1236e0cfdf90744 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Tue, 13 Feb 2024 10:22:19 +0000 Subject: [PATCH 10/27] Regenerated --- examples/LEMS_SimExample3.xml | 2 +- examples/LEMS_SimExample4.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/LEMS_SimExample3.xml b/examples/LEMS_SimExample3.xml index da92cef..d5abac4 100644 --- a/examples/LEMS_SimExample3.xml +++ b/examples/LEMS_SimExample3.xml @@ -2,7 +2,7 @@ diff --git a/examples/LEMS_SimExample4.xml b/examples/LEMS_SimExample4.xml index 08796f8..683c2b1 100644 --- a/examples/LEMS_SimExample4.xml +++ b/examples/LEMS_SimExample4.xml @@ -2,7 +2,7 @@ From bd191f539bc1fecdbace59b57467dee72dda1470 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Tue, 13 Feb 2024 10:30:19 +0000 Subject: [PATCH 11/27] Tested param sweep file --- neuromllite/sweep/ParameterSweep.py | 32 +++++++++++++++-------------- neuromllite/sweep/cleanup.sh | 5 +++++ 2 files changed, 22 insertions(+), 15 deletions(-) create mode 100755 neuromllite/sweep/cleanup.sh diff --git a/neuromllite/sweep/ParameterSweep.py b/neuromllite/sweep/ParameterSweep.py index 52f167a..23cc99e 100644 --- a/neuromllite/sweep/ParameterSweep.py +++ b/neuromllite/sweep/ParameterSweep.py @@ -301,7 +301,7 @@ def _run_all(self): if i % downscale == 0 ] - param_name = self.vary.keys()[0] + param_name = list(self.vary.keys())[0] pval = get_value_in_si(params[param_name]) if self.hm_x == None: self.hm_x = tt @@ -344,7 +344,7 @@ def run(self): z = np.array(self.hm_z) print_v( - "Plotting x: %s->%s (%i), y: %s->%s (%i), z: %s->%s (%i)" + "Plotting x: %s->%s (%i), y: %s->%s (%i), z: %s->%s (%s)" % ( self.hm_x[0], self.hm_x[-1], @@ -354,7 +354,7 @@ def run(self): len(self.hm_y), z.min(), z.max(), - z.size, + z.shape, ) ) @@ -362,6 +362,7 @@ def run(self): # yvals = np.array(self.hm_y) if not self.heatmap_lims: + plot0 = self.hm_ax.pcolormesh( np.array(self.hm_x), np.array(self.hm_y), z, cmap=self.colormap ) @@ -379,7 +380,7 @@ def run(self): # self.hm_ax.set_yticklabels(['ff%s'%i for i in range(len(self.hm_y))]) plt.xlabel("Time (ms)") - plt.ylabel("%s " % self.vary.keys()[0]) + plt.ylabel("%s " % list(self.vary.keys())[0]) plt.xlim([self.hm_x[0], self.hm_x[-1]]) plt.ylim([self.hm_y[0], self.hm_y[-1]]) title = "Values of %s" % self.vary.keys() @@ -585,7 +586,7 @@ def run_once(self, job_dir, **kwargs): if a in network.parameters: print_v(" Setting %s to %s in network..." % (a, kwargs[a])) network.parameters[a] = kwargs[a] - elif a in sim.fields: + elif a in sim.allowed_fields: print_v(" Setting %s to %s in simulator..." % (a, kwargs[a])) setattr(sim, a, kwargs[a]) else: @@ -612,8 +613,8 @@ def run_once(self, job_dir, **kwargs): if "-2d" in sys.argv: fixed = {"dt": 0.025} vary = { - "stim_amp": ["%spA" % (i) for i in xrange(-40, 220, 40)], - "stim_del": ["%sms" % (i) for i in xrange(10, 40, 10)], + "stim_amp": ["%spA" % (i) for i in range(-40, 220, 40)], + "stim_del": ["%sms" % (i) for i in range(10, 40, 10)], } vary = { @@ -622,7 +623,7 @@ def run_once(self, job_dir, **kwargs): } vary = { - "stim_amp": ["%spA" % (i) for i in xrange(-40, 220, 20)], + "stim_amp": ["%spA" % (i) for i in range(-40, 220, 20)], "stim_del": ["%sms" % (i) for i in [10, 20]], } @@ -671,9 +672,9 @@ def run_once(self, job_dir, **kwargs): elif "-hh" in sys.argv: fixed = {"dt": 0.025} - vary = {"stim_amp": ["%spA" % (i) for i in xrange(-200, 1500, 10)]} - vary = {"stim_amp": ["%spA" % (i) for i in xrange(-100, 1800, 20)]} - # vary = {'stim_amp':['%spA'%(i) for i in xrange(-100,500,5)]} + vary = {"stim_amp": ["%spA" % (i) for i in range(-200, 1500, 10)]} + vary = {"stim_amp": ["%spA" % (i) for i in range(-100, 1800, 20)]} + # vary = {'stim_amp':['%spA'%(i) for i in range(-100,500,5)]} simulator = "jNeuroML_NetPyNE" simulator = "NetPyNE" @@ -707,10 +708,11 @@ def run_once(self, job_dir, **kwargs): plt.show() elif "-dt" in sys.argv: - fixed = {"stim_amp": "500pA"} + fixed = {"stim_amp": "500pA", "duration": 300} vary = {"dt": [0.025, 0.02, 0.015, 0.01, 0.005, 0.0025]} vary = {"dt": [0.1, 0.05, 0.025, 0.01, 0.005, 0.0025, 0.001]} + #vary = {"dt": [0.1, 0.05, 0.025]} simulator = "jNeuroML_NetPyNE" simulator = "NetPyNE" @@ -805,11 +807,11 @@ def run_once(self, job_dir, **kwargs): quick = False # quick=True - vary = {"stim_amp": ["%spA" % (i / 10.0) for i in xrange(-10, 20, 2)]} - vary = {"stim_amp": ["%spA" % (i / 10.0) for i in xrange(-10, 20, 5)]} + vary = {"stim_amp": ["%spA" % (i / 10.0) for i in range(-10, 20, 2)]} + vary = {"stim_amp": ["%spA" % (i / 10.0) for i in range(-10, 20, 5)]} vary = {"weightInput": [1, 2, 5, 10]} vary = {"weightInput": [1, 2, 3, 20]} - vary = {"eta": [i / 100.0 for i in xrange(0, 200, 20)]} + vary = {"eta": [i / 100.0 for i in range(0, 200, 20)]} # vary = {'eta':['100Hz']} # vary = {'stim_amp':['1.5pA']} diff --git a/neuromllite/sweep/cleanup.sh b/neuromllite/sweep/cleanup.sh new file mode 100755 index 0000000..109c440 --- /dev/null +++ b/neuromllite/sweep/cleanup.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -ex + +rm -rf ParamSweep_* *.dat *.txt *kes *.png + From 3f649c9bfe7cd77a094ee337e340345571b93164 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Tue, 13 Feb 2024 11:12:54 +0000 Subject: [PATCH 12/27] Update gha versions --- .github/workflows/ci.yml | 4 ++-- .github/workflows/python-publish.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1dd19e1..f0902d2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,9 +19,9 @@ jobs: HDF5_DISABLE_VERSION_CHECK: 1 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v3 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index 0fe16bc..85cc411 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -18,9 +18,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Python - uses: actions/setup-python@v3 + uses: actions/setup-python@v5 with: python-version: '3.x' - name: Install dependencies From c3cf3923da79df5f3fb37917f713b823a817153b Mon Sep 17 00:00:00 2001 From: pgleeson Date: Tue, 13 Feb 2024 11:19:15 +0000 Subject: [PATCH 13/27] To v0.5.9 --- examples/Example10_Lorenz.json | 2 +- examples/Example11_Synapses.json | 2 +- examples/Example11_Synapses.net.nml | 2 +- examples/Example12_MultiComp.json | 2 +- examples/Example1_TestNetwork.json | 2 +- examples/Example2_TestNetwork.json | 2 +- examples/Example2_TestNetwork.net.nml | 2 +- examples/Example3_Network.json | 2 +- examples/Example3_Network.net.nml | 2 +- examples/Example4_PyNN.json | 2 +- examples/Example4_PyNN.net.nml | 2 +- examples/Example4_PyNN.yaml | 2 +- examples/Example6_PyNN.json | 2 +- examples/Example6_PyNN.net.nml | 2 +- examples/Example6_PyNN_noinputs.json | 2 +- examples/Example6_PyNN_noinputs.net.nml | 2 +- examples/Example7_Brunel2000.json | 2 +- examples/Example7_Brunel2000.net.nml | 2 +- examples/Example8_Extension.json | 2 +- examples/Example9_HindmarshRose.json | 2 +- examples/SimExample10.json | 2 +- examples/SimExample11.json | 2 +- examples/SimExample12_MultiComp.json | 2 +- examples/SimExample3.json | 2 +- examples/SimExample4.json | 2 +- examples/SimExample4.yaml | 2 +- examples/SimExample6_PyNN.json | 2 +- examples/SimExample7.json | 2 +- examples/SimExample8.json | 2 +- examples/SimExample9.json | 2 +- examples/arbor/ArborExample.json | 2 +- examples/arbor/ArborExample.yaml | 2 +- examples/arbor/SimArborExample.json | 2 +- examples/arbor/SimArborExample.yaml | 2 +- examples/spikeratetest/SimSpikers.json | 2 +- examples/spikeratetest/Spikers.json | 2 +- neuromllite/__init__.py | 2 +- 37 files changed, 37 insertions(+), 37 deletions(-) diff --git a/examples/Example10_Lorenz.json b/examples/Example10_Lorenz.json index 065cecf..f1fc935 100644 --- a/examples/Example10_Lorenz.json +++ b/examples/Example10_Lorenz.json @@ -1,6 +1,6 @@ { "Example10_Lorenz": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "notes": "Example 10: Lorenz", "parameters": { "N": 1, diff --git a/examples/Example11_Synapses.json b/examples/Example11_Synapses.json index 1800533..c826fc0 100644 --- a/examples/Example11_Synapses.json +++ b/examples/Example11_Synapses.json @@ -1,6 +1,6 @@ { "Example11_Synapses": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "notes": "Example 11: synaptic properties", "parameters": { "input_amp": 0.23, diff --git a/examples/Example11_Synapses.net.nml b/examples/Example11_Synapses.net.nml index 7d37090..c2571ab 100644 --- a/examples/Example11_Synapses.net.nml +++ b/examples/Example11_Synapses.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.8 + Generated by NeuroMLlite v0.5.9 Generated network: Example11_Synapses Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example12_MultiComp.json b/examples/Example12_MultiComp.json index 8fdbfc3..45d65f6 100644 --- a/examples/Example12_MultiComp.json +++ b/examples/Example12_MultiComp.json @@ -1,6 +1,6 @@ { "Example12_MultiComp": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "notes": "Example 12: Multicompartmental cells...", "parameters": { "N": 20, diff --git a/examples/Example1_TestNetwork.json b/examples/Example1_TestNetwork.json index 0fde5be..be8655b 100644 --- a/examples/Example1_TestNetwork.json +++ b/examples/Example1_TestNetwork.json @@ -1,6 +1,6 @@ { "TestNetwork": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "notes": "A simple network with 2 populations & projection between them. No info yet on what the cells are so network can't be simulated.", "populations": { "pop0": { diff --git a/examples/Example2_TestNetwork.json b/examples/Example2_TestNetwork.json index e900634..8a45b5b 100644 --- a/examples/Example2_TestNetwork.json +++ b/examples/Example2_TestNetwork.json @@ -1,6 +1,6 @@ { "Example2_TestNetwork": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "notes": "A simple network with 2 populations & projection between them. Cells are specified to be NeuroML 2 HH cell models & pre population is given a spiking input.", "cells": { "hhcell": { diff --git a/examples/Example2_TestNetwork.net.nml b/examples/Example2_TestNetwork.net.nml index 0d65062..56c0694 100644 --- a/examples/Example2_TestNetwork.net.nml +++ b/examples/Example2_TestNetwork.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.8 + Generated by NeuroMLlite v0.5.9 Generated network: Example2_TestNetwork Generation seed: 1234 diff --git a/examples/Example3_Network.json b/examples/Example3_Network.json index 1b58f99..cae5535 100644 --- a/examples/Example3_Network.json +++ b/examples/Example3_Network.json @@ -1,6 +1,6 @@ { "Example3_Network": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "notes": "Example 3: simple network with 2 populations of NeuroML2 cells, a projection between them and spiking input.", "cells": { "hhcell": { diff --git a/examples/Example3_Network.net.nml b/examples/Example3_Network.net.nml index c251a6e..8cb1d6b 100644 --- a/examples/Example3_Network.net.nml +++ b/examples/Example3_Network.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.8 + Generated by NeuroMLlite v0.5.9 Generated network: Example3_Network Generation seed: 1234 diff --git a/examples/Example4_PyNN.json b/examples/Example4_PyNN.json index a3a5693..2e71485 100644 --- a/examples/Example4_PyNN.json +++ b/examples/Example4_PyNN.json @@ -1,6 +1,6 @@ { "Example4_PyNN": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "notes": "Example 4: a network with PyNN cells & inputs", "parameters": { "input_amp": 0.99 diff --git a/examples/Example4_PyNN.net.nml b/examples/Example4_PyNN.net.nml index c12e585..0869fd4 100644 --- a/examples/Example4_PyNN.net.nml +++ b/examples/Example4_PyNN.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.8 + Generated by NeuroMLlite v0.5.9 Generated network: Example4_PyNN Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example4_PyNN.yaml b/examples/Example4_PyNN.yaml index bdb808a..207e1ce 100644 --- a/examples/Example4_PyNN.yaml +++ b/examples/Example4_PyNN.yaml @@ -1,5 +1,5 @@ Example4_PyNN: - version: NeuroMLlite v0.5.8 + version: NeuroMLlite v0.5.9 notes: 'Example 4: a network with PyNN cells & inputs' parameters: input_amp: 0.99 diff --git a/examples/Example6_PyNN.json b/examples/Example6_PyNN.json index fdac4b0..ebc7db9 100644 --- a/examples/Example6_PyNN.json +++ b/examples/Example6_PyNN.json @@ -1,6 +1,6 @@ { "Example6_PyNN": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "notes": "Another network for PyNN - work in progress...", "parameters": { "N_scaling": 0.005, diff --git a/examples/Example6_PyNN.net.nml b/examples/Example6_PyNN.net.nml index 97050c1..8692b8f 100644 --- a/examples/Example6_PyNN.net.nml +++ b/examples/Example6_PyNN.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.8 + Generated by NeuroMLlite v0.5.9 Generated network: Example6_PyNN Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example6_PyNN_noinputs.json b/examples/Example6_PyNN_noinputs.json index 96b61aa..c793f72 100644 --- a/examples/Example6_PyNN_noinputs.json +++ b/examples/Example6_PyNN_noinputs.json @@ -1,6 +1,6 @@ { "Example6_PyNN_noinputs": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "notes": "Another network for PyNN - work in progress...", "parameters": { "N_scaling": 0.005, diff --git a/examples/Example6_PyNN_noinputs.net.nml b/examples/Example6_PyNN_noinputs.net.nml index b059cb8..36041b0 100644 --- a/examples/Example6_PyNN_noinputs.net.nml +++ b/examples/Example6_PyNN_noinputs.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.8 + Generated by NeuroMLlite v0.5.9 Generated network: Example6_PyNN_noinputs Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example7_Brunel2000.json b/examples/Example7_Brunel2000.json index 8c3c453..2faca33 100644 --- a/examples/Example7_Brunel2000.json +++ b/examples/Example7_Brunel2000.json @@ -1,6 +1,6 @@ { "Example7_Brunel2000": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "notes": "Example 7: based on network of Brunel 2000", "parameters": { "g": 4, diff --git a/examples/Example7_Brunel2000.net.nml b/examples/Example7_Brunel2000.net.nml index 7f5f39e..34d24d2 100644 --- a/examples/Example7_Brunel2000.net.nml +++ b/examples/Example7_Brunel2000.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.8 + Generated by NeuroMLlite v0.5.9 Generated network: Example7_Brunel2000 Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example8_Extension.json b/examples/Example8_Extension.json index 54e1c9c..486d4ac 100644 --- a/examples/Example8_Extension.json +++ b/examples/Example8_Extension.json @@ -1,6 +1,6 @@ { "Example8_Extension": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "notes": "Example 8: general testing...", "parameters": { "N": 10, diff --git a/examples/Example9_HindmarshRose.json b/examples/Example9_HindmarshRose.json index aac74ca..4416e09 100644 --- a/examples/Example9_HindmarshRose.json +++ b/examples/Example9_HindmarshRose.json @@ -1,6 +1,6 @@ { "Example9_HindmarshRose": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "notes": "Example 9: HindmarshRose", "parameters": { "N": 1, diff --git a/examples/SimExample10.json b/examples/SimExample10.json index c2909f7..2386e97 100644 --- a/examples/SimExample10.json +++ b/examples/SimExample10.json @@ -1,6 +1,6 @@ { "SimExample10": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "network": "Example10_Lorenz.json", "duration": 10000.0, "dt": 1.0, diff --git a/examples/SimExample11.json b/examples/SimExample11.json index 323c0b4..cce2c53 100644 --- a/examples/SimExample11.json +++ b/examples/SimExample11.json @@ -1,6 +1,6 @@ { "SimExample11": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "network": "Example11_Synapses.json", "duration": 1000.0, "dt": 0.01, diff --git a/examples/SimExample12_MultiComp.json b/examples/SimExample12_MultiComp.json index f1c808b..8b5ae55 100644 --- a/examples/SimExample12_MultiComp.json +++ b/examples/SimExample12_MultiComp.json @@ -1,6 +1,6 @@ { "SimExample12_MultiComp": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "network": "Example12_MultiComp.json", "duration": 1000.0, "dt": 0.025, diff --git a/examples/SimExample3.json b/examples/SimExample3.json index f921f10..803988d 100644 --- a/examples/SimExample3.json +++ b/examples/SimExample3.json @@ -1,6 +1,6 @@ { "SimExample3": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "network": "Example3_Network.json", "duration": 1000.0, "dt": 0.025, diff --git a/examples/SimExample4.json b/examples/SimExample4.json index 1808ac5..ee2e618 100644 --- a/examples/SimExample4.json +++ b/examples/SimExample4.json @@ -1,6 +1,6 @@ { "SimExample4": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "network": "Example4_PyNN.json", "duration": 1000.0, "dt": 0.01, diff --git a/examples/SimExample4.yaml b/examples/SimExample4.yaml index 2c8dfff..f1ef3fd 100644 --- a/examples/SimExample4.yaml +++ b/examples/SimExample4.yaml @@ -1,5 +1,5 @@ SimExample4: - version: NeuroMLlite v0.5.8 + version: NeuroMLlite v0.5.9 network: Example4_PyNN.yaml duration: 1000.0 dt: 0.01 diff --git a/examples/SimExample6_PyNN.json b/examples/SimExample6_PyNN.json index 3828e7e..53a7358 100644 --- a/examples/SimExample6_PyNN.json +++ b/examples/SimExample6_PyNN.json @@ -1,6 +1,6 @@ { "SimExample6_PyNN": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "network": "Example6_PyNN.json", "duration": 100.0, "dt": 0.025, diff --git a/examples/SimExample7.json b/examples/SimExample7.json index 673b763..389ad06 100644 --- a/examples/SimExample7.json +++ b/examples/SimExample7.json @@ -1,6 +1,6 @@ { "SimExample7": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "network": "Example7_Brunel2000.json", "duration": 1000.0, "dt": 0.025, diff --git a/examples/SimExample8.json b/examples/SimExample8.json index 6ac6391..f7acaa5 100644 --- a/examples/SimExample8.json +++ b/examples/SimExample8.json @@ -1,6 +1,6 @@ { "SimExample8": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "network": "Example8_Extension.json", "duration": 1000.0, "dt": 0.025, diff --git a/examples/SimExample9.json b/examples/SimExample9.json index 654ecc6..7fe2760 100644 --- a/examples/SimExample9.json +++ b/examples/SimExample9.json @@ -1,6 +1,6 @@ { "SimExample9": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "network": "Example9_HindmarshRose.json", "duration": 1000000.0, "dt": 25.0, diff --git a/examples/arbor/ArborExample.json b/examples/arbor/ArborExample.json index e2a9d33..12c1362 100644 --- a/examples/arbor/ArborExample.json +++ b/examples/arbor/ArborExample.json @@ -1,6 +1,6 @@ { "ArborExample": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "notes": "Example for testing Arbor", "parameters": { "v_init": -50, diff --git a/examples/arbor/ArborExample.yaml b/examples/arbor/ArborExample.yaml index 7a76208..455263b 100644 --- a/examples/arbor/ArborExample.yaml +++ b/examples/arbor/ArborExample.yaml @@ -1,5 +1,5 @@ ArborExample: - version: NeuroMLlite v0.5.8 + version: NeuroMLlite v0.5.9 notes: Example for testing Arbor parameters: v_init: -50 diff --git a/examples/arbor/SimArborExample.json b/examples/arbor/SimArborExample.json index c36d797..a89098f 100644 --- a/examples/arbor/SimArborExample.json +++ b/examples/arbor/SimArborExample.json @@ -1,6 +1,6 @@ { "SimArborExample": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "network": "ArborExample.json", "duration": 100.0, "dt": 0.01, diff --git a/examples/arbor/SimArborExample.yaml b/examples/arbor/SimArborExample.yaml index 64d6ad6..7836548 100644 --- a/examples/arbor/SimArborExample.yaml +++ b/examples/arbor/SimArborExample.yaml @@ -1,5 +1,5 @@ SimArborExample: - version: NeuroMLlite v0.5.8 + version: NeuroMLlite v0.5.9 network: ArborExample.yaml duration: 100.0 dt: 0.01 diff --git a/examples/spikeratetest/SimSpikers.json b/examples/spikeratetest/SimSpikers.json index 13f4839..6e1558d 100644 --- a/examples/spikeratetest/SimSpikers.json +++ b/examples/spikeratetest/SimSpikers.json @@ -1,6 +1,6 @@ { "SimSpikers": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "network": "Spikers.json", "duration": 10000.0, "dt": 0.025, diff --git a/examples/spikeratetest/Spikers.json b/examples/spikeratetest/Spikers.json index 6cfb51e..a8a71c9 100644 --- a/examples/spikeratetest/Spikers.json +++ b/examples/spikeratetest/Spikers.json @@ -1,6 +1,6 @@ { "Spikers": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "notes": "Example with spiking entities..", "parameters": { "N": 10, diff --git a/neuromllite/__init__.py b/neuromllite/__init__.py index 2eefbe8..0c96744 100644 --- a/neuromllite/__init__.py +++ b/neuromllite/__init__.py @@ -1,6 +1,6 @@ import collections -__version__ = "0.5.8" +__version__ = "0.5.9" # import pyNN # import nest From 4fe5bb4a9cd2ecd0921e916f3fb0691c986db0ef Mon Sep 17 00:00:00 2001 From: pgleeson Date: Tue, 13 Feb 2024 11:19:33 +0000 Subject: [PATCH 14/27] Add ppft requirement - needed for param sweep --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index ba65143..c76fd81 100644 --- a/setup.py +++ b/setup.py @@ -26,6 +26,7 @@ "tables", "h5py", "modelspec>=0.2.6", + "ppft" ], classifiers=[ "Intended Audience :: Science/Research", From e8c688e19926a9039e807610445f7195df224d9f Mon Sep 17 00:00:00 2001 From: pgleeson Date: Tue, 20 Feb 2024 14:47:08 +0000 Subject: [PATCH 15/27] Better plotting in sweep --- docs/NeuroMLlite_specification.json | 2 +- docs/NeuroMLlite_specification.yaml | 2 +- docs/README.md | 2 +- examples/LEMS_SimExample3.xml | 2 +- examples/LEMS_SimExample4.xml | 2 +- neuromllite/sweep/ParameterSweep.py | 8 ++++---- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/NeuroMLlite_specification.json b/docs/NeuroMLlite_specification.json index 9aeefa5..b808453 100644 --- a/docs/NeuroMLlite_specification.json +++ b/docs/NeuroMLlite_specification.json @@ -1,5 +1,5 @@ { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.5.9", "specification": { "Network": { "definition": "A Network containing multiple Population's, connected by Projection's and receiving Input's", diff --git a/docs/NeuroMLlite_specification.yaml b/docs/NeuroMLlite_specification.yaml index 13278f1..cffb2d7 100644 --- a/docs/NeuroMLlite_specification.yaml +++ b/docs/NeuroMLlite_specification.yaml @@ -1,4 +1,4 @@ -version: NeuroMLlite v0.5.8 +version: NeuroMLlite v0.5.9 specification: Network: definition: A Network containing multiple Population's, connected by Projection's diff --git a/docs/README.md b/docs/README.md index a814b0d..920aeb5 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,4 +1,4 @@ -# Specification of NeuroMLlite v0.5.8 +# Specification of NeuroMLlite v0.5.9 **Note: the NeuroMLlite specification is still in development! Subject to change...** ## Network diff --git a/examples/LEMS_SimExample3.xml b/examples/LEMS_SimExample3.xml index d5abac4..f1996be 100644 --- a/examples/LEMS_SimExample3.xml +++ b/examples/LEMS_SimExample3.xml @@ -2,7 +2,7 @@ diff --git a/examples/LEMS_SimExample4.xml b/examples/LEMS_SimExample4.xml index 683c2b1..f0a4560 100644 --- a/examples/LEMS_SimExample4.xml +++ b/examples/LEMS_SimExample4.xml @@ -2,7 +2,7 @@ diff --git a/neuromllite/sweep/ParameterSweep.py b/neuromllite/sweep/ParameterSweep.py index 23cc99e..3afb9be 100644 --- a/neuromllite/sweep/ParameterSweep.py +++ b/neuromllite/sweep/ParameterSweep.py @@ -98,7 +98,7 @@ def __init__( "Traces generated from %s" % self.sim.id, # Title labels=[], xaxis="Time (ms)", # x axis legend - yaxis="Membrane potential (mV)", # y axis legend + yaxis="(SI units)", # y axis legend title_above_plot=True, show_plot_already=False, ) # Save figure @@ -283,7 +283,7 @@ def _run_all(self): label = "%s (%s)" % (y, params) self.ax.plot( [t * 1000 for t in traces["t"]], - [v * 1000 for v in traces[y]], + [v for v in traces[y]], label=label, ) @@ -532,7 +532,7 @@ def plotLines( logx=logx, logy=logy, show_plot_already=False, - legend_position="right", + legend_position="bottom center", save_figure_to=save_figure_to, ) # Save figure @@ -766,7 +766,7 @@ def run_once(self, job_dir, **kwargs): vary = {"c": [-3, -1, 1, 3]} # vary = {'a':[.8,1,1.2]} # vary = {'eta':['100Hz']} - # vary = {'stim_amp':['1.5pA']} + vary = {'I':[5,5.2]} simulator = "jNeuroML" simulator = "jNeuroML_NEURON" From c2de4a41c9eb5ef5762bdb281c7cb7a3ff499fed Mon Sep 17 00:00:00 2001 From: pgleeson Date: Tue, 20 Feb 2024 19:13:47 +0000 Subject: [PATCH 16/27] Regenerated --- examples/LEMS_SimExample3.xml | 2 +- examples/LEMS_SimExample4.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/LEMS_SimExample3.xml b/examples/LEMS_SimExample3.xml index f1996be..2b1e0a9 100644 --- a/examples/LEMS_SimExample3.xml +++ b/examples/LEMS_SimExample3.xml @@ -2,7 +2,7 @@ diff --git a/examples/LEMS_SimExample4.xml b/examples/LEMS_SimExample4.xml index f0a4560..b861b73 100644 --- a/examples/LEMS_SimExample4.xml +++ b/examples/LEMS_SimExample4.xml @@ -2,7 +2,7 @@ From e24f06feac5b07992e89ed124bb56d2109352242 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Tue, 20 Feb 2024 20:06:06 +0000 Subject: [PATCH 17/27] Add slight delay in generate network when extra_lems_components present --- neuromllite/NetworkGenerator.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/neuromllite/NetworkGenerator.py b/neuromllite/NetworkGenerator.py index 0e2182c..ed5fbb5 100644 --- a/neuromllite/NetworkGenerator.py +++ b/neuromllite/NetworkGenerator.py @@ -11,6 +11,7 @@ import numpy as np import os import random +import time import lems.api as lems # from pylems @@ -913,6 +914,7 @@ def generate_neuroml2_from_network( if len(extra_lems_components.components) > 0: extra_lems_components.export_to_file(extra_lems_file) + time.sleep(0.5) if validate and format == "xml": from pyneuroml import pynml From 251347859d048f7ce39c5ffbb5a73da09911a0d4 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Fri, 1 Mar 2024 15:36:30 +0000 Subject: [PATCH 18/27] Updated matrix handler for saving figures to file --- neuromllite/MatrixHandler.py | 52 +++++++++++++++++++++++++++++++----- 1 file changed, 45 insertions(+), 7 deletions(-) diff --git a/neuromllite/MatrixHandler.py b/neuromllite/MatrixHandler.py index 68b9d2b..8cf05de 100644 --- a/neuromllite/MatrixHandler.py +++ b/neuromllite/MatrixHandler.py @@ -11,6 +11,7 @@ from neuromllite.NetworkGenerator import _get_rng_for_network import numpy as np +import os class MatrixHandler(ConnectivityHandler): @@ -18,9 +19,11 @@ class MatrixHandler(ConnectivityHandler): weight_arrays_to_show = {} - def __init__(self, level=10, nl_network=None): + def __init__(self, level=10, nl_network=None, show_already=True, save_figs_to_dir=None): self.nl_network = nl_network self.level = level + self.show_already = show_already + self.save_figs_to_dir=save_figs_to_dir self.rng, seed = _get_rng_for_network(self.nl_network) @@ -34,11 +37,6 @@ def print_settings(self): print_v("* level: %s" % self.level) print_v("* is_cell_level: %s" % self.is_cell_level()) print_v("* CUTOFF_INH_SYN_MV: %s" % self.CUTOFF_INH_SYN_MV) - # print_v('* include_inputs: %s'%self.include_inputs) - # print_v('* scale_by_post_pop_size: %s'%self.scale_by_post_pop_size) - # print_v('* scale_by_post_pop_cond: %s'%self.scale_by_post_pop_cond) - # print_v('* min_weight_to_show: %s'%self.min_weight_to_show) - # print_v('* min_weight_to_show: %s'%self.min_weight_to_show) print_v("*") print_v("* Used values: ") print_v("* colormaps_used: %s" % self.colormaps_used) @@ -68,6 +66,9 @@ def finalise_document(self): for v in self.proj_post_pops.values(): all_pops.append(v) + self.weight_matrices_generated = {} + self.weight_matrices_saved = {} + for pop in all_pops: if self.is_cell_level(): for i in range(self.pop_sizes[pop]): @@ -376,10 +377,19 @@ def finalise_document(self): if proj_type in cbar_labels: cbar.set_label(cbar_labels[proj_type]) + if self.save_figs_to_dir: + safe = proj_type.replace(' ','_').replace('(','-').replace(')','-').replace('*','_').replace('/','_') + save_figure_to = os.path.join(self.save_figs_to_dir, '%s_%s.png'%(self.network_id, safe)) + plt.savefig(save_figure_to, bbox_inches="tight") + print_v("Saved image to %s of plot: %s" % (save_figure_to, title)) + print_v("Generating matrix for: %s" % self.network_id) + + self.print_settings() - plt.show() + if self.show_already: + plt.show() def handle_population( self, @@ -535,3 +545,31 @@ def finalise_projection( def finalise_input_source(self, inputListId): pass + +if __name__ == "__main__": + + from neuromllite.utils import load_network_json + + tests = ['/Users/padraig/neuroConstruct/osb/cerebral_cortex/networks/del-Molino2017/NeuroML/delMolinoEtAl_low_baseline.json', + '/Users/padraig/NeuroMLlite/examples/Example12_MultiComp.json'] + + for test in tests: + + network = load_network_json(test) + + from neuromllite.NetworkGenerator import generate_network + + level = 1 + handler = MatrixHandler(level, + nl_network=network, + show_already=True, + save_figs_to_dir='.') + + generate_network( + network, handler, always_include_props=True, base_dir=os.path.dirname(test) + ) + + print_v("Done with MatrixHandler...") + + for w in handler.weight_arrays_to_show: + print('%s:\n%s'%(w, handler.weight_arrays_to_show[w])) \ No newline at end of file From d66704992fec7d02e355f48d0b23f8f251cc28a6 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Wed, 1 May 2024 12:02:01 +0100 Subject: [PATCH 19/27] Tweak eden times Give access to weight_array_figures in MatrixHandler --- examples/LEMS_SimExample3.xml | 2 +- examples/LEMS_SimExample4.xml | 2 +- examples/test_files/.test.ex4.jnmleden.omt | 4 ++-- neuromllite/MatrixHandler.py | 4 ++++ 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/examples/LEMS_SimExample3.xml b/examples/LEMS_SimExample3.xml index 2b1e0a9..5204c5b 100644 --- a/examples/LEMS_SimExample3.xml +++ b/examples/LEMS_SimExample3.xml @@ -2,7 +2,7 @@ diff --git a/examples/LEMS_SimExample4.xml b/examples/LEMS_SimExample4.xml index b861b73..e584554 100644 --- a/examples/LEMS_SimExample4.xml +++ b/examples/LEMS_SimExample4.xml @@ -2,7 +2,7 @@ diff --git a/examples/test_files/.test.ex4.jnmleden.omt b/examples/test_files/.test.ex4.jnmleden.omt index a013434..3046d31 100644 --- a/examples/test_files/.test.ex4.jnmleden.omt +++ b/examples/test_files/.test.ex4.jnmleden.omt @@ -14,7 +14,7 @@ experiments: spike detection: method: threshold threshold: -64 - tolerance: 0.0002527679474217274 + tolerance: 0.00025278058645101804 v1: observables: @@ -26,4 +26,4 @@ experiments: spike detection: method: threshold threshold: -69 - tolerance: 0.0002327287423609406 + tolerance: 0.00023269200151868833 diff --git a/neuromllite/MatrixHandler.py b/neuromllite/MatrixHandler.py index 8cf05de..3d1fa3b 100644 --- a/neuromllite/MatrixHandler.py +++ b/neuromllite/MatrixHandler.py @@ -18,6 +18,7 @@ class MatrixHandler(ConnectivityHandler): colormaps_used = [] weight_arrays_to_show = {} + weight_array_figures = {} def __init__(self, level=10, nl_network=None, show_already=True, save_figs_to_dir=None): self.nl_network = nl_network @@ -382,6 +383,9 @@ def finalise_document(self): save_figure_to = os.path.join(self.save_figs_to_dir, '%s_%s.png'%(self.network_id, safe)) plt.savefig(save_figure_to, bbox_inches="tight") print_v("Saved image to %s of plot: %s" % (save_figure_to, title)) + self.weight_array_figures[title] = save_figure_to + + print_v("Generating matrix for: %s" % self.network_id) From d286145d748c556c9d7cd0989fd932984dc2d024 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Wed, 1 May 2024 16:31:49 +0100 Subject: [PATCH 20/27] Test also on py 3.12 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f0902d2..cd5aa4a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] env: JNML_HOME: "/home/runner/work/NeuroMLlite/NeuroMLlite/jNeuroML" HDF5_DISABLE_VERSION_CHECK: 1 From 658c8fc78619e4dc10d52a417a223fb89b65570c Mon Sep 17 00:00:00 2001 From: pgleeson Date: Wed, 22 May 2024 09:59:21 +0100 Subject: [PATCH 21/27] Not testing 3.12 for now... --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cd5aa4a..f0902d2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.8", "3.9", "3.10", "3.11"] env: JNML_HOME: "/home/runner/work/NeuroMLlite/NeuroMLlite/jNeuroML" HDF5_DISABLE_VERSION_CHECK: 1 From 28c325085d5a4631444e28d60918ea0e6cceb666 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Tue, 28 May 2024 12:30:45 +0100 Subject: [PATCH 22/27] Regenerated --- examples/Example11_Synapses.net.nml | 2 +- examples/Example2_TestNetwork.net.nml | 2 +- examples/Example3_Network.net.nml | 2 +- examples/Example4_PyNN.net.nml | 2 +- examples/Example6_PyNN.net.nml | 2 +- examples/Example6_PyNN_noinputs.net.nml | 2 +- examples/Example7_Brunel2000.net.nml | 2 +- examples/LEMS_SimExample3.xml | 2 +- examples/LEMS_SimExample4.xml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/examples/Example11_Synapses.net.nml b/examples/Example11_Synapses.net.nml index c2571ab..9dea1da 100644 --- a/examples/Example11_Synapses.net.nml +++ b/examples/Example11_Synapses.net.nml @@ -1,4 +1,4 @@ - + Generated by NeuroMLlite v0.5.9 Generated network: Example11_Synapses Generation seed: 1234 diff --git a/examples/Example2_TestNetwork.net.nml b/examples/Example2_TestNetwork.net.nml index 56c0694..d6a694e 100644 --- a/examples/Example2_TestNetwork.net.nml +++ b/examples/Example2_TestNetwork.net.nml @@ -1,4 +1,4 @@ - + Generated by NeuroMLlite v0.5.9 Generated network: Example2_TestNetwork Generation seed: 1234 diff --git a/examples/Example3_Network.net.nml b/examples/Example3_Network.net.nml index 8cb1d6b..fe8332c 100644 --- a/examples/Example3_Network.net.nml +++ b/examples/Example3_Network.net.nml @@ -1,4 +1,4 @@ - + Generated by NeuroMLlite v0.5.9 Generated network: Example3_Network Generation seed: 1234 diff --git a/examples/Example4_PyNN.net.nml b/examples/Example4_PyNN.net.nml index 0869fd4..82747ce 100644 --- a/examples/Example4_PyNN.net.nml +++ b/examples/Example4_PyNN.net.nml @@ -1,4 +1,4 @@ - + Generated by NeuroMLlite v0.5.9 Generated network: Example4_PyNN Generation seed: 1234 diff --git a/examples/Example6_PyNN.net.nml b/examples/Example6_PyNN.net.nml index 8692b8f..09302c1 100644 --- a/examples/Example6_PyNN.net.nml +++ b/examples/Example6_PyNN.net.nml @@ -1,4 +1,4 @@ - + Generated by NeuroMLlite v0.5.9 Generated network: Example6_PyNN Generation seed: 1234 diff --git a/examples/Example6_PyNN_noinputs.net.nml b/examples/Example6_PyNN_noinputs.net.nml index 36041b0..12be79b 100644 --- a/examples/Example6_PyNN_noinputs.net.nml +++ b/examples/Example6_PyNN_noinputs.net.nml @@ -1,4 +1,4 @@ - + Generated by NeuroMLlite v0.5.9 Generated network: Example6_PyNN_noinputs Generation seed: 1234 diff --git a/examples/Example7_Brunel2000.net.nml b/examples/Example7_Brunel2000.net.nml index 34d24d2..c7e6757 100644 --- a/examples/Example7_Brunel2000.net.nml +++ b/examples/Example7_Brunel2000.net.nml @@ -1,4 +1,4 @@ - + Generated by NeuroMLlite v0.5.9 Generated network: Example7_Brunel2000 Generation seed: 1234 diff --git a/examples/LEMS_SimExample3.xml b/examples/LEMS_SimExample3.xml index 5204c5b..f73ce5a 100644 --- a/examples/LEMS_SimExample3.xml +++ b/examples/LEMS_SimExample3.xml @@ -2,7 +2,7 @@ diff --git a/examples/LEMS_SimExample4.xml b/examples/LEMS_SimExample4.xml index e584554..9d1eefb 100644 --- a/examples/LEMS_SimExample4.xml +++ b/examples/LEMS_SimExample4.xml @@ -2,7 +2,7 @@ From 1caa73a9d5fb7dc17ebd6bd01a44edd7f5ae66e9 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Wed, 29 May 2024 10:23:16 +0100 Subject: [PATCH 23/27] Fix get_cmap("jet") in nmlliteui --- neuromllite/gui/NMLliteUI.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neuromllite/gui/NMLliteUI.py b/neuromllite/gui/NMLliteUI.py index 389b9b2..deb8d92 100644 --- a/neuromllite/gui/NMLliteUI.py +++ b/neuromllite/gui/NMLliteUI.py @@ -1044,7 +1044,7 @@ def replotSimResults(self): ax_heatmap.clear() if len(heat_array) > 0: - cm = matplotlib.cm.get_cmap("jet") + cm = matplotlib.pyplot.get_cmap("jet") hm = ax_heatmap.pcolormesh(heat_array, cmap=cm) # cbar = ax_heatmap.colorbar(im) From 8c9b25ae288ce94e0d0d7131b666bfb09d07563b Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Tue, 11 Jun 2024 14:55:47 +0100 Subject: [PATCH 24/27] Regenerated --- examples/LEMS_SimExample3.xml | 2 +- examples/LEMS_SimExample4.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/LEMS_SimExample3.xml b/examples/LEMS_SimExample3.xml index f73ce5a..1ec71bd 100644 --- a/examples/LEMS_SimExample3.xml +++ b/examples/LEMS_SimExample3.xml @@ -2,7 +2,7 @@ diff --git a/examples/LEMS_SimExample4.xml b/examples/LEMS_SimExample4.xml index 9d1eefb..74971fd 100644 --- a/examples/LEMS_SimExample4.xml +++ b/examples/LEMS_SimExample4.xml @@ -2,7 +2,7 @@ From ebc78d602eb6cd634e09b9dec32172288924c9a9 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Tue, 11 Jun 2024 17:50:49 +0100 Subject: [PATCH 25/27] To v0.6.0 --- examples/LEMS_SimExample3.xml | 2 +- examples/LEMS_SimExample4.xml | 2 +- neuromllite/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/LEMS_SimExample3.xml b/examples/LEMS_SimExample3.xml index 1ec71bd..7e00601 100644 --- a/examples/LEMS_SimExample3.xml +++ b/examples/LEMS_SimExample3.xml @@ -2,7 +2,7 @@ diff --git a/examples/LEMS_SimExample4.xml b/examples/LEMS_SimExample4.xml index 74971fd..be8366a 100644 --- a/examples/LEMS_SimExample4.xml +++ b/examples/LEMS_SimExample4.xml @@ -2,7 +2,7 @@ diff --git a/neuromllite/__init__.py b/neuromllite/__init__.py index 0c96744..6e0c076 100644 --- a/neuromllite/__init__.py +++ b/neuromllite/__init__.py @@ -1,6 +1,6 @@ import collections -__version__ = "0.5.9" +__version__ = "0.6.0" # import pyNN # import nest From 5df2dfa36239b9d63f56ea378ab2152a13c924d9 Mon Sep 17 00:00:00 2001 From: pgleeson Date: Mon, 19 Aug 2024 12:13:54 +0100 Subject: [PATCH 26/27] Only pin on numpy is <2.0 --- .github/workflows/ci.yml | 2 +- requirements-extra.txt | 2 -- setup.py | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f0902d2..430d280 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,7 +35,7 @@ jobs: pip install . pip install -r requirements-extra.txt - pip install 'numpy<=1.23.0' # temp fix, see https://github.com/OpenSourceBrain/osb-model-validation/issues/91 + #pip install 'numpy<=1.23.0' # temp fix, see https://github.com/OpenSourceBrain/osb-model-validation/issues/91 - name: Lint with flake8 diff --git a/requirements-extra.txt b/requirements-extra.txt index 46e442a..83c7838 100644 --- a/requirements-extra.txt +++ b/requirements-extra.txt @@ -4,8 +4,6 @@ matplotlib PyQt5 pyneuroml pyelectro -numpy neuron h5py graphviz -pylems diff --git a/setup.py b/setup.py index c76fd81..1b8e1ff 100644 --- a/setup.py +++ b/setup.py @@ -22,7 +22,7 @@ install_requires=[ "libNeuroML>=0.5.1", "pyyaml", - "numpy", + "numpy<2.0.0", "tables", "h5py", "modelspec>=0.2.6", From 984aafe094604a37fa1b6c705e2f47dae8c7ecab Mon Sep 17 00:00:00 2001 From: pgleeson Date: Mon, 19 Aug 2024 15:42:42 +0100 Subject: [PATCH 27/27] Regenerated files --- docs/NeuroMLlite_specification.json | 2 +- docs/NeuroMLlite_specification.yaml | 2 +- docs/README.md | 2 +- examples/Example10_Lorenz.json | 2 +- examples/Example11_Synapses.json | 2 +- examples/Example11_Synapses.net.nml | 2 +- examples/Example12_MultiComp.json | 2 +- examples/Example1_TestNetwork.json | 2 +- examples/Example2_TestNetwork.json | 2 +- examples/Example2_TestNetwork.net.nml | 2 +- examples/Example3_Network.json | 2 +- examples/Example3_Network.net.nml | 2 +- examples/Example4_PyNN.json | 2 +- examples/Example4_PyNN.net.nml | 2 +- examples/Example4_PyNN.yaml | 2 +- examples/Example6_PyNN.json | 2 +- examples/Example6_PyNN.net.nml | 2 +- examples/Example6_PyNN_noinputs.json | 2 +- examples/Example6_PyNN_noinputs.net.nml | 2 +- examples/Example7_Brunel2000.json | 2 +- examples/Example7_Brunel2000.net.nml | 2 +- examples/Example8_Extension.json | 2 +- examples/Example9_HindmarshRose.json | 2 +- examples/LEMS_SimExample3.xml | 2 +- examples/LEMS_SimExample4.xml | 2 +- examples/SimExample10.json | 2 +- examples/SimExample11.json | 2 +- examples/SimExample12_MultiComp.json | 2 +- examples/SimExample3.json | 2 +- examples/SimExample4.json | 2 +- examples/SimExample4.yaml | 2 +- examples/SimExample6_PyNN.json | 2 +- examples/SimExample7.json | 2 +- examples/SimExample8.json | 2 +- examples/SimExample9.json | 2 +- examples/arbor/ArborExample.json | 2 +- examples/arbor/ArborExample.yaml | 2 +- examples/arbor/SimArborExample.json | 2 +- examples/arbor/SimArborExample.yaml | 2 +- examples/sonatatest/SimSonataExample.json | 2 +- examples/sonatatest/SonataExample.json | 2 +- examples/spikeratetest/SimSpikers.json | 2 +- examples/spikeratetest/Spikers.json | 2 +- 43 files changed, 43 insertions(+), 43 deletions(-) diff --git a/docs/NeuroMLlite_specification.json b/docs/NeuroMLlite_specification.json index b808453..38c364a 100644 --- a/docs/NeuroMLlite_specification.json +++ b/docs/NeuroMLlite_specification.json @@ -1,5 +1,5 @@ { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "specification": { "Network": { "definition": "A Network containing multiple Population's, connected by Projection's and receiving Input's", diff --git a/docs/NeuroMLlite_specification.yaml b/docs/NeuroMLlite_specification.yaml index cffb2d7..99551d5 100644 --- a/docs/NeuroMLlite_specification.yaml +++ b/docs/NeuroMLlite_specification.yaml @@ -1,4 +1,4 @@ -version: NeuroMLlite v0.5.9 +version: NeuroMLlite v0.6.0 specification: Network: definition: A Network containing multiple Population's, connected by Projection's diff --git a/docs/README.md b/docs/README.md index 920aeb5..53835d8 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,4 +1,4 @@ -# Specification of NeuroMLlite v0.5.9 +# Specification of NeuroMLlite v0.6.0 **Note: the NeuroMLlite specification is still in development! Subject to change...** ## Network diff --git a/examples/Example10_Lorenz.json b/examples/Example10_Lorenz.json index f1fc935..e37bf0f 100644 --- a/examples/Example10_Lorenz.json +++ b/examples/Example10_Lorenz.json @@ -1,6 +1,6 @@ { "Example10_Lorenz": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "notes": "Example 10: Lorenz", "parameters": { "N": 1, diff --git a/examples/Example11_Synapses.json b/examples/Example11_Synapses.json index c826fc0..5dc63dd 100644 --- a/examples/Example11_Synapses.json +++ b/examples/Example11_Synapses.json @@ -1,6 +1,6 @@ { "Example11_Synapses": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "notes": "Example 11: synaptic properties", "parameters": { "input_amp": 0.23, diff --git a/examples/Example11_Synapses.net.nml b/examples/Example11_Synapses.net.nml index 9dea1da..ff42b29 100644 --- a/examples/Example11_Synapses.net.nml +++ b/examples/Example11_Synapses.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.9 + Generated by NeuroMLlite v0.6.0 Generated network: Example11_Synapses Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example12_MultiComp.json b/examples/Example12_MultiComp.json index 45d65f6..61e8b13 100644 --- a/examples/Example12_MultiComp.json +++ b/examples/Example12_MultiComp.json @@ -1,6 +1,6 @@ { "Example12_MultiComp": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "notes": "Example 12: Multicompartmental cells...", "parameters": { "N": 20, diff --git a/examples/Example1_TestNetwork.json b/examples/Example1_TestNetwork.json index be8655b..ed1df17 100644 --- a/examples/Example1_TestNetwork.json +++ b/examples/Example1_TestNetwork.json @@ -1,6 +1,6 @@ { "TestNetwork": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "notes": "A simple network with 2 populations & projection between them. No info yet on what the cells are so network can't be simulated.", "populations": { "pop0": { diff --git a/examples/Example2_TestNetwork.json b/examples/Example2_TestNetwork.json index 8a45b5b..c3f0dd4 100644 --- a/examples/Example2_TestNetwork.json +++ b/examples/Example2_TestNetwork.json @@ -1,6 +1,6 @@ { "Example2_TestNetwork": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "notes": "A simple network with 2 populations & projection between them. Cells are specified to be NeuroML 2 HH cell models & pre population is given a spiking input.", "cells": { "hhcell": { diff --git a/examples/Example2_TestNetwork.net.nml b/examples/Example2_TestNetwork.net.nml index d6a694e..0f91bb5 100644 --- a/examples/Example2_TestNetwork.net.nml +++ b/examples/Example2_TestNetwork.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.9 + Generated by NeuroMLlite v0.6.0 Generated network: Example2_TestNetwork Generation seed: 1234 diff --git a/examples/Example3_Network.json b/examples/Example3_Network.json index cae5535..c3bf5c8 100644 --- a/examples/Example3_Network.json +++ b/examples/Example3_Network.json @@ -1,6 +1,6 @@ { "Example3_Network": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "notes": "Example 3: simple network with 2 populations of NeuroML2 cells, a projection between them and spiking input.", "cells": { "hhcell": { diff --git a/examples/Example3_Network.net.nml b/examples/Example3_Network.net.nml index fe8332c..2036d74 100644 --- a/examples/Example3_Network.net.nml +++ b/examples/Example3_Network.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.9 + Generated by NeuroMLlite v0.6.0 Generated network: Example3_Network Generation seed: 1234 diff --git a/examples/Example4_PyNN.json b/examples/Example4_PyNN.json index 2e71485..cf1a9ed 100644 --- a/examples/Example4_PyNN.json +++ b/examples/Example4_PyNN.json @@ -1,6 +1,6 @@ { "Example4_PyNN": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "notes": "Example 4: a network with PyNN cells & inputs", "parameters": { "input_amp": 0.99 diff --git a/examples/Example4_PyNN.net.nml b/examples/Example4_PyNN.net.nml index 82747ce..bf46562 100644 --- a/examples/Example4_PyNN.net.nml +++ b/examples/Example4_PyNN.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.9 + Generated by NeuroMLlite v0.6.0 Generated network: Example4_PyNN Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example4_PyNN.yaml b/examples/Example4_PyNN.yaml index 207e1ce..fb7365a 100644 --- a/examples/Example4_PyNN.yaml +++ b/examples/Example4_PyNN.yaml @@ -1,5 +1,5 @@ Example4_PyNN: - version: NeuroMLlite v0.5.9 + version: NeuroMLlite v0.6.0 notes: 'Example 4: a network with PyNN cells & inputs' parameters: input_amp: 0.99 diff --git a/examples/Example6_PyNN.json b/examples/Example6_PyNN.json index ebc7db9..32c91c8 100644 --- a/examples/Example6_PyNN.json +++ b/examples/Example6_PyNN.json @@ -1,6 +1,6 @@ { "Example6_PyNN": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "notes": "Another network for PyNN - work in progress...", "parameters": { "N_scaling": 0.005, diff --git a/examples/Example6_PyNN.net.nml b/examples/Example6_PyNN.net.nml index 09302c1..77bbcd1 100644 --- a/examples/Example6_PyNN.net.nml +++ b/examples/Example6_PyNN.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.9 + Generated by NeuroMLlite v0.6.0 Generated network: Example6_PyNN Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example6_PyNN_noinputs.json b/examples/Example6_PyNN_noinputs.json index c793f72..bdce92b 100644 --- a/examples/Example6_PyNN_noinputs.json +++ b/examples/Example6_PyNN_noinputs.json @@ -1,6 +1,6 @@ { "Example6_PyNN_noinputs": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "notes": "Another network for PyNN - work in progress...", "parameters": { "N_scaling": 0.005, diff --git a/examples/Example6_PyNN_noinputs.net.nml b/examples/Example6_PyNN_noinputs.net.nml index 12be79b..c192244 100644 --- a/examples/Example6_PyNN_noinputs.net.nml +++ b/examples/Example6_PyNN_noinputs.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.9 + Generated by NeuroMLlite v0.6.0 Generated network: Example6_PyNN_noinputs Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example7_Brunel2000.json b/examples/Example7_Brunel2000.json index 2faca33..4dbb9ab 100644 --- a/examples/Example7_Brunel2000.json +++ b/examples/Example7_Brunel2000.json @@ -1,6 +1,6 @@ { "Example7_Brunel2000": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "notes": "Example 7: based on network of Brunel 2000", "parameters": { "g": 4, diff --git a/examples/Example7_Brunel2000.net.nml b/examples/Example7_Brunel2000.net.nml index c7e6757..5b191f8 100644 --- a/examples/Example7_Brunel2000.net.nml +++ b/examples/Example7_Brunel2000.net.nml @@ -1,5 +1,5 @@ - Generated by NeuroMLlite v0.5.9 + Generated by NeuroMLlite v0.6.0 Generated network: Example7_Brunel2000 Generation seed: 1234 NeuroMLlite parameters: diff --git a/examples/Example8_Extension.json b/examples/Example8_Extension.json index 486d4ac..77ac1f1 100644 --- a/examples/Example8_Extension.json +++ b/examples/Example8_Extension.json @@ -1,6 +1,6 @@ { "Example8_Extension": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "notes": "Example 8: general testing...", "parameters": { "N": 10, diff --git a/examples/Example9_HindmarshRose.json b/examples/Example9_HindmarshRose.json index 4416e09..83f4fb8 100644 --- a/examples/Example9_HindmarshRose.json +++ b/examples/Example9_HindmarshRose.json @@ -1,6 +1,6 @@ { "Example9_HindmarshRose": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "notes": "Example 9: HindmarshRose", "parameters": { "N": 1, diff --git a/examples/LEMS_SimExample3.xml b/examples/LEMS_SimExample3.xml index 7e00601..e270493 100644 --- a/examples/LEMS_SimExample3.xml +++ b/examples/LEMS_SimExample3.xml @@ -2,7 +2,7 @@ diff --git a/examples/LEMS_SimExample4.xml b/examples/LEMS_SimExample4.xml index be8366a..b9eed34 100644 --- a/examples/LEMS_SimExample4.xml +++ b/examples/LEMS_SimExample4.xml @@ -2,7 +2,7 @@ diff --git a/examples/SimExample10.json b/examples/SimExample10.json index 2386e97..1ffd155 100644 --- a/examples/SimExample10.json +++ b/examples/SimExample10.json @@ -1,6 +1,6 @@ { "SimExample10": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "network": "Example10_Lorenz.json", "duration": 10000.0, "dt": 1.0, diff --git a/examples/SimExample11.json b/examples/SimExample11.json index cce2c53..b712dfa 100644 --- a/examples/SimExample11.json +++ b/examples/SimExample11.json @@ -1,6 +1,6 @@ { "SimExample11": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "network": "Example11_Synapses.json", "duration": 1000.0, "dt": 0.01, diff --git a/examples/SimExample12_MultiComp.json b/examples/SimExample12_MultiComp.json index 8b5ae55..ee3f824 100644 --- a/examples/SimExample12_MultiComp.json +++ b/examples/SimExample12_MultiComp.json @@ -1,6 +1,6 @@ { "SimExample12_MultiComp": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "network": "Example12_MultiComp.json", "duration": 1000.0, "dt": 0.025, diff --git a/examples/SimExample3.json b/examples/SimExample3.json index 803988d..80f1e01 100644 --- a/examples/SimExample3.json +++ b/examples/SimExample3.json @@ -1,6 +1,6 @@ { "SimExample3": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "network": "Example3_Network.json", "duration": 1000.0, "dt": 0.025, diff --git a/examples/SimExample4.json b/examples/SimExample4.json index ee2e618..4da66d4 100644 --- a/examples/SimExample4.json +++ b/examples/SimExample4.json @@ -1,6 +1,6 @@ { "SimExample4": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "network": "Example4_PyNN.json", "duration": 1000.0, "dt": 0.01, diff --git a/examples/SimExample4.yaml b/examples/SimExample4.yaml index f1ef3fd..a7b58d4 100644 --- a/examples/SimExample4.yaml +++ b/examples/SimExample4.yaml @@ -1,5 +1,5 @@ SimExample4: - version: NeuroMLlite v0.5.9 + version: NeuroMLlite v0.6.0 network: Example4_PyNN.yaml duration: 1000.0 dt: 0.01 diff --git a/examples/SimExample6_PyNN.json b/examples/SimExample6_PyNN.json index 53a7358..5a6b13d 100644 --- a/examples/SimExample6_PyNN.json +++ b/examples/SimExample6_PyNN.json @@ -1,6 +1,6 @@ { "SimExample6_PyNN": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "network": "Example6_PyNN.json", "duration": 100.0, "dt": 0.025, diff --git a/examples/SimExample7.json b/examples/SimExample7.json index 389ad06..5ffb1d7 100644 --- a/examples/SimExample7.json +++ b/examples/SimExample7.json @@ -1,6 +1,6 @@ { "SimExample7": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "network": "Example7_Brunel2000.json", "duration": 1000.0, "dt": 0.025, diff --git a/examples/SimExample8.json b/examples/SimExample8.json index f7acaa5..5a5bc4f 100644 --- a/examples/SimExample8.json +++ b/examples/SimExample8.json @@ -1,6 +1,6 @@ { "SimExample8": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "network": "Example8_Extension.json", "duration": 1000.0, "dt": 0.025, diff --git a/examples/SimExample9.json b/examples/SimExample9.json index 7fe2760..7ca7a77 100644 --- a/examples/SimExample9.json +++ b/examples/SimExample9.json @@ -1,6 +1,6 @@ { "SimExample9": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "network": "Example9_HindmarshRose.json", "duration": 1000000.0, "dt": 25.0, diff --git a/examples/arbor/ArborExample.json b/examples/arbor/ArborExample.json index 12c1362..05edac6 100644 --- a/examples/arbor/ArborExample.json +++ b/examples/arbor/ArborExample.json @@ -1,6 +1,6 @@ { "ArborExample": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "notes": "Example for testing Arbor", "parameters": { "v_init": -50, diff --git a/examples/arbor/ArborExample.yaml b/examples/arbor/ArborExample.yaml index 455263b..acb1fd7 100644 --- a/examples/arbor/ArborExample.yaml +++ b/examples/arbor/ArborExample.yaml @@ -1,5 +1,5 @@ ArborExample: - version: NeuroMLlite v0.5.9 + version: NeuroMLlite v0.6.0 notes: Example for testing Arbor parameters: v_init: -50 diff --git a/examples/arbor/SimArborExample.json b/examples/arbor/SimArborExample.json index a89098f..4696fc0 100644 --- a/examples/arbor/SimArborExample.json +++ b/examples/arbor/SimArborExample.json @@ -1,6 +1,6 @@ { "SimArborExample": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "network": "ArborExample.json", "duration": 100.0, "dt": 0.01, diff --git a/examples/arbor/SimArborExample.yaml b/examples/arbor/SimArborExample.yaml index 7836548..ee2739c 100644 --- a/examples/arbor/SimArborExample.yaml +++ b/examples/arbor/SimArborExample.yaml @@ -1,5 +1,5 @@ SimArborExample: - version: NeuroMLlite v0.5.9 + version: NeuroMLlite v0.6.0 network: ArborExample.yaml duration: 100.0 dt: 0.01 diff --git a/examples/sonatatest/SimSonataExample.json b/examples/sonatatest/SimSonataExample.json index 844b2a3..22f6329 100644 --- a/examples/sonatatest/SimSonataExample.json +++ b/examples/sonatatest/SimSonataExample.json @@ -1,6 +1,6 @@ { "SimSonataExample": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.6.0", "network": "SonataExample.json", "duration": 1000.0, "dt": 0.01, diff --git a/examples/sonatatest/SonataExample.json b/examples/sonatatest/SonataExample.json index 4e877db..dae6d58 100644 --- a/examples/sonatatest/SonataExample.json +++ b/examples/sonatatest/SonataExample.json @@ -1,6 +1,6 @@ { "SonataExample": { - "version": "NeuroMLlite v0.5.8", + "version": "NeuroMLlite v0.6.0", "notes": "Example for testing Sonata", "parameters": { "input_amp": 0.19, diff --git a/examples/spikeratetest/SimSpikers.json b/examples/spikeratetest/SimSpikers.json index 6e1558d..6481df6 100644 --- a/examples/spikeratetest/SimSpikers.json +++ b/examples/spikeratetest/SimSpikers.json @@ -1,6 +1,6 @@ { "SimSpikers": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "network": "Spikers.json", "duration": 10000.0, "dt": 0.025, diff --git a/examples/spikeratetest/Spikers.json b/examples/spikeratetest/Spikers.json index a8a71c9..a9b5fe9 100644 --- a/examples/spikeratetest/Spikers.json +++ b/examples/spikeratetest/Spikers.json @@ -1,6 +1,6 @@ { "Spikers": { - "version": "NeuroMLlite v0.5.9", + "version": "NeuroMLlite v0.6.0", "notes": "Example with spiking entities..", "parameters": { "N": 10,