Manual curation of electrophysiology spike sorted units is slow, laborious, and hard to standardize and reproduce. Bombcell is a powerful toolbox that addresses this problem, evaluating the quality of recorded units and extracting essential electrophysiological properties. Bombcell can replace manual curation or can be used as a tool to aid manual curation. See this talk at the annual Neuropixels course about quality control.
Bombcell is specifically tailored for units recorded with Neuropixels probes (3A, 1.0, and 2.0) using SpikeGLX or OpenEphys and spike-sorted with Kilosort. If you want to use bombcell in conjunction with another spike sorting algorithm, please raise a github issue, or create a pull request. You can email us: juliemfabre[at]gmail[dot]com, but github issues are preferred. Watch this repository (click on the top right watch button, and select custom and then tick boxes of events you want to be notified of. We suggest ticking the "releases" box) for updates on bombcell.
📔 Bombcell wiki
Documentation and guides to using and troubleshooting bombcell can be found on the dedicated wiki.
🔍️ How bombcell works
🏁 Quick start guide
Bombcell extracts relevant quality metrics to categorize units into four categories: single somatic units, multi-units, noise units and non-somatic units.
Take a look at
bc_qualityMetrics_pipeline to see an example workflow.
Bombcell requires MATLAB>=2019a.
To begin using Bombcell:
- clone the repository and the dependencies.
- add bombcell's and the dependancies' folders to MATLAB's path.
- in addition, if you want to compute ephys properties, change your working directory to
bombcell\ephysProperties\helpersin matlab and run
mex -O CCGHeart.cto able to compute fast ACGs, using part of the FMAToolbox.
- npy-matlab, to load .npy data in.
- If you have z-lib compressed ephys data, compressed with mtscomp, you will need the zmat toolbox. More information about compressing ephys data here.
- MATLAB toolboxes:
- Signal Processing Toolbox
- Image Processing Toolbox
- Statistics and Machine Learning Toolbox
- Parallel Computing Toolbox
In addition we would like to acknowledge:
- to compute fast ACGs, we use a function (
CCGHeart.c) part of the FMAToolbox, and it is already included in bombcell.
- the functions to compute distance metrics and signal-to-noise ratio are based on functions in sortingQuality
- prettify-matlab is packaged in bombcell as a subtree, to make plots pretty.
🤗 Support and citing
If you find Bombcell useful in your work, we kindly request that you cite:
Julie M.J. Fabre, Enny H. van Beest, Andrew J. Peters, Matteo Carandini, & Kenneth D. Harris. (2023). Bombcell: automated curation and cell classification of spike-sorted electrophysiology data. Zenodo. https://doi.org/10.5281/zenodo.8172821
🌟 You can additionally star this repository using the top-right ⭐ button to help it gain more visibility.
📬 Contact us
Fabre, Julie M. J., et al. Bombcell: Automated Curation and Cell Classification of Spike-Sorted Electrophysiology Data. Zenodo, 2023, doi:10.5281/ZENODO.8172821.
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
See release notes for this release on GitHub: https://github.com/Julie-Fabre/bombcell/releases/tag/v1.4.0
See release notes for this release on GitHub: https://github.com/Julie-Fabre/bombcell/releases/tag/v1.3.0
See release notes for this release on GitHub: https://github.com/Julie-Fabre/bombcell/releases/tag/v1.2.0
See release notes for this release on GitHub: https://github.com/Julie-Fabre/bombcell/releases/tag/v1.1.0