Skip to main content

Spike detection and automatic clustering for spike sorting

Project description

# Klusta: automatic spike sorting up to 64 channels

[![Build Status](https://img.shields.io/travis/kwikteam/klusta.svg)](https://travis-ci.org/kwikteam/klusta) [![codecov.io](https://img.shields.io/codecov/c/github/kwikteam/klusta.svg)](http://codecov.io/github/kwikteam/klusta?branch=master) [![Documentation Status](https://readthedocs.org/projects/klusta/badge/?version=latest)](http://klusta.readthedocs.org/en/latest/) [![PyPI release](https://img.shields.io/pypi/v/klusta.svg)](https://pypi.python.org/pypi/klusta) [![GitHub release](https://img.shields.io/github/release/kwikteam/klusta.svg)](https://github.com/kwikteam/klusta/releases/latest)

[klusta](https://github.com/kwikteam/klusta) is an open source package for automatic spike sorting of multielectrode neurophysiological recordings made with probes containing up to a few dozens of sites.

We are also working actively on more sophisticated algorithms that will scale to hundreds/thousands of channels. This work is being done within the [phy project](https://github.com/kwikteam/phy), which is still experimental at this point.

## Overview

klusta implements the following features:

  • Kwik: An HDF5-based file format that stores the results of a spike sorting session.

  • Spike detection (also known as SpikeDetekt): an algorithm designed for probes containing tens of channels, based on a flood-fill algorithm in the adjacency graph formed by the recording sites in the probe.

  • Automatic clustering (also known as Masked KlustaKwik): an automatic clustering algorithm designed for high-dimensional structured datasets.

## GUI

You will need a GUI to visualize the spike sorting results.

We have developed two GUI programs with the same features:

  • phy KwikGUI: newer project, scales to hundreds/thousands of channels, still relatively experimental. It will be automatically installed if you follow the install instructions below.

  • [KlustaViewa](https://github.com/klusta-team/klustaviewa): widely used, but older and a bit hard to install since it relies on very old dependencies.

Both GUIs work with the same Kwik format.

## Quick install guide

The following instructions will install both klusta and the phy KwikGUI.

  1. Make sure that you have [miniconda](http://conda.pydata.org/miniconda.html) installed. You can choose the Python 3.5 64-bit version for your operating system (Linux, Windows, or OS X).

  2. [Download the environment file.](https://raw.githubusercontent.com/kwikteam/klusta/master/installer/environment.yml)

  3. Open a terminal (on Windows, cmd, not Powershell) in the directory where you saved the file and type:

    `bash conda env create -n klusta -f environment.yml `

  4. Done! Now, to use klusta and the phy KwikGUI, enter the directory that contains your files and type:

    `bash source activate klusta # omit the `source` on Windows klusta yourfile.prm # spikesort your data with a PRM file phy kwik-gui yourfile.kwik # open the GUI `

    See the documentation for more details.

### Updating the software

To get the latest version of the software, open a terminal and type:

` source activate klusta # omit the `source` on Windows pip install klusta phy phycontrib --upgrade `

## Technical details

klusta is written in pure Python. The clustering code, written in Python and Cython, currently lives in [another repository](https://github.com/kwikteam/klustakwik2/).

## Links

## Credits

klusta is developed by [Cyrille Rossant](http://cyrille.rossant.net), [Shabnam Kadir](https://iris.ucl.ac.uk/iris/browse/profile?upi=SKADI56), [Dan Goodman](http://thesamovar.net/), [Max Hunter](https://iris.ucl.ac.uk/iris/browse/profile?upi=MLDHU99), and [Kenneth Harris](https://iris.ucl.ac.uk/iris/browse/profile?upi=KDHAR02), in the [Cortexlab](https://www.ucl.ac.uk/cortexlab), University College London.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

klusta-3.0.15.tar.gz (69.6 kB view details)

Uploaded Source

Built Distribution

klusta-3.0.15-py2.py3-none-any.whl (87.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file klusta-3.0.15.tar.gz.

File metadata

  • Download URL: klusta-3.0.15.tar.gz
  • Upload date:
  • Size: 69.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for klusta-3.0.15.tar.gz
Algorithm Hash digest
SHA256 2c7d76cece535196b92d5d68f2984987ed4be77c3167100371c3268cea1e68b6
MD5 8a41b046272d07a7871de8e2e17e5567
BLAKE2b-256 3e34a9b31c333f9f3eea106df5481915d5dc901fde097dd079a700132f1167aa

See more details on using hashes here.

File details

Details for the file klusta-3.0.15-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for klusta-3.0.15-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1673b0463931ea4f7210f32a5ad3e8cf1568f8072a62fdf3ebd53785d0e5a703
MD5 62e7745f734f63e56fe70378c9d0d983
BLAKE2b-256 976fc105aed9431a573765b9d5249d647bb9de63dd41850168b84d4d2fb4a8f0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page