snudda

Create realistic networks of neurons, synapses placed using touch detection between axons and dendrites

https://github.com/hjorthmedh/snudda

Science Score: 49.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
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    5 of 18 committers (27.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (7.5%) to scientific vocabulary
Last synced: 7 months ago · JSON representation

Repository

Create realistic networks of neurons, synapses placed using touch detection between axons and dendrites

Basic Info
  • Host: GitHub
  • Owner: Hjorthmedh
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Size: 966 MB
Statistics
  • Stars: 32
  • Watchers: 5
  • Forks: 20
  • Open Issues: 2
  • Releases: 2
Created over 6 years ago · Last pushed 7 months ago
Metadata Files
Readme License Codemeta

README.md

Summary of Snudda

Snudda creates the connectivity for realistic networks of simulated neurons in silico in a bottom up fashion that can then be simulated using the NEURON software. Neurons are placed within 3D meshes representing the structures of interest, with neural densities as seen in experiments. Based on reconstructed morphologies and neuron placement we can infer locations of putative synapses based on proximity between axon and dendrites. Projections between different structures can be added either using axon reconstructions, or by defining a connectivity map between regions. Putative synapses are pruned to match experimental pair-wise data on connectivity. Networks can be simulated either on desktop machines, or on super computers.

Contact details

Johannes Hjorth, Royal Institute of Technology (KTH) Human Brain Project hjorth@kth.se

Funding

Simulations were also performed on resources provided by the National Academic Infrastructure for Supercomputing in Sweden (NAISS) at PDC KTH partially funded by the Swedish Research Council through grant agreement no. 2022-06725.

The study was supported by the Swedish Research Council (VR-M-2020-01652), Swedish e-Science Research Centre (SeRC), Science for Life Lab, EU/Horizon 2020 no. 945539 (HBP SGA3) and No. 101147319 (EBRAINS 2.0 Project), European Union's Research and Innovation Program Horizon Europe under grant agreement No 101137289 (the Virtual Brain Twin Project), and KTH Digital Futures.

Horizon 2020 Framework Programme (785907, HBP SGA2); Horizon 2020 Framework Programme (945539, HBP SGA3); Vetenskapsrdet (VR-M-2017-02806, VR-M-2020-01652); Swedish e-science Research Center (SeRC); KTH Digital Futures. The computations are enabled by resources provided by the Swedish National Infrastructure for Computing (SNIC) at PDC KTH partially funded by the Swedish Research Council through grant agreement no. 2018-05973. We acknowledge the use of Fenix Infrastructure resources, which are partially funded from the European Union's Horizon 2020 research and innovation programme through the ICEI project under the grant agreement No. 800858. Snudda is supported and featured on EBRAINS.

Citation

Please cite the first paper for the general Snudda network creation and simulation methods, and the second paper for the Striatal microcircutiry model.

  • Predicting Synaptic Connectivity for Large-Scale Microcircuit Simulations Using Snudda. J. J. Johannes Hjorth, Jeanette Hellgren Kotaleski, Alexander Kozlov. Neuroinform (2021). https://doi.org/10.1007/s12021-021-09531-w

  • The microcircuits of striatum in silico. J. J. Johannes Hjorth, Alexander Kozlov, Ilaria Carannante, Johanna Frost Nyln, Robert Lindroos, Yvonne Johansson, Anna Tokarska, Matthijs C. Dorst, Shreyas M. Suryanarayana, Gilad Silberberg, Jeanette Hellgren Kotaleski, Sten Grillner. Proceedings of the National Academy of Sciences (2020). https://doi.org/10.1073/pnas.2000671117

Installation

To install Snudda:

pip3 install snudda

For more information, see Github:

https://github.com/Hjorthmedh/Snudda/wiki/1.-User-installation

Jupyter Notebook examples

There are a number of examples for how to create and run networks on github which illustrates the functionality of Snudda. Several of these are created as short notebooks to showcase a particular feature or function.

https://github.com/Hjorthmedh/Snudda/tree/master/examples/notebooks

Command line example

Once installed Snudda can also be run from the command line, using the snudda command. Below is a small list of the relevant commands that can be used.

Creates an a json config file: snudda init <networkPath> --size XXX

Cell placement within volumes specified: snudda place <networkPath>

Touch detection of putative synapses: snudda detect <networkPath> [--hvsize hyperVoxelSize]

Prune the synapses snudda prune <networkPath> [--mergeonly]

Setup the input, obs you need to manually pick a input config file snudda input <networkPath> [--input yourInputConfig]

Run the network simulation using neuron snudda simulate <networkPath>

Plot figurs with some network analysis: snudda analyse <networkPath>

Show this help text snudda help me

Additional information:

https://snudda.readthedocs.io/ https://snudda.readthedocs.io/en/dev

Owner

  • Name: Johannes Hjorth
  • Login: Hjorthmedh
  • Kind: user
  • Company: Royal Institute of Technology, Stockholm

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "type": "SoftwareSourceCode",
  "applicationCategory": "Neuroscience",
  "author": [
    {
      "@id": "https://orcid.org/0000-0002-9302-0750",
      "@type": "Person",
      "affiliation": {
        "@type": "Organization",
        "name": "Royal Institute of Technology (KTH)"
      },
      "email": "hjorth@kth.se",
      "familyName": "Hjorth",
      "givenName": "Johannes"
    },
    {
      "@type": "Person",
      "email": "wilhelm.thunberg@ki.se",
      "familyName": "Thunberg",
      "givenName": "Wilhelm"
    }
  ],
  "codeRepository": "https://github.com/hjorthmedh/Snudda",
  "dateCreated": "2024-12-06",
  "dateModified": "2025-10-21",
  "datePublished": "2021-07-01",
  "description": "Snudda creates the connectivity for realistic networks of simulated neurons in silico in a bottom up fashion that can then be simulated using the NEURON software. Neurons are placed within 3D meshes representing the structures of interest, with neural densities as seen in experiments. Based on reconstructed morphologies and neuron placement we can infer locations of putative synapses based on proximity between axon and dendrites. Projections between different structures can be added either using axon reconstructions, or by defining a connectivity map between regions. Putative synapses are pruned to match experimental pair-wise data on connectivity. Networks can be simulated either on desktop machines, or on super computers.",
  "downloadUrl": "https://files.pythonhosted.org/packages/5e/b2/ee6baf2c583a20dfb54d030943d2931882021ccd6aeb838caf91eaf012c9/snudda-2.2.6.2.tar.gz",
  "funder": [
    {
      "@type": "Organization",
      "name": "Royal Institute of Technology (KTH)"
    },
    {
      "@type": "Organization",
      "name": "European Commission"
    }
  ],
  "name": "Snudda",
  "programmingLanguage": "Python",
  "softwareRequirements": "Python 3.11+",
  "version": "2.2.6.2",
  "referencePublication": "https://doi.org/10.1007/s12021-021-09531-w",
  "license": "https://spdx.org/licenses/GPL-3.0-only.html"
}

GitHub Events

Total
  • Issues event: 2
  • Watch event: 4
  • Issue comment event: 4
  • Push event: 308
  • Pull request event: 88
  • Fork event: 3
  • Create event: 3
Last Year
  • Issues event: 2
  • Watch event: 4
  • Issue comment event: 4
  • Push event: 308
  • Pull request event: 88
  • Fork event: 3
  • Create event: 3

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 2,285
  • Total Committers: 18
  • Avg Commits per committer: 126.944
  • Development Distribution Score (DDS): 0.192
Top Committers
Name Email Commits
Johannes Hjorth h****h@k****e 1,847
jofrony j****y@g****m 204
Johannes Hjorth H****h@u****m 93
bosse89 b****9@g****m 26
Robin De Schepper r****3@g****m 26
Alexander Kozlov a****v@k****e 22
Ilaria Carannante i****c@k****e 20
wthun w****g@g****m 11
William Scott Thompson 5****o@u****m 10
Robert @ ws r****s@k****e 9
appukuttan-shailesh a****h@g****m 5
Robert Lindroos r****s@g****m 3
Johanna Frost Nylen b****4@d****h 2
Johannes Hjorth h****h@d****n 2
Johanna Frost Nylen b****4@d****h 2
Johanna Frost Nylen b****4@d****h 1
Johannes Hjorth h****h@d****n 1
wilhelm w****m@w****l 1

Issues and Pull Requests

Last synced: 7 months ago

All Time
  • Total issues: 8
  • Total pull requests: 252
  • Average time to close issues: about 1 year
  • Average time to close pull requests: 1 day
  • Total issue authors: 4
  • Total pull request authors: 9
  • Average comments per issue: 0.75
  • Average comments per pull request: 0.16
  • Merged pull requests: 229
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 94
  • Average time to close issues: 1 minute
  • Average time to close pull requests: 11 minutes
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.1
  • Merged pull requests: 81
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • bosse89 (3)
  • wstho (2)
  • appukuttan-shailesh (2)
  • Hjorthmedh (1)
Pull Request Authors
  • Hjorthmedh (207)
  • jofrony (14)
  • wstho (14)
  • IlaCar (5)
  • wthun (4)
  • appukuttan-shailesh (3)
  • bosse89 (2)
  • apdavison (2)
  • robban80 (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

docs/requirements.txt pypi
  • m2r2 *
  • mock *
  • myst-parser *
  • sphinx *
  • sphinx-argparse *
requirements.txt pypi
  • NEURON >=7.8.2
  • argparse *
  • bluepyopt >=1.11.7
  • cython *
  • h5py >=3.2.1
  • ipyparallel >=6.3.0
  • matplotlib >=3.3.4
  • mpi4py >=3.0.3
  • numba >=0.55.1
  • numexpr >=2.7.3
  • numpy >=1.20.2
  • psutil >=5.8.0
  • pyswarms >=1.3.0
  • pyzmq >=22.0.3
  • scipy >=1.6.3
  • setuptools *
  • snudda *
  • sonata >=0.0.2