Skip to main content

NeuroMLlite: a common framework for reading/writing/generating network specifications based on NeuroML

Continuous builds PyPI PyPI - Python Version GitHub GitHub pull requests GitHub issues GitHub Org's stars Twitter Follow

NeuroMLlite is in active development. This will evolve into a framework for more portable, concise network specifications which will form an important part of NeuroML v3.

For some more background to this package see here: https://github.com/NeuroML/NetworkShorthand.

Architecture

Examples

The best way to see the currently proposed structure is to look at the examples

Ex. 1: Simple network, 2 populations & projection

Ex1

JSON | Python script

Can be exported to:

  • NeuroML 2 (XML or HDF5 format)
  • Graph (see above)

Ex. 2: Simple network, 2 populations, projection & inputs

Ex2

JSON | Python script | Generated NeuroML2

Can be exported to:

  • NeuroML 2 (XML or HDF5 format)
  • Graph (see above)

Ex. 3: As above, with simulation specification

JSON for network | JSON for simulation | Python script | Generated NeuroML2 | Generated LEMS

Can be exported to:

  • NeuroML 2 (XML or HDF5 format)
  • Graph (see Ex2)

Can be simulated using:

  • NetPyNE
  • jNeuroML
  • NEURON generated from jNeuroML
  • NetPyNE generated from jNeuroML

Ex. 4: A network with PyNN cells & inputs

Ex4

JSON | Python script | Generated NeuroML2

Can be exported to:

  • NeuroML 2 (XML or HDF5 format)
  • Graph (see above)

Can be simulated using:

  • NEST via PyNN
  • NEURON via PyNN
  • Brian via PyNN
  • jNeuroML
  • NEURON generated from jNeuroML
  • NetPyNE generated from jNeuroML

Ex. 5: A network with the Blue Brain Project connectivity data

Ex5

Ex5_1 Ex5_2 Ex5_3

JSON | Python script

Can be exported to:

  • NeuroML 2 (XML or HDF5 format)
  • Graph (see above)
  • Matrix (see above)

Can be simulated using:

  • NetPyNE

Ex. 6: A network based on Potjans and Diesmann 2014 (work in progress)

Ex6d Ex6f Ex6c Ex6matrix

JSON | Python script | Generated NeuroML2

Can be exported to:

  • NeuroML 2 (XML or HDF5 format)
  • Graph (see above)
  • Matrix (see above)

Ex. 7: A network based on Brunel 2000 (work in progress)

Ex7

JSON | Python script | Generated NeuroML2

Can be exported to:

  • NeuroML 2 (XML or HDF5 format)
  • Graph (see above)

Can be simulated using:

  • jNeuroML

Installation & usage

Installation of the basic framework should be fairly straightforward:

git clone https://github.com/NeuroML/NeuroMLlite.git
cd NeuroMLlite
sudo python setup.py install

Then simple examples can be run:

cd examples
python Example1.py  #  Generates the JSON representation of the network (console & save to file)

To generate the NeuroML 2 version of the network, first install pyNeuroML, then use the -nml flag:

sudo pip install pyNeuroML
python Example2.py -nml       # Saves the network structure to a *net.nml XML file

Other options (which will require Neuron, NetPyNE, PyNN, NEST, Brain etc. to be installed) include:

python Example4.py -jnml       # Generate NeuroML2 & LEMS simulation & run using jNeuroML
python Example4.py -jnmlnrn    # Generate NeuroML2 & LEMS simulation, use jNeuroML to generate Neuron code (py/hoc/mod), then run in Neuron
python Example4.py -jnmlnrn    # Generate NeuroML2 & LEMS simulation, use jNeuroML to generate NetPyNE code (py/hoc/mod), then run in NetPyNE
python Example4.py -netpyne    # Generate network in NetPyNE directly & run simulation
python Example4.py -pynnnrn    # Generate network in PyNN, run using simulator Neuron
python Example4.py -pynnnest   # Generate network in PyNN, run using simulator NEST
python Example4.py -pynnbrian  # Generate network in PyNN, run using simulator Brian

Graphs of the network structure can be generated at many levels of detail (1-6) and laid out using GraphViz engines (d - dot (default); c - circo; n - neato; f - fdp). See above images for generated examples.

python Example6.py -graph3d
python Example6.py -graph2f
python Example6.py -graph1n

Other examples

NeuroMLlite is being tested/used in the following repositories on OSB:

See also:

Metadata

Release files for neuromllite 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for neuromllite 0.6.1
File Size Uploaded
neuromllite-0.6.1.tar.gz 90.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for neuromllite 0.6.1
File Interpreter ABI Platform
neuromllite-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 189.5 kB

Release files / neuromllite-0.6.1.tar.gz

Download URL neuromllite-0.6.1.tar.gz
Size 90.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d66718ca8e6e886cf2e691d4b6eef33a4f7edebd7c2527403fa55f8f859a9f5c
BLAKE2b-256 checksum
How to use checksums
2a9ed902082547c4b1b2be474ad51c800994e62f2f7d97c30c963a05c0947a77
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / neuromllite-0.6.1-py3-none-any.whl

Download URL neuromllite-0.6.1-py3-none-any.whl
Size 99.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0118af494573f18db3de4b8f0120d9d37ce6ce5a7b24e613ad1900e74a5adc80
BLAKE2b-256 checksum
How to use checksums
98b83b74e2056123d42925d6dc1d7047e73dcaf4cfddf25b287734079fe3cded
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 release files

0.6.0

2 release files

0.5.9

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.3.8

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.2.4

2 release files

0.2.3

1 release file

0.2.2

2 release files

0.1.9

1 release file

0.1.7

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page