changed 7 days ago
Published Linked with GitHub

Software WG taskforce: simulator selection resource
Consolidated notes from meetings

Meeting notes

Existing lists of simulators

Model databases

Review papers about model types

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, …)
  • 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

  • Arbor (brent)

  • Arbor GUI (brent)

  • Brian (Marcel)

    • website: 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, github issues
    • user docs: 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)

  • 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 Neuron
    • 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)

  • 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
    • 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

  • MOOSE

  • TheVirtualBrain (TVB)

  • 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

  • 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
    • 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
    • note: requires MATLAB + purchasing the handbook, not sure if needed to be excluded
    • inclusion: ?
  • c302

  • MiMiC

  • 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)

  • BluePyOpt

  • nrn-patch (brent)

  • DiPDE (Marcel)

  • Geppeto

  • NeuronC (Marcel)

  • Nodus

  • SNNAP

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 has the last commit from 2018, website link from Jim's page returns nginx test page
psics unmaintained? last changelog entry from 2011, 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 unmaintained last release, page update from 1996
insilico out of scope, unmaintained biology simulation; link from Jim's page to doc is broken; last update 8 years ago
maxsim unmaintained, no info links to a one-page website that doesn't provide enough info; proposed in 1996
NANS unmaintained; no info requires asking a person to share source code; no docs or examples)
MIEN unmaintained, out of scope provides tools for development, searching, editing, execution, and visualization of biophysical models; no documentation; last update 2013
Surf-Hippo unmaintained last update 2003, doesn't have docs; written in LISP
XPP out of scope biophysical modelling

Unsure tools table

Tool Comment
CalC Intracellular Ca dynamics, but not necessarily neuronal specific
Mcell general cell micro-physiology simulator: in scope or not?
VCell general cell simulator: in scope or not?
c302 isn't really a simulator, looks like scripts to generate NeuroML models for C. elegans (can double check with Padraig)
PyDSTool mainly focuses on analysis and description of geometric structures
Select a repo