Skip to main content

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.

Release files for bmtool 0.8.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bmtool 0.8.6
File Size Uploaded
bmtool-0.8.6.tar.gz 216.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bmtool 0.8.6
File Interpreter ABI Platform
bmtool-0.8.6-py3-none-any.whl Python 3 none any Details

Total release size: 443.3 kB

Release files / bmtool-0.8.6.tar.gz

Download URL bmtool-0.8.6.tar.gz
Size 216.6 kB
Tags Source
SHA-256 checksum
How to use checksums
65292203c54903b3573360bb4f623073d22300e73ffff79ede7bba9ea872f0b5
BLAKE2b-256 checksum
How to use checksums
d58b41d760154392aa1a9624e83ea46651a267483303c54de9c7cf827f4470ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / bmtool-0.8.6-py3-none-any.whl

Download URL bmtool-0.8.6-py3-none-any.whl
Size 226.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4819f70f1d1068e7ca949d96ff705e578cbbbe8ee5ad3cd6ccfcf0600caafd02
BLAKE2b-256 checksum
How to use checksums
f8154a73aeba21624f39a8da9445dcb09f099e00d3e3eec6cae94b126e16e1c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.8.6 This release

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.9

2 release files

0.7.8

2 release files

0.7.7

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.9

2 release files

0.6.8

2 release files

0.6.7

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page