Spike Train Toolkit
     - Primer
     - Introduction
     - Toolkit Wiki
     - Download
     - Demonstrations
     - Input Format
     - Input Structures
     - Output Structures
     - Information Options
     - Entropy Options
     - Function Reference
     - Version History
     - License
     - Contribute
  Analysis Overview
     - Analyze Data
     - Your Submissions
  BrainML Models
  LNI Homepage
User ID

  Spike Train Analysis Toolkit Demonstrations

Data files

In the data/ directory, there are five data sets:
Contains data like that described in Victor & Purpura (1997), Figure 5(E-H).
Contains the data from the synth dataset, convolved with a difference of exponentials, to simulate LFP data.
Contains the data from the experiment described in Di Lorenzo and Victor (2003). Specifically, it contains the data from "cell 11", which is analyzed in Figure 6.
Contains the data from the experiment described in Reich et al. (2001). Specifically, it contains the drifting grating responses from cell 44/9s, which are depicted in the lower right of Figure 2.
Contains the data from the experiment described in Aronov et al. (2003). Specifically, it contains the responses from cells 410106.s and 410106.t, which are depicted in Figure 1B. Because the full dataset depicted in the paper is large, only data corresponding to every fourth phase is included.
inforate_uni and inforate_rep
These sets consist of synthetic data inspired by the experiment described in Reinagel and Reid (2000). inforate_uni consists of unique Poisson spike trains with a rate of 40 spikes/s. inforate_rep consists of repeated spike trains, where each spike in the set is jittered according to a Gaussian distribution with a standard deviation of 0.6 ms.

Demo scripts

The example m-file scripts can be found in the demo/ directory. Links to images of the output figures are provided below so that you can verify that the toolkit is functioning properly. The performance of entropy and information methods is data-dependent. The results depicted in these demos are specific to the datasets analyzed—no conclusions about the methods' performance on other datasets are implied or should be inferred. Please note that due to differences in the figure handling and plotting functions between Matlab and Octave, the demos will not run in Octave. While the demos can still serve as a template for your own analyses, Octave users must rely upon staverify to know that the toolkit was successfully installed.

Formal information demos

The script demo_directformal demostrates the use of the directformal function to compute the formal information rate on the inforate_uni and inforate_rep dataset. View the expected results. The key graph is the lower-right panel. This shows information calculated via several different entropy methods, as a function of the "word length". The peak of the curve as it nears the vertical axis is the best estimate of information; the abrupt drop of the curve for very long words (small values of 1/L) reflects the amount of data available, and does not indicate an actual fall in the amount of information.

The script demo_ctwmcmc_formal demonstrates the use of the ctwmcmc function to compute the formal information rate on the same data, and compares the results with those obtained by directformal. View the expected results. As above, the key graph is the lower-right panel. Note that since the ctwmcmc method does not make use of a "word length" parameter, its results are shown as a horizontal band. Also please note that ctwmcmc and nsb analyses were performed with 1/8 of the available data, as compared to plugin or tpmc.

Category-specific information demos

There are three scripts that demonstrate how the toolkit quantifies the amount of information that an ensemble of spike trains conveys about a stimulus that can be characterized by discrete categories: demo_directcat, demo_metric, and demo_binless. When run, these scripts asks you to choose the synth, taste, drift, or continuous (demo_binless only) datasets. To bypass this query, you may set the dataset variable (e.g., dataset='synth') before running the scripts. (Note that you must clear this variable in order to receive the query again.) All of these demos can be run in succession with synth and taste datasets using the demo_all script. Analysis of the drift dataset can take a long time on some computers, and therefore is not included in the demo_all script.

Again, the key plot of interest is the graph in the lower-right of each figure. This graph shows information as a function of bin size (demo_directcat), temporal precision (demo_metric), or embedding dimension (demo_binless). The peaks of these curves (blue) are the single best estimates of information. These panels also show information estimates for shuffled data (red). This serves as a control for whether there is sufficient data to carry out a valid analysis. If the amount of data are sufficient, then the "shuffled" curve (red) should be well-separated from the original data curve (blue), and the amount of information in the shuffled curve should be near zero. In the examples shown here, this criterion is met for the metric space analysis (demo_metric), and the binless analysis (demo_binless), but not the direct categorical analysis (demo_directcat). The other panels of the demo figures show some of the intermediate results of the information analyses, and provide a way to characterize how neural information is coded. Please refer to the detailed description of these methods for further background (see the references on the Introduction page).

Demo name Description Expected results
demo_directcat Direct method category-specific information demo synth taste drift  
demo_metric Metric space method demo synth taste drift  
demo_binless Binless method demo synth taste drift continuous

The script demo_metric_multi demonstrates the use of the metric space method on the multineuron dataset phase. View the expected results. In this figure, pay particular attention to the plot in the lower-left corner, which shows information as a function of temporal precision and label cost (an indication of the redundancy across multiple neurons). This demo is very memory intensive. If you have trouble running it, try reducing the size of the analysis window by changing the values of opts.start_time and opts.end_time.

Entropy method demos

The script demo_entropy demonstrates all of the entropy methods included in the toolkit (except nsb) on examples drawn from a binomial distribution with 10 bins. View the expected results. The function demo_nsb compares the plugin, tpmc, and nsb methods on undersampled data drawn from a Dirichlet distribution. View the expected results. Dataset generation and bootstrap variance estimation make use of a pseudorandom number generation. Therefore, results may differ slightly from system to system.


Weill Medical College of Cornell University