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 | Provenance | |
|---|---|---|---|---|
| bmtool-0.8.7.tar.gz | 221.1 kB | Without provenance | 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
|
Security for bmtool 0.8.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.