JoVE Logo

Entrar

É necessária uma assinatura da JoVE para visualizar este conteúdo. Faça login ou comece sua avaliação gratuita.

Neste Artigo

  • Resumo
  • Resumo
  • Introdução
  • Protocolo
  • Resultados
  • Discussão
  • Divulgações
  • Agradecimentos
  • Materiais
  • Referências
  • Reimpressões e Permissões

Resumo

The article shows how to use the program SpikeSorter to detect and sort spikes in extracellular recordings made with multi-electrode arrays.

Resumo

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.

Introdução

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

Protocolo

Configuração 1. Programa

  1. Ir para http://www.swindale.ecc.ubc.ca/SpikeSorter para baixar o programa. Copie o arquivo executável fornecido para o diretório de sua escolha. Leia a documentação que o acompanha.
    NOTA: Nenhuma instalação ou compilação formal é necessária.
  2. Antes de abrir qualquer arquivo a ser classificado, garantir que não há memória RAM suficiente livre para conter toda a duração da gravação. Também certifique-se um arquivo de configuração de canal válido, conforme descrito na documentação, está presente no mesmo diretório que o arquivo de dados.
  3. Inicie o programa, em seguida, vá para "Arquivo - Abrir" e selecione o formato de arquivo de gravação da lista drop-down na parte inferior direita da caixa de diálogo abrir arquivo resultante. Selecione o arquivo a ser aberto, clique em "Abrir".
  4. Uma vez que a leitura é completa, inspecionar a exibição de gravação de tensão. Dê um duplo clique na tela (ou vá para 'View - Tensão Record') para abrir uma caixa de diálogo com controles que permitem que qualquer parT da forma de onda de gravação a ser visualizado.
    NOTA: Clicando duas vezes sobre outras janelas de exibição, muitas vezes, abrir diálogos associados.
  5. Após o diálogo é encerrado, passe o mouse sobre as formas de onda para exibir valores particulares de tensão no canto superior esquerdo da tela. Use a roda de rolagem para aumentar o zoom em qualquer parte da tela. Mantenha pressionado o botão esquerdo do mouse para arrastar o conteúdo da janela.
    NOTA: Esta tela é frequentemente atualizado para refletir a adição de eventos recém detectados, ou para indicar, por meio de cores e / ou números, suas atribuições cluster após clustering.
  6. Se a gravação não é filtrada e contém o potencial de campo local, removê-lo, indo para 'Pré-Process - Transformar / filtro "(ou clique no ícone do filtro na barra de ferramentas). Selecione 'High-pass Butterworth Filtro ", em seguida, uma frequência de corte apropriado e o número de pólos, e em seguida, pressione' Do-It! '. Uma vez que a filtragem for concluída, inspecionar a nova forma de onda na onda de tensãojanela de formulário.
    Observação: a filtragem é feita no domínio de Fourier, é não causal, e não introduzir distorção de fase das formas de onda. Para uma gravação longa, a filtragem pode levar vários minutos.
  7. Em seguida, verificar a existência de canais que podem estar com defeito e precisa ser mascarada. Ir para 'Pré-processo - Canal check' (ou clique no ícone de seleção de canal) e, em seguida, inspecionar o gráfico apresentado. O gráfico mostra a mudança no sinal de correlação entre pares de canais, como uma função da sua separação espacial 5. Canais que violam essa relação pode não estar funcionando corretamente. Para ver qualquer um desses valores discrepantes, clique em 'desvios canal de líquidos únicos'.
    1. Para mascarar um canal periférico selecionar o número do canal, ou selecione-o na lista de problema. Quando esta caixa de diálogo é encerrado, clique em 'Sim' no prompt para salvar os valores de máscara.
      NOTA: Este arquivo terá o mesmo nome que o arquivo de dados de gravação, mas com a .msk extensão. Ele será lido automatically sempre que o mesmo arquivo de dados é aberto.

2. Detecção de Evento

  1. Ir para 'Pré-processo - detecção de eventos' para abrir o diálogo de detecção de evento (Figura 1). Esta janela também oferece a opção de canais de máscara com base nos seus níveis de ruído (embora estes muitas vezes ser detectada por testes anteriores). Por exemplo, um canal que tenha sido intencionalmente aterrado pode ter um nível de ruído muito baixo.
  2. Use o controle deslizante na parte superior direito de inspeccionar o nível de ruído em canais específicos. A inspecção cuidadosa do visor de tensão pode também revelar canais silenciosas ou anormalmente ruidoso que precisam de ser mascarado.
  3. Escolha um método de limiar de detecção de eventos. Use o botão de ajuda na caixa do grupo para obter mais informações sobre as opções. Thresholding "variável", com um limiar de 4,5X - 6X ruído 7, é recomendado. Use os controles na parte superior esquerda para escolher como o nível de ruído é calculado para thé o propósito.
  4. Escolha o método de detecção a partir da lista drop-down. "Filtro multifásico dinâmica" é o método recomendado. Isto exige a especificação de uma janela temporal. Definir a janela para ser cerca de metade da largura de um pico típico. valores muito estreita vai detecção de polarização a picos mais estreitos que o efeito não é grande. Valores na faixa de 0,15 - 0,5 ms são recomendados 12.
    NOTA: Os valores exibidos estão em múltiplos inteiros de um intervalo de amostragem (inverso da frequência de amostragem).
  5. Selecione o método de alinhamento. Escolha a opção que melhor identifica um único recurso, temporalmente localizada dos pontos que estão sendo ordenadas, por exemplo, um "pico positivo 'pode ser uma má escolha se muitos picos de ter mais de um pico positivo. Para muitas gravações, uma "calha negativa" será a melhor escolha. Outras opções podem geralmente ser deixados em seus valores padrão. Pressione começar'.
    NOTA: A detecção de evento pode take de alguns segundos a vários minutos, dependendo do comprimento da gravação e o número de canais.
  6. Pressione "Concluído" para sair do diálogo. Inspecione os eventos, mostrado em cinza, na janela de onda de tensão. Verifique que os sinais que se parecem com eventos foram detectados.
    1. Se não, considere a detecção de eventos re-correr com um limite de detecção inferior. Cuidado no entanto que os picos de amplitude muito baixa pode ser difícil de separar e que um grande número deles possa impedir a classificação de picos de amplitude maiores. Também verifique se há duplicatas óbvios ou uma falha para resolver picos próximos e ajustar os parâmetros de janela de bloqueio de espaço-temporais em conformidade.
      NOTA: Nesta fase eventos são identificadas pelos seus tempos de ocorrência e um número de canal. Normalmente isto é o canal no qual a amplitude de pico-a-pico do pico é maior. Os eventos são unclustered inicialmente, de modo que cada um tem uma atribuição de aglomerado de zero.

3. Seleção

NOTA: O próximo passo não é normalmente realizada antes da triagem de rotina, mas é muito útil para fazê-lo quando a classificação pela primeira vez, ou quando se deparam com dados desconhecidos.

  1. Ir para 'Sort - Converter canais a clusters'. Isso cria um único cluster para cada canal eletrodo desmascarado, assumindo que cada canal tem alguns eventos que lhe são atribuídas. Examinar esses grupos, indo para 'Revisão - Ver Limpo e aglomerados de divisão ". Isso traz uma outra caixa de diálogo (Figura 2). Use o controle de rotação (canto superior esquerdo) para selecionar o cluster para ser visualizado.
    NOTA: O sólido azul linha (ciano) é a média de todas as formas de onda no aglomerado e é referido como o modelo de agrupamento no que se segue. A distribuição de componentes principais (PC) dos eventos no cluster são mostrados na janela abaixo. Estas, muitas vezes, revelar a presença de dois ou mais subgrupos.
  2. Pressione o botão 'realinhar' para alterar a hora de cada evento(resultando em pequenos deslocamentos laterais das formas de onda no visor), de modo a melhor correspondência com a forma do molde, fazendo isso muitas vezes faz com que subclusters mais compacto e distinta, e por vezes reduz o número aparente (Figura 3).
  3. Escolha um cluster que tem dois ou mais subgrupos distintos e pressione 'AutoSplit'. Se subgrupos são identificados no ecrã do PC, que vai ser colorido. Como um exercício, use um dos botões pequenos 'split' para criar um novo cluster e examiná-lo. Classificando poderia continuar manualmente desta maneira, mas em vez de ir para trás e usar o procedimento mais rápido de ordenação.
  4. Ir para 'Sort - AutoSort' (ou pressione o botão de ordenação na barra de ferramentas) para iniciar a triagem automática. O diálogo resultante é mostrada na Figura 4. Apresenta-se uma variedade de opções.
    1. Deixe a opção "ignorar a detecção de eventos 'verificado se a detecção de eventos já foi feito. Se não estiver marcada, a detecção de eventos será executadousando os valores dos parâmetros e opções herdadas do diálogo de detecção de evento. Desde a detecção de eventos já foi feito, deixe essa opção marcada.
    2. No painel "cluster" abaixo, seleccionar uma janela temporal, grande o suficiente para conter a totalidade da forma de onda de pico anterior e seguindo o ponto de alinhamento, mas não mais. Utilize esta janela para bloquear regiões da forma de onda de pico, por exemplo, longas afterpotentials variáveis, se eles parecem estar a interferir com (ou contribuindo pouco para) a classificação. Normalmente, os valores na faixa de ± 0,5 ms são adequados. Como outras janelas temporais, a janela é um número inteiro de pontos de amostragem, de modo que os valores temporais que aparecem são múltiplos do intervalo de amostragem.
    3. Em seguida, selecione uma opção de realinhamento para ser usado durante o agrupamento. Isso fará com que a utilização da forma de onda do modelo e funciona de forma mais robusta que no caso inicial da detecção de eventos em que o critério tem que ser aplicada para relativamente ruidosos s individuaisformas de onda Pike. A opção recomendada é 'cog ponderada de pico ", mas" calha negativa "pode ​​ser melhor se isso é uma característica constante das formas de onda de pico.
    4. Escolha um tamanho mínimo de cluster. Clusters com menos do que esse número de pontos serão eliminados, evitando o acúmulo de um grande número de pequenas possivelmente espúrias, clusters, durante a classificação.
    5. Decidir sobre o número de dimensões no espaço PC que serão utilizados para o agrupamento. Dois é geralmente adequada mas ligeiramente melhores resultados podem ser obtidos com 3, embora com um tempo mais longo de triagem.
    6. Deixe as outras opções em suas configurações padrão. Use os botões de Ajuda para obter explicações mais detalhadas sobre as várias opções.
  5. Prima 'Iniciar' para começar a AutoSort. clusters baseados canal são primeiro formada como ilustrado no passo 3.1. Estes são agora transformados, por sua vez, formar novos aglomerados por divisão sub-grupos individuais, uma de cada vez. Cada vez que um novo cluster é spiluminado fora, os valores de PC são recalculados e exibidos. Isto continua até que nenhum conjunto individual pode ser ainda mais dividido.
  6. Siga as instruções na tela, onde o subgrupo que será dividido a partir do cluster pai é mostrado em vermelho.
    NOTA: Ocasionalmente, o conjunto final é vermelho com valores discrepantes uncolored que não formam um subgrupo distinto. Estes valores atípicos geralmente será excluído. Durante este processo, o número de aglomerados aumenta gradualmente. Quando ele for concluído, os índices de sobreposição de fragmentação são calculados para cada par de cluster elegíveis. Pares que têm grandes valores de sobreposição são automaticamente incorporadas, enquanto os pares que têm valores de sobreposição intermediários (o intervalo padrão é de 0,1 a 0,5) são fundidos e depois resplit. Os valores intermédios indicam que existem dois conjuntos distintos, mas que alguns pontos são misassigned. Durante esta fase, o número de clusters normalmente diminui e o número de grupos estáveis ​​aumenta.

4. Personalização

  1. Se estiver usando o programa pela primeira vez (ou possivelmente durante a próxima etapa), personalizar tamanhos de janela e posições. Ir para 'file-Preferências ". Escolha tamanhos para as várias janelas, selecionando o tipo de janela da lista pull-down e ajustar o tamanho para se adequar à tela. Sair do diálogo e posicione as janelas para fazer o melhor uso da tela.
  2. Na caixa de diálogo, selecione os valores de escala que melhor se adequar ao layout e espaçamento dos canais no eletrodo e os picos na gravação. Há uma opção autoscaling mas isso nem sempre pode escolher os melhores valores. Desligá-lo se isso não acontece.
  3. Marque a opção pegajosas Parâmetros: se a opção for selecionada, as mudanças na classificação valores de parâmetros (por exemplo, como utilizado na detecção de eventos) será salvo e herdou próxima vez que o programa é iniciado. Isto pode ser útil, mas também requer que os valores dos parâmetros ser verificadas para garantir que não tenham sido alteradas como descuidadamente várias opções são exploradas ou como resultadoda leitura em diferentes arquivos de trabalho. Opções para alterar cores sub-clusters também estão disponíveis.
  4. Tenha cuidado alterando o número de threads do processador. O número óptimo é geralmente menos um do que o número de físicos (não virtuais) núcleos de CPU. Aumentar o número de threads não pode acelerar o processamento e pode até resultar em uma desaceleração grave.

5. Mesclar e Split

  1. Após a AutoSort estiver completa, pressione "Next" para ir para a fusão guiada manualmente e fase dividida. Os shows de diálogo resultante, no canto inferior esquerdo, o número de pares restantes de cluster ambíguas que precisam ser examinados, bem como o número de grupos estáveis.
  2. Prima 'Iniciar'. Outra caixa de diálogo aparece juntamente com o primeiro dos pares a ser examinado.
  3. Escolha se deseja mesclar o par, resplit ele (resultando em um valor de sobreposição inferior), para rotular o par como 'distinta', o que significa que o valor do índice de sobreposição será ignorado, or para rotular o par como "ambígua", o que significa que ele é considerado incerto se os picos são do mesmo ou de diferentes unidades.
    1. Clique nas caixas de seleção para exibir um gráfico de parâmetros de pico (pico-a-pico (PP) de altura, ou o primeiro (PC1) ou segunda (PC2) dos principais componentes) vs. tempo, e / ou de auto e cruzadas histogramas correlação.
      NOTA: A exibição de altura PP versus tempo é frequentemente muito útil para decidir se a mesclar dois clusters. Se as alturas dos picos de uma unidade misturam suavemente os de outro, ao mesmo tempo que uma unidade pára de queima e começa o outro é muito mais provável que eles são a mesma unidade e deveriam ser fundidas. Cross-correlogramas pode revelar uma forte relação temporal entre os tempos de pico em dois clusters. Se a cruz-correlogramas tem um pico pronunciado, assimétrica num intervalo de tempo muito curto (por exemplo, cerca de 5 - 10 ms) e, especialmente, se o segundo pico é mais pequeno do que os abetosT, as duas unidades estão provavelmente uma única unidade que está a disparar pares de pico, em que o segundo é menor do que a primeira causa da adaptação do canal de Na +.
    2. Nos casos em que a decisão de fundir não é fácil, rotular o par como "ambígua" e tratar os clusters em conformidade, análises subsequentes.
  4. Se a junção e opção de dividir é incapaz de encontrar aglomerados claramente separáveis, use o controle deslizante na caixa de diálogo solicitado para variar manualmente um parâmetro de agrupamento (uma largura de banda espacial, sigma), juntamente com o conjunto de botões que se fundem, para encontrar uma divisão que parece satisfatória . Use o botão 'Revert' para voltar ao estado original dos dois clusters. Pressione 'Dividir como mostrado' para concluir. Nota mais do que dois grupos pode ser produzida por este processo.
  5. Continue com esse processo até que não haja mais pares para inspecionar. A grande maioria dos clusters deve agora ser listado como "estável".
  6. Se alguns pares de cluster têm muitobaixos índices de sobreposição, de modo que eles são ignorados pela fusão guiada (mas ainda há evidência para fundi-las), vá para o 'Review - pares de cluster Comparar' opção de menu (ou clique no ícone associado na barra de ferramentas) e abra a diálogo mostrada na Figura 5. Use os controles de rotação no topo da caixa de diálogo para selecionar qualquer par de clusters para comparação.
    NOTA: Tal como acontece com a fusão guiada e dividida, os pares são colocados em uma lista ordenada, mas neste caso as métricas de comparação adicionais para o índice de cluster sobreposição estão disponíveis.
    1. Selecione a opção "produto escalar normalizado" a partir da lista pendente. Este calcula a correlação entre os valores do modelo. É insensível a variações de escala multiplicativos e está bem adaptado para escolher pares de fragmentação que são um resultado da variabilidade artefatual altura de pico-a-pico.
    2. Pressione o botão 'mais similar "no meio da caixa de diálogo para exibir o par mais similar. Use o horizontal controle de rotação abaixo do botão para ir para a frente ou para trás através da lista. Use a exibição de correlação e a altura PP vs. exibição de tempo para tomar decisões que se fundem, assim como para a mesclagem guiada de usuário e de divisão. Note que a lista é recalculado após cada operação de fusão. Esta fase comparação esteja aberto, e cabe ao usuário decidir como extensivamente para procurar evidências em favor das integrações.

6. Review - Pós-processamento

  1. Agora vá para a 'Review - Pós-processamento "(ou clique no ícone da barra de ferramentas apropriado). Esta caixa de diálogo (Figura 6) oferece opções para adicionar ou remover eventos de grupos, bem como a opção de excluir grupos inteiros com relação sinal-ruído (SNR) que caem abaixo de um limiar. eventos duplicados (eventos que ocorrem ao mesmo tempo em um cluster) podem ser criadas por erros de alinhamento durante a classificação. Eventos que são um longo caminho removido do seu local original pode sometimes ser realocados; Eles também podem ser removidos quando a deslocação não funciona.
  2. Use o botão de limpeza de alinhamento para remover eventos de grupos que são um mau jogo para o modelo. Utilize o botão "Recluster 'para fazer o inverso, ou seja, atribuir novamente eventos unclustered que são um bom jogo para um modelo particular. Os eventos recuperados são marcados como um subgrupo de cada cluster pai e pode ser inspecionado usando diálogo "View, limpas e clusters de divisão". Estes eventos irão permanecer no cluster (e ser exportado como tal), a menos que eles são excluídos (use o pequeno botão 'delete' para o primeiro subgrupo). Voltando ao diálogo pós-processamento, use o botão 'delete' eo controle de rotação ao lado dele para excluir grupos com um SNR inferior ao limite seleccionado.
  3. Embora os números de fragmentação ir continuamente de 1 a N, em que N é o número total de agregados, a numeração actual de aglomerados no final da triagem está próximo de umrbitrary. Use o botão 'Ordenar' para renumerar os clusters de acordo com um critério escolhido, por exemplo, posição vertical sobre o eletrodo, ou o número do canal. Note-se que, à excepção da exclusão de eventos duplicados, não há atualmente nenhuma evidência objetiva para apoiar escolhas particulares neste diálogo como sendo melhor do que outros.
  4. Em qualquer fase durante os procedimentos manuais do tipo é possível salvar um arquivo que contém os valores atuais de parâmetros, opções de classificação, os tempos de eventos, propriedades de cluster e o registro de mensagem. Criar este arquivo, indo para 'Arquivo - Salvar arquivo de trabalho ". Dê um nome ao arquivo que está claramente relacionada com a do arquivo de dados e clique em 'Save'. Retomar a triagem em um momento posterior, primeiro abrindo o arquivo de gravação original, seguido de filtragem passa-alta (se for feito inicialmente). Em seguida, abra o arquivo de trabalho salvo. O programa irá então estar em um estado idêntico àquele em que estava quando o arquivo de trabalho foi salvo. O arquivo de trabalho também é um recabo de como a ordenação foi feito - os parâmetros utilizados e das mensagens emitidas durante a classificação.
  5. Finalmente, exportar os eventos agrupados. Ir para a «exportação - Ordenar arquivos Spike '(ou clique no botão correspondente na barra de ferramentas). Selecione '.csv' (separados por vírgula variável) na lista suspensa e clique em "Salvar como". Escolha um nome para o arquivo que conterá os dados CSV exportado para as unidades ordenadas.
    NOTA: Este ficheiro de texto terá uma única linha para cada evento que contém, por ordem, o tempo do evento (em segundos com uma aproximação de 10 mS), o número de cluster (de 1 para cima) e o número do canal que foi atribuído para o evento. Note-se que o canal atribuído não pode ser o mesmo para todos os eventos de um cluster se os eventos não foram consistentemente maiores sobre um canal em particular.

Resultados

A Figura 7 mostra o visor (obtido por indo para 'View - formas de onda Ordenado') para uma gravação típica de classificação. A opção de exibição padrão é apenas para mostrar as formas de onda no canal central para cada cluster. Uma experiência comum é que as formas de onda para um par de cluster no mesmo canal parecem idênticos, mas quando o 'Comparar pares "de diálogo é usada para examinar os dois clusters existem grupos diferentes na pr...

Discussão

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ç?...

Divulgações

The authors have nothing to disclose.

Agradecimentos

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

Materiais

NameCompanyCatalog NumberComments
spikesorter.exeN/Ahttp://www.swindale.ecc.ubc.ca/SpikeSorter

Referências

  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. Neuroscience. 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).

Reimpressões e Permissões

Solicitar permissão para reutilizar o texto ou figuras deste artigo JoVE

Solicitar Permissão

Explore Mais Artigos

Neuroci nciaEdi o 120eletrofisiologiamatrizes multi eletrodoponto de triagemsoftwareeletrodos extracelularespolytrodes

This article has been published

Video Coming Soon

JoVE Logo

Privacidade

Termos de uso

Políticas

Pesquisa

Educação

SOBRE A JoVE

Copyright © 2025 MyJoVE Corporation. Todos os direitos reservados