Skip to content

Automated 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

SupremeLiam/bombcell

 
 

Repository files navigation

DOI License Version View bombcell on File Exchange

💣 Bombcell: find bombshell cells! 💣 bombcell

📢 Now award-winning! Bombcell is a recipient of University College London's inaugural Open Science Award, in the category 'PhD Students'. I will give a brief talk on the 24th of October between 14:00 and 16:00 BST at the award ceremony. If you want to attend, send me a message and I will share the invite.

📢 I will be giving a talk on quality metrics and bombcell at 16:40 BST on the 17th of October 2023, as part of the 2023 Neuropixels course. To attend the talk, register for the course here (the talks are online and free).

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 curation and cell classification of spike-sorted electrophysiology data in MATLAB. Fine-tuned for kilosorted Neuropixels data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

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