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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| bmtool-0.8.6.tar.gz | 216.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|