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:

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neuromllite-0.6.1.tar.gz (90.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neuromllite-0.6.1-py3-none-any.whl (99.4 kB view details)

Uploaded Python 3

File details

Details for the file neuromllite-0.6.1.tar.gz.

File metadata

  • Download URL: neuromllite-0.6.1.tar.gz
  • Upload date:
  • Size: 90.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for neuromllite-0.6.1.tar.gz
Algorithm Hash digest
SHA256 d66718ca8e6e886cf2e691d4b6eef33a4f7edebd7c2527403fa55f8f859a9f5c
MD5 6e9a0a1166b79a00910fa4fac8fa14bc
BLAKE2b-256 2a9ed902082547c4b1b2be474ad51c800994e62f2f7d97c30c963a05c0947a77

See more details on using hashes here.

File details

Details for the file neuromllite-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: neuromllite-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 99.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for neuromllite-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0118af494573f18db3de4b8f0120d9d37ce6ce5a7b24e613ad1900e74a5adc80
MD5 36c37c0c28cd0f77728dfbeee3ed0212
BLAKE2b-256 98b83b74e2056123d42925d6dc1d7047e73dcaf4cfddf25b287734079fe3cded

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.6.1 This release

2 files

0.6.0

2 files

0.5.9

2 files

0.5.7

2 files

0.5.6

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.3.8

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.2.4

2 files

0.2.3

1 file

0.2.2

2 files

0.1.9

1 file

0.1.7

1 file

0.1.5

1 file

0.1.4

1 file

0.1.3

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page