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.
Documentation and guides to using and troubleshooting bombcell can be found on the dedicated wiki.
Below is a flowchart of how bombcell evaluates and classifies each unit:
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\helpers
in matlab and runmex -O CCGHeart.c
to 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.
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.
Bombcell is under the open-source copyleft GNU General Public License 3. You can run, study, share, and modify the software under the condition that you keep and do not modify the license.
If you run into any issues or if you have any suggestions, please raise a github issue or create a pull request. You can email us: juliemfabre[at]gmail[dot]com, but github issues are preferred.