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.
Тот, кто регистрирует внеклеточные сигналы от головного мозга с использованием методов, более сложные, чем простой он-лайн и пороговым оконного стоит задача идентификации и разделения сигналов от разных нейронов от шумных сигналов напряжения, записанных с помощью электрода. Эта задача обычно называют сортировкой спайка. Трудность сортировкой спайка осложняется различными факторами. Нейроны могут быть очень близко друг к другу таким образом, что сигналы, записанные от них соседнего электрода, вероятно, будут близки и трудно различить. Сигналы, полученные с помощью одного нейрона может изменяться с течением времени, возможно, из-за движений электрода, кинетика переменной натриевых каналов в периоды высокой скорости стрельбы, различной степенью активации проводимостей напряжения в дендритов, близких к электроду, или, возможно, в качестве в результате изменений в состоянии мозга. Эти проблемы могут быть смягчены с помощью Многоэлектродные массивы (МЭС) с большим количеством близко расположенных (20 – 100 мкм) г апись каналы , которые позволяет лучше пространственное определение сигналов от отдельных нейронов , так как они , как правило , разбросаны по нескольким каналам 1, 2. Тем не менее, это, в сочетании с тем, что сигналы от нейронов распространяются по всей длине электрода перекрывающихся в пространстве, приводит к потенциально очень высокой размерной пространство, в котором кластеры, соответствующие уникальные нейроны должны быть идентифицированы. Эта проблема становится вычислительно неразрешимыми для более небольшого числа электродов каналов. На сегодняшний день, нет в целом согласованные лучший метод для сортировки спайка, хотя многие решения были предложены 3, 4, 5, 6, 7, 8 и записи с МЭС становятся все более распространенными 9,попка = "Xref"> 10. Поскольку сортировка спайков не является самоцелью, но это просто необходимый предварительный шаг перед дальнейшим анализом данных, существует потребность в удобной для использования пакета, который будет читать в файлах данных сырые записи и конвертировать их в отсортированных спайков с минимальным пользователем вход, а также быстро и надежно, как это возможно.
Этот документ содержит учебник для использования SpikeSorter – программы, разработанной с целью удовлетворения этих потребностей. Программа основана на алгоритмах , описанных в опубликованных ранее работах 11, 12, 13. Цели в разработке программы было то , что а) она должна иметь удобный интерфейс мало или нет предварительных знаний о компьютерном программировании или спайка сортировочного методологии требует; б) должны быть необходимы несколько или каких – либо других специализированных программных компонентов за пределами стандартных операционных систем Windows или Linux; с </em>) Широкий спектр форматов данных записи для импорта и экспорта данных должны быть поддержаны; d) необходимость ввода данных пользователем во время сортировки должны быть сведены к минимуму, и е) сортировки раз должны масштабировать в разумных пределах , в идеале линейно, с длительностью записи и количества каналов на электроде. Алгоритмы , реализованные в программе , включают : а) гибкий набор предварительной обработки и обнаружения событий стратегий; б) автоматизированный разделяй и властвуй стратегия сокращения размерности , какие кластеры формы волны напряжения на основе главных компонент (PC) распределения , полученные из подмножеств каналов , назначенных для конкретных кластеров; в) автоматизированные кластеризация распределений ПК с быстрой процедуры кластеризации на основе алгоритма среднего сдвига 3, 14, г) частично автоматизированного парного слияния и разделения кластеров , чтобы гарантировать , что каждый из них, в отличие как можно дальше от всех остальных. Для Тхиs, набор процедур, было добавлено, что позволяет вручную разделение или объединение кластеров, основанных на проверке распределений ПК, кросс- и ауто-кореллограмм шипа поездов и времени амплитуда участков шип волновых форм. Записи из тетродах, тетрода массивы, Юты массивы, а также с одним и несколькими хвостовиком МЭС можно считывать и сортировать. Текущее ограничение на количество каналов равно 256, но это может быть увеличена в будущем.
Другой кросс-платформенная реализация с открытым исходным кодом, "Spyke" (http://spyke.github.io), также доступна. Автор одного из нас (MS) в Python и Cython, Spyke использует один и тот же общий подход как SpikeSorter, с некоторыми отличиями: снизить требования к памяти, сырые данные загружаются в небольших блоках, и только в случае крайней необходимости; отображаются кластеры исключительно, обрабатываются и сортируются в 3D; и основной компонент и независимый анализ компонентов оба используются в качестве дополнительных методов снижения размерности. Spyke требует большего количества пользователей ввзаимо, но в значительной степени зависит от клавиатуры и мыши ярлыки и очереди Undo / Redo, чтобы быстро исследовать влияние различных факторов на кластеризации любого заданного подмножества отростками. Эти факторы включают шип канала и выбора диапазона времени, выравнивание колос, размеры и пространственную кластеризацию пропускную способность (Sigma) 11.
Ниже приводится краткое описание алгоритмов и стратегий, используемых для сортировки. Более полные описания можно найти в предыдущих публикациях 11, 12, 13 и в аннотации , которые могут быть доступны с помощью кнопки справки (отмечен символом '?') В пределах SpikeSorter. После загрузки исходного файла внеклеточный напряжения и фильтрации нижних частот, составляющие начальную стадию результатов обнаружения событий в совокупности событий, каждое из которых состоит из краткого снимка напряжения до и после времени события. Если избранныеездивших участки достаточно близко друг от друга (<100 мкм), единичные сигналы, блок, как правило, появляются на нескольких соседних каналах. Центральный канал выбирается автоматически для каждого события, соответствующего каналу, на котором напряжение от пика до пика события является наибольшим. Автоматизированная сортировка начинается с формирования единого исходного кластера для каждого электрода канала, состоящего из всех событий, которые были локализованы на этот канал. Блок расположен на полпути между каналами может привести к скачкам, локализованные (возможно, случайно), по разным каналам: кластеры из этих двух наборов шипы будут определены как близкие и слита на более позднем этапе. Средняя форма волны событий в каждом из исходного кластера затем вычисляется. Это называется шаблоном кластера. Вспомогательные каналы назначаются для каждого кластера на основе амплитуд и стандартного отклонения формы сигналов шаблона на каждом канале. Основные значения компонентов, затем рассчитывается для каждого кластера на основе Oп формы волны на заданном множестве каналов. Пользователь может выбрать количество основных размеров компонентов для использования: обычно 2 достаточно. Каждый кластер затем разделяется на дополнительный набор кластеров, и это повторяется до тех пор никто не может быть дополнительно разбита с помощью автоматизированной кластеризации.
На данный момент, начальный набор говорят, 64 кластеров из 64-канального электрода, может быть разделен на два или три раза больше, чем число, в зависимости от количества единиц, которые присутствовали в записи. Но из-за присваивания значения переменной событий от отдельных единиц к различным каналам, число кластеров обнаружено на данном этапе почти наверняка больше, чем это должно быть. Следующим этапом сортировки является коррекция oversplitting путем сравнения пар кластеров и слияние аналогичных пар или переназначение события от одного к другому. Этот этап сортировки называется 'слияния и раскола ».
Объединение и разбиение
Для N кластеров, существует N * (N – 1) / 2 пар и , следовательно, число пар растет как N 2, что нежелательно. Тем не менее, многие пары могут быть исключены из сравнения, поскольку оба члена пары физически находятся далеко друг от друга. Это уменьшает зависимость к чему-то более линейно зависит от количества каналов. Несмотря на это ярлык, слияние и разделение стадии все еще может быть довольно много времени. Он работает следующим образом. Каждый кластер пара, который можно сравнить (те, которые физически близко друг к другу, о чем можно судить по перекрытию в наборах каналов, назначенных для каждого) временно сливались, хранящей тождественности шипов в двух кластерах членах известных. Основными компонентами объединенном пары Затем вычисляются. Мера перекрытия между точками в двух кластеров рассчитывается на основе распределения первых двух главных компонент.
Путь OV erlap мера вычисляется описывается более подробно в другом месте 11. Его значение равно нулю , если кластеры не перекрываются, т.е. ближайший сосед каждой точки в одном кластере. Его значение , близкое к 1 , если кластеры полностью перекрываются, то есть вероятность ближайшего соседа , находящегося в том же кластере , то же самое, что предсказывается из равномерного перемешивания точек.
Различные решения принимаются которые принимают меры перекрытия во внимание. Если перекрытие больше, чем определенное значение, кластеры могут быть объединены. Если перекрытие очень мало, пара кластер может быть определен как отдельный и оставили в покое. Промежуточные значения, что указывает на неполное разделение пары кластеров, может свидетельствовать о том, что пара должна быть слиты, а затем повторно раскол, желаемого результата является пара кластеров с меньшим перекрытием. Эти процедуры выполняются сначала в автоматизированном этапе, а затем в управляемой вручную стадии.
палатка "> В автоматизированной стадии, кассетные пары с высоким значением перекрытия слиты;. затем кассетные пар с промежуточным низким значениям перекрытия сливаются и повторно-сплит Во втором, пользовательском наведением этапе, пользователю предоставляется со всеми оставшиеся неоднозначные пары кластеров (т.е. те , со значениями перекрытия в определенном промежуточном диапазоне) в последовательности и просят выбрать ли) , чтобы объединить пары, б) сливаются и перерасщепление пару, с) объявить пару , чтобы быть различны (что перекроет значение меры перекрытия), или d) определить отношение между парой как "неоднозначное" указывает , что шипы в паре вряд ли будут хорошо отсортированные. предусмотрены различные инструменты , чтобы помочь с этими решениями, в том числе авто – и кросс-коррелограммы и временных рядов участков высоты пиков и значений ПК.В идеале, в конце слияния и разделения ступеней, каждый кластер должен быть отличным от всех других,либо потому, что он не имеет мало или вообще нет каналов общего с другими кластерами, или потому, что индекс перекрытия меньше определенного значения. Это значение выбирается пользователем, но обычно составляет 0,1. Кластеры (блоки), которые проходят этот тест определяются как "стабильный", те, которые не (так как перекрытие с одним или несколькими другими кластерами больше порогового значения) определяются как "нестабильными". На практике подавляющее большинство единиц в конечном итоге определяется как «стабильный» на финише сортировки, в результате чего остаток либо выбросить, либо рассматриваться как потенциально многоэлементной.
Требования к программному обеспечению
SpikeSorter совместим с 64-битными версиями Windows 7 и Windows 10, а также успешно работает под Linux с помощью Wine эмулятор. Файлы данных загружаются полностью в память (для скорости), следовательно, доступной оперативной памяти необходимо для масштабирования с размером записи (позволяет примерно 2 ГБ для самой программы). электрофизиологическогофайлы данных Al размером более 130 ГБ были успешно отсортированы в обеих ОС Windows и Linux средах. Опции доступны через стандартные меню Windows, панели инструментов и диалоговых окон. Расположение пунктов меню соответствует примерно порядок операций при сортировке, начиная с меню "Файл" слева для ввода данных и меню 'Экспорт' справа, позволяя на экспорт отсортированных данных. Кнопки панели инструментов обеспечивают быстрый доступ к наиболее часто используемых пунктов меню.
Файл конфигурации канала
Многие форматы данных записи не хранят местоположения канала. Тем не менее, зная это имеет важное значение для сортировки шип. Каналы также могут быть пронумерованы различными способами с помощью программного обеспечения сбора: SpikeSorter требует, чтобы каналы пронумерованы в последовательности, начиная с канала 1. Таким образом, вспомогательный файл конфигурации электрод должен быть создан, который может переназначить номера каналов следовать правилу последовательного и магазин канал LOCations. Файл конфигурации канала представляет собой текстовый файл с одной строки текста для каждого канала. Первая строка файла хранит текстовое имя, до 16 символов, который идентифицирует электрод. Цифры в последующих строках могут быть разделены с помощью вкладок, одной запятой или пробелами. Есть четыре номера в каждом ряду , обеспечивающие (в произвольном порядке): номер канала в файле, номер канала , к которому он должен быть отображен (то есть число , которое будет использоваться SpikeSorter), а х и у координаты канал, в мкм. Координата х , как правило, принимается перпендикулярно направлению вставления электродов и координату у , соответственно , будет глубина в ткань. Файл конфигурации должен быть размещен в том же каталоге, что и файл записи. Существует некоторая гибкость в том, как это можно назвать. Программа сначала будет искать файл, имеющий то же имя исходного файла данных, но с расширением .cfg. Если этот файл Iы не найден, он будет искать файл 'electrode.cfg'. Если этот файл в свою очередь, не найден сообщение об ошибке генерируется, указывает на отсутствие информации макета канала.
Форматы файлов
В настоящее время поддерживаются форматы файлов включают Neuralynx (.ntt и .ncs), Plexon (.plx), Neuroscope (.xml + .dat), многоканальные системы (.mcd), BlackRock (.nev) и Intan (.rhd). Для неподдерживаемых форматов, есть два варианта. Одним из них является запросить добавление формата файла в следу…
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 |