Awesome
💣 Bombcell: find bombshell cells! 💣 <img src="./docs/images/bombcell_logo_crop.svg" width="25%" title="bombcell" alt="bombcell" align="right" vspace = "20">
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.
Please star the project to support us, using the top-right "⭐ Star" button.
📔 Bombcell wiki
Documentation and guides to using and troubleshooting bombcell can be found on the dedicated wiki.
🔍️ How bombcell works
Below is a flowchart of how bombcell evaluates and classifies each unit: <img align="center" src="./docs/images/bombcell_flowchart.png" width=100% height=100%>
🏁 Quick start guide
Overview
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 the MATLAB live script gettingStarted
to see an example workflow and play around with our small toy dataset. You can also take a look at the exercise we prepared for the 2024 Neuropixels course here.
Installation
Bombcell requires MATLAB>=2019a.
To begin using Bombcell:
- clone the repository and the dependencies. You can do this either via git/GitHub desktop or directly by downloading the .zip file and decompressing it.
- 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\+bc\+ep\+helpers
in matlab and runmex -O CCGHeart.c
to able to compute fast ACGs, using part of the FMAToolbox.
Dependencies
- 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.
- prettify-matlab, to make plots pretty.
- MATLAB toolboxes:
- Signal Processing Toolbox
- Image Processing Toolbox
- Statistics and Machine Learning Toolbox
- Parallel Computing Toolbox
- Optimization 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. - to read in spikeGLX meta data, we use a function from Jennifer Colonell's [SpikeGLX_Datafile_Tools](SpikeGLX_Datafile_Tools repository.
🤗 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
:page_facing_up: License
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.
📬 Contact us
If you run into any issues or if you have any suggestions, please raise a github issue or create a pull request. You can also use the Neuropixels slack workgroup. Please star the project to support us, using the top-right "⭐ Star" button.