owned this note
owned this note
Published
Linked with GitHub
# Software WG taskforce: simulator selection resource<br>Consolidated notes from meetings
## Resource links
### Meeting notes
* [Meeting 1: 2022-11-02](https://hackmd.io/@sanjayankur31/B1thUbeSo)
* [Meeting 2: 2022-11-16](https://hackmd.io/8GCjcf2hSvy8iWjzgrdNHg)
* [Meeting 3: 2022-11-30](https://hackmd.io/yS2m5vftR_CkUsVsS-zyOA)
* [Meeting 4: 2023-01-11](https://hackmd.io/@mstimberg/SJ5LcV2cj)
* [Meeting 5: 2023-01-25](https://hackmd.io/@mstimberg/rkN-yS6ji)
* [Meeting 6: 2023-08-02](https://hackmd.io/@mstimberg/S1PxWQZ6j)
* [Meeting 7: 2023-22-02](https://hackmd.io/@mstimberg/r1w_pqXAs)
* [Meeting 8: 2023-03-08](https://hackmd.io/@mstimberg/SkaUQ181n)
* [Meeting 9: 2023-03-22](https://hackmd.io/@mstimberg/BkECWB_gn)
* [Meeting 10: 2023-04-05](https://hackmd.io/@mstimberg/Bkvkvyjb2)
* [Meeting 11: 2023-04-19](https://hackmd.io/@mstimberg/SkqazEpz3)
* [Meeting 12: 2023-05-03](https://hackmd.io/@mstimberg/B1R6f2JN3)
* [Meeting 13: 2023-05-31](https://hackmd.io/@mstimberg/HJ5_en4Ih)
* [Meeting 14: 2023-06-14](https://hackmd.io/@mstimberg/HJ_ht4PDn)
* [Meeting 15: 2023-06-28](https://hackmd.io/@mstimberg/SJI_FiY_2)
* [Meeting 16: 2023-07-12](https://hackmd.io/@mstimberg/BJMUZX3Fh)
* [Meeting 17: 2023-09-13](https://hackmd.io/@mstimberg/BJA1wl1kp)
* [Meeting 18: 2023-09-27](https://hackmd.io/@mstimberg/Bk8Q_Ybgp)
* [Meeting 19: 2023-10-11](https://hackmd.io/@mstimberg/HkgnzGVW6)
* [Meeting 20: 2023-10-25](https://hackmd.io/@mstimberg/ByTnoHIzp)
* [Meeting 21: 2023-12-06](https://hackmd.io/@mstimberg/SJz9WJCST)
* [Meeting 22: 2023-12-20](https://hackmd.io/@mstimberg/S1gXwSevT)
* [Meeting 23: 2024-01-17](https://hackmd.io/@mstimberg/ByYsCf4ta)
* [Meeting 24: 2024-02-14](https://hackmd.io/@mstimberg/SyV-WsLqa)
* [Meeting 25: 2024-02-28](https://hackmd.io/@mstimberg/Bys-5ih3p)
* [Meeting 26: 2024-03-13](https://hackmd.io/@mstimberg/HJBcPzk0p)
* [Meeting 27: 2024-05-22](https://hackmd.io/@mstimberg/H1_BYms7R)
* [Meeting 28: 2024-06-05](https://hackmd.io/@mstimberg/H1RrAipEA)
* [Meeting 29: 2024-07-31](https://hackmd.io/s/BJo4TcwtC)
* [Meeting 30: 2024-10-09](https://hackmd.io/@mstimberg/SJxxAMAQk1l)
* [Meeting 31: 2024-11-06](https://hackmd.io/@mstimberg/H1mGqLIx1e)
### Related discussions
* Initial discussion on GitHub: https://github.com/OCNS/SoftwareWG/issues/61
### Existing lists of simulators
* https://github.com/asoplata/open-computational-neuroscience-resources#simulation-software
* https://compneuroweb.com/sftwr.html#modeling
### Model databases
- [ModelDB](https://senselab.med.yale.edu/modeldb/)
- [Open source brain](https://www.opensourcebrain.org/projects)
- [List of data bases by the Fedora Project](https://docs.fedoraproject.org/en-US/neurofedora/related-links/#_neuroscience_databases)
### Review papers about model types
- [Modeling Single-Neuron Dynamics and Computations](https://www.science.org/doi/full/10.1126/science.1127240)
- [Theory and Simulation in Neuroscience](https://www.science.org/doi/full/10.1126/science.1227356)
## Criteria for tool inclusion/exclusion
### General agreement
* Must be FOSS and accessible without required registration or similar
* Accept tools that rely on proprietary software (MATLAB, CUDA, …), if the tool itself is FOSS
* Should be installable/working (also see status metadata below)
* Must have some point of contact (email, GitHub issues, forum, …)
* Must have free and freely accessible documentation (enough to use it, there
could be additional non-free material like books or courses)
* neuroscience-specific tool (or main/major use case), not general chemical/physical simulator – use best judgement, we can always include additional tools if authors/users claim that they are relevant
### Still needs discussion
* Do we need to make a difference between "frontend tools" like PyNN, BMTK, NetPyNE, and simulators? What about things like MUSIC?
## Meta data/annotations
### General agreement
* some general structured information: website and other links, os support, interface language
* Some kind of explanation for metadata/tags needed (e.g. glossary, examples, [model hierarchy](https://docs.arbor-sim.org/en/latest/ecosystem/index.html#simulators), …)
* Describe things from user-perspective first (e.g. programming language is the language of the interface, not of the backend)
### Still needs discussion
* Only free-form tags or additional pre-defined meta data (model type, scale, description language support, …)?
* maintenance development status, Unknown/Unmaintained/Archived, functional/maintained, active dev? For example:
* active dev: regular releases or commits (at least one commit within last month, one release in last year).
* maintained: occasional bug fixes (at least one in past year)
* unknown: unknown ;)
## Annotated list of simulators
:::info
NEW: **[YAML version of this list](https://github.com/OCNS/simselect/blob/main/simtools/simtools.yaml)**
:::
- Arbor (brent)
- website: arbor-sim.org
- biological-level: detailed neurons, single cells, large networks
- network-level:
- tags: multicompartment, hpc, gpu, python, c++, large-scale, neuroml, neurolucida, swc, nmodl
- floss license: BSD
- installable: lin/win/macos
- Point of contact: Gitter https://gitter.im/arbor-sim/community, Matrix: #arbor-sim_community:gitter.im, Github https://github.com/arbor-sim/arbor/, email contact@arbor-sim.org
- user docs: docs.arbor-sim.org
- status: maintained
- inclusion: yes :)
- Arbor GUI (brent)
- website: https://github.com/arbor-sim/gui/
- level: detailed neurons, single cells
- tags: multicompartment, hpc, gpu, python, c++, large-scale, gui,
- floss license: BSD
- installable: lin/win/macos
- Point of contact: Gitter https://gitter.im/arbor-sim/gui, Github https://github.com/arbor-sim/gui/issues, Matrix: #arbor-sim_community:gitter.im
- user docs: https://github.com/arbor-sim/gui/
- status: maintained
- inclusion: yes
- Brian (Marcel)
- website: [https://briansimulator.org/](https://briansimulator.org/)
- tags: python, single-compartment models, channel-based models, integrate-and-fire models, basic multi-compartmental models, custom models, differential equations, spiking networks, networks, physical units, code generation, OpenMP, multi-threading, single machine, simulation
- interface language: python
- license: CeCILL 2.1 license
- installable: linux/macOS/windows
- Point of contact: [discourse](https://brian.discourse.group/), github issues
- user docs: [https://brian2.readthedocs.io/en/stable/](https://brian2.readthedocs.io/en/stable/)
- status: maintained and actively developed
- inclusion: yes
- BrainDynamics Tool box
- website: https://bdtoolbox.teachable.com/
- tags: dynamical systems, matlab, ode
- floss license: BSD but requires Matlab (Octave explicitly noted to not be supported)
- installable: lin/win/macos (Matlab!)
- PoC: e-mail
- user docs: a free beginner level course, and chapter 1 of handbook is free; paid course and full handbook needs to be purchased
- inclusion: yes
- BMTK (brent)
- website: https://alleninstitute.github.io/bmtk/ , https://alleninstitute.github.io/bmtk/index.html#base-installation
- level: multi-compartment biophysically detailed networks, to point-neuron models, to filter-based models, and even population-level firing rate models.
- tags: detailed neurons, single cells, networks, sonata
- floss license: BSD
- installable: Lin/win/macos (Python, but may require other tools: NEST/dipde etc. so may depend on individual tools in the stack)
- PoC: issues/PRs
- user docs: https://alleninstitute.github.io/bmtk/
- inclusion: yes
- Nest (Ankur)
- website: https://nest-simulator.org
- tags: python, c++, gui, large-scale
- license: GPLv2
- installable: lin/win/macos
- PoC: GitHub, mailing list, e-mail
- user docs: https://nest-simulator.org
- status: maintained
- inclusion: yes
- biological scale: point neurons, HH type with one compartment, "neurons with few compartments"
- network scale: single cell, small scale, meso scale networks, large scale networks
- large scale implemented by: MPI
- interface languages: Python, SLI, C++(?)
- model coverage: built-in models, extensible
- file formats in: ?
- file formats out: ?
- Neuron (and CoreNEURON) (Ankur)
- website: https://neuron.yale.edu/neuron/
- tags: python, gpu, c/c++, gui, compartment,
- license: BSD
- installable: lin/win/macos
- point of contact: GitHub, forum
- user docs: [CoreNeuron](https://nrn.readthedocs.io/en/latest/coreneuron/index.html) [Neuron](https://nrn.readthedocs.io/en/8.2.1/)
- status: maintained
- inclusion: yes
- biological scale: sub-cellular, reaction-diffusion, point neurons, HH type with single, HH type with multiple compartments
- network scale: single cell, small scale networks, meso scale networks, large scale networks
- large scale implemented by: MPI (user friendly term: supercomputing/cluster/multi-node support? )
- interface languages: Python, HOC, NMODL
- model coverage: built-in models, extensible
- file formats in: ?
- LFPy (brent)
- website: https://lfpy.readthedocs.io/en/latest/
- tags: python, local field potentials, multicompartment neurons
- license: GNU General Public License (GPL)
- installable: OS Independent
- point of contact: ? (maybe github issues)
- user docs: https://lfpy.readthedocs.io/en/latest/
- status: maintained
- inclusion: ?
- other: based on NEURON simulator
- NetPyNE (Ankur)
- website: http://www.netpyne.org/
- tags: python,
- license: MIT License
- installable: OS Independent (python package)
- point of contact:
- user docs: http://www.netpyne.org/about.html
- status: stable, maintained, actively developed
- inclusion: yes
- biological scale: reaction-diffusion, point neurons, HH type with single and multiple compartments
- network scale: single cell, small scale networks, meso scale networks, large scale networks
- large scale implemented by: MPI, batch processing, NSG support (I think)
- interface languages: Python, GUI
- model coverage: built-in models, extensible
- file formats: ?
- comment: sits on top of based on NEURON simulator, but does lots of other handy things (like the UI and EEG calculation etc.)
- PyNN (Ankur)
- website: http://neuralensemble.org/PyNN/
- tags: python,
- license: CeCILL
- installable: lin/macos
- point of contact: GitHub, [NeuralEnsemble group](groups.google.com/group/neuralensemble)
- user docs: http://neuralensemble.org/docs/PyNN/
- inclusion: yes
- status: stable, maintained, actively developed
- biological scale: point neurons, HH type with single and multiple compartments, (not sure if it supports NEURON's RxD)
- network scale: single scale, small scale networks, meso scale networks
- large scale implemented by: MPI? (not sure if it supports Brian/NEST/NEURON etc through MPI), Neuromorphic hardware
- interface language: Python
- model coverage: built-in models, extensible
- file formats: ?
- comment sits on top of multiple simulator backends, but one does not have to explicitly interact with the backends, so this should be included
- Genesis
- wesite: http://www.genesis-sim.org/
- tags: single neuron, large network, Python, GUI
- license: GPLv2
- installable: lin/win
- user docs: http://www.genesis-sim.org/GENESIS/Hyperdoc/Manual.html
- POC: none
- status: unmaintained (last update 2019)
- inclusion: ?
- MOOSE
- website: https://moose.ncbs.res.in/
- tags: Python, GUI, C++
- license: GPLv3
- installable: Linux and MacOSX
- point of contact: mailing list,
- user docs: https://moose.ncbs.res.in/readthedocs/index.html
- tutorials and examples: https://github.com/BhallaLab/moose-examples
- status: maintaned (last commit 2020)
- inclusion:
- other: NeuroML reader available
- TheVirtualBrain (TVB)
- website: https://www.thevirtualbrain.org/
- tags: python, large-scale, whole-brain
- license: Baycrest
- installable: lin/win/macos
- point of contact: GitHub, email
- user docs: https://docs.thevirtualbrain.org/
- status: actively developed
- inclusion: hopefully yes!
- NeuroRD
- website: https://krasnow1.gmu.edu/CENlab/software.html
- status: maintained
- license: GPLv2
- tags: reaction-diffusion, java
- installable: platform independent (Java)
- PoC: GitHub
- user docs: tutorials, publications and published models (also on ModelDB)
- inclusion: yes
- Smoldyn
- website: https://www.smoldyn.org/
- status: maintained
- license: LGPL + GPLv3 + public domain
- tags: reaction-diffusion, biochemistry, Python
- installable: Linux/Mac/Windows
- PoC: e-mail
- user docs: on website
- inclusion: yes
- Steps
- website: https://steps.sourceforge.net/STEPS/default.php
- status: maintained
- license: GPLv2
- tags: reaction-diffusion, Python
- installable: Linux/Mac/Windows (but not sure if explicitly mentioned)
- PoC: GitHub discussions, e-mail
- user docs: [on website](https://steps.sourceforge.net/manual/manual_index.html)
- inclusion: yes
- MUSIC (MUlti-SImulation Coordinator)
- website: https://github.com/INCF/MUSIC
- tags: large-scale, c++, python, multi-simulation
- license: GPL-3.0
- installabel: lin/
- point of contact: GitHub
- user docs: [pdf file](https://raw.githubusercontent.com/wiki/INCF/MUSIC/files/music-manual.pdf)
- status: last update 11 months ago
- inclusion: ?
- NeuroML (Ankur)
- website: https://neuroml.org
- tags: standard, LEMS, multi-scale, ecosystem, multi-simulator
- license: GPL
- installable: linux/windows/mac (java + python, with C++ and matlab bindings also available)
- PoC: Github, mailing list, e-mail
- user docs: https://docs.neuroml.org
- status: maintained
- inclusion: yes: similar to PyNN, sits on top of simulation engines, but users do not have to interact with the simulation engines themselves
- biological scale: sub-cellular, point neuron, HH with single and multiple compartments
- network scale: single cell, small scale networks, meso scale networks, large scale networks
- large scale implemented by: MPI (NetPyNE)
- interface language: Python, XML(!), GUI (neuroConstruct, exports from NEURON/NetPyNE etc.), Java API, C++ API, MatLab (via Java API)
- model coverage: built-in models, extensible
- file formats: ?
- Brain dynamics toolbox
- website: http://bdtoolbox.org/about/
- status: maintained
- license: BSD
- tags: MATLAB, non-linear dynamical systems, gui, large-scale, theoretical
- installable: win/macos
- PoC: not specified
- user docs: need to purchase the handbook, the first chapter is free [here](https://github.com/bdtoolbox-org/bdtoolbox/releases/download/2022b/HandbookSample2022.pdf)
- note: requires MATLAB + purchasing the handbook, not sure if needed to be excluded
- inclusion: ?
- c302
- website: https://www.opensourcebrain.org/projects/c302
- status: maintained (last commit 8 months ago)
- tags: multi-scale, single & multi-compartment, python, docker
- installable: Linux/Mac/Windows (but not sure if explicitly mentioned)
- PoC: not specified
- user docs: no docs, just the link to the website: https://www.opensourcebrain.org/projects/c302
- note: uses libNeuroML, jNeuroML & pyNeuroML
- inclusion: ?
- MiMiC
- website: https://mimic-project.org/en/latest/
- status: active development
- tags: multi-scale, python
- installable: lin/macos
- PoC: not specified
- user docs: https://mimic-project.org/en/latest/
- note: introduced in the Simulate with EBRAINS event
- inclusion: ?
- ReMoto (Eliane)
- website: http://remoto.leb.usp.br
- tags: realistic network modeling, gui, multi-scale, single neuron/neural networks, neuromuscle simulation, java
- license: website
- installable: linux/windows/mac
- PoC: e-mail
- user docs: on website
- status: active development
- inclusion: ?
- Brain Scaffold Builder (brent)
- website: https://bsb.readthedocs.io
- tags: multiparadigm neural modelling, code-free configuration , parallelized workflow
- license: GPL3
- installable: linux/windows/macos
- PoC: https://github.com/dbbs-lab/bsb/issues/
- user docs: https://bsb.readthedocs.io
- status: active
- inclusion: ?
- BluePyOpt
- website: https://bluepyopt.readthedocs.io
- tags: multiparadigm neural modelling, code-free configuration , parallelized workflow
- license: Mixed GPL, LGPL, BSD
- installable: linux/windows/macos
- PoC: https://github.com/BlueBrain/BluePyOpt/issues
- user docs: https://bluepyopt.readthedocs.io
- status: active
- inclusion: ?
- nrn-patch (brent)
- website: https://github.com/helveg/patch
- tags: user friendly, python, compartment, neuron-wrapper
- license: MIT
- installable: linux/windows/macos
- PoC: https://github.com/helveg/patch/issues
- user docs: -
- status: ?
- inclusion: ?
- DiPDE (Marcel)
- website: [https://alleninstitute.github.io/dipde/index.html](https://alleninstitute.github.io/dipde/index.html)
- tags: python, population models, population density equations, firing-rate model, non-spiking model, simulation, single machine
- interface language: python
- license: GPL-3.0
- installable: OS Independent (pure python package)
- PoC: github issues
- user docs: https://alleninstitute.github.io/dipde/
- status: maintained, but no active development
- inclusion: yes (I guess)
- Geppeto
- website: https://alleninstitute.github.io/dipde/index.html
- tags: web-based platform, visualization, simulation, cell, whole-brain
- license: MIT
- installable: none, ran on website
- PoC: github, email
- user docs: http://docs.geppetto.org/en/latest/#contact-us
- status: inactive (last update 2018)
- inclusion:
- NeuronC (Marcel)
- website: [http://retina.anatomy.upenn.edu/~rob/neuronc.html](http://retina.anatomy.upenn.edu/~rob/neuronc.html)
- tags: neural circuits, simulations, cable equation, channel-based models, compartments, c++
- interface language: neuronC or C++
- license: not specified
- installable: lin/macos (win via lin env>)
- PoC: email
- user docs: [http://retina.anatomy.upenn.edu/~rob/ncmanindex.html](http://retina.anatomy.upenn.edu/~rob/ncmanindex.html)
- status: maintained (last update 2020)
- inclusion: rather no
- Nodus
- website: http://nodus.uclouvain.be/
- tags: java, multimodal, intermodal, transportation network modeling, standalone app, GUI
- license: GPL3
- installable: lin/macos/win/no pip
- PoC: github, email
- user docs: http://nodus.uclouvain.be/
- status: active
- inclusion:
- SNNAP
- website: https://med.uth.edu/nba/snnap/ (this link is broken on Jim's website)
- tags: Java, standalone app, single neuron/neural networks simulation, multi-compartment, GUI
- license: none
- installable: essentially everywhere
- PoC: none
- user docs: https://med.uth.edu/nba/snnap/snnap-tutorials/ videos; https://med.uth.edu/nba/snnap/snnap-models-and-examples/ models & examples; https://med.uth.edu/nba/wp-content/uploads/sites/29/2021/11/snnap_8_tutorial_v2019.pdf manual
- status: inactive (last update 2003, revised 2019)
- inclusion:
### Excluded tools
| Tool excluded | Why excluded? | Comment |
| ------------- | ------------- | --------|
| Abstracted Protein Simulator | out of scope | protein simulator, not quite in our research domain |
| BioNetGen | out of scope | general purpose biochemical mechanism simulator |
| Copasi | out of scope | general purpose chemical pathway simulator |
| E-cell | out of scope | general purpose cell simulator |
| EONS | unmaintained?, free but requires login to download, unclear if FOSS | login link doesn't work for me |
| Meredys | link from Jim's page doesn't work | GitHub search didn't return anything either |
| Modigliani | unmaintained | a repo on [GitHub](https://github.com/rouzbeh/Modigliani) has the last commit from 2018, website link from Jim's page returns nginx test page |
| psics | unmaintained? | last changelog entry [from 2011](http://www.psics.org/about/log.html), link to forum also does not work |
| Brain Lab | limited scope, proprietary(?), unmaintained | teaching resource, not really a simulator ; limited to ipad/iphone ; website link from Jim's page doesn't open for me, so limited info available |
| [Conical](https://strout.net/conical/package/doc/note-release.html) | unmaintained | last release, page update from 1996 |
| [insilico](https://github.com/insilico-lib/insilico) | out of scope, unmaintained | biology simulation; link from Jim's page to doc is broken; last update 8 years ago |
| [maxsim](http://www.neuronland.org/NLMorphologyConverter/MorphologyFormats/Maxsim/Spec.html) | unmaintained, no info | links to a one-page website that doesn't provide enough info; proposed in 1996 |
| [NANS](https://vlsi.eecs.harvard.edu/research/nans.html) | unmaintained; no info | requires asking a person to share source code; no docs or examples) |
| [MIEN](https://sourceforge.net/projects/mien/) | unmaintained, out of scope | provides tools for development, searching, editing, execution, and visualization of biophysical models; no documentation; last update 2013 |
| [Surf-Hippo](http://surf-hippo.neurophysics.eu/manuals-and-publications.html) | unmaintained | last update 2003, doesn't have docs; written in LISP |
| [XPP](https://compneuroweb.com/sftwr.html#modeling) |out of scope | biophysical modelling
### Unsure tools table
| Tool| Comment |
|-----|---------|
| [CalC](https://web.njit.edu/~matveev/calc.html)| Intracellular Ca dynamics, but not necessarily neuronal specific |
| [Mcell](https://mcell.org/) | general cell micro-physiology simulator: in scope or not? |
| [VCell](https://vcell.org/why-vcell)| general cell simulator: in scope or not? |
| [c302](https://github.com/openworm/c302/) | isn't really a simulator, looks like scripts to generate NeuroML models for C. elegans (can double check with Padraig) |
| [PyDSTool](https://pydstool.github.io/PyDSTool/ProjectOverview.html) | mainly focuses on analysis and description of geometric structures |