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.
Qualquer um que grava sinais extracelulares a partir do cérebro utilizando métodos mais sofisticados de limiar simples on-line e de janelas enfrenta a tarefa de identificar e separar os sinais de diferentes neurónios a partir dos sinais de tensão ruidosos gravados pelo eléctrodo. Esta tarefa é comumente conhecido como triagem pico. A dificuldade de triagem pico é composta por vários factores. Neurônios pode ser muito próximos uns dos outros de modo a que os sinais gravados a partir deles por um eletrodo nas proximidades são provavelmente similares e difíceis de distinguir. Os sinais produzidos por um único neurônio pode variar ao longo do tempo, talvez por causa dos movimentos do eléctrodo, cinética do canal de sódio variáveis durante os períodos de alta taxa de disparo, graus variáveis de ativação da condutância de tensão em dendritos que estão próximas ao eletrodo, ou possivelmente como resultado de mudanças no estado cerebral. Estes problemas podem ser mitigados usando matrizes multi-eletrodo (MEA), com muitos espaçados (20-100 mm) r ecording canais que permite uma melhor definição espacial dos sinais dos neurônios individuais, uma vez que são normalmente espalhados por vários canais 1, 2. No entanto, isto, combinado com o facto de que os sinais a partir dos neurónios espalhados ao longo de todo o comprimento da sobreposição do eléctrodo no espaço, resulta em um espaço dimensional potencialmente muito elevada no interior do qual agregados correspondente aos neurónios únicos têm de ser identificados. Este problema torna-se computacionalmente intratável por mais do que um pequeno número de canais de eletrodos. Até à data, não há geralmente acordados melhor método para triagem de pico, embora muitas soluções foram propostas 3, 4, 5, 6, 7, 8 e gravações de AAM estão se tornando cada vez mais comum 9,ass = "xref"> 10. Porque pico de classificação não é um fim em si, mas é simplesmente uma etapa preliminar necessária antes de uma análise mais aprofundada dos dados, existe uma necessidade para um pacote facilmente utilizável que vai ler em arquivos de dados de gravação cru e convertê-los em trens de pico classificada com tão pouco de usuário entrada, e como forma rápida e confiável, possível.
Este documento fornece um tutorial para o uso de SpikeSorter – um programa desenvolvido com o objetivo de atender a essas necessidades. O programa é baseado em algoritmos descritos em artigos previamente publicados 11, 12, 13. Os objetivos na concepção do programa eram de que a) ele deve ter uma interface amigável que requer pouco ou nenhum conhecimento prévio de programação de computador ou de pico de classificação metodologia; b) deverão ser necessários poucos ou nenhum outros componentes de software especializados além dos sistemas operacionais Windows ou Linux padrão; c </em>) Uma ampla gama de formatos de dados de gravação para importar e exportar dados devem ser apoiadas; d) a necessidade de entrada do usuário durante a classificação deve ser minimizada, e e) a triagem vezes deve dimensionar, de forma razoável, de preferência de forma linear, com a duração de gravação e o número de canais no eletrodo. Os algoritmos implementados no programa incluem a) um conjunto flexível de estratégias de pré-processamento e detecção de eventos; b) uma divisão automatizada e estratégia de conquista de redução da dimensão que agrupa as formas de onda de tensão com base nos componentes principais (PC) das distribuições obtidos a partir de subconjuntos de canais atribuídos a grupos específicos; c) o agrupamento automático de distribuições de PC com um procedimento rápido agrupamento baseado no algoritmo de média-shift 3, 14 e d) fusão de pares parcialmente automatizado e divisão de clusters para garantir que cada um é tão distinta quanto possível de todos os outros. para this, um conjunto de procedimentos foi adicionado que permite a divisão manual ou fusão de clusters com base em uma inspeção de distribuições de PC, cruzada e auto-correlogramas de trens de pico e parcelas de tempo de amplitude de formas de onda de pico. Gravações de tetrodes, matrizes, matrizes tetrode Utah, bem como AAM-haste simples e multi podem ser lidos e ordenados. O limite de corrente para o número de canais é de 256, mas isto pode ser aumentado no futuro.
Outro multi-plataforma implementação open-source ", spyke" (http://spyke.github.io), também está disponível. Escrito por um de nós (MS) em Python e Cython, spyke usa a mesma abordagem global como SpikeSorter, com algumas diferenças: para reduzir a demanda de memória, dados brutos são carregados em pequenos blocos, e somente quando absolutamente necessário; clusters são exibidas exclusivamente, manipulados e ordenados em 3D; e de componentes principais e análise de componentes independentes são ambos usados como métodos de redução de dimensão complementares. Spyke exige mais do usuário eminteracção, mas depende fortemente de teclado e atalhos de mouse e uma fila de desfazer / refazer para explorar rapidamente os efeitos de vários fatores sobre o agrupamento de qualquer subconjunto de picos. Esses fatores incluem canal de pico e seleção intervalo de tempo, o alinhamento pico, dimensões de agrupamento e largura de banda espacial (sigma) 11.
O que se segue é uma breve descrição dos algoritmos e estratégias utilizadas para a classificação. Mais descrições completas podem ser encontradas em publicações anteriores 11, 12, 13 e anotações que podem ser acessados através de botões de ajuda (identificados com um "?") Dentro SpikeSorter. Depois de carregar um ficheiro de tensão extracelular cru e filtrar os componentes de frequência mais baixa, numa fase inicial de resultados de detecção de eventos de um conjunto de eventos, cada um dos quais consiste de uma breve tensão instantâneo antes e após a hora do evento. Se o eleitolocais montaram estão suficientemente espaçadas (<100 mm), os sinais unitárias geralmente será exibido em vários canais vizinhos. Um canal central é automaticamente escolhido para cada caso, correspondente ao canal no qual a tensão de pico-a-pico do evento é maior. Automatizado de classificação começa pela formação de um único cluster inicial para cada canal de eletrodo, que consiste em todos os eventos que foram localizadas para esse canal. Uma unidade localizada a meio caminho entre os canais podem dar origem a picos que são localizadas (talvez aleatoriamente) a diferentes canais: os aglomerados a partir destes dois conjuntos de espigões será identificado como semelhante e fundir numa fase posterior. A forma de onda médio dos eventos em cada agrupamento inicial é então calculada. Isto é referido como o modelo de aglomerado. canais auxiliares são atribuídos a cada grupo com base nas amplitudes e desvio padrão das formas de onda do modelo em cada canal. valores dos componentes principais são então calculados para cada cluster baseado on as formas de onda no conjunto atribuído de canais. O usuário pode escolher o número de dimensões principais componentes de usar: normalmente 2 é suficiente. Cada cluster é então dividido em um novo conjunto de clusters, e isto é repetido até que nenhum deles pode ser ainda dividido por agrupamento automatizado.
Neste ponto, um conjunto inicial de, digamos, 64 a partir de um eléctrodo de aglomerados de 64 canais, pode ser dividida em duas ou três vezes esse número, dependendo do número de unidades que estava presente na gravação. Mas por causa da atribuição de variável de eventos de unidades individuais para diferentes canais, o número de clusters encontrados nesta fase é quase certamente maior do que deveria ser. A próxima etapa da triagem é corrigir o oversplitting comparando pares de grupos e fundindo pares semelhantes ou reafectação de eventos a partir de um para outro. Esta fase de classificação é referido como "mesclar e dividir".
Fundir e dividir
Para n aglomerados, existem N * (N-1) / 2 pares e, portanto, o número de pares cresce como N 2, o que é indesejável. No entanto, muitos pares pode ser excluído da comparação porque os dois membros do par estão fisicamente afastadas. Isto reduz a dependência de algo que é mais linearmente relacionado com o número de canais. Apesar de este atalho, a junção e estágio de divisão ainda pode ser bastante demorado. Ele funciona da seguinte maneira. Cada par de cluster que é para ser comparado (aqueles que são fisicamente próximas umas das outras, tal como avaliado pela sobreposição nos conjuntos de canais atribuídos a cada) temporariamente é fundido, embora mantendo as identidades dos picos nos dois grupos de membros conhecidos. Os principais componentes do par resultante da concentração são então calculadas. Uma medida da sobreposição entre os pontos nos dois grupos é calculada com base na distribuição dos dois primeiros componentes principais.
A forma como o ov medida ERLAP é calculado é descrito em mais detalhe noutra secção 11. O seu valor é zero se os aglomerados não se sobrepõem em tudo, ou seja, o vizinho mais próximo de cada ponto está no mesmo aglomerado. O seu valor está próximo de 1 se os aglomerados se sobrepõem completamente, ou seja, a probabilidade de o vizinho mais próximo de estar no mesmo aglomerado é o mesmo que o previsto a partir de uma mistura uniforme de pontos.
Vários são tomadas as decisões que tomar a medida se sobrepõem em conta. Se a sobreposição é maior do que um determinado valor, aglomerados podem ser fundidos. Se a sobreposição é muito pequena, a par cluster pode ser definida como distinto e deixado sozinho. Os valores intermediários, indicando separação incompleta do par de cluster, pode sinalizar que o par deve ser fundidos e, em seguida, o resultado desejado ser um par de aglomerados com menos sobreposição-split re. Estes procedimentos são executados primeiro numa fase automatizado e, em seguida, numa fase guiado manualmente.
tenda "> Na etapa automatizada, pares de cluster com um alto valor de sobreposição são mesclados;., em seguida, pares de cluster com intermediário a baixos valores de sobreposição são fundidas e re-split Na segunda, fase guiada pelo usuário, o usuário é apresentado com toda a restantes pares de cluster ambíguas (ou seja, aqueles com valores sobrepõem-se numa faixa intermediária definida) na sequência e é solicitado a escolher se a) a fusão do par, b) se fundem e resplit o par, c) a declarar o par a ser distintos (que irá substituir o significado da medida de sobreposição), ou d) para definir a relação entre o par como 'ambíguo' indicando que os picos do par é improvável que ser bem ordenados. Várias ferramentas são fornecidas para ajudar com estas decisões, incluindo auto – e-correlogramas cruzadas e parcelas de séries temporais de altura de pico e os valores de PC.Idealmente, no final das etapas que se fundem e da separação, cada agrupamento deve ser distinto de todos os outros,ou porque ele tem poucos ou nenhuns canais em comum com outros clusters, ou porque o índice de sobreposição é inferior a um valor definido. Este valor é selecionável pelo usuário, mas é tipicamente de 0,1. Clusters (unidades) que passam este teste são definidos como "estável", aqueles que não têm (porque a sobreposição com um ou mais outros grupos é maior do que o limiar) são definidos como "instável". Na prática, a grande maioria das unidades acabar por ser definida como "estável" no final da triagem, deixando o resto para qualquer ser descartado ou tratado como potencialmente multi-unidade.
Requisitos de software
SpikeSorter é compatível com 64 versões do Windows 7 e Windows 10 bits, e também tem sido executado com êxito no Linux usando o emulador Wine. Os ficheiros de dados são completamente carregado para a memória (para a velocidade), portanto, disponível RAM precisa à escala com o tamanho da gravação (permitir que cerca de 2 GB para o próprio programa). eletrofisiológicoarquivos de dados de al maiores do que 130 GB de tamanho foram classificadas com sucesso em ambos os ambientes Windows e Linux. Opções são acessados através de menus padrão do Windows, uma barra de ferramentas e caixas de diálogo. O layout de itens no menu corresponde aproximadamente a ordem das operações na classificação, começando com o menu 'File' à esquerda para a entrada de dados e no menu 'Exportar' à direita permitindo a exportação de dados classificados. botões da barra de ferramentas fornecem atalhos para comumente usados itens de menu.
O arquivo de configuração do Canal
Muitos formatos de dados de gravação não guardar os locais de canal. No entanto, sabendo estes é essencial para a classificação pico. Os canais também podem ser numerados de várias maneiras por software de aquisição: SpikeSorter exige que os canais são numerados em sequência, começando pelo canal 1. Assim, um arquivo de configuração do eletrodo auxiliar tem de ser criado que pode remapear números de canais de seguir a regra seqüencial, e loc canal de lojações. O arquivo de configuração do canal é um arquivo de texto com uma única linha de texto para cada canal. A primeira linha do arquivo armazena um nome de texto, até 16 caracteres, que identifica o eletrodo. Os números em linhas posteriores podem ser separadas por abas, uma única vírgula, ou espaços. Existem quatro números em cada linha fornecendo (por ordem): o número do canal no ficheiro, o número de canal ao qual é para ser mapeada (isto é, o número que será utilizado por SpikeSorter), e a coordenadas x e y do canaleta, em micra. A coordenada x seria normalmente feita como perpendicularmente à direcção de inserção do eléctrodo e a coordenada y conformidade seria profundidade no tecido. O arquivo de configuração tem de ser colocado no mesmo diretório que o arquivo de gravação. Existe alguma flexibilidade no modo como ele pode ser chamado. O programa irá primeiro procurar um arquivo que tem o mesmo nome que o arquivo de dados brutos, mas com uma extensão .cfg. Se esse arquivo is não encontrado, ele irá procurar o arquivo 'electrode.cfg'. Se esse arquivo por sua vez, não é encontrada uma mensagem de erro é gerada para indicar uma falta de informação layout do canal.
Formatos de arquivo
formatos de arquivos suportados atualmente incluem Neuralynx (.ntt e .ncs), Plexon (.plx), Neuroscope (.xml + .dat), sistemas multicanal (.mcd), Blackrock (.nev) e Intan (.rhd). Para formatos não suportados, há duas opções. Um deles é para solicitar a adição do formato de arquivo para uma próxima versão (um link de e-mail para o desenvolvedor é fornecido na 'Ajuda – Sobre o' diálogo). O outro é para converter o arquivo para um formato suportado. Uma opç?…
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 |