Summary

Ein Visual Guide to Sortierung elektrophysiologischen Ableitungen Mit 'SpikeSorter'

Published: February 10, 2017
doi:

Summary

The article shows how to use the program SpikeSorter to detect and sort spikes in extracellular recordings made with multi-electrode arrays.

Abstract

Few stand-alone software applications are available for sorting spikes from recordings made with multi-electrode arrays. Ideally, an application should be user friendly with a graphical user interface, able to read data files in a variety of formats, and provide users with a flexible set of tools giving them the ability to detect and sort extracellular voltage waveforms from different units with some degree of reliability. Previously published spike sorting methods are now available in a software program, SpikeSorter, intended to provide electrophysiologists with a complete set of tools for sorting, starting from raw recorded data file and ending with the export of sorted spikes times. Procedures are automated to the extent this is currently possible. The article explains and illustrates the use of the program. A representative data file is opened, extracellular traces are filtered, events are detected and then clustered. A number of problems that commonly occur during sorting are illustrated, including the artefactual over-splitting of units due to the tendency of some units to fire spikes in pairs where the second spike is significantly smaller than the first, and over-splitting caused by slow variation in spike height over time encountered in some units. The accuracy of SpikeSorter’s performance has been tested with surrogate ground truth data and found to be comparable to that of other algorithms in current development.

Introduction

Jeder, der extrazelluläre Signale aus dem Gehirn zeichnet unter Verwendung von Methoden raffinierter als einfache Online-Thresholding und Windowing steht vor der Aufgabe zu identifizieren und die Trennung der Signale von verschiedenen Neuronen von den lauten Spannungssignale von der Elektrode erfasst. Diese Aufgabe wird als Spike Sortier allgemein bekannt. Die Schwierigkeit der Spitze Sortierung wird durch verschiedene Faktoren zusammengesetzt. Neurone können sehr nahe beieinander sein, so dass die Signale von ihnen von einer nahegelegenen Elektrode aufgezeichnet sind wahrscheinlich zu unterscheiden ähnlich und schwer zu sein. Die Signale von einem einzelnen Neuron erzeugt wird, kann über die Zeit variieren, vielleicht wegen der Bewegung der Elektrode, variable Natriumkanal Kinetik während Perioden hoher Feuerungsrate, variable Grad der Aktivierung der Spannungs Leitfähigkeiten in Dendriten, die an die Elektrode nahe sind oder möglicherweise als ein Ergebnis von Veränderungen des Gehirnzustands. (- 100 & mgr; m 20) r Diese Probleme können durch Verwendung von Multi-Elektroden-Anordnungen (MEAs) mit vielen eng beabstandeten gemildert werden ufnehmen Kanäle , die , da sie typischerweise 1 über mehrere Kanäle verteilt 2 bessere räumliche Definition der Signale von einzelnen Neuronen ermöglicht. Allerdings ist dies mit der Tatsache kombiniert, die sich entlang der gesamten Länge der Elektrode Überlappung von Neuronen Signale im Raum ausbreiten, führt zu einem potentiell sehr hochdimensionalen Raum, in dem Cluster zu einzigartigen Neuronen entsprechenden müssen identifiziert werden. Dieses Problem wird für mehr als eine kleine Anzahl von Elektrodenkanäle rechnerisch unlösbar. Bis heute gibt es keine allgemein vereinbarte beste Methode für die Spike – Sortierung, obwohl viele Lösungen 3 vorgeschlagen worden, 4, 5, 6, 7, 8 und Aufnahmen von MEAs werden immer häufiger 9,ass = "xref"> 10. Da Spike Sortierung nicht Selbstzweck ist, sondern ist einfach ein notwendiger erster Schritt, bevor eine weitere Datenanalyse, gibt es einen Bedarf für eine einfach zu handhabende Paket, das in rohen Aufzeichnen von Daten-Dateien lesen und wandeln sie in sortierten Spitze Züge mit so wenig Benutzer Eingabe und so schnell und zuverlässig wie möglich.

Dieses Dokument enthält eine Anleitung für die Verwendung von SpikeSorter – ein Programm entwickelt, mit dem Ziel, diese Anforderungen zu erfüllen. Das Programm beruht auf Algorithmen in früher veröffentlichten Artikeln beschrieben 11, 12, 13. Die Ziele in das Programm der Gestaltung waren , dass a) es sich um eine benutzerfreundliche Schnittstelle erfordert keine oder nur geringe Vorkenntnisse in der Computer – Programmierung oder von Spike Sortiermethode haben sollte; b) keine oder nur wenige andere spezialisierte Software – Komponenten über Standard – Windows oder Linux – Betriebssystemen sollten erforderlich sein; c </em>) Sollte eine breite Palette von Formaten Aufzeichnen von Daten für den Datenimport und Export unterstützt werden; d) die Notwendigkeit für eine Benutzereingabe während des Sortierens sollte minimiert werden, und e) das Sortieren mal eine vernünftige Weise maßstäblich in sollten im Idealfall linear, mit Aufzeichnungsdauer und der Anzahl der Kanäle auf der Elektrode. Die Algorithmen im Programm implementiert sind a) eine flexible Reihe von Pre-Processing und Ereigniserkennung Strategien; b) eine automatisierte Teile und Herrsche – Strategie der Dimensionsreduktion , die Spannungsverläufe Clustern auf der Basis der Hauptkomponenten (PC) Verteilungen von Teilmengen von Kanälen erhalten bestimmten Clustern zugeordnet; c) automatischen Bündelung von PC – Verteilungen mit einem schnellen Gruppierungsvorgang auf der Grundlage der mittleren Verschiebungsalgorithmus 3, 14, und d) teilweise automatisierten paarweise Zusammenführen und Aufteilen von Clustern , um sicherzustellen , dass jeder ist so deutlich wie möglich von allen anderen. THIs, wurde eine Reihe von Verfahren hinzugefügt, die manuelle Spaltung oder Verschmelzung von Clustern für die Überprüfung von PC-Distributionen, Kreuz- und Auto Korrelogramme von Spike-Züge und Zeit-Amplituden-Plots von Spike-Wellenformen auf Basis ermöglichen. Aufnahmen von Tetroden, tetrode Arrays, Utah-Arrays sowie Ein- und Mehr Schaft MEAs können gelesen und sortiert werden. Die Stromgrenze auf die Anzahl der Kanäle 256 ist, aber dies kann in der Zukunft erhöht werden.

Eine andere plattformübergreifende Open-Source-Implementierung "spyke" (http://spyke.github.io), ist ebenfalls verfügbar. Geschrieben von einem von uns (MS) in Python und Cython, spyke die gleiche Gesamtansatz wie SpikeSorter verwendet, mit einigen Unterschieden: Speicherbedarf zu reduzieren, wird Rohdaten in kleinen Blöcken geladen, und nur, wenn es unbedingt notwendig ist; Cluster werden ausschließlich angezeigt, manipuliert und in 3D sortiert; und Hauptkomponente und unabhängige Komponentenanalyse werden sowohl als ergänzende Dimension Reduktionsverfahren. Spyke erfordert mehr Benutzer inInteraktion, sondern stützt sich stark auf Tastatur- und Mausbefehle und eine Undo / Redo-Warteschlange, um schnell die Auswirkungen verschiedener Faktoren auf die Häufung von einem bestimmten Untergruppe von Spikes erkunden. Zu diesen Faktoren gehören Spike – Kanal und Zeitbereich Auswahl, Spike Ausrichtung, Clustering Dimensionen und räumliche Bandbreite (Sigma) 11.

Es folgt eine kurze Beschreibung der Algorithmen und Strategien für das Sortieren verwendet. Ausführlichere Beschreibungen können in früheren Veröffentlichungen 11, 12, 13 und in Anmerkungen zu finden , die über die Hilfe – Tasten zugegriffen werden kann (identifiziert mit einem '?') Innerhalb SpikeSorter. Nach einer rohen extrazelluläre Spannung Datei zu laden und die niedrigeren Frequenzkomponenten herausgefiltert werden, die eine Anfangsstufe der Ereigniserkennung führt zu einer Reihe von Ereignissen, von denen jede aus einem kurzen Spannungs Snapshot besteht vor und nach der Veranstaltung Zeit. Wenn die Auserwähltenritten Seiten sind ausreichend eng beieinander liegenden (<100 & mgr; m), Einzeleinheit Signale werden in der Regel auf mehreren benachbarten Kanälen auftreten. Ein zentraler Kanal wird für jedes Ereignis automatisch gewählt wird, entsprechend dem Kanal, auf dem die Spitze-zu-Spitze-Spannung des Ereignisses am größten ist. Automatisierte Sortierung beginnt mit einem ersten Cluster für jede Elektrode Kanal bildet, die aus allen Ereignissen, die zu diesem Kanal lokalisiert wurden. Eine Einheit, auf halbem Weg zwischen den Kanälen angeordnet ist, kann Anlass zu geben, die Spitzen lokalisiert sind (vielleicht zufällig) auf verschiedene Kanäle: die Cluster aus diesen beiden Gruppen von Spitzen wird als ähnlich identifiziert werden und zu einem späteren Zeitpunkt zusammengeführt. Die durchschnittliche Wellenform der Ereignisse in jedem ersten Cluster wird dann berechnet. Dies wird bezeichnet als die Cluster-Vorlage. Nebenkanäle sind jedem Cluster zugeordnet, basierend auf den Amplituden und der Standardabweichung der Schablonenwellenformen für jeden Kanal. Hauptkomponentenwerte werden dann für jeden Cluster basierend o berechnetn die Wellenformen auf dem zugewiesenen Satz von Kanälen. Der Benutzer kann die Anzahl der Hauptkomponentenabmessungen wählen zu verwenden: in der Regel 2 ausreichend ist. Jeder Cluster aufgeteilt wird dann in einen weiteren Satz von Clustern, und dies wird wiederholt, bis keine weitere Spaltung durch automatisierte Clustering sein kann.

An diesem Punkt wird ein Anfangssatz von beispielsweise 64 Cluster von einem 64-Kanal-Elektrode, kann diese Zahl in zwei oder drei Mal geteilt werden, abhängig von der Anzahl der Einheiten, die in der Aufnahme war. Aber wegen der variable Zuordnung von Ereignissen von einzelnen Einheiten, die verschiedenen Kanäle ist die Anzahl der Cluster in diesem Stadium gefunden fast sicher größer ist als sie sein sollte. Die nächste Stufe der Sortierung ist die oversplitting durch Vergleichen Paare von Clustern und Zusammenführen ähnliche Paare oder Neuzuweisen Ereignisse von einem zum anderen zu korrigieren. Diese Phase der Sortierung wird als "zusammenführen und teilen" bezeichnet.

Verbinden und Teilen

Für N Cluster gibt es N * (N – 1) / 2 Paare und damit die Anzahl der Paare wächst als N 2, was unerwünscht ist. viele Paare können jedoch aus dem Vergleich ausgeschlossen werden, da die zwei Elemente des Paares sind weit voneinander körperlich. Dies reduziert die Abhängigkeit zu etwas, das linear mit der Anzahl der Kanäle in Beziehung steht. Trotz dieser Verknüpfung kann der Merge und Split-Phase noch recht zeitaufwendig sein. Es arbeitet in der folgenden Weise. Jedes Clusterpaar ist, das verglichen werden (jene, die physisch nahe beieinander sind, wie die Überlappung in den Kanalsätze zugewiesen jeweils beurteilt) vorübergehend zusammengefügt, wenn die Identität der Spitzen zu halten in den beiden Mitglieds Cluster bekannt. Die Hauptkomponenten des fusionierten Paar werden dann berechnet. Ein Maß für die Überlappung zwischen den Punkten in den beiden Clustern wird berechnet auf der Verteilung der ersten beiden Hauptkomponenten.

Die Art und Weise der ov ERLAP Maß berechnet wird detaillierter an anderer Stelle beschrieben 11. Sein Wert ist Null , wenn die Cluster nicht überlappen, dh der nächste Nachbar von jedem Punkt im gleichen Cluster ist. Sein Wert nahe 1 , wenn die Cluster vollständig überlappen, also die Wahrscheinlichkeit , dass der nächste Nachbar in demselben Cluster ist die gleiche wie die von einer gleichförmigen Vermischung von Punkten vorhergesagt wird.

Verschiedene Entscheidungen getroffen werden, die die Überlappung Maßnahme berücksichtigen. Wenn die Überlappung größer ist als ein bestimmter Wert ist, kann Clustern zusammengefasst werden. Wenn die Überlappung sehr klein ist, kann der Clusterpaar als verschieden definiert und in Ruhe gelassen. Zwischenwerte, unvollständige Trennung des Clusterpaar anzeigt, kann das Signal, dass das Paar zusammengeführt werden sollte, und dann erneut geteilt, das gewünschte Ergebnis ein Paar von Cluster mit weniger Überlappung ist. Diese Verfahren werden zunächst in einem automatisierten Stufe und anschließend in einer handgeführten Stufe auszuführen.

Zelt "> Bei der automatisierten Bühne, Cluster-Paare mit einem hohen Überschneidungswert zusammengeführt werden;. dann mit mittleren bis niedrigen Überschneidungswerten Cluster-Paare werden verschmolzen und neu, der im zweiten, benutzergeführte Stufe wird der Benutzer präsentiert mit allen Rest mehrdeutig Cluster Paare (also solche mit Überschneidungswerte in einem definierten Zwischenbereich) in Folge und wird gebeten, zu entscheiden , ob a) das Paar zu fusionieren, b) fusionieren und c) resplit das Paar, das Paar zu sein , verschieden zu erklären (die die Bedeutung der Überlappung Maßnahme) oder d) anzeigt , wird außer Kraft gesetzt , die die Beziehung zwischen dem Paar als "mehrdeutig" zu definieren , dass die Spitzen des Paares unwahrscheinlich sind gut sortiert werden. Verschiedene Werkzeuge zur Verfügung gestellt werden mit diesen Entscheidungen zu helfen, einschließlich auto – und Quer Korrelogramme und Zeitreihen Plots von Spike Höhe und PC-Werte.

Im Idealfall sollte jeder Cluster eindeutig sein, am Ende der Verschmelzung und Spaltung Stufen, von allen anderen,entweder weil sie keine oder nur wenige Kanäle gemeinsam mit anderen Clustern, oder weil der Überlappungsindex kleiner als ein festgelegter Wert ist. Dieser Wert ist vom Benutzer wählbar, beträgt jedoch typischerweise 0,1. Cluster (Einheiten), die diesen Test bestehen, werden definiert als "stabil", die dies nicht tun (weil die Überlappung mit einem oder mehreren anderen Clustern größer ist als der Grenzwert) werden als "instabil" definiert. In der Praxis am Ende die große Mehrheit der Einheiten nach oben wird definiert als "stabil" im Ziel zu sortieren, um den Rest zu verlassen, um entweder verworfen oder als potentiell Multi-Unit behandelt werden.

Software Anforderungen

SpikeSorter ist kompatibel mit 64-Bit-Versionen von Windows 7 und Windows 10, und wurde auch erfolgreich unter Linux mit dem Wine-Emulator ausgeführt wurde. Datendateien werden vollständig in den Speicher geladen (für Geschwindigkeit) und somit den verfügbaren RAM benötigt mit der Größe der Aufzeichnung zu skalieren (erlauben Sie ca. 2 GB für das Programm selbst). Elektrophysiologischeal-Dateien größer als 130 GB Größe wurden in Windows- und Linux-Umgebungen erfolgreich sortiert. Die Optionen werden durch Standard-Windows-Menüs, einer Symbolleiste und Dialoge abgerufen. Die Anordnung der Elemente auf dem Menü entspricht in etwa die Reihenfolge der Operationen in Sortierung, mit dem Menü "Datei" für die Dateneingabe auf der linken Seite beginnen, und das Menü "Exportieren" auf der rechten Seite so dass für den Export von sortierten Daten. Toolbar-Schaltflächen bieten Verknüpfungen zu Menüpunkten verwendet.

Der Kanalkonfigurationsdatei

Viele Aufzeichnungsdatenformaten speichern keine Programmplätze. Allerdings ist diese zu wissen, für Spike-Sortierung von wesentlicher Bedeutung. Kanäle können auch auf verschiedene Arten von Erfassungssoftware zu nummerieren: SpikeSorter erfordert, dass die Kanäle in der Reihenfolge nummeriert sind, mit Kanal beginnen 1. Somit wird eine Hilfselektrodenkonfigurationsdatei erstellt werden muss, die Kanalnummern neu zuordnen können die sequentielle Regel zu folgen, und zu Shop Kanal loctionen. Die Kanalkonfigurationsdatei ist eine Textdatei mit einer einzigen Textzeile für jeden Kanal. Die erste Zeile der Datei speichert einen Textnamen, bis zu 16 Zeichen lang sein, dass die Elektrode identifiziert. Die Zahlen in den nachfolgenden Zeilen können durch Tabs, ein Komma oder Leerzeichen getrennt werden. Es gibt vier Zahlen in jeder Reihe Providing (in Reihenfolge): die Kanalnummer in der Datei, die Kanalnummer , auf die sie abgebildet werden soll (dh die Anzahl, die von SpikeSorter verwendet wird), und die x- und y – Koordinaten des Kanal, in Mikron. Die x – Koordinate normalerweise senkrecht zur Richtung der Elektrodeneinführungs genommen werden , und die y entsprechend Tiefe in das Gewebe wäre koordinieren. Die Konfigurationsdatei muss im selben Verzeichnis wie die Aufnahme-Datei abgelegt werden. Es besteht eine gewisse Flexibilität in wie kann es genannt werden. Das Programm wird zunächst nach einer Datei zu suchen, die den gleichen Namen wie die Rohdatendatei hat aber mit einer CFG-Erweiterung. Wenn die Datei is nicht gefunden, wird es für die Datei 'electrode.cfg' suchen. Wenn diese Datei wiederum nicht gefunden wird eine Fehlermeldung einen Mangel an Kanallayoutinformationen, um anzuzeigen, erzeugt.

Protocol

1. Programm-Setup Zum http://www.swindale.ecc.ubc.ca/SpikeSorter das Programm herunterzuladen. Kopieren Sie die mitgelieferte ausführbare Datei in das Verzeichnis Ihrer Wahl. Lesen Sie die dazugehörige Dokumentation. HINWEIS: Es wurden keine Installation oder Zusammenstellung ist nicht erforderlich. Vor dem Öffnen einer Datei sortiert werden, stellen Sie sicher, dass ausreichend freier RAM ist die gesamte Dauer der Aufzeichnung enthalten. Vergewissern Sie sich außerdem eine gültige Kanal…

Representative Results

Abbildung 7 zeigt die Anzeige (erhalten , indem Sie auf "Ansicht – Sortiert Wellenformen ') für eine typische sortierte Aufnahme. Die Standardansicht Option ist nur die Wellenformen für jeden Cluster auf den Center-Kanal zu zeigen. Eine allgemeine Erfahrung ist, dass Wellenformen für eine Clusterpaar auf dem gleichen Kanal identisch aussehen, aber wenn die "Paare Vergleichen 'Dialog verwendet, um die zwei Cluster gibt es unterschiedliche Cluster in d…

Discussion

Dateiformate

Derzeit unterstützte Dateiformate sind Neuralynx (.ntt und .ncs), Plexon (.plx), Neuroscope (.xml + .dat), Mehrkanal- Anlagen (.mcd), Blackrock (.nev) und Intan (.rhd). Für nicht unterstützte Formate, gibt es zwei Möglichkeiten. Eine davon ist der Zugabe des Dateiformats auf eine bevorstehende Freilassung zu fordern (E-Mail-Link an den Entwickler wird in der mitgelieferten "Hilfe – Über" Dialog). Die andere ist die Datei in ein unterstütztes Format zu konvertieren. …

Disclosures

The authors have nothing to disclose.

Acknowledgements

We thank those individuals and groups who have used SpikeSorter and who have provided requests for file format support and suggestions and feedback on how to improve it. These include Youping Xiao, Felix Fung, Artak Khachatryan, Eric Kuebler, Curtis Baker, Amol Gharat and Dongsheng Xiao. We thank Adrien Peyrache for the false positive and negative figures given in ‘Representative Results’.

Materials

spikesorter.exe N/A program file currently available through invited dropbox link

References

  1. Buzsáki, G. Large-scale recording of neuronal ensembles. Nat. Neurosci. 7, 446-451 (2004).
  2. Blanche, T. J., Spacek, M. A., Hetke, J. F., Swindale, N. V. Polytrodes: High Density Silicon Electrode Arrays for Large Scale Multiunit Recording. J. Neurophys. 93, 2987-3000 (2005).
  3. Lewicki, M. S. A review of methods for spike sorting: the detection and classification of neuronal action potentials. Network. 9, R53-R78 (1998).
  4. Letelier, J. C., Weber, P. P. Spike sorting based on discrete wavelet transform coefficients. J. Neurosci. Methods. 101, 93-106 (2000).
  5. Quiroga, R. Q., Nadasdy, Z., Ben-Shaul, Y. Unsupervised spike detection and sorting with wavelets and superparamagnetic clustering. Neural Computation. 16, 1661-1687 (2004).
  6. Franke, F., Natora, M., Boucsein, C., Munk, M., Obermayer, K. An online spike detection and spike classification algorithm capable of instantaneous resolution of overlapping spikes. J. Comput. Neurosci. 29, 127-148 (2010).
  7. Jäckel, D., Frey, U., Fiscella, M., Franke, F., Hierlemann, A. Applicability of independent component analysis on high-density microelectrode array recordings. J. Neurophysiol. 108, 334-348 (2012).
  8. Rossant, C., et al. Spike sorting for large, dense electrode arrays. Nature Neuroscience. 19, 634-641 (2016).
  9. Vandecasteele, M., et al. Large-scale recording of neurons by movable silicon probes in behaving rodents. JoVE. (61), e3568 (2012).
  10. Schjetnan, A. G. P., Luczak, A. Recording large-scale neuronal ensembles with silicon probes in the anesthetized rat. JoVE. (56), e3282 (2011).
  11. Swindale, N. V., Spacek, M. A. Spike sorting for polytrodes: a divide and conquer approach. Frontiers in Systems Neuroscience. 8, 1-21 (2014).
  12. Swindale, N. V., Spacek, M. A. Spike detection methods for polytrodes and high density microelectrode arrays. J. Comput. Neurosci. 38, 249-261 (2015).
  13. Swindale, N. V., Spacek, M. A. Verification of multichannel electrode array integrity by use of cross-channel correlations. J. Neurosci. Meth. 263, 95-102 (2016).
  14. Fukunaga, K., Hostetler, L. D. The estimation of the gradient of a density function, with applications in pattern recognition. IEEE Transactions on Information Theory (IEEE). 21, 32-40 (1975).
  15. Mitelut, C., et al. Standardizing spike sorting: an in vitro, in silico and in vivo study to develop quantitative metrics for sorting extracellularly recorded spiking activity. Soc. Neurosci. Abstr. 598 (10), (2015).
  16. Hazan, L., Zugaro, M., Buzsáki, G. Klusters, NeuroScope, NDManager: A free software suite for neurophysiological data processing and visualization. J. Neurosci. Meth. 155, 207-216 (2006).
  17. Harris, K. D., Henze, D. A., Csicsvari, J., Hirase, H., Buzsáki, G. Accuracy of tetrode spike separation as determined by simultaneous intracellular and extracellular measurements. J. Neurophysiol. 84, 401-414 (2000).
  18. Anastassiou, C. A., Perin, R., Buzsáki, G., Markram, H., Koch, C. Cell-type and activity dependent extracellular correlates of intracellular spiking. J. Neurophysiol. 114, 608-623 (2015).
  19. Wohrer, A., Humphries, M. D., Machens, C. K. Population-wide distributions of neural activity during perceptual decision-making. Prog. Neurobiol. 103, 156-193 (2013).
  20. Mizuseki, K., Buzsáki, G. Preconfigured, skewed distribution of firing rates in the hippocampus and entorhinal cortex. Cell Reports. 4, 1010-1021 (2013).
  21. Schmitzer-Torbert, N., Jackson, J., Henze, D., Harris, K., Redish, A. D. Quantitative measures of cluster quality for use in extracellular recordings. 신경과학. 131, 1-11 (2005).
  22. Barnett, A. H., Magland, J. F., Greengard, L. F. Validation of neural spike sorting algorithms without ground-truth information. J. Neurosci. Meth. 264, 65-77 (2016).

Play Video

Cite This Article
Swindale, N. V., Mitelut, C., Murphy, T. H., Spacek, M. A. A Visual Guide to Sorting Electrophysiological Recordings Using ‘SpikeSorter’. J. Vis. Exp. (120), e55217, doi:10.3791/55217 (2017).

View Video