bmtool
A comprehensive toolkit for developing computational neuroscience models with NEURON and BMTK
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
- SLURM Module - Run simulations on HPC clusters
- Analysis Workflows - Process simulation results
- Network Building - Construct neural networks
- Single Cell Tools - Analyze individual neurons
- API Reference - Complete API documentation
Contributing
We welcome contributions from the community! To get started:
- Read the Contributing Guide for setup instructions
- Check out open issues or propose new features
- 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:
- 📖 Check the documentation
- 🐛 Open an issue
- 💬 Contact: gregglickert@mail.missouri.edu
Acknowledgments
Developed by the Neural Engineering Laboratory at the University of Missouri.
Metadata
Release files for bmtool 0.8.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bmtool-0.8.7.tar.gz | 221.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bmtool-0.8.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 448.3 kB
Release files / bmtool-0.8.7.tar.gz
| Download URL | bmtool-0.8.7.tar.gz |
|---|---|
| Size | 221.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e6e16588b3d6594814539fdd87f46072d21e32b4842e8b4f820149fc022341e2
|
|
BLAKE2b-256 checksum How to use checksums |
e370ec56323eb7c0678eeb6891cd5caa8741e5bce3a41fe1458fb7aab9e8af58
|
| 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.7-py3-none-any.whl
| Download URL | bmtool-0.8.7-py3-none-any.whl |
|---|---|
| Size | 227.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
76a0651bb1e9a8e5d4e0185f14fbee94f86b0b7998f45b2804074dd004b62a92
|
|
BLAKE2b-256 checksum How to use checksums |
0d4123495df6fcedac54cddb6a9f4bc49b8794518ffb6b63e928b4c1bddb7dbe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|