# 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 | Provenance | Actions |
|---|---|---|---|---|
| klusta-3.0.16.tar.gz | 69.8 kB | Without provenance | Details for klusta-3.0.16.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| klusta-3.0.16-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details for klusta-3.0.16-py2.py3-none-any.whl |
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 |
Security for klusta 3.0.16
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.