Skip to content

Automated quality control, curation and neuron classification of spike-sorted electrophysiology data

License

Notifications You must be signed in to change notification settings

Julie-Fabre/bombcell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DOI License View bombcell on File Exchange

💣 Bombcell: find bombshell cells! 💣

Shows a black logo in light color mode and a white one in dark color mode.

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:

🏁 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 run mex -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 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

📄 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.