Het artikel laat zien hoe het programma SpikeSorter te gebruiken om spikes te detecteren en sorteren in extracellulaire opnames gemaakt met multi-elektrode arrays.
Method Article
Het artikel laat zien hoe het programma SpikeSorter te gebruiken om spikes te detecteren en sorteren in extracellulaire opnames gemaakt met multi-elektrode arrays.
Er zijn weinig zelfstandige softwaretoepassingen beschikbaar voor het sorteren van spikes uit opnames gemaakt met multi-elektroden arrays. Idealiter zou een toepassing gebruiksvriendelijk moeten zijn met een grafische gebruikersinterface, in staat zijn om gegevensbestanden in verschillende formaten te lezen en gebruikers een flexibele set tools te bieden waarmee ze extracellulaire spanningsgolfvormen van verschillende eenheden kunnen detecteren en sorteren met een bepaalde mate van betrouwbaarheid. Eerder gepubliceerde methoden voor het sorteren van spikes zijn nu beschikbaar in een softwareprogramma, SpikeSorter, dat bedoeld is om elektrofysiologen een complete set tools te bieden voor het sorteren, beginnend bij het rauwe opgenomen gegevensbestand en eindigend met de export van gesorteerd spike-tijden. Procedures zijn geautomatiseerd voor zover dit momenteel mogelijk is. Het artikel legt het gebruik van het programma uit en illustreert dit. Een representatieve gegevensbestand wordt geopend, extracellulaire sporen worden gefilterd, gebeurtenissen worden gedetecteerd en vervolgens geclusterd. Een aantal problemen die vaak voorkomen tijdens het sorteren, worden geïllustreerd, waaronder de artefactuele oversplitsing van eenheden als gevolg van de neiging van sommige eenheden om spikes in paren te ontstaan waarbij de tweede spike aanzienlijk kleiner is dan de eerste, en oversplitsing veroorzaakt door langzame variatie in spike-hoogte in de loop van de tijd die in sommige eenheden wordt aangetroffen. De nauwkeurigheid van de prestaties van SpikeSorter is getest met surrogate grondwaarheidsgegevens en bleek vergelijkbaar te zijn met die van andere algoritmen in de huidige ontwikkeling.
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 ) 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, en 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 en 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.
Access restricted. Please log in or start a trial to view this content.
1. Programma Setup
2. Event Detection
3. sorteren
OPMERKING: De volgende stap is niet normaal uitgevoerd voor routine sorteren, maar het is zeer nuttig om het te doen bij het sorteren voor de eerste keer, of bij het ondervinden onbekende gegevens.
4. Customization
5. Merge en Split
6. Review - Post-processing
Access restricted. Please log in or start a trial to view this content.
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...
Access restricted. Please log in or start a trial to view this content.
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...
Access restricted. Please log in or start a trial to view this content.
De auteurs hebben niets te onthullen.
We danken de individuen en groepen die SpikeSorter hebben gebruikt en die verzoeken hebben ingediend voor ondersteuning van bestandsformaten en suggesties en feedback over hoe het te verbeteren. Deze omvatten Youping Xiao, Felix Fung, Artak Khachatryan, Eric Kuebler, Curtis Baker, Amol Gharat en Dongsheng Xiao. We danken Adrien Peyrache voor de vals positieve en negatieve figuren gegeven in 'Representatieve Resultaten'.
Access restricted. Please log in or start a trial to view this content.
| Name | Company | Catalog Number | Comments |
|---|---|---|---|
| spikesorter.exe | N/A | http://www.swindale.ecc.ubc.ca/SpikeSorter |
Access restricted. Please log in or start a trial to view this content.
Request permission to reuse the text or figures of this JoVE article
Request Permission