Skip to main content

A package for modelling morphologically detailed neuronal microcircuits.

Project description

Code style: black Build Status codecov

Note: The scaffold framework is still under heavy development. Please check the Known Issues section at the bottom for important issues that fell victim to our deadlines and will be solved at a later date.

Scaffold: A scaffold model for the cerebellum

This package is intended to facilitate spatially, topologically and morphologically detailed simulations of the cerebellum developed by the Department of Brain and Behavioral Sciences at the University of Pavia.

Installation

pip

This software can be installed as a Python package from PyPI through pip:

 sudo apt-get python3-rtree
 pip install dbbs-scaffold

Note: Windows users will have to install Rtree from this website: https://www.lfd.uci.edu/~gohlke/pythonlibs/#rtree

Developers

Developers best use pip's editable install. This creates a live link between the installed package and the local git repository:

 sudo apt-get install python3-rtree
 git clone git@github.com:Helveg/cerebellum-scaffold.git
 cd cerebellum-scaffold
 pip install -e .[dev] --no-use-pep517
 pre-commit install

Usage

The scaffold model can be used through the command line interface or as a python package.

Command line interface (CLI)

Run the scaffold in the command line with subcommand compile to compile a network architecture.

scaffold --config=mouse_cerebellum.json compile -x=200 -y=200 -p

To run with different configurations, change the config argument to the relative path of a .json config file. The -p flag indicates that the compiled network should be plotted afterwards and can be omitted.

Python package

The central object is the scaffold.core.Scaffold class. This object requires a scaffold.config.ScaffoldConfig instance for its construction. To emulate the CLI functionality you can use the JSONConfig class and provide the relative path to the configuration file.

from scaffold import Scaffold
from scaffold.config import JSONConfig

config = new JSONConfig(file='mouse_cerebellum.json')
scaffoldInstance = new Scaffold(config)

This scaffold instance can then be used to perform the subcommands available in the CLI by calling their corresponding functions:

scaffoldInstance.compile_network()

Plotting network architecture

After calling compile_network the scaffold instance can be plotted:

scaffoldInstance.plot_network_cache()

Known issues

No configuration serialization

When modifying the config object through scripts and then saving it to file, you'll store the original configuration file text, and you won't actually serialize the modified object

We will fix this by version 3.2

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

dbbs_scaffold-3.2.9-py3-none-any.whl (153.4 kB view details)

Uploaded Python 3

File details

Details for the file dbbs_scaffold-3.2.9-py3-none-any.whl.

File metadata

  • Download URL: dbbs_scaffold-3.2.9-py3-none-any.whl
  • Upload date:
  • Size: 153.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.6

File hashes

Hashes for dbbs_scaffold-3.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 863df39614caa91ecbcb22de01f4e560a772a230acb7be2cc43ba48db7028d84
MD5 b4712c4eabe12ad4d431569ff33480ca
BLAKE2b-256 3853258c04ab80464f25c792a36bba0d0a9974bc2d73e5e42a0cedce162c0970

See more details on using hashes here.

Supported by

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