PT - JOURNAL ARTICLE AU - JinHyung Lee AU - David Carlson AU - Hooshmand Shokri AU - Weichi Yao AU - Georges Goetz AU - Espen Hagen AU - Eleanor Batty AU - EJ Chichilnisky AU - Gaute Einevoll AU - Liam Paninski TI - YASS: Yet Another Spike Sorter AID - 10.1101/151928 DP - 2017 Jan 01 TA - bioRxiv PG - 151928 4099 - http://biorxiv.org/content/early/2017/06/19/151928.short 4100 - http://biorxiv.org/content/early/2017/06/19/151928.full AB - Spike sorting is a critical first step in extracting neural signals from large-scale electrophysiological data. This manuscript describes an efficient, reliable pipeline for spike sorting on dense multi-electrode arrays (MEAs), where neural signals appear across many electrodes and spike sorting currently represents a major computational bottleneck. We present several new techniques that make dense MEA spike sorting more robust and scalable. Our pipeline is based on an efficient multi-stage “triage-then-cluster-then-pursuit” approach that initially extracts only clean, high-quality waveforms from the electrophysiological time series by temporarily skipping noisy or “collided” events (representing two neurons firing synchronously). This is accomplished by developing a neural network detection method followed by efficient outlier triaging. The clean waveforms are then used to infer the set of neural spike waveform templates through nonparametric Bayesian clustering. Our clustering approach adapts a “coreset” approach for data reduction and uses efficient inference methods in a Dirichlet process mixture model framework to dramatically improve the scalability and reliability of the entire pipeline. The “triaged” waveforms are then finally recovered with matching-pursuit deconvolution techniques. The proposed methods improve on the state-of-the-art in terms of accuracy and stability on both real and biophysically-realistic simulated MEA data. Furthermore, the proposed pipeline is efficient, learning templates and clustering much faster than real-time for a ≃ 500-electrode dataset, using primarily a single CPU core.