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

cbimbo/bombcell

 
 

Repository files navigation

DOI License View bombcell on File Exchange

💣 Bombcell: find bombshell cells! 💣 bombcell

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

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 bc_qualityMetrics_pipeline to see an example workflow.

Installation

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

📄 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 email us: juliemfabre[at]gmail[dot]com, but github issues are preferred.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • MATLAB 97.1%
  • C 2.0%
  • Other 0.9%