A package for modelling morphologically detailed neuronal microcircuits.
Project description
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 863df39614caa91ecbcb22de01f4e560a772a230acb7be2cc43ba48db7028d84 |
|
MD5 | b4712c4eabe12ad4d431569ff33480ca |
|
BLAKE2b-256 | 3853258c04ab80464f25c792a36bba0d0a9974bc2d73e5e42a0cedce162c0970 |