Table 1. Table of spike sorting algorithms currently included in the SpikeForest analysis.
Each algorithm is registered into the system via a Python wrapper. A Docker recipe defines the operating system and environment where the sorter is run. Algorithms with asterisks were updated and optimized using SpikeForest data. For the other algorithms, we used the default or recommended parameters.
Sorting algorithm | Language | Notes |
---|---|---|
HerdingSpikes2* | Python | Designed for large-scale, high-density multielectrode arrays. See Hilgen et al., 2017. |
IronClust* | MATLAB and CUDA | Derived from JRCLUST. See Jun et al., in preparation. |
JRCLUST | MATLAB and CUDA | Designed for high-density silicon probes. See Jun et al., 2017a. |
KiloSort | MATLAB and CUDA | Template matching. See Pachitariu et al., 2016. |
KiloSort2 | MATLAB and CUDA | Derived from KiloSort. See Pachitariu et al., 2019. |
Klusta | Python | Expectation-Maximization masked clustering. See Rossant et al., 2016. |
MountainSort4 | Python and C++ | Density-based clustering via ISO-SPLIT. See Chung et al., 2017. |
SpyKING CIRCUS* | Python and MPI | Density-based clustering and template matching. See Yger et al., 2018. |
Tridesclous* | Python and OpenCL | See Garcia and Pouzat, 2019. |
WaveClus | MATLAB | Superparamagnetic clustering. See Chaure et al., 2018; Quiroga et al., 2004. |