Skip to content

Automated manual curation and cell classification of spike-sorted electrophysiology data in MATLAB. Fine-tuned for kilosorted Neuropixels data.

License

Notifications You must be signed in to change notification settings

emilyasterjones/bombcell

Repository files navigation

DOI License Version

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

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, create a pull request, or email us: juliemfabre[at]gmail[dot]com. Follow us on twitter: basal_gang 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

To begin using Bombcell:

  • clone the repository and the dependancies.
  • 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.

Dependancies

  • npy-matlab to load .npy data in.
  • prettify-matlab to make plots pretty.
  • If you have z-lib compressed ephys data, compressed with mtscomp, you will additionally 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

🤗 Support and citing

Please note that Bombcell is currently unpublished (manuscript under preparation). 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, create a pull request, or alternatively email us: juliemfabre[at]gmail[dot]com.

About

Automated manual curation and cell classification of spike-sorted electrophysiology data in MATLAB. Fine-tuned for kilosorted Neuropixels data.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • MATLAB 96.5%
  • C 2.4%
  • Other 1.1%