本文展示了如何使用 SpikeSorter 程序检测和分类使用多电极阵列进行的细胞外记录中的峰电位。
需要JoVE订阅才能观看此内容。 请登录或开始免费试用
本文展示了如何使用 SpikeSorter 程序检测和分类使用多电极阵列进行的细胞外记录中的峰电位。
目前可用于对多电极阵列记录信号进行峰电位分类的独立软件应用较少。理想的软件应具备友好的图形用户界面,能够读取多种格式的数据文件,并为用户提供一套灵活的工具,使其能够以一定程度的可靠性检测并分类来自不同神经元单元的细胞外电压波形。此前发表的峰电位分类方法现已集成于一款名为 SpikeSorter 的软件程序中,旨在为电生理学家提供一套完整的分类工具,从原始记录数据文件开始,直至导出分类后的峰电位时间点为止。该程序在当前技术条件下尽可能实现了流程自动化。本文详细说明并演示了该软件的使用方法:打开一个代表性数据文件,对细胞外记录信号进行滤波,检测事件并进行聚类分析。文中还展示了分类过程中常见的若干问题,包括由于某些神经元单元倾向于成对发放峰电位(其中第二个峰电位显著小于第一个)而导致的单元被人为过度分割,以及某些单元峰电位幅度随时间缓慢变化所引起的过度分割现象。SpikeSorter 的性能已通过模拟的真实参考数据(surrogate ground truth data)进行了测试,结果表明其准确性与其他正在开发的算法相当。
任何使用比简单的在线阈值检测和时间窗处理更复杂的方法来记录大脑细胞外信号的研究者,都面临着从电极记录的噪声电压信号中识别并分离出不同神经元信号的任务。这项任务通常被称为“ spike sorting”( spike 分类)。 spike 分类的难度受到多种因素的影响。神经元之间可能非常接近,导致邻近电极记录到的信号十分相似而难以区分。单个神经元产生的信号可能随时间变化,原因可能包括电极的移动、在高放电率期间钠通道动力学的改变、靠近电极的树突中电压门控通道激活程度的变化,或可能与脑状态的改变有关。通过使用具有多个紧密排列(20 - 100 µm)记录通道的多电极阵列(MEAs),可以在一定程度上缓解这些问题,因为单个神经元的信号通常会分布在多个通道上,从而获得更好的空间分辨能力1,2。然而,由于神经元信号会沿电极全长扩散并在空间上重叠,这一方法结合上述因素,导致需要在潜在的极高维空间中识别对应于不同神经元的聚类。当电极通道数量较多时,该问题在计算上可能变得难以处理。迄今为止,尽管已有多种解决方案被提出3,4,5,6,7,8,但尚未形成普遍认可的最佳 spike 分类方法,而来自多电极阵列(MEAs)的记录数据正变得越来越常见9,10。由于 spike 分类本身并非最终目的,而仅仅是进一步数据分析前必要的预处理步骤,因此迫切需要一个易于使用的软件包,能够读取原始记录数据文件,并以尽可能少的用户干预、快速且可靠地将其转换为已分类的 spike 序列。
本文提供了 SpikeSorter 使用的教程——该程序旨在满足上述需求。该程序基于先前已发表论文中描述的算法11,12,13。程序设计的目标包括:a) 具备用户友好的界面,无需或仅需极少的计算机编程或动作电位分选方法学方面的先验知识;b) 除标准的 Windows 或 Linux 操作系统外,几乎不需要其他专用软件组件;c) 支持多种记录数据格式的导入与导出;d) 在分选过程中尽量减少用户干预;e) 分选时间应随记录时长和电极通道数以合理的方式(理想情况下呈线性)增长。程序中实现的算法包括:a) 一组灵活的预处理和事件检测策略;b) 一种自动化的“分而治之”式降维策略,该策略根据从分配给特定簇的通道子集中提取的主成分(PC)分布对电压波形进行聚类;c) 基于均值漂移算法3,14 的快速聚类过程,用于自动聚类 PC 分布;d) 对簇进行部分自动化的成对合并与分裂,以确保每个簇尽可能与其他簇区分开来。此外,还增加了一组程序,允许用户通过检查 PC 分布、脉冲序列的互相关图与自相关图以及脉冲波形的时间-幅度图,手动进行簇的分裂或合并。该程序可读取并分选来自四极电极、四极电极阵列、犹他阵列以及单通道和多通道多电极阵列(MEA)的记录数据。当前支持的通道数上限为 256,但未来可能会增加。
另一个跨平台的开源实现"spyke"(http://spyke.github.io)也可获取。该工具由我们其中一位作者(MS)使用 Python 和 Cython 编写,其整体方法与 SpikeSorter 相同,但存在一些差异:为降低内存需求,原始数据以小数据块形式加载,且仅在绝对必要时才加载;聚类结果仅在三维空间中显示、操作和分类;同时采用主成分分析和独立成分分析作为互补的降维方法。spyke 需要更多的用户交互,但大量依赖键盘与鼠标快捷键以及撤销/重做队列,以快速探索各种因素对任意给定动作电位子集聚类效果的影响。这些因素包括动作电位通道和时间范围的选择、动作电位对齐、聚类维度以及空间带宽(sigma)11。
以下是用于排序的算法和策略的简要说明。更完整的描述可参见以往的出版物。11,12,13 以及可通过访问获取的注释 通过 帮助按钮(以“?”标识)位于SpikeSorter内。加载原始细胞外电压文件并滤除低频成分后,事件检测的初始阶段将产生一组事件,每个事件均由事件发生时刻前后的一段短暂电压片段组成。若电极位点间距足够紧密(< 100 µm),单个神经元信号通常会出现在多个相邻通道上。系统会为每个事件自动选择一个中心通道,该通道对应事件的峰峰值电压最大。自动分选首先为每个电极通道生成一个初始聚类,包含所有定位到该通道的事件。位于两个通道中间的神经元可能产生被定位(可能随机)到不同通道的尖峰信号:来自这两组尖峰的聚类将在后续阶段被识别为相似并合并。随后计算每个初始聚类中事件的平均波形,称为聚类模板。根据模板波形在各通道上的振幅及其标准差,为每个聚类分配辅助通道。然后基于所分配通道组上的波形,计算每个聚类的主成分值。用户可选择使用的主成分维度数量,通常2个维度已足够。每个聚类随后被进一步划分为若干子聚类,此过程重复进行,直至无法再通过自动聚类进一步分裂为止。
此时,来自64通道电极的初始簇集(例如64个)可能会被进一步划分为其两到三倍的数量,具体取决于记录中实际存在的神经元数量。但由于单个神经元的信号事件在不同通道间的分配具有可变性,此阶段所得到的簇集数量几乎必然多于实际应有数目。接下来的分类步骤是通过比较成对的簇集,合并相似的簇集或在簇集之间重新分配事件,以纠正过度分割的问题。该分类阶段被称为“合并与分裂”。
合并与分裂
对于 N 个簇,共有 N*(N-1)/2 对组合,因此对数随 N2 增长,这是不可取的。然而,许多组合对可以被排除在比较之外,因为这对中的两个成员在物理位置上相距较远。这使得计算量降低至与通道数量呈近似线性关系。尽管采用了这一简化方法,合并与分裂阶段仍然可能非常耗时。其工作方式如下:每一对需要比较的簇(根据分配给每个簇的通道集合之间的重叠程度判断为物理上接近的簇)被临时合并,但保留两个成员簇中各个峰电位的身份信息。然后计算该合并簇对的主成分,并基于前两个主成分的分布来计算两个簇中数据点之间重叠程度的指标。
重叠度量的计算方法在其他地方有更详细的描述11。如果簇之间完全不重叠,则其值为零,i.e. 每个点的最近邻均位于同一簇中。如果簇完全重叠,则其值接近于1,i.e. 最近邻位于同一簇中的概率与点均匀混合情况下所预测的概率相同。
在决策过程中会考虑重叠度量。如果重叠程度大于某一特定值,则可能将簇合并。如果重叠程度非常小,则可将该簇对定义为彼此独立并保持不变。中等程度的重叠值表明簇对之间分离不完全,可能提示应先将该对簇合并后再重新拆分,以期得到重叠更少的两个簇。这些操作首先在自动化阶段执行,随后在人工引导阶段进行。
在自动化阶段,重叠值较高的聚类对会被合并;随后,中等至低重叠值的聚类对会被合并并重新拆分。在第二阶段(用户引导阶段),系统会向用户展示所有剩余的模糊聚类对即 那些在指定中间范围内具有重叠值的样本,按顺序呈现,要求选择是否 a) 以合并该配对, b合并并重新拆分该配对, c)声明该对为不同类别(此操作将覆盖重叠度量的显著性),或 d)以将该电极对的关系定义为“模糊”,表示该对中的峰电位不太可能被良好分离。系统提供了多种工具以辅助做出这些判断,包括自相关图、互相关图以及峰电位幅度和主成分(PC)值的时间序列图。
理想情况下,在合并与分裂阶段结束时,每个簇应与其他所有簇明显区分开来,这种区分依据可以是该簇与其他簇共有的通道数量极少或没有,或者其重叠指数小于某一设定值。该值可由用户选择,通常为0.1。通过此检验的簇(单位)被定义为“稳定”,未通过检验的(因为与一个或多个其他簇的重叠程度超过阈值)则被定义为“不稳定”。在实际操作中,大多数单位在排序结束时最终被定义为“稳定”,其余部分则要么被舍弃,要么被视为可能的多单位活动。
软件要求
SpikeSorter 兼容 64 位版本的 Windows 7 和 Windows 10 操作系统,也可在 Linux 系统下通过 Wine 模拟器成功运行。数据文件会完全加载到内存中(以提高运行速度),因此可用内存容量需随记录数据的大小相应增加(建议为程序本身预留约 2 GB 内存)。在 Windows 和 Linux 环境中,均已成功对超过 130 GB 的电生理数据文件完成排序。软件选项通过标准的 Windows 菜单、工具栏和对话框进行访问。菜单中各项的布局大致对应于排序操作的流程,左侧以“文件”菜单开始,用于数据输入,右侧以“导出”菜单结束,用于导出已排序的数据。工具栏按钮为常用菜单项提供快捷方式。
通道配置文件
许多记录数据格式不存储通道位置。然而,了解这些位置对于 spike 分选至关重要。采集软件也可能以多种方式对通道进行编号:SpikeSorter 要求通道按顺序编号,从通道 1 开始。因此,必须创建一个辅助的电极配置文件,用于重新映射通道编号以符合顺序规则,并存储通道位置。通道配置文件是一个文本文件,每个通道对应一行文本。文件的第一行存储一个文本名称,长度最多为 16 个字符,用于标识电极。后续各行中的数字可用制表符、单个逗号或空格分隔。每行包含四个数字,依次为:文件中的通道编号、该通道将被映射到的通道编号(即 将由SpikeSorter使用的数量),以及 x 和 y 通道的坐标,单位为微米。该 x 坐标通常应垂直于电极插入方向和 y 相应地,坐标中的深度表示进入组织的深度。配置文件必须与记录文件置于同一目录中。文件命名具有一定灵活性:程序会首先查找与原始数据文件同名但扩展名为 .cfg 的文件;若未找到,则会查找名为 'electrode.cfg' 的文件;若该文件也不存在,则会生成错误信息,提示缺少通道布局信息。
访问受限。请登录或开始试用以查看此内容。
1. 程序设置
2. 事件检测
3. 分选
注意:常规分选前通常不执行下一步操作,但在首次进行分选或遇到不熟悉的数据时,执行此步骤非常有用。
4. 定制化
5. 合并与拆分
6. 审核 - 后处理
访问受限。请登录或开始试用以查看此内容。
图7 展示了典型分类记录的显示结果(通过进入“视图 - 已分类波形”获得)。默认视图仅显示每个簇在中心通道上的波形。常见的现象是,同一通道上一对簇的波形看起来完全相同,但当使用“比较配对”对话框检查这两个簇时,主成分投影(PC投影)中会显示出明显的不同簇,这种情况通常是由于相邻通道上的波形存在差异所致。例如,图7中通道62上的波形即为此例。
如上所述,经常会遇到需要根据幅度-时间图和互相关图来决定是否合并的簇对。 图8 展示了部分基于互相关图的合并决策示例。在短时间间隔内出现非常显著且不对称的互相关(图8B)伴随着单位峰-峰值高度的差异以及相似的放电模式(图8E强烈表明这些峰电位来自同一个神经元。 图9 显示了一种缺乏相同类型合并证据的情况。此处,互相...
访问受限。请登录或开始试用以查看此内容。
文件格式
目前支持的文件格式包括 Neuralynx(.ntt 和 .ncs)、Plexon(.plx)、Neuroscope(.xml + .dat)、MultiChannel Systems(.mcd)、Blackrock(.nev)和 Intan(.rhd)。对于不支持的格式,有两种处理方式。一种是请求开发者在后续版本中添加对该文件格式的支持(在“帮助 - 关于”对话框中提供了发送电子邮件的链接)。另一种方法是将文件转换为受支持的格式。一个简单的选择是使用时间-脉冲-格式“.tsf”。这种基础格式包含电压记录和通道位置信息,以及排序后的事件记录、通道和聚类分配信息。读取这些文件通常比其他格式更快。无论是否涉及不支持的格式,将滤波后的数据保存为 .tsf 文件可能都很方便(该格式包含在导出选项中),因为这可以避免后续耗时的滤波过程。.tsf 格式的详细信息包含在程序附带的文档中。
附属文件
两个辅助文件用于存储参数,即 ss_prefs.sav 和 ss_parameters.s...
访问受限。请登录或开始试用以查看此内容。
作者无任何利益冲突需要披露。
感谢所有使用过 SpikeSorter 的个人和团队,以及为文件格式支持提出需求、并就如何改进本软件提供意见和反馈的各位。其中包括 Youping Xiao、Felix Fung、Artak Khachatryan、Eric Kuebler、Curtis Baker、Amol Gharat 和 Dongsheng Xiao。我们感谢 Adrien Peyrache 提供“代表性结果”部分中的假阳性与假阴性图示。
访问受限。请登录或开始试用以查看此内容。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| spikesorter.exe | 不适用 | http://www.swindale.ecc.ubc.ca/SpikeSorter |
访问受限。请登录或开始试用以查看此内容。