GithubHelp home page GithubHelp logo

paulmanderson / bombcell Goto Github PK

View Code? Open in Web Editor NEW

This project forked from julie-fabre/bombcell

0.0 0.0 0.0 42.24 MB

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

License: GNU General Public License v3.0

Python 0.99% C 2.39% R 0.13% MATLAB 96.49%

bombcell's Introduction

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.

bombcell's People

Contributors

julie-fabre avatar ennyvanbeest avatar petersaj avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.