The article shows how to use the program SpikeSorter to detect and sort spikes in extracellular recordings made with multi-electrode arrays.
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.
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.
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…
The authors have nothing to disclose.
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’.
spikesorter.exe | N/A | program file currently available through invited dropbox link |