Summary

Una guida visiva per Ordinamento elettrofisiologiche registrazioni con '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

Chiunque registra segnali extracellulari dal cervello utilizzando metodi più sofisticati di soglia semplice on-line e finestre fronte al compito di identificare e separare i segnali dei vari neuroni dai segnali di tensione rumorosi registrati dall'elettrodo. Questo compito è comunemente noto come picco di smistamento. La difficoltà di picco ordinamento è aggravato da vari fattori. I neuroni possono essere molto vicini tra loro in modo che i segnali registrati dai loro da un elettrodo area sono probabilmente simili e difficili da distinguere. I segnali prodotti da un singolo neurone possono variare nel tempo, forse a causa di movimenti dell'elettrodo, cinetiche sodio canale variabili nei periodi di alta velocità di fuoco, gradi variabili di attivazione di conduttanze tensione in dendriti che sono vicino all'elettrodo, o possibilmente come a seguito di cambiamenti di stato cerebrale. Questi problemi possono essere mitigati mediante matrici multi-elettrodo (MEA) con molte ravvicinate (20 – 100 micron) r ecording canali che permette una migliore definizione spaziale dei segnali dai singoli neuroni in quanto sono tipicamente distribuite su più canali 1, 2. Tuttavia, ciò, unito al fatto che i segnali dai neuroni sviluppa per tutta la lunghezza della sovrapposizione dell'elettrodo nello spazio, si traduce in uno spazio tridimensionale potenzialmente molto alto entro cui cluster corrispondente neuroni unici devono essere identificate. Questo problema diventa computazionalmente intrattabile per più di un piccolo numero di canali di elettrodi. Ad oggi, non vi è generalmente concordato-upon metodo migliore per Spike ordinamento, anche se molte soluzioni sono state proposte 3, 4, 5, 6, 7, 8 e registrazioni da MEA stanno diventando sempre più comuni 9,ass = "xref"> 10. Perché Spike ordinamento non è fine a se stessa, ma è semplicemente un passaggio preliminare necessario prima di ulteriori analisi dei dati, vi è la necessità per un pacchetto facilmente fruibile che leggerà in file di dati di registrazione prima e convertirli in treni di impulsi ordinate con il poco utente ingresso, e come rapido e affidabile, come possibile.

Questo documento fornisce un tutorial per l'utilizzo di SpikeSorter – un programma sviluppato con l'obiettivo di soddisfare queste esigenze. Il programma si basa su algoritmi descritti in documenti pubblicati in precedenza 11, 12, 13. Gli obiettivi nella progettazione del programma erano che a) si dovrebbe avere una interfaccia user-friendly che richiede poca o nessuna conoscenza preventiva di programmazione di computer o di picco di smistamento metodologia; b) devono essere necessari pochi o nessun altri componenti software specializzati al di là di sistemi operativi standard di Windows o Linux; c </em>) Una vasta gamma di formati di dati di registrazione per l'importazione e l'esportazione dei dati dovrebbe essere sostenuta; d) la necessità di input da parte dell'utente durante l'ordinamento deve essere ridotto al minimo, ed e) l'ordinamento tempi dovrebbero scalare in modo ragionevole, idealmente linearmente, con la durata della registrazione e il numero di canali dell'elettrodo. Gli algoritmi implementati nel programma comprendono a) un insieme flessibile di strategie di pre-elaborazione e di rilevamento degli eventi; b) una divisione automatizzata e la strategia di conquista di riduzione dimensione che raggruppa le forme d'onda di tensione in base ai componenti principali (PC) distribuzioni ottenute da sottoinsiemi di canali assegnati a gruppi specifici; c) il clustering automatico delle distribuzioni PC con una procedura rapida di clustering basate sull'algoritmo media-shift 3, 14, e d) fusione parzialmente automatizzato a due a due e la divisione dei cluster per assicurare che ciascuno è distinto il più possibile da tutti gli altri. This, è stato aggiunto un insieme di procedure che permettono la scissione o la fusione manuale di cluster basati su ispezione di distribuzioni PC, cross e auto-correlogrammi di treni di impulsi e trame tempo ampiezza di forme d'onda picco. Le registrazioni da tetrodi, array, array tetrodo Utah così come MEA-gambo multiuso e possono essere letti e ordinati. Il limite di corrente del numero di canali è 256 ma questo può essere aumentato in futuro.

Un'altra implementazione open-source cross-platform, "spyke" (http://spyke.github.io), è inoltre disponibile. Scritto da uno di noi (MS) in Python e Cython, spyke utilizza lo stesso approccio globale come SpikeSorter, con alcune differenze: per ridurre le richieste di memoria, dati grezzi viene caricato in piccoli blocchi, e solo quando è assolutamente necessario; cluster sono esclusivamente visualizzati, manipolati, e ordinati in 3D; e delle componenti principali e analisi delle componenti indipendenti sono entrambi usati come metodi di riduzione dimensione complementare. Spyke richiede più utenti ininterazione, ma si basa molto sulla tastiera e scorciatoie da mouse e una coda di undo / redo per esplorare rapidamente gli effetti di vari fattori sul raggruppamento di un dato sottoinsieme di punte. Questi fattori includono canale di picco e la selezione intervallo di tempo, l'allineamento picco, le dimensioni di clustering e larghezza di banda spaziale (Sigma) 11.

Quanto segue è una breve descrizione degli algoritmi e le strategie utilizzate per l'ordinamento. Più descrizioni complete possono essere trovati in precedenti pubblicazioni 11, 12, 13 e nelle annotazioni che possono essere accessibili tramite pulsanti di aiuto (identificato con un '?') Entro SpikeSorter. Dopo aver caricato un file di tensione extracellulare crudo e filtrando le componenti a frequenza inferiore, una fase iniziale dei risultati del rilevamento evento in un insieme di eventi, ciascuno dei quali è costituito da una breve un'istantanea tensione prima e dopo il tempo dell'evento. Se gli elettisiti ha guidato sono sufficientemente ravvicinati (<100 micron), i segnali di unità singole appare generalmente su più canali vicini. Un canale centrale viene scelto automaticamente per ogni evento, corrispondente al canale sul quale la tensione di picco-picco dell'evento è grande. Automated classificare inizia formando un unico cluster iniziale per ogni canale elettrodo, costituito da tutti gli eventi che sono stati localizzati a quel canale. Un'unità a metà strada tra i canali può dar luogo a picchi che sono localizzate (forse casualmente) per canali diversi: i cluster di queste due serie di picchi saranno identificati come simili e uniti in una fase successiva. La forma d'onda media degli eventi in ogni cluster iniziale viene quindi calcolato. Questo è indicato come modello di cluster. canali ausiliari sono assegnati a ciascun cluster sulla base delle ampiezze e deviazione standard delle forme d'onda modello su ciascun canale. I valori delle componenti principali vengono calcolati per ogni o cluster basato sun le forme d'onda sul set assegnato di canali. L'utente può scegliere il numero di dimensioni dei componenti principali d'uso: di solito 2 è sufficiente. Ciascun cluster viene quindi diviso in un ulteriore insieme di cluster, e questo viene ripetuto fino nessuno può essere ulteriormente divisa dal raggruppamento automatizzato.

A questo punto, una prima serie di esempio, 64 cluster da un elettrodo 64 canali, possono essere suddivisi in due o tre volte quel numero, a seconda del numero di unità che era presente nella registrazione. Ma a causa della assegnazione della variabile di eventi da singole unità a canali diversi, il numero di cluster trovato in questa fase è quasi certamente più grande di quanto dovrebbe essere. La prossima fase di ordinamento è quello di correggere la oversplitting confrontando coppie di cluster e la fusione coppie simili o riassegnazione eventi da uno all'altro. Questa fase di ordinamento è indicato come 'unire e dividere'.

Fusione e scissione

Per N cluster, vi sono N * (N -1) / 2 coppie e quindi il numero di coppie cresce come N 2, che è indesiderabile. Tuttavia, molte coppie possono essere esclusi dal confronto perché i due membri della coppia sono fisicamente distanti. Questo riduce la dipendenza da qualcosa che è più linearmente correlato al numero di canali. A dispetto di questa scorciatoia, l'unione e la fase di spaccatura può ancora essere abbastanza tempo. Esso funziona nel seguente modo. Ogni coppia di cluster che è quello di essere paragonata (quelli che sono fisicamente vicini tra loro, come giudicato dalla sovrapposizione nei set di canali assegnati a ciascun) è fusa temporaneamente, pur mantenendo le identità dei picchi nei due cluster membri noti. Le principali componenti della coppia fusione vengono calcolati. Una misura della sovrapposizione tra i punti nei due cluster viene calcolato in base alla distribuzione dei primi due componenti principali.

Il modo in cui il ov misura ERLAP è calcolato è descritto in dettaglio altrove 11. Il suo valore è zero se il cluster non si sovrappongono affatto, cioè il vicino più prossimo di ciascun punto è nello stesso cluster. Il suo valore è vicino a 1 se i cluster sovrappongono completamente, cioè la probabilità del vicino più vicino essendo nello stesso cluster è lo stesso di quello previsto da una miscelazione uniforme dei punti.

Diverse decisioni sono prese, che prende la misura di sovrapposizione in considerazione. Se la sovrapposizione è maggiore di un certo valore, cluster possono essere unite. Se la sovrapposizione è molto piccola, la coppia cluster potrebbe essere definito come distinto e lasciato solo. I valori intermedi, indicando incompleta separazione della coppia di cluster, potrebbero segnalare che la coppia dovrebbe essere fusa e poi ri-split, il risultato desiderato di essere una coppia di ammassi con meno sovrapposizioni. Queste procedure sono eseguite prima in una fase automatizzata e quindi in una fase guidata manualmente.

tenda "> Nella fase automatizzata, le coppie di cluster con un alto valore di sovrapposizione sono fusi;. poi le coppie di cluster con intermedio a bassi valori di sovrapposizione vengono uniti e re-split Nella seconda, fase user-guidato, l'utente si presenta con tutte le restante coppie di cluster ambigue (cioè quelli con i valori di sovrapposizione in un range intermedio definito) in sequenza e viene chiesto di scegliere se a) per unire la coppia, b) si fondono e resplit la coppia, c) di dichiarare la coppia di essere distinti (che sovrascriverà il significato della misura di sovrapposizione), oppure d) per definire la relazione tra la coppia come 'ambiguo' indicando che i picchi di coppia è improbabile che siano ben ordinati. sono forniti diversi strumenti per aiutare con queste decisioni, tra cui auto – e cross-correlogrammi e trame serie temporali di altezza picco e dei valori PC.

Idealmente, al termine delle fasi di unire e dividere ogni cluster dovrebbe essere distinto da tutti gli altri,sia perché ha pochi o nessun canale in comune con altri raggruppamenti, o perché l'indice sovrapposizione è inferiore ad un valore definito. Questo valore è selezionabile dall'utente, ma è tipicamente 0.1. Cluster (unità) che passano questo test sono definiti come 'stabile', quelli che non (perché la sovrapposizione con uno o più altri cluster è maggiore della soglia) sono definiti come 'unstable'. In pratica, la maggior parte delle unità finiscono per essere definito come 'stabile' al traguardo di smistamento, lasciando il resto sia di essere scartato o trattata come potenzialmente più unità.

Requisiti software

SpikeSorter è compatibile con le versioni a 64 bit di Windows 7 e di Windows 10, ed è stato anche eseguito con successo sotto Linux usando l'emulatore Wine. I file di dati vengono caricati completamente in memoria (velocità) così disponibili RAM deve scalare con la dimensione della registrazione (lasciare circa 2 GB per il programma stesso). elettrofisiologicoAl file di dati più grandi di 130 GB di dimensione sono stati ordinati con successo in entrambi gli ambienti Windows e Linux. Le opzioni sono accessibili tramite i menu standard di Windows, una barra degli strumenti e le finestre di dialogo. Il layout delle voci del menu corrisponde grosso modo l'ordine delle operazioni in selezione, a partire dal menu 'File' sulla sinistra per l'input dei dati e il menu 'Export' sulla destra che permette per l'esportazione di dati ordinati. pulsanti della barra degli strumenti forniscono scorciatoie per utilizzati comunemente voci di menu.

Il file di configurazione del canale

Molti formati di dati di registrazione non memorizzano posizioni di canale. Tuttavia, conoscendo questi è essenziale per il picco di smistamento. I canali possono anche essere numerati in vari modi di software di acquisizione: SpikeSorter richiede che i canali sono numerati in sequenza, a cominciare con il canale 1. Quindi, un file di configurazione degli elettrodi accessoria deve essere creato in grado di rimappare i numeri dei canali di seguire la regola sequenziale, e per loc canale di negoziozioni. Il file di configurazione del canale è un file di testo con una sola fila di testo per ogni canale. La prima riga del file memorizza un nome di testo, fino a 16 caratteri, che identifica l'elettrodo. I numeri in righe successive possono essere separati da tabulazioni, una virgola o spazi. Ci sono quattro numeri in ogni riga che forniscono (in ordine): il numero del canale nel file, il numero del canale a cui deve essere mappato (cioè il numero che verrà utilizzato da SpikeSorter), e le coordinate x e y del canale, in micron. La coordinata x normalmente essere preso come perpendicolare alla direzione di inserimento dell'elettrodo e la coordinata y conseguenza sarebbe profondità nel tessuto. Il file di configurazione deve essere posizionato nella stessa directory del file di registrazione. Vi è una certa flessibilità nel modo in cui esso può essere nominato. Il programma prima cercare un file che ha lo stesso nome del file di dati grezzi, ma con estensione .cfg. Se il file ios non trovato, si cercherà il file 'electrode.cfg'. Se il file a sua volta, non è stato trovato viene generato un messaggio di errore per indicare una mancanza di informazioni sul layout del canale.

Protocol

Impostazione 1. Programma Vai a http://www.swindale.ecc.ubc.ca/SpikeSorter per scaricare il programma. Copiare il file eseguibile fornito nella directory di vostra scelta. Leggi la documentazione di accompagnamento. NOTA: Nessuna installazione formale o la compilazione è richiesto. Prima di aprire qualsiasi file da ordinare, in modo che ci sia abbastanza RAM libera per contenere tutta la durata della registrazione. Assicurarsi inoltre un file di configurazione canale valido, come descritto n…

Representative Results

Figura 7 mostra il display (ottenuto andando 'Vista – forme d'onda Ordinati') per una tipica registrazione ordinato. L'opzione di visualizzazione predefinita è solo per mostrare le forme d'onda sul canale centrale per ogni cluster. Un'esperienza comune è che le forme d'onda per un paio di cluster sullo stesso canale sembrano identici, ma quando il 'Confronto coppie' dialogo è usato per esaminare i due cluster sono gruppi distinti ne…

Discussion

Formati di file

Attualmente i formati di file supportati includono Neuralynx (.ntt e .ncs), Plexon (.PLX), Neuroscope (.xml + dat), sistemi multicanale (.mcd), Blackrock (.nev) e Intan (.rhd). Per i formati non supportati, ci sono due opzioni. Uno è quello di richiedere aggiunta del formato di file per una prossima release (un collegamento e-mail allo sviluppatore è previsto nella 'Guida – Informazioni su' finestra di dialogo). L'altro è quello di convertire il file in un formato…

Divulgazioni

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

Riferimenti

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

Citazione di questo articolo
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