https://github.com/bluebrain/neurodamus-models

Blue Brain simulation models

https://github.com/bluebrain/neurodamus-models

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.3%) to scientific vocabulary

Keywords

cellular models neuroscience simulation
Last synced: 5 months ago · JSON representation

Repository

Blue Brain simulation models

Basic Info
  • Host: GitHub
  • Owner: BlueBrain
  • License: apache-2.0
  • Language: NMODL
  • Default Branch: main
  • Homepage:
  • Size: 593 KB
Statistics
  • Stars: 2
  • Watchers: 7
  • Forks: 1
  • Open Issues: 12
  • Releases: 7
Archived
Topics
cellular models neuroscience simulation
Created about 2 years ago · Last pushed 12 months ago
Metadata Files
Readme License Authors

README.md

[!WARNING] The Blue Brain Project concluded in December 2024, so development has ceased under the BlueBrain GitHub organization. Future development will take place at: https://github.com/openbraininstitute/neurodamus-models

neurodamus-models

This repo is the aggregate repository featuring all simulation models used within the Blue Brain Project to run in-silico simulations of mouse brains using the NEURON simulator.

Installation

Prerequisites

The models contained here require a compiler, CMake, MPI, and HDF5 to be installed. On a Ubuntu system, console sudo apt-get install cmake libopenmpi-dev libhdf5-dev will install the necessary dependencies. The NEURON simulator and Neurodamus simulation framework can be installed via pip: console python -m pip install NEURON-nightly neurodamus `

Further, an installation of libsonatareport is required. This can be built with: console git clone https://github.com/BlueBrain/libsonatareport reports/src --recursive --shallow-submodules cmake \ -B reports/build \ -S reports/src \ -DCMAKE_INSTALL_PREFIX=reports/install \ -DSONATA_REPORT_ENABLE_SUBMODULES=ON \ -DSONATA_REPORT_ENABLE_TEST=OFF cmake --build reports/build cmake --install reports/build

Compiling the models

The mechanisms for a model can be built as follows, using the neocortex model as an example: ```console git clone https://github.com/BlueBrain/neurodamus-models.git neurodamus-models/src export CC=$(which mpicc) export CXX=$(which mpicxx)

This can be set directly if the installation location of neurodamus is known

DATADIR=$(python -c "import neurodamus; from pathlib import Path; print(Path(neurodamus.file).parent / 'data')") cmake -B neurodamus-models/build -S neurodamus-models/src \ -DCMAKEINSTALLPREFIX=$PWD/neurodamus-models/install \ -DCMAKEINSTALLRPATHUSELINKPATH=ON \ -DCMAKEPREFIXPATH=$PWD/reports/install \ -DNEURODAMUSCOREDIR=${DATADIR} \ -DNEURODAMUSMECHANISMS=neocortex cmake --build neurodamus-models/build cmake --install neurodamus-models/build `` This will also produce abuild_neurodamus.sh` script that can be used to compile future iterations of the MOD files.

Testing the models

Following the above step, the compiled mechanisms can be accessed from within NEURON, e.g., with: console ./neurodamus-models/install/bin/special -python -c "from neuron import h; from neurodamus import Neurodamus; h.quit()"

For an example on how to run a model with compiled mechanisms on a circuit, see the integration test of Neurodamus.

Multi-model builds (MMB project)

For the cases where a combined set of models is desirable a model_manager.py tool is provided.

The details on how the models can be combined without clashing (i.e. same SUFFIX in MOD files) is to be provided in a configuration file, where the user specifies a number of source models to be combined with an optional "prefix". Let's refer to the included model_config.json for an example: { "ALL": { "common": { "mods": ["common/mod/*.mod"], "hocs": ["common/hoc/*.hoc"] }, "neocortex": { "prefix": "NCX", "mods": [ "neocortex/mod/v6/*.mod", ["neocortex/mod/v5/DetGABAAB.mod", "new_name_for_DetGABAAB.mod"] ], "hocs": [] } } }

Where - ALL is the name of this combined model. Resulting set will be stored in build/ALL. - common and neocortex are names of two sources of mod/hoc files. - For the common, we specified "mods" and "hocs" without prefix which means they are copied verbatim / without any modifications. In our case this is important for existing circuits to keep working with unmodified synapse names. - neocortex specifies the NCX prefix. This means: - File names are prefixed with "NCX", unless otherwise specified - All .mod files (density channels, Point Processes and Artificial Cells) get their names prefixed - All references to these mechanisms in .hoc files are adjusted accordingly. - "mods" and "hocs" lists accept a number of entries - If the entry is a string then it's the path of the file to be considered (wildcards supported). E.g. neocortex/mod/v6/*.mod - If the entry is a list, the second argument is taken as the new name. E.g. new_name_for_DetGABAAB.mod is the new name of DetGABAAB.mod (no prefix)

Running model manager

```sh

It's an executable Python application

$ ./modelmanager.py Usage: ./modelmanager.py [--only-synapses]

$ ./modelmanager.py modelconfig.json [INFO] Checking 'ALL' [INFO] Building 'ALL' (only_synapses=False) [INFO] - Processing common [INFO] - Processing neocortex [INFO] > Path neocortex/mod/v6/*.mod [INFO] > Path ['neocortex/mod/v5/DetGABAAB.mod', 'newnamefor_DetGABAAB.mod'] [INFO] > Path neocortex/hoc/AMPANMDAHelper.hoc [INFO] > Path neocortex/hoc/GABAABHelper.hoc [INFO] > Path neocortex/hoc/GluSynapseHelper.hoc ...

$ ls build/ALL hoc mod

```

Only rename synapses

Notice an optional --only-synapses argument. It is intended to apply renaming rules only to synapse files, currently ProbAMPANMDA_EMS.mod, ProbGABAAB_EMS.mod and GluSynapse.mod.

This may be useful in case you are working with existing circuits where you do not want to rename machanisms yet, but still you want to rename and bundle the several synapse types together.

Acknowledgements

The development of this software was supported by funding to the Blue Brain Project, a research center of the École polytechnique fédérale de Lausanne (EPFL), from the Swiss government’s ETH Board of the Swiss Federal Institutes of Technology.

Copyright (c) 2009-2024 Blue Brain Project/EPFL

Owner

  • Name: The Blue Brain Project
  • Login: BlueBrain
  • Kind: organization
  • Email: bbp.opensource@epfl.ch
  • Location: Geneva, Switzerland

Open Source Software produced and used by the Blue Brain Project

GitHub Events

Total
  • Issues event: 10
  • Watch event: 1
  • Push event: 1
  • Pull request review event: 1
  • Pull request review comment event: 1
  • Fork event: 1
  • Create event: 1
Last Year
  • Issues event: 10
  • Watch event: 1
  • Push event: 1
  • Pull request review event: 1
  • Pull request review comment event: 1
  • Fork event: 1
  • Create event: 1

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 20
  • Total pull requests: 23
  • Average time to close issues: N/A
  • Average time to close pull requests: 17 days
  • Total issue authors: 1
  • Total pull request authors: 9
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.83
  • Merged pull requests: 20
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 20
  • Pull requests: 23
  • Average time to close issues: N/A
  • Average time to close pull requests: 17 days
  • Issue authors: 1
  • Pull request authors: 9
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.83
  • Merged pull requests: 20
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • matz-e (10)
Pull Request Authors
  • matz-e (6)
  • WeinaJi (5)
  • sfarina05 (4)
  • joseph-tharayil (4)
  • dkeller9 (2)
  • tristan0x (2)
  • jorblancoa (1)
  • ferdonline (1)
  • atemerev (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/test.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
common/test/requirements.txt pypi
  • nose * test
  • scipy * test