Summary

Een visuele gids voor het sorteren van elektrofysiologische registraties met behulp van '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

Iedereen die extracellulaire signalen registreert van de hersenen met behulp van methoden geavanceerder dan simpele on-line drempelwaarden en windowing wordt geconfronteerd met de taak van het identificeren en het scheiden van de signalen van verschillende neuronen van de drukke spanning signalen die zijn opgenomen door de elektrode. Deze taak is algemeen bekend als spike sorteren. De moeilijkheid spike sortering wordt verergerd door verschillende factoren. Neuronen kunnen zeer dicht bij elkaar, zodat de signalen die daarvan door een nabijgelegen elektrode waarschijnlijk lijken en moeilijk te onderscheiden zijn. De signalen die door een enkel neuron kan variëren in de tijd, misschien als gevolg van bewegingen van de elektrode, variabele natriumkanalen kinetiek tijdens periodes van hoge vuursnelheid, een variabele mate van activatie van spanning conductances in dendrieten die dicht bij de elektrode, of eventueel als zijn een gevolg van veranderingen in de hersenen staat. Deze problemen kunnen worden verholpen door gebruik van multi-elektrode arrays (MEA) met veel dicht bij elkaar gelegen (20-100 urn) r Opnam e-kanalen die een betere ruimtelijke afbakening van de signalen maakt van enkele neuronen, omdat ze meestal liggen verspreid over meerdere kanalen 1, 2. Echter, dit in combinatie met het feit dat de signalen van neuronen zich over de gehele lengte van de elektrode overlap in de ruimte, leidt tot een potentieel zeer hoge dimensionale ruimte waarbinnen clusters overeenkomt met unieke neuronen moeten worden geïdentificeerd. Dit probleem wordt rekenkundig hardnekkig meer dan een klein aantal elektroden kanalen. Tot op heden is er geen algemeen overeengekomen beste methode spike sorteren, maar vele oplossingen voorgesteld 3, 4, 5, 6, 7, 8 en opnamen van MEA worden steeds vaker 9,ass = "xref"> 10. Omdat spike sorteren is geen doel op zich, maar is gewoon een noodzakelijke eerste stap voordat verdere data-analyse, is er behoefte aan een eenvoudig te gebruiken pakket dat zal lezen in ruwe opname bestanden en deze converteren naar gesorteerde spike treinen met zo weinig gebruiker ingang en zo snel en betrouwbaar mogelijk.

Dit artikel geeft een tutorial voor het gebruik van SpikeSorter – een programma ontwikkeld met als doel om aan deze behoeften. Het programma is gebaseerd op algoritmen eerder gepubliceerde artikelen 11, 12, 13 beschreven. De doelstellingen bij het ontwerpen van het programma waren dat a) het zou moeten hebben een gebruiksvriendelijke interface weinig of geen voorafgaande kennis van programmeren van computers of spike sorteren methodologie vereisen; b) weinig of geen andere gespecialiseerde software componenten verder dan de standaard Windows of Linux-besturingssystemen moet nodig zijn; c </em>) Een breed scala aan het opnemen van gegevens formats voor data-invoer en de uitvoer moeten worden ondersteund; d) de noodzaak van gebruikersinvoer gedurende het sorteren moet worden geminimaliseerd, en e) het sorteren keer moet schalen op een redelijke wijze idealiter lineair met opnameduur en het aantal kanalen op de elektrode. De algoritmen in het programma worden uitgevoerd onder a) een flexibele set van pre-processing en event detectie strategieën; b) een geautomatiseerde verdeel en heers strategie van dimensie reductie welke spanning golfvormen op basis van de belangrijkste componenten (PC) uitkeringen verkregen uit subsets van kanalen toegewezen aan specifieke clusters clusters; c) geautomatiseerde clustering van PC distributies met een snelle clustering procedure op basis van de gemiddelde-shift algoritme 3, 14, es d) het gedeeltelijk geautomatiseerde paarsgewijze samenvoegen en splitsen van clusters zodat elk zo verschillend mogelijk van alle andere. om THIs, heeft een reeks van procedures toegevoegd dat handmatige splitsen of samenvoegen van clusters op basis van inspectie van de PC-distributies, cross- en auto-correlograms van spike treinen en time-amplitude percelen van spike golfvormen mogelijk te maken. Opnames van tetrodes, Tetrode arrays, Utah arrays evenals single en multi-schacht MMO's kunnen worden gelezen en gesorteerd. De huidige beperking van het aantal kanalen 256, maar dit kan in de toekomst worden vergroot.

Een andere cross-platform open-source implementatie, "Spyke" (http://spyke.github.io), is ook beschikbaar. Geschreven door een van ons (MS) in Python en Cython, Spyke maakt gebruik van dezelfde algemene aanpak als SpikeSorter, met enkele verschillen: het geheugen eisen te verminderen, wordt ruwe data geladen in kleine blokjes, en alleen wanneer dat absoluut noodzakelijk is; clusters worden uitsluitend weergegeven, gemanipuleerd, gesorteerd en in 3D; en de belangrijkste component en onafhankelijke componenten analyse worden zowel gebruikt als aanvullende methoden dimensie reductie. Spyke vereist meer gebruiker ininteractie, maar leunt zwaar op het toetsenbord en de muis snelkoppelingen en een undo / redo wachtrij om de effecten van verschillende factoren snel te ontdekken op de clustering van een bepaalde subgroep van spikes. Deze factoren omvatten spike kanaal en de tijd bereik selectie, aar uitlijning, clustering afmetingen en ruimtelijke bandbreedte (sigma) 11.

Het volgende is een korte beschrijving van de algoritmen en strategieën die worden gebruikt voor het sorteren. Meer volledige beschrijvingen vindt u in de vorige publicaties 11, 12, 13 en annotaties die kan worden geraadpleegd via de help-knoppen (geïdentificeerd met een '?') Binnen SpikeSorter. Nadat er een ruwe extracellulaire spanning bestand en het uitfilteren van de lagere frequentiecomponenten, een beginstadium van gebeurteniswaarneming resulteert in een reeks gebeurtenissen, die elk bestaan ​​uit een korte snapshot spanning voor en na de evenementtijd. Als de uitverkorenenreed sites zijn voldoende dicht bij elkaar (<100 pm), één eenheid signalen over het algemeen op een aantal naburige kanalen. Een centraal kanaal automatisch geselecteerd voor elke gebeurtenis, die bij het kanaal waarop de piek-tot-piek spanning van het evenement grootste. Geautomatiseerde sortering begint met het vormen van een enkele eerste cluster voor elke elektrode kanaal, bestaande uit alle gebeurtenissen die werden gelokaliseerd op dat kanaal. de clusters uit deze twee reeksen pieken worden geïdentificeerd als gelijksoortig en samengevoegd in een later stadium: Eenheid halverwege tussen kanalen kunnen ontstaan ​​pieken die gelokaliseerd zijn (misschien willekeurig) aan verschillende kanalen geven. De gemiddelde golfvorm van de gebeurtenissen in elke eerste cluster wordt dan berekend. Dit wordt aangeduid als de cluster matrijs. Dochteronderneming kanalen worden toegewezen aan elke cluster basis van de amplituden en de standaarddeviatie van de template golfvormen op elk kanaal. Hoofdbestanddeel waarden worden vervolgens berekend voor elk cluster gebaseerd on de golfvormen op de toegewezen set van kanalen. De gebruiker kan kiezen voor het aantal van de belangrijkste component dimensies te gebruiken: meestal 2 is voldoende. Elk cluster wordt dan gesplitst in een nieuwe reeks van clusters, en dit wordt herhaald totdat er geen verdere splitsing door geautomatiseerde clustering kan zijn.

Op dit moment, een eerste set van bijvoorbeeld 64 clusters van een 64-kanaals elektrode kan worden opgesplitst in twee of drie keer zoveel, afhankelijk van het aantal eenheden dat in de opname was. Maar vanwege de variabeletoekenning gebeurtenissen van afzonderlijke eenheden tot verschillende kanalen, het aantal clusters heeft in deze fase vrijwel zeker groter dan het zou moeten zijn. De volgende fase van het sorteren is om de oversplitting corrigeren door het vergelijken van paren van clusters en het samenvoegen van vergelijkbare paren of herschikking van gebeurtenissen van de ene naar de andere. Deze fase van sorteren wordt aangeduid als "samenvoegen en splitsen.

Samenvoegen en splitsen

Voor N clusters zijn er N * (N -1) / 2 paren en derhalve het aantal paren toeneemt naarmate N2, hetgeen ongewenst is. Echter, veel paren worden buiten de vergelijking, omdat de twee leden van het paar ver afgelegen. Dit vermindert de afhankelijkheid van iets dat meer lineair is gerelateerd aan het aantal kanalen. Ondanks deze snelkoppeling, kan de samenvoeging en splitsing stadium nog steeds heel tijdrovend zijn. Het werkt op de volgende manier. Elke cluster paar die worden vergeleken (die fysiek dicht bij elkaar, zoals beoordeeld door de overlapping van de kanaalgroepen zijn toegewezen aan elk) tijdelijk samengevoegd, maar waarbij de identiteit van de pieken in de beide lid clusters bekend. De belangrijkste onderdelen van de gefuseerde paar zijn dan berekend. Een maat voor de overlap tussen de punten van de twee clusters wordt berekend op basis van de verdeling van de eerste twee hoofdcomponenten.

De manier waarop de ov ERLAP maatregel berekend wordt in meer detail elders 11. De waarde nul als de clusters niet overlappen elkaar, dat wil zeggen de meest nabije buur van elk punt in hetzelfde cluster. De waarde dichtbij 1 als de clusters overlappen, dat wil zeggen de waarschijnlijkheid van de dichtstbijzijnde buren in dezelfde cluster is dezelfde als die voorspeld uit een gelijkmatig mengen van punten.

Verschillende beslissingen worden genomen die de overlappingswaarde rekening. Als de overlap groter is dan een bepaalde waarde, kunnen clusters worden samengevoegd. Als de overlap zeer klein is, kan de cluster pair gedefinieerd als onderscheiden en met rust gelaten. Tussenwaarden, duidde op onvolledige scheiding van het cluster pair, kunnen duiden dat het paar worden samengevoegd en opnieuw gesplitst, het gewenste resultaat wordt een paar clusters met minder overlap. Deze procedures worden eerst in een geautomatiseerd stadium en vervolgens in een met de hand geleide podium.

tent "> In de geautomatiseerde fase cluster paren met een grote overlap waarde worden samengevoegd;. Vervolgens cluster paren met gemiddelde tot lage overlap waarden worden samengevoegd en opnieuw splitsen In de tweede, door de gebruiker geleide fase krijgt de gebruiker alle resterende dubbelzinnig cluster pairs (dwz die met overlap waarden in een bepaalde tussenliggende bereik) in de juiste volgorde en wordt gevraagd om te kiezen of a) om het paar samen te voegen, b) samen te voegen en resplit het paar, c) om het paar te verklaren verschillend te zijn (wat de betekenis van de overlappingswaarde overschrijven), of d) de verhouding tussen het paar als "ambigu" aangeeft dat de pieken in het paar waarschijnlijk goed gesorteerd. Verschillende instrumenten zijn bedoeld om deze besluiten, waaronder auto definiëren – en cross-correlograms en tijdreeksen percelen van spike hoogte en PC-waarden.

Idealiter eind samenvoeging en splitsing stadium elke cluster moet onderscheiden van alle anderen,hetzij omdat het weinig of geen kanalen heeft evenals andere clusters of omdat de overlapping index lager is dan een bepaalde waarde. Deze waarde is de gebruiker te selecteren, maar is meestal 0,1. Clusters (eenheden) die deze test wordt gedefinieerd als "stabiel", die niet (omdat de overlapping met één of meer andere clusters groter is dan de drempelwaarde) worden gedefinieerd als "instabiele". In de praktijk de meeste eenheden uiteindelijk worden gedefinieerd als "stabiel" bij de finish sorteren nemen en de rest ofwel worden weggegooid of behandeld als mogelijk meerdere eenheden.

software Requirements

SpikeSorter is compatibel met 64-bits versies van Windows 7 en Windows 10, en is ook met succes onder Linux draaien met behulp van de Wine emulator. Gegevensbestanden zijn volledig in het geheugen geladen (snelheid) dus beschikbaar RAM behoeften voor het met de grootte van de opname (laat ongeveer 2 GB voor het programma zelf). elektrofysiologischal data bestanden groter dan 130 GB groot succes zijn gesorteerd in zowel Windows als Linux-omgevingen. Opties zijn toegankelijk via standaard Windows-menu's, een werkbalk en dialogen. De lay-out van items op het menu overeenkomt met ongeveer de volgorde van de operaties in het sorteren, te beginnen met het menu 'Bestand' aan de linkerkant voor het invoeren van gegevens en het menu 'Export' aan de rechterzijde waardoor export van gesorteerde gegevens. Toolbar knoppen bieden snelkoppelingen naar veelgebruikte menu-items.

De Channel Configuration File

Veel opname dataformaten niet kanaal locaties op te slaan. Echter, te weten deze essentieel voor spike sorteren. Kanalen kunnen ook worden genummerd op verschillende manieren door acquisitie software: SpikeSorter vereist dat kanalen worden genummerd, te beginnen met kanaal 1. Dus een bijkomende elektrode configuratiebestand moet worden gecreëerd die kanaalnummers kan opnieuw toewijzen aan de sequentiële regel te volgen, en store kanaal locties. Het kanaal configuratiebestand is een tekstbestand met een enkele rij van de tekst voor elk kanaal. De eerste regel van het bestand slaat een tekst naam van maximaal 16 tekens lang zijn, dat de elektrode identificeert. De cijfers in de volgende lijnen kunnen worden gescheiden door tabs, een komma of spaties. Er zijn vier getallen in elke rij verschaffen (in volgorde): het kanaalnummer in het bestand, het kanaalnummer waarop het gemapt moet worden (dat wil zeggen het nummer dat wordt gebruikt door SpikeSorter) en de x es y coördinaten van de kanaal, in microns. De x-coördinaat wordt normaal genomen loodrecht op de richting van de elektrode inbrengen en de y-coördinaat dienovereenkomstig zou diepte in het weefsel. Het configuratiebestand heeft in dezelfde map als de opname-bestand te plaatsen. Er is enige flexibiliteit in hoe het kan worden genoemd. Het programma zal eerst zoeken naar een bestand dat dezelfde naam heeft als de ruwe data bestand, maar met een .cfg extensie. Als dat bestand is niet gevonden, zal het zoeken naar het bestand 'electrode.cfg'. Indien dat bestand weer wordt gevonden een foutmelding gegenereerd gebrek aan kanaalindeling informatie geven.

Protocol

1. Programma Setup Ga naar http://www.swindale.ecc.ubc.ca/SpikeSorter om het programma te downloaden. Kopieer de geleverde uitvoerbare bestand naar de map van uw keuze. Lees de begeleidende documentatie. LET OP: geen formele installatie of compilatie is vereist. Voor het openen van een bestand te sorteren, ervoor te zorgen dat er voldoende vrije RAM-geheugen om de gehele duur van de opname bevatten. Ook zorg ervoor dat een geldig channel configuratie bestand, zoals beschreven in de documentat…

Representative Results

Figuur 7 toont het display (verkregen door te gaan naar 'Beeld – Gesorteerd golfvormen') voor een typisch gesorteerde opname. De optie standaardweergave is gewoon om de golfvormen te tonen op het midden kanaal voor elke cluster. Een algemene ervaring is dat golfvormen een cluster paar op hetzelfde kanaal kijken identiek, maar wanneer het "Vergelijk pairs dialoogvenster wordt gebruikt om de twee clusters onderzoeken zijn er verschillende clusters in de PC pro…

Discussion

file Formats

Momenteel ondersteunde bestandsformaten zijn onder andere Neuralynx (.ntt en .ncs), Plexon (.plx), Neuroscope (.xml + .dat), MultiChannel Systems (.mcd), Blackrock (.nev) en Intan (.rhd). Voor ondersteunde formaten zijn er twee opties. Een daarvan is de toevoeging van het bestandsformaat van een aanstaande release aanvragen (een e-mail link naar de ontwikkelaar wordt verstrekt in het "Help – Over 'dialoog). De andere is om het bestand te converteren naar een ondersteund fo…

Divulgaciones

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

Referencias

  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. Neurociencias. 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

Citar este artículo
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