Skip to main content

PyNEST implementation of the cortical microcircuit model of Potjans & Diesmann (2014).

Project description

PyNEST implementation

www.python.org NEST simulated

Installing the python package microcircuit

The PyNEST implementation of the model is provided in the form of a python package microcircuit.

We recommend installing the python package inside a python environment:

  • Create a python environment
    python -m venv venv
    
  • Activate the python environment:
    source venv/bin/activate
    
  • Update pip:
    pip install -U pip
    

The microcircuit python package can be installed by

git clone https://github.com/inm-6/microcircuit-PD14-model
pip install microcircuit-PD14-model/PyNEST

or, without cloning the entire repository, by

pip install "git+https://github.com/INM-6/microcircuit-PD14-model.git/#egg=microcircuit&subdirectory=PyNEST"

Software requirements

  • NEST (see NEST installation)

    We recommend installing NEST locally within the virtual environment:

    git clone https://github.com/nest/nest-simulator
    ## for a specific <VERSION> (e.g. <VERSION>=v3.9), use
    ## git clone --depth 1 --branch <VERSION> https://github.com/nest/nest-simulator
    cd nest-simulator
    mkdir build
    cd build
    pip install -r ../requirements_pynest.txt
    cmake ..
    make
    make install
    
  • Python 3.x

  • docopt-ng, matplotlib, numpy, psutil, ruamel.yaml, scipy (handled by python package dependencies)

Testing

Executing

pytest

runs the unit test(s) in microcircuit-PD14-model/PyNEST/tests.

Usage

After installation, the microcircuit python package can be imported in a python application using

import microcircuit

See this examples for a more detailed illustrations of how the package can be used.

Memory requirements

scaling factor (= N_scaling = K_scaling) Memory
0.1 (default) 490 MB
0.2 1200 MB
0.5 4400 MB
1 14 GB

Performance benchmarking

Recent performance benchmarking results for the microcircuit model can be found here.

Implementation details

This implementation uses the iaf_psc_exp neuron and the static_synapse synapse models provided in [NEST]. The network is connected according to the fixed_total_number connection rule in NEST. The neuron dynamics is integrated in a time-driven manner using exact integration with a simulation step size sim_resolution (Rotter & Diesmann, 1999).

The PyNEST implementation runs with NEST 3.9 (Terhorst et al., 2025).

Simulation parameters (defaults)

Name Value Description
sim_resolution 0.1 ms simulation time resolution (duration of one simulation step)
t_presim 500 ms duration of pre-simulation phase (warm-up)
t_sim 1000 ms duration of simulation phase
rec_dev spike_recorder recording device

References

Rotter & Diesmann (1999), Exact digital simulation of time-invariant linear systems with applications to neuronal modeling. Biological Cybernetics 81(5-6):381-402. doi:10.1007/s004220050570

Terhorst et al. (2025). NEST 3.9. Zenodo. doi:10.5281/zenodo.17036827

License

License: GPL v2

This project is licensed under GNU General Public License v2.0 or later. For details, see here.

Project details


Download files

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

Source Distribution

microcircuit-0.1.tar.gz (35.5 kB view details)

Uploaded Source

Built Distribution

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

microcircuit-0.1-py3-none-any.whl (39.3 kB view details)

Uploaded Python 3

File details

Details for the file microcircuit-0.1.tar.gz.

File metadata

  • Download URL: microcircuit-0.1.tar.gz
  • Upload date:
  • Size: 35.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for microcircuit-0.1.tar.gz
Algorithm Hash digest
SHA256 4fe3b75cb7abd1077f91ff4e13b659502dd3ced72e92cd29ca8e674b8c95473f
MD5 1f33519853c5647e5e2c8de8d3500bae
BLAKE2b-256 05c3573cd53eda063d35dab3861b6266667f0d1b6cf99695e0a5c46de8e80be7

See more details on using hashes here.

File details

Details for the file microcircuit-0.1-py3-none-any.whl.

File metadata

  • Download URL: microcircuit-0.1-py3-none-any.whl
  • Upload date:
  • Size: 39.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for microcircuit-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 34a42118be297165c2e04e450cdd8c67dbaf1772e3bc1975f05b20f9d7d60bd1
MD5 09d359f9c0d5dd8bc65b04856f8df6c1
BLAKE2b-256 516485c6c0d1872295f8cad39054558fd7404ae701fb9eedbf705b86a83048e8

See more details on using hashes here.

Supported by

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