# Klusta: automatic spike sorting up to 64 channels
[](https://travis-ci.org/kwikteam/klusta) [](http://codecov.io/github/kwikteam/klusta?branch=master) [](http://klusta.readthedocs.org/en/latest/) [](https://pypi.python.org/pypi/klusta) [](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.
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).
[Download the environment file.](https://raw.githubusercontent.com/kwikteam/klusta/master/installer/environment.yml)
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 `
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
[Documentation](http://klusta.readthedocs.org/en/latest/) (work in progress)
[Paper in Nature Neuroscience (April 2016)](http://www.nature.com/neuro/journal/vaop/ncurrent/full/nn.4268.html)
[Mailing list](https://groups.google.com/forum/#!forum/klustaviewas)
[Sample data repository](http://phy.cortexlab.net/data/) (work in progress)
## 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.
Metadata
Release files for klusta 3.0.16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| klusta-3.0.16.tar.gz | 69.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| klusta-3.0.16-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 157.4 kB
Release files / klusta-3.0.16.tar.gz
| Download URL | klusta-3.0.16.tar.gz |
|---|---|
| Size | 69.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
544e7c68467206198a9896910060f74ea73a6278447e2606d4a02cce80f041a1
|
|
BLAKE2b-256 checksum How to use checksums |
46d752ef7083c56d1bf1bf9d65c709f43c8802c45d7f5373182ddea367df2c4b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / klusta-3.0.16-py2.py3-none-any.whl
| Download URL | klusta-3.0.16-py2.py3-none-any.whl |
|---|---|
| Size | 87.6 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
c77036fa0c4acdca9c2b1399ec3a3e9c069520f7d20a1b4107534221f7856ac4
|
|
BLAKE2b-256 checksum How to use checksums |
2ebfb852cb55a6bd1d500afc1350710e909384fabda95b3264d6a267db642ee8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |