Skip to main content

BMTool

Project description

bmtool

A comprehensive toolkit for developing computational neuroscience models with NEURON and BMTK

License: MIT Python 3.8+ PyPI version Documentation Code style: ruff

Documentation | Installation | Features | Contributing


Overview

BMTool is a collection of utilities designed to streamline the development, analysis, and execution of large-scale neural network models using NEURON and the Brain Modeling Toolkit (BMTK). Whether you're building single-cell models, developing synaptic mechanisms, or running parameter sweeps on HPC clusters, BMTool provides the tools you need.

Features

Single Cell Modeling

  • Analyze passive membrane properties
  • Current injection protocols and voltage responses
  • F-I curve generation and analysis
  • Impedance profile calculations

Synapse Development

  • Synaptic property tuning and validation
  • Gap junction modeling and analysis
  • Visualization of synaptic responses
  • Parameter optimization tools

Network Construction

  • Custom connectors for complex network models
  • Distance-dependent connection probabilities
  • Connection matrix visualization
  • Network statistics and validation

Visualization

  • Network position plotting (2D/3D)
  • Connection matrices and weight distributions
  • Raster plots and spike train analysis
  • LFP and ECP visualization
  • Power spectral density analysis

SLURM Cluster Management

  • YAML-based simulation configuration
  • Automated parameter sweeps (value-based and percentage-based)
  • Multi-environment support for different HPC devices
  • Job monitoring and status tracking
  • Microsoft Teams webhook notifications

Analysis Tools

  • Spike rate and population activity analysis
  • Phase locking and spike-phase timing
  • Oscillation detection with FOOOF
  • Power spectral analysis
  • Batch processing capabilities

Installation

Install the latest stable release from PyPI:

pip install bmtool

For development installation, see the Contributing Guide.

Documentation

Comprehensive documentation with examples and tutorials is available at:

https://cyneuro.github.io/bmtool/

Key Documentation Sections

Contributing

We welcome contributions from the community! To get started:

  1. Read the Contributing Guide for setup instructions
  2. Check out open issues or propose new features
  3. Follow our code style guidelines using Ruff and pre-commit hooks

See CONTRIBUTING.md for detailed information on development setup, code standards, and the pull request process.

Requirements

  • Python 3.8+
  • NEURON 8.2.4
  • BMTK
  • See setup.py for complete dependency list

License

BMTool is released under the MIT License.

Support

For questions, bug reports, or feature requests:

Acknowledgments

Developed by the Neural Engineering Laboratory at the University of Missouri.

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 Distribution

bmtool-0.8.4.3.tar.gz (207.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bmtool-0.8.4.3-py3-none-any.whl (216.6 kB view details)

Uploaded Python 3

File details

Details for the file bmtool-0.8.4.3.tar.gz.

File metadata

  • Download URL: bmtool-0.8.4.3.tar.gz
  • Upload date:
  • Size: 207.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bmtool-0.8.4.3.tar.gz
Algorithm Hash digest
SHA256 8dda0225ef026d4e7b80e9ff2f3d83a24f0a1f9e0470b534d1acaff8e4294301
MD5 43f5def8fa88e075db26b2f23fcd73f8
BLAKE2b-256 cb08201dc6c3a6bab02d24d3d04920f9f957b22859f4951b10c94345780e03b7

See more details on using hashes here.

File details

Details for the file bmtool-0.8.4.3-py3-none-any.whl.

File metadata

  • Download URL: bmtool-0.8.4.3-py3-none-any.whl
  • Upload date:
  • Size: 216.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bmtool-0.8.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bfd68044f2d5764783bee3e7e5650703be998b681f6da389bd74a1f215991fba
MD5 28067b03373f6967b93d12ef1ebfb2d6
BLAKE2b-256 c97e5e7d7542c157d08fea2a92ec2703c43c5ef9852a1fbbcc4b0abdb3fd1b93

See more details on using hashes here.

Supported by

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