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.
シンプルなオンラインのしきい値とウィンドウよりもより洗練された方法を用いて、脳から細胞外シグナルを記録する誰もが電極によって記録されたノイズを含む電圧信号とは異なるニューロンからの信号を識別し、分離のタスクに直面しています。この作業は、一般に、スパイクソーティングとして知られています。スパイクソーティングの難しさは、様々な要因によって配合されます。近くの電極によって、そこから記録された信号は、同様と区別するのは難しい可能性が高いように、ニューロンは、非常に接近することができます。単一ニューロンによって生成された信号は、高発火率の期間、電極に近い樹状突起における電圧コンダクタンスの活性化の様々な程度の間に、恐らくは電極の動きを、時間をかけて可変ナトリウムチャネル速度を変化させる、または可能性としてあり脳の状態の変化の結果。 R – (100μM20)、これらの問題は、多くの密接に離間してマルチ電極アレイ(MEAの)を使用することによって軽減することができます彼らは通常、複数のチャンネル1、2の上に広がっているため、単一ニューロンからの信号のより良い空間解像度を可能にするチャンネルをecording。しかし、神経細胞からの信号は、空間における電極の重なりの長さ全体に沿って広がっているという事実と組み合わされ、これは、固有のニューロンに対応するクラスタを特定する必要があるの中の潜在的に非常に高い次元の空間になります。この問題は、電極チャネルの数が少ない以上は計算困難となります。現在まで、概してが同意しない、上にされる最良の方法スパイクソーティングのために、多くの解決策は、MEAのより3、4、5、6、7、8及び記録が提案されてきたものの、9ますます一般的になりつつありますお尻= "外部参照"> 10。スパイクソーティングはそれ自体が目的ではなく、単にさらなるデータ分析の前に必要な準備段階であるため、生の記録データファイルを読み込んで、わずかのユーザにソートされたスパイク列に変換されます簡単に使用可能なパッケージが必要とされていますできるだけ迅速かつ確実に入力、及び、。
これらのニーズを満たすことを目的に開発したプログラム – 本稿ではSpikeSorterを使用するためのチュートリアルを提供します。プログラムは、以前に公開された論文11、12、13に記載されたアルゴリズムに基づいています。プログラムを設計する上での目標は、a)は 、それがコンピュータプログラミングのか、方法論をソートスパイクのほとんど、あるいは全く事前の知識を必要とするユーザーフレンドリーなインターフェイスを持つべきであるということでした。 b)は 、標準的なWindowsまたはLinuxオペレーティングシステムを超えていくつかまたは全く他の特殊なソフトウェアコンポーネントが必要とされるべきです。 C言語 </em>)データのインポートとエクスポートのための記録データフォーマットの広い範囲をサポートする必要があります。 d)の最小化されなければならないの並べ替え時にユーザー入力の必要性、およびe)ソート時間は、録画時間と電極上のチャネル数と、理想的には直線的、合理的な方法をでスケーリングする必要があります。プログラムに実装されたアルゴリズムは、前処理及びイベント検出戦略A)柔軟なセットを含みます。 b)は自動化された除算と主成分(PC)特定のクラスタに割り当てられたチャネルのサブセットから得られた分布に基づいて、電圧波形をクラスタリングする次元削減の戦略を征服。 c)のそれぞれは、すべての可能な限りお互いから区別されることを保証するために、平均シフトアルゴリズム3、14、およびd)部分的に自動化されたペアごとのマージおよびクラスタの分割に基づく高速クラスタリング手順でPC分布のクラスタリングを自動化。 THIへsの、一連の手順は、PC分布の検査、クロスとスパイク列とスパイク波形の時間振幅プロットの自動相関曲線に基づいて、クラスタの手動分割やマージを可能にする追加されました。 tetrodes、四極アレイ、ユタ州アレイならびに単一およびマルチシャンクのMEAからの記録は、読み、ソートすることができます。チャネル数の電流制限は256であるが、これは将来的に増加させることができます。
別のクロスプラットフォームのオープンソース実装、「spyke」(http://spyke.github.io)も利用可能です。 PythonとCythonで私たちの1(MS)によって書かれた、spykeはいくつかの違いで、SpikeSorterと同じ全体的なアプローチを採用しています:メモリの需要を減らすために、生データを小さなブロックにロードされ、どうしても必要なときだけさ。クラスタはもっぱら、表示、操作、および3Dにソートされています。主成分と独立成分分析は、両方の相補的な次元削減手法として用いられています。 Spykeはでより多くのユーザーが必要ですteractionが、急速にスパイクの任意の部分集合のクラスタリングの様々な要因の影響を調査するために、キーボードとマウスのショートカットやアンドゥ/リドゥキューに大きく依存しています。これらの要因は、スパイクチャンネルおよび時間範囲の選択、スパイクアライメント、クラスタリング寸法および空間帯域幅(シグマ)11を含みます。
以下は、ソートに使用されるアルゴリズムと戦略の簡単な説明です。より完全な説明は以前の出版物11、12、13、ヘルプボタンを介してアクセスすることができ、注釈内で見つけることができます(で識別'?')SpikeSorter内。生細胞外電圧ファイルをロードし、低周波成分を濾過した後、イベント時間の前と後の短時間の電圧のスナップショットから成り各々がイベントのセットのイベント検出結果の初期段階。選択した場合(<100μm)のサイトが十分に近接して配置されている乗って、単一ユニット信号は、一般的に、いくつかの隣接するチャネルに表示されます。中央チャネルは、自動的にイベントのピーク間電圧が最大となるのチャンネルに対応し、各イベントのために選択されます。自動化されたそのチャンネルにローカライズされたすべてのイベントからなる、各電極チャネルのための単一の最初のクラスタを形成することによって開始をソートします。チャンネル間の中間に位置する単位が異なるチャネルに(おそらくランダム)ローカライズされたスパイクを生じることがあります。スパイクのこれら2セットからのクラスタは、類似と識別され、後の段階でマージされます。各初期クラスタ内のイベントの平均波形が計算されます。これは、クラスタのテンプレートと呼びます。補助チャネルは、振幅と、各チャネル上のテンプレート波形の標準偏差に基づいて、各クラスタに割り当てられます。主成分の値は、各クラスタベースのOに対して計算されますn個のチャネルの割り当てられたセットで波形。ユーザーは、主成分の次元数は、使用することを選択することができます:通常2で十分です。各クラスタは、その後のクラスタの更なるセットに分割され、いずれも自動化されたクラスタリングによってさらに分割することはできませんまで、これが繰り返されます。
この時点で、64チャネル電極から64のクラスタ、たとえば最初のセットは、記録中に存在した単位の数に応じて、2〜3回にその数を分割することができます。しかしため、異なるチャネルへの単一の単位からのイベントの変数への代入のため、この段階で見つかったクラスタの数はほぼ確実にそれがあるべきよりも大きくなっています。ソートの次の段階は、クラスタのペアを比較し、類似のペアをマージするか、別の1からイベントを再割り当てすることによってoversplittingを補正することです。ソートのこの段階を「マージおよび分割」と呼ばれます。
マージおよび分割
Nクラスタの場合、N *(N-1)/ 2の対ひいては対の数は、望ましくないN 2、として成長があります。対の2つのメンバーが物理的に遠く離れているのでしかし、多くのペアが比較から除外することができます。これは、より直線的チャネルの数に関係している何かに依存を減らすことができます。このショートカットにもかかわらず、マージと分割ステージがまだかなり時間がかかることがあります。それは以下のように動作します。比較される各クラスタペア(それぞれに割り当てられたチャネルセットでの重複によって判断されるように、一緒に物理的に近いもの)が一時的に知られている2つのメンバ・クラスタでスパイクのアイデンティティを維持するものの、マージされます。マージされたペアの主要な構成要素が計算されます。二つのクラスタ内のポイント間の重複の測定値は、最初の2つの主成分の分布に基づいて計算されます。
道OV erlap測度は他の箇所11でより詳細に記載されて計算されます。各点の最も近い隣人が同じクラスタ内にある、すなわちクラスタは、まったく重ならない場合、その値はゼロです。その値は1に近いクラスタが完全に重なった場合、 すなわち、最も近い隣人が同じクラスタ内にある確率は点の均一な混合から予測と同じです。
様々な決定は、アカウントに重複措置をとる作られています。重複がある値よりも大きい場合には、クラスタが併合されてもよいです。重なりが非常に小さい場合には、クラスタ対が異なるように定義され、放置されてもよいです。クラスタペアの不完全な分離を示す中間値が、ペアは望ましい結果が少ない重なりを持つクラスタのペアであること、分割を再その後合併し、すべきであることを知らせることができます。これらの手順は、手動で導かれた段階で最初の自動化の段階で、次に実行されます。
10トン ">自動化された段階では、高い重複値を持つクラスタペアがマージされ、その後、低重複値への中間体と、クラスタペアがマージされ、分割を再された第2、ユーザーガイド付きの段階では、ユーザはすべてを提示されます。順序であいまいなクラスタペア( すなわち、定義された中間範囲内の重複値を持つもの)を残りし、a)から c)明確なことがペアを宣言し、b)のペアをマージしresplit、ペアをマージするかどうかを選択するように要求されている(これは)重複対策の重要性を上書きする、またはd)オートを含め、これらの意思決定を支援するためのペアのスパイクがうまくソートされそうにないことを示す「あいまい」。さまざまなツールが提供されているようなペアとの関係を定義します – 交差相関曲線およびスパイク高さとPC値の時系列プロットと。理想的には、合併及び分割の段階の終了時に、すべてのクラスタは、他のすべてと区別すべきですどちらかそれは他のクラスタと共通のいくつかまたは全くチャネルを有する、または重複インデックスが定義された値より小さいのでので。この値は、ユーザが選択可能であるが、典型的には0.1です。 (一つ以上の他のクラスタとの重なりが閾値よりも大きいため)、この試験に合格したクラスタ(ユニット)は「安定した」として定義され、そうでないものは、「不安定」と定義されます。実際には、単位の大部分が廃棄されるか、または潜在的にマルチユニットとして扱うことのいずれかに余りを残して、ソートの仕上がりで「安定」と定義されてしまいます。
ソフトウェア要件
SpikeSorterは、Windows 7およびWindows 10の64ビットバージョンとの互換性があり、また、ワインのエミュレータを使用して、Linuxの下で正常に実行されています。データファイルは、したがって使用可能なRAMが(プログラム自体は約2ギガバイトを可能にする)記録の大きさに比例する必要がある(スピードのため)、メモリに完全にロードされます。電気生理学的なサイズが130ギガバイトを超えるアル・データ・ファイルが正常にWindowsとLinuxの両方の環境でソートされています。オプションは、Windowsの標準メニュー、ツールバーやダイアログを介してアクセスされています。メニューの項目のレイアウトが大きく、データ入力およびソートされたデータのエクスポートを可能にし、右側の[エクスポート]メニュー用の左側の「ファイル」メニューから始めて、仕分けでの操作の順序と一致します。ツールバーのボタンは、一般的にメニュー項目を使用するためのショートカットを提供します。
チャネルの設定ファイル
多くの記録データフォーマットは、チャネルの位置を格納しないでください。しかし、これらを知ることスパイクソーティングのために不可欠です。チャネルはまた、収集ソフトウェアによって様々な方法で番号付けされることがあります。SpikeSorterは、シーケンシャルルールに従うようにチャンネル番号を再マッピングすることができ、その補助的な電極構成ファイルを作成する必要があり、したがって、チャネル1から始まる、チャンネルが順番に番号が付けられていることを必要とし、に店舗チャネルLOCations。チャネル構成ファイルには、各チャネルのテキストの単一の行のテキストファイルです。ファイルの最初の行は、電極を識別し、長い16文字まで、テキスト名を格納します。後続の行の数字は、タブ、単一のカンマ、またはスペースで区切ることができます。ファイル内のチャンネル番号、それがマッピングされる先のチャンネル番号(SpikeSorterによって使用される、すなわち番号)、およびのx、y座標:4(順番に)提供する各列の数字があります。チャネル、ミクロンインチX座標は、通常、電極の挿入方向に対して垂直とすることがあろうとyは 、組織内への深さになるに応じて調整します。設定ファイルは、記録ファイルと同じディレクトリに配置されなければなりません。それは名前を付けることができます方法に多少の柔軟性があります。プログラムは、最初の生データファイルとしてではなく、.cfg拡張子と同じ名前を持つファイルを検索します。そのファイル私の場合sが見つかりません、それはファイル 'electrode.cfg'を検索します。次に、そのファイルが見つからない場合、エラーメッセージは、チャネルレイアウト情報の欠如を示すために生成されます。
ファイル形式
現在サポートされているファイル形式はNeuralynx(.nttと.ncs)、Plexon(.plx)、Neuroscope(.xmlの+の.dat)、マルチチャンネルシステム(の.mcd)、ブラックロック(.nev)とインタン(.rhd)が挙げられます。サポートされていないフォーマットの場合、2つのオプションがあります。一つは( ' – についてヘルプ」ダイアログで提供され、開発者への電子メールのリ?…
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 |