Summary

En Visual Guide til Sortering Elektrofysioloqisk Recordings Brug '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

Enhver, der registrerer ekstracellulære signaler fra hjernen ved hjælp af metoder mere sofistikerede end simpel online-tærskling og vinduessystem over for opgaven med at identificere og adskille signalerne fra forskellige neuroner fra støjende spændingssignaler indspillet af elektroden. Denne opgave er almindeligt kendt som spike sortering. Vanskeligheden ved spike sortering forværres af forskellige faktorer. Neuroner kan være meget tæt sammen, således at de signaler, der er optaget fra disse med en nærliggende elektrode sandsynligvis er ens og svært at skelne. Signalerne fra en enkelt neuron kan variere over tid, måske på grund af bevægelser af elektroden, variable natriumkanalblokkere kinetik i perioder med høj skudhastighed, variable grader af aktivering af spænding konduktanser i dendritter, der er tæt på elektroden, eller muligvis som et resultat af ændringer i hjernens tilstand. Disse problemer kan afhjælpes ved hjælp af multi-elektrode arrays (MEA) med mange tætliggende (20 – 100 um) r Optagelse kanaler, som giver en bedre rumlig definition af signalerne fra enkelte neuroner, da de typisk er spredt ud over flere kanaler 1, 2. Men dette, kombineret med det faktum, at signaler fra neuroner spredt langs hele længden af ​​elektroden overlap i rummet, resulterer i en potentielt meget høj dimensionelle rum, hvori klynger svarende til unikke neuroner skal identificeres,. Dette problem bliver beregningsmæssigt umedgørlig i mere end et lille antal elektrodeområder kanaler. Til dato er der ingen generelt aftalte bedste metode til spike sortering, selvom mange løsninger er blevet foreslået 3, 4, 5, 6, 7, 8 og optagelser fra MEA'er bliver stadig mere almindeligt 9,ass = "xref"> 10. Fordi spike sortering er ikke et mål i sig selv, men er simpelthen et nødvendigt første skridt før yderligere dataanalyse, er der behov for et let anvendeligt pakke, der vil læse i rå optagelse datafiler og konvertere dem til sorterede spike tog med så lidt bruger input, og som hurtigt og pålideligt, som muligt.

Dette dokument indeholder en tutorial for brug af SpikeSorter – et program udviklet med henblik på at opfylde disse behov. Programmet er baseret på algoritmer, der er beskrevet i tidligere offentliggjorte papirer 11, 12, 13. Målene i udformningen af programmet var, at a) det skal have en brugervenlig grænseflade, der kræver lidt eller ingen forudgående kendskab til programmering eller spike sortering metodologi; b) skal være behov for få eller ingen andre specialiserede softwarekomponenter ud over standard Windows eller Linux-operativsystemer; c </em>) En bred vifte af optagelse dataformater til data import og eksport bør støttes; d) behovet for brugerinput under sortering bør minimeres, og e) sortering gange skal skaleres på en fornuftig måde, ideelt lineært, med optagetiden og antallet af kanaler på elektroden. De algoritmer implementeret i programmet omfatter a) en fleksibel sæt af præ-forarbejdning og afsløring begivenhed strategier b) en automatiseret kløft og erobre strategi dimension reduktion som klynger spænding kurver baseret på de vigtigste komponenter (PC) fordelinger opnået fra delmængder af kanaler tildelt bestemte klynger; c) automatiseret gruppering af PC distributioner med en hurtig klyngedannelse procedure baseret på gennemsnitsværdien-shift algoritme 3, 14, og d) delvist automatiseret parvis sammensmeltning og opsplitning af klynger for at sikre, at hver er til forskel som muligt fra alle andre. Til THs, er tilføjet en række procedurer, der tillader manuel opdeling eller sammenlægning af klynger baseret på inspektion af PC distributioner, tvær- og auto-correlograms af spike tog og tid-amplitude afbildninger af spike kurveformer. Optagelser fra tetrodes, tetrode arrays, Utah arrays samt single og multi-skaft MEA kan læses og sorteres. Den nuværende grænse for antallet af kanaler er 256, men dette kan øges i fremtiden.

En anden cross-platform open source implementering, "Spyke" (http://spyke.github.io), er også tilgængelig. Skrevet af en af ​​os (MS) i Python og Cython, Spyke bruger den samme overordnede tilgang som SpikeSorter, med visse forskelle: at reducere hukommelse krav, er rå data er lagt i små blokke, og kun når det er absolut nødvendigt; klynger udelukkende vises, manipuleret, og sorteret i 3D; og principal komponent og uafhængig komponent analyse er begge anvendt som supplerende metoder til reduktion af dimension. Spyke kræver mere brugervenlig isamspil, men stærkt afhængig tastatur og mus genveje og en fortryd / redo køen til hurtigt at undersøge effekten af ​​forskellige faktorer på gruppering af en given delmængde af pigge. Disse faktorer omfatter spike kanal og tid områdevalg, spike tilpasning, klyngedannelse dimensioner og rumlig båndbredde (sigma) 11.

Følgende er en kort beskrivelse af de algoritmer og strategier, der anvendes til sortering. Mere fuldstændige beskrivelser kan findes i tidligere udgivelser 11, 12, 13 og i anmærkninger, der kan tilgås via hjælp knapper (identificeret med et '?') Inden SpikeSorter. Efter indlæsning af en rå ekstracellulært spænding fil og filtrere de lavere frekvens komponenter, en indledende fase af afsløring begivenhed resulterer i et sæt af begivenheder, som hver består af en kort spænding øjebliksbillede før og efter begivenheden tid. Hvis de udvalgtered steder er tilstrækkeligt tæt afstand (<100 um), unit signaler enkelt vil generelt blive vist på flere tilstødende kanaler. En central kanal vælges automatisk for hver hændelse, der svarer til den kanal, på hvilken spids-til-spids spænding af begivenheden er størst. Automatiseret sortering starter ved at danne en enkelt indledende klynge for hver elektrode kanal, som består af alle de begivenheder, der blev lokaliseret til denne kanal. En enhed ligger midtvejs mellem kanalerne kan give anledning til pigge, der er lokaliseret (måske tilfældigt) til forskellige kanaler: klyngerne fra disse to sæt spikes vil identificeres som ens og slået sammen på et senere tidspunkt. Den gennemsnitlige bølgeform af begivenhederne i hver indledende cluster beregnes derefter. Dette betegnes som klyngen skabelon. Subsidiære kanaler er tildelt til hver klynge baseret på amplituder og standardafvigelse af skabelonen bølgeformer på hver kanal. Hovedkomponent værdier beregnes derefter for hver cluster baseret on bølgeformer på den tildelte sæt af kanaler. Brugeren kan vælge antallet af hovedkomponent dimensioner til at bruge: normalt 2 er tilstrækkelig. Hver klynge derefter opdelt i en række yderligere klynger, og dette gentages, indtil ingen kan være yderligere opdelt efter automatiseret klyngedannelse.

På dette tidspunkt, et første sæt af sige, 64 klynger fra en 64-kanals elektrode, kan opdeles i to eller tre gange så mange, afhængigt af antallet af enheder, som var til stede i optagelsen. Men på grund af den variable fordeling af begivenheder fra enkelte enheder til forskellige kanaler, antallet af klynger findes på nuværende tidspunkt er næsten helt sikkert større end det burde være. Den næste fase af sortering er at korrigere oversplitting ved at sammenligne par af klynger og sammenlægning lignende par eller omfordeling begivenheder fra den ene til den anden. Denne fase af sortering er benævnt "flette og split".

Fletning og Opdeling

For n klynger, der N * (N -1) / 2 par og dermed antallet af par vokser som N2, hvilket er uønsket. Dog kan mange par udelukkes fra sammenligningen, fordi de to medlemmer af parret er fysisk langt fra hinanden. Dette reducerer afhængigheden til noget, der er mere lineært relateret til antallet af kanaler. På trods af denne genvej, kan fletningen og split fase stadig være ganske tidskrævende. Det fungerer på følgende måde. Hver klynge par, der skal sammenlignes (dem, der er fysisk tæt på hinanden, som bedømt af overlap i kanalen sæt tildelt hver) er midlertidigt lagt sammen, selvom at holde identiteten af ​​de pigge i de to medlems klynger kendte. De vigtigste komponenter i den fusionerede par er derefter beregnet. Et mål for overlapning mellem de punkter i de to klynger er beregnet på baggrund af fordelingen af ​​de første to hovedkomponenter.

Den måde ov ERLAP foranstaltning beregnes er beskrevet mere detaljeret andetsteds 11. Dens værdi er nul, hvis klyngerne ikke overlapper overhovedet, dvs. nærmeste nabo af hvert punkt er i samme klynge. Dens værdi er tæt på 1, hvis klyngerne overlapper fuldstændigt, dvs. sandsynligheden for den nærmeste nabo være i samme klynge er den samme som forudsagt ud fra en ensartet blanding af point.

Forskellige beslutninger træffes som tager overlapningen foranstaltning i betragtning. Hvis overlapningen er større end en bestemt værdi, kan klynger blive lagt sammen. Hvis overlapningen er meget lille, kan klyngen par defineres som særskilt og efterlades alene. Mellemliggende værdier, hvilket indikerer ufuldstændig adskillelse af klyngen parret, kan signalere, at parret skal slås sammen, og derefter re-split, det ønskede resultat er et par klynger med mindre overlap. Disse procedurer køres først i et automatiseret stadium og derefter i en manuelt styret fase.

telt "> I den automatiserede fase, er klynge par med en stor overlapning værdi sammenlagt;. derefter klynge par med mellemliggende lave overlap værdier flettes og re-split I den anden, bruger-styret fase, bliver brugeren præsenteret med alle de resterende flertydige klynge par (dvs. dem med overlappende værdier i et defineret mellemliggende interval) i rækkefølge, og bliver bedt om at vælge, om a) at fusionere parret, b) flette og resplit parret, c) at erklære parret at være selvstændig (som tilsidesætter betydningen af overlapningen foranstaltning), eller d) at fastlægge forholdet mellem parret som "tvetydige" angiver, at piggene i parret er usandsynligt, at være godt sorteres. Forskellige værktøjer leveres til at hjælpe med disse beslutninger, herunder auto – og cross-correlograms og tid serien plots af spike højde og PC værdier.

Ideelt, ved afslutningen af ​​de fusionerende og opsplitning faser, bør hver klynge være forskellig fra alle andre,enten fordi det har få eller ingen kanaler fælles med andre klynger, eller fordi overlapningen indekset er mindre end en defineret værdi. Denne værdi kan vælges af brugeren, men er typisk 0,1. Klynger (enheder), der passerer denne test er defineret som "stabil", dem der ikke (fordi overlapningen med en eller flere andre klynger er større end tærskelværdien), defineres som "ustabil". I praksis langt de fleste enheder ender med at blive defineret som "stabil" efter mål på sortering og efterlod resten til enten kasseres eller behandles som potentielt flere enheder.

Software Krav

SpikeSorter er kompatibel med 64 bit-versioner af Windows 7 og Windows 10, og er også blevet kørt med succes under Linux ved hjælp af Wine emulator. Datafiler er helt indlæst i hukommelsen (for hastighed) dermed tilgængelig RAM behov for at skalere med størrelsen af ​​optagelsen (tillade omkring 2 GB til selve programmet). elektrofysiologiskal datafiler større end 130 GB i størrelse med succes er blevet sorteret i både Windows- og Linux-miljøer. Optioner er adgang til via standard Windows menuer, en værktøjslinje og dialoger. Layoutet af elementer på menuen svarer nogenlunde rækkefølgen af ​​operationer i sortering, begyndende med menuen 'Filer' til venstre for indlæsning af data samt den "Export" menuen til højre giver mulighed for eksport af sorterede data. Knapper på værktøjslinjen giver genveje til almindeligt brugte menupunkter.

Kanal konfigurationsfil

Mange optagelse dataformater gemmer ikke kanal placeringer. Men vel vidende disse er afgørende for spike sortering. Kanaler kan også nummereret på forskellige måder ved overtagelse software: SpikeSorter kræver, at kanalerne er nummereret i rækkefølge, begyndende med kanal 1. Således en accessorisk elektrode konfigurationsfil skal oprettes, der kan restere kanalnumre til at følge den sekventielle reglen, og at butik kanal loctioner. Kanalen konfiguration fil er en tekstfil med en enkelt række af tekst for hver kanal. Den første linje i filen gemmer en tekst navn, op til 16 tegn, der identificerer elektroden. Tallene i de efterfølgende linier kan adskilles ved faner, et enkelt komma eller mellemrum. Der er fire tal i hver række tilvejebringer (i rækkefølge): kanalnummeret i filen, kanalnummeret til hvilken den skal kortlægges (dvs. det nummer, der vil blive anvendt af SpikeSorter), og x og y koordinater for kanal, i mikrometer. X-koordinaten vil normalt blive taget som vinkelret på retningen af elektroden indsættelse og y-koordinaten derfor ville være dybde ind i vævet. Indstillingsfilen skal placeres i samme bibliotek som optagelsen fil. Der er en vis fleksibilitet i, hvordan den kan navngives. Programmet vil først søge efter en fil, der har samme navn som den rå datafil, men med en .cfg forlængelse. Hvis denne fil is ikke fundet, vil det søge efter filen "electrode.cfg«. Hvis denne fil til gengæld ikke findes genereres en fejlmeddelelse for at indikere en mangel på kanal layout oplysninger.

Protocol

1. Program Setup Gå til http://www.swindale.ecc.ubc.ca/SpikeSorter at hente programmet. Kopier den medfølgende eksekverbare fil til mappen for dit valg. Læs den medfølgende dokumentation. BEMÆRK: Ingen formel installation eller kompilering er påkrævet. Før åbning enhver fil, der skal sorteres, sikre, at der er tilstrækkelig ledig RAM til at indeholde hele varigheden af ​​optagelsen. Sørg også for et gyldigt kanal konfigurationsfil, som beskrevet i dokumentationen, er til stede…

Representative Results

Figur 7 viser displayet (opnået ved at gå til 'View – Sorteret kurver «) for en typisk sorterede optagelse. Standardvisningen mulighed er bare at vise kurver på den midterste kanal for hver klynge. En fælles erfaring er, at bølgeformer for en klynge par på den samme kanal ser ens, men når sammenligne par 'dialog bruges til at undersøge de to klynger der er særskilte klynger i PC projektion, oftest som følge af bølgeform forskelle på tilstødende kana…

Discussion

filformater

Aktuelt understøttede filformater omfatter Neuralynx (.ntt og .ncs), Plexon (.plx), Neuroscope (.xml + dat), Multichannel Systems (.mcd), Blackrock (.nev) og Intan (.rhd). For ikke-understøttede formater, er der to muligheder. Den ene er at anmode tilsætning af filformatet til en kommende udgivelse (en e link til udvikleren findes i 'Hjælp – Om' dialog). Den anden er at konvertere filen til et understøttet format. En enkel løsning er at bruge den tid-spike-format &quot…

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).
check_url/kr/55217?article_type=t

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