Skip to main page content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
. 2017 Nov 13;16(1):129.
doi: 10.1186/s12938-017-0419-7.

NeoAnalysis: a Python-based toolbox for quick electrophysiological data processing and analysis

Affiliations

NeoAnalysis: a Python-based toolbox for quick electrophysiological data processing and analysis

Bo Zhang et al. Biomed Eng Online. .

Abstract

Background: In a typical electrophysiological experiment, especially one that includes studying animal behavior, the data collected normally contain spikes, local field potentials, behavioral responses and other associated data. In order to obtain informative results, the data must be analyzed simultaneously with the experimental settings. However, most open-source toolboxes currently available for data analysis were developed to handle only a portion of the data and did not take into account the sorting of experimental conditions. Additionally, these toolboxes require that the input data be in a specific format, which can be inconvenient to users. Therefore, the development of a highly integrated toolbox that can process multiple types of data regardless of input data format and perform basic analysis for general electrophysiological experiments is incredibly useful.

Results: Here, we report the development of a Python based open-source toolbox, referred to as NeoAnalysis, to be used for quick electrophysiological data processing and analysis. The toolbox can import data from different data acquisition systems regardless of their formats and automatically combine different types of data into a single file with a standardized format. In cases where additional spike sorting is needed, NeoAnalysis provides a module to perform efficient offline sorting with a user-friendly interface. Then, NeoAnalysis can perform regular analog signal processing, spike train, and local field potentials analysis, behavioral response (e.g. saccade) detection and extraction, with several options available for data plotting and statistics. Particularly, it can automatically generate sorted results without requiring users to manually sort data beforehand. In addition, NeoAnalysis can organize all of the relevant data into an informative table on a trial-by-trial basis for data visualization. Finally, NeoAnalysis supports analysis at the population level.

Conclusions: With the multitude of general-purpose functions provided by NeoAnalysis, users can easily obtain publication-quality figures without writing complex codes. NeoAnalysis is a powerful and valuable toolbox for users doing electrophysiological experiments.

Keywords: Analysis; Electrophysiology; NeoAnalysis; Offline sorting; Python; Saccade detection; Spike; Toolbox.

PubMed Disclaimer

Figures

Fig. 1
Fig. 1
The principle for data standardization in a typical electrophysiological experiment. The experiment normally runs in a trial-by-trial manner, so the data collected must include the experimental settings defining the conditions in each trial and the behavioral and neuronal responses. These data can be divided into Event, Comment, Spike and Analog entities. The Event entity represents the occurrence of specific events, such as a stimulus is turned on or a button is pressed (green bar in the top panel). The Comment entity contains information that defines the experimental settings, such as the orientation of the stimulus in each trial (blue bar in the top panel). The Spike entity records the action potentials (middle panel), and the Analog entity records analog signals including local field potential (bottom panel). For a given data set, we convert the data into these four entities regardless of their original format and save in a standardized format for future use. The right side shows how these entities are organized in the output file
Fig. 2
Fig. 2
The six major modules of NeoAnalysis and their functions. Each panel represents one module, and arrows indicate the general workflow. The TransFile module is used to import data from any of the supported formats and extract the data to Analog, Spike, Event and Comment entities, and then convert to a standardized format (HDF5). The AnalogFilter module is used to filter analog signals. The SpikeDetection module can detect spikes from the analog signal and then feed to the SpikeSorting module, which resorts spikes offline. The graphics module first organizes all of the relevant data into a data table on a trial-by-trial basis for data visualization, and then provides functions to analyze the data and display the results. This module supports data computation and saccade detection in addition to common analyses of spikes, local field potentials, and other behaviors. The last module, PopuAnalysis, can retrieve the saved result of each single session and perform population analysis
Fig. 3
Fig. 3
The graphic user interfaces for offline spike sorting. a The main interface, in which the center shows the control panel for major operations; the bottom panel shows all spikes in the selected channel with a sliding window to select a portion of spikes; the left panel shows the waveforms of the selected spikes, and the right panel shows the principal components of all spikes in the selected channel. Users can check the AutoSortThisChannel box to start automated sorting. In addition, users can use the segment widget (two red lines with square ends) to select waveforms or use the polygon widget (red polygon with square nodes) to select data points for re-sorting. b A 3D view to display the first three principal components of all spikes in the selected channel
Fig. 4
Fig. 4
The raster plots for the sample data generated by the graphics module. Each panel represents the response to one condition defined by the setting sort_by (here is the drifting direction of the random dot patch)
Fig. 5
Fig. 5
The line plot of the spike counts for the sample data. Each point represents the spike count within a given period for one condition defined by the user (same as Fig. 4)
Fig. 6
Fig. 6
The time–frequency analysis for the sample data using the graphics module. The function analyzes the power density over the low-frequency domain (< 100 Hz) during a given period. Each panel represents the result for one condition (same as Fig. 4)
Fig. 7
Fig. 7
An example of the saccade detection using the graphics module. The red and green lines represent the horizontal and vertical eye position, respectively. The black vertical lines indicate the start and end time, and the red and green spots indicate the start and end position of the detected saccade, respectively
Fig. 8
Fig. 8
The behavioral data analysis at the population level for the sample workspace. This example analyzes the reaction time for three level 1 conditions (a, b, c) under three level 2 conditions (A, B, C). Error bar indicates SEM
Fig. 9
Fig. 9
The mean firing rate of a population of neurons. This example shows the mean of the normalized firing rate for four conditions across the population in the sample workspace. Different colors indicate the different conditions. Shading indicates 68% confidence interval

References

    1. Stevenson IH, Kording KP. How advances in neural recording affect data analysis. Nat Neurosci. 2011;14(2):139–142. doi: 10.1038/nn.2731. - DOI - PMC - PubMed
    1. Muller E, Bednar JA, Diesmann M, Gewaltig MO, Hines M, Davison AP. Python in neuroscience. Front Neuroinform. 2015;9:11. doi: 10.3389/fninf.2015.00011. - DOI - PMC - PubMed
    1. Ince RA, Mazzoni A, Petersen RS, Panzeri S. Open source tools for the information theoretic analysis of neural data. Front Neurosci. 2010 - PMC - PubMed
    1. Garcia S, Fourcaud-Trocme N. OpenElectrophy: an electrophysiological data- and analysis-sharing framework. Front Neuroinform. 2009;3:14. doi: 10.3389/neuro.11.014.2009. - DOI - PMC - PubMed
    1. Offline Sorter| Plexon. http://www.plexon.com/products/offline-sorter. Accessed 9 Nov 2017.

LinkOut - more resources