Processing and Analysis of Multichannel Extracellular Neuronal Signals: State-of-the-Art and Challenges
- NeuroChip Laboratory, Department of Biomedical Sciences, University of Padova, Padova, Italy
In recent years multichannel neuronal signal acquisition systems have allowed scientists to focus on research questions which were otherwise impossible. They act as a powerful means to study brain (dys)functions in in-vivo and in in-vitro animal models. Typically, each session of electrophysiological experiments with multichannel data acquisition systems generate large amount of raw data. For example, a 128 channel signal acquisition system with 16 bits A/D conversion and 20 kHz sampling rate will generate approximately 17 GB data per hour (uncompressed). This poses an important and challenging problem of inferring conclusions from the large amounts of acquired data. Thus, automated signal processing and analysis tools are becoming a key component in neuroscience research, facilitating extraction of relevant information from neuronal recordings in a reasonable time. The purpose of this review is to introduce the reader to the current state-of-the-art of open-source packages for (semi)automated processing and analysis of multichannel extracellular neuronal signals (i.e., neuronal spikes, local field potentials, electroencephalogram, etc.), and the existing Neuroinformatics infrastructure for tool and data sharing. The review is concluded by pinpointing some major challenges that are being faced, which include the development of novel benchmarking techniques, cloud-based distributed processing and analysis tools, as well as defining novel means to share and standardize data.
The open question of structure-function relationship has attracted lot of interests in Systems Neuroscience. Recent works on anatomical substructures of the brain (Briggman and Denk, 2006; Mikula et al., 2012) promise to improve our understanding of neuronal networks physiology and drive the development of novel applications of neurotechnology by interpreting the activities of large neuronal ensembles via extracellular methods (Buzsaki, 2004; Nicolelis and Lebedev, 2009).
On the other hand, neuronal signals recorded by means of neuronal probes require rigorous (pre)processing and analysis. In terms of technological advancement, the extracellular interfacing of neurons with artificial chip-based devices has taken a considerable leap forward, even in comparison with very popular patch-clamp, EEG, and fMRI techniques (Vassanelli, 2011; Spira and Hai, 2013). In the last two decades, such advances have allowed neuroscientists to record neural activity simultaneously from many neurons with up to thousands of recording sites in a single neuronal probe and at a temporal resolution from a few up to hundreds of kilo Hertz (kHz) (Buzsaki, 2004; Schröder et al., 2015).
The wide variety of electrode size and dimensions allow different types of neuronal signals to be recorded from the extracellular space. Single-unit activities (action potentials) from single neurons can be sensed by small electrodes in their close proximity (Buzsaki et al., 2012). They also pick multi-unit activities from several simultaneously active neurons nearby to the electrode (Einevoll et al., 2012). With increasing electrode dimensions, local field potentials (LFPs) are sensed from neighboring neuronal populations as synchronous net activity of several hundreds to thousands neurons (Tsytsarev et al., 2006; Vassanelli, 2011, 2014; Vassanelli et al., 2012; Khodagholy et al., 2015). Therefore, the neurophysiological signals from different brain structures can be measured using a wide range of techniques based on the dimensions of the electrodes (see Figure 1; Sejnowski et al., 2014).
Figure 1. Spatiotemporal range of neurophysiological signal acquisition techniques. Spatiotemporal range of the main techniques to measure neurophysiological signals from the brain. EEG, electroencephalography; MEG, magnetoencephalography.
Also, the massive growth in the field of brain imaging techniques allowed scientists to image brain activities at very different scales, from imaging single ion-channels to the whole brain (for a review, see Freeman, 2015).
Recently developed neural probes allowed neuroscientists to investigate neural processing by monitoring groups of neurons and their activation patterns at unprecedented resolution (Brown et al., 2004; Giocomo, 2015), thus also contributing to bridge the gap between neuronal network activity and behavior (Berenyi et al., 2014). In addition, they provided deep insights on the pathological basis of brain disorders (Friston et al., 2015). As a drawback, investigation of brain function and pathology can require massive data mining. For example, in an hour, a 128 channel signal acquisition system with 16 bits A/D conversion and 20 kHz sampling rate will generate approximately 17 GB uncompressed data (Mahmud et al., 2014). Inferring meaningful conclusions from this massive amount of data is pivotal to the neuroscience and neuroengineering community (Mahmud et al., 2010a, 2012a) and tools for analysis of such multichannel extracellular recordings that support a rapid and accurate data interpretation are still missing (Stevenson and Kording, 2011). Though computing power increased and costs decreased, yet, processing and analysis of signals remained labor-intensive. This poses a huge challenge to the computational neuroscientists: to develop tools to analyze such complex data that are optimized for both memory management and processing times (Stevenson and Kording, 2011).
Over the years, to make data handling and analysis fast, interactive and user friendly, several software tools have been developed by individual laboratories, e.g., Mahmud et al. (2012a), but only a negligible number of them have been released to the community. In practice, large number of analysis scripts are kept private, leading to a situation where analysis transparency is reduced and reproducibility of analysis results is hampered (Schofield et al., 2009).
It has also been argued that the acquired data, despite being in digitized form, have been only minimally made publicly available for other scientists to explore and validate (Van Horn and Ball, 2008). To overcome this, in recent years, the community sees a growing need to have standardized and publicly available tools (Gardner et al., 2008; Akil et al., 2011) as well as experimental data repositories (Ascoli, 2006a; De Schutter, 2010). To this aim, a paradigm shift has been initiated by a set of laboratories to share their analysis tools through open-source licenses fostering standardization (Ince et al., 2010). Given the circumstances, distributed and cloud-based computing solutions have become an obvious and valuable option (Mahmud et al., 2014).
This review will introduce the readers to the available major open-source academic toolboxes for processing and analysis of neurophysiological signals acquired by means of multichannel probes, and the available infrastructure for sharing such tools and the experimental data. Also, some of the challenges and bottlenecks the community is currently facing will be identified and highlighted, and development perspectives which, in our opinion, will facilitate result reproducibility, flexibility, and standardization will be provided.
The state-of-the-art for processing and analysis of neurophysiological signals can be categorized based on signal types, i.e., electroencephalography or magnetoencephalography (local) field potentials, and spikes. Though the majority of the toolboxes specialize to process and analyze one specific type of signal, there exist a few which provide rather comprehensive methods covering two or more signal types. Therefore, based on the signal types we categorized the toolboxes into three broad categories:
• Toolboxes for Electroencephalography (EEG) analysis;
• Toolboxes for spike trains and field potentials analysis;
• Toolboxes for spike sorting.
Most of the tools were developed mainly in MATLAB (Mathworks Inc., Natick, USA; www.mathworks.com) and python (www.python.org) programming languages due to their diffused usage in the neuroscience community. Other programming languages such as C, C++, R, Delphi7, and Java were also used in partial coding of some packages.
2.1. Toolboxes for Electroencephalography (EEG) Analysis
In the last decade, various techniques have been developed and applied to EEG data analysis and focused reviews on specific techniques have been reported (Pascual-Marqui et al., 2002; Stam, 2005; Hallez et al., 2007; Grech et al., 2008; Lenkov et al., 2013; de Cheveigné and Parra, 2014). Table 1 summarizes some of the popular open-source EEG analysis tools with their representative features which are enlisted below.
“EEGLAB” is a MATLAB based EEG signal processing environment with time-frequency and ICA methods (Delorme and Makeig, 2004). It allows the user to: plot channel spectra and maps, remove artifacts, extract signal epochs, average data, select and compare multiple data, plot event related potential (ERP) images, decompose data using ICA and time/frequency methods, and estimate source locations. In addition, it also allows handling data from multiple subjects and perform statistical analysis on them. It can be obtained from http://sccn.ucsd.edu/eeglab/.
“ERPWAVELAB” is another MATLAB based EEG processing toolbox (Morup et al., 2007) which depends on EEGLAB for certain functionalities. It is capable of multi-channel time-frequency analysis of ERP of EEG and MEG data. Provides data decomposition using multiway (tensor) factorization. The features include: various visualizations and maps, artifact rejection in the time-frequency domain, clustering dendrogram, statistical analysis across different groups and subjects, cross coherence analysis, etc. It can be obtained from www.erpwavelab.org.
“pyMVPA” is a multivariate pattern analysis package developed in Python and aims to facilitate statistical learning analyses of large datasets (Hanke et al., 2009). It offers data handling and an extensible framework for multivariate statistical analyses such as, classification, regression, and feature selection. It can be downloaded from www.pymvpa.org/.
“eConnectome” is a MATLAB based software with interactive graphical interfaces for EEG/ECoG/MEG preprocessing, source estimation, connectivity analysis and visualization where the connectivity from EEG/ECoG/MEG can be mapped over sensor and source domains (He et al., 2011). It can be obtained from http://econnectome.umn.edu/.
“FieldTrip” is a MATLAB based toolbox developed for the analysis of MEG, EEG, and other noninvasively recorded electrophysiological data (Oostenveld et al., 2011). Capable of handling data directly from many proprietary formats (e.g., BrainProducts/BrainVision, NeuroScan, Electrical Geodesics Inc., BCI2000, Micromed, Nexstim, European data format, Generic standard formats, etc.), it provides the user to perform time-frequency analysis using multitapers, source reconstruction using dipoles, distributed sources and beamformers, connectivity analysis, and nonparametric statistical permutation tests at the channel and source level. It can be obtained from www.fieldtriptoolbox.org.
“EEGVIS” is a MATLAB based toolbox that allows users to explore multichannel EEG and other large array-based data sets using multiscale drill-down techniques (Robbins, 2012). Available at http://visual.cs.utsa.edu/research/projects/eegvis, and useable as a plugin to “EEGLAB.”
“SCoT” is a toolbox written in Python for connectivity analysis on EEG/MEG sources. It performs blind source separation, connectivity estimation, resampling statistics, and visualization (Billinger et al., 2014). It works with both multi-trial and single trial data. The source code can be downloaded from https://github.com/SCoT-dev/SCoT.
“EMDLAB” is developed in MATLAB as a plugin to the EEGLAB to perform various empirical mode decomposition (EMD), e.g., plain EMD, ensemble EMD, weighted sliding EMD, and multivariate EMD (MEMD) on EEG data (Al-Subari et al., 2015). It can be obtained from http://sccn.ucsd.edu/eeglab/plugins/EMDLAB_Plugin.zip.
“PREP” is for early-stage EEG processing which is a MATLAB based preprocessing pipeline that aims in cleaning (e.g., line noise removal, fixing drifting problem, interpolating corrupt channels, etc.) the EEG signals (Bigdely-Shamlo et al., 2015). The library is available at http://eegstudy.org/prepcode.
2.2. Toolboxes for Spike Trains and Field Potentials Analysis
With the increasing capabilities to record simultaneously from a growing number of neurons, computational neuroscientists developed automated toolboxes addressing the required processing and analyses. We touch upon few of the publicly available ones below. Table 2 summarizes the packages we discuss below with their representative features.
Table 2. Popular spike trains and field potentials processing and analysis toolboxes with their representative features.
“DATA-MEAns” is a toolbox developed in Borland Delphi 7 (Embarcadero Technologies Inc., Austin, USA) and MATLAB (Bonomini et al., 2005). It provides data visualization, basic analysis (i.e., autocorrelations, perievent histograms, rate curves, PSTHs, ISIs, etc.), and nearest neighbor or k-means clustering. Available at http://cortivis.umh.es/.
“MeaBench” is a toolbox written mainly in C++ with certain parts written in Perl1 and MATLAB. It is intended for data acquisition and online analysis of commercial multielectrode array recordings from Multichannel Systems GmbH (Reutlingen, Germany) (Wagenaar et al., 2005). It allows real-time data visualization, line and stimulus artifact suppression, spike and burst detection and validation. Available at www.danielwagenaar.net/res/software/meabench/.
2.2.3. Klusters, NeuroScope, NDManager
“Klusters,” “NeuroScope,” and “NDManager” are three integrated modules bundled together for processing and analysis of spike and field potential signals (Hazan et al., 2006). Klusters performs spike sorting using KlustaKwik (see Section 2.3.2) and displays 2D projection of features, spike traces, correlograms, and error matrix view. NeuroScope allows inspection, selection, and event editing of spike signals as well as local field potentials (LFPs). NDManager facilitates experimental and preprocessing parameter management. Available at http://neurosuite.sourceforge.net/.
2.2.4. Brain-System for Multivariate AutoRegressive Time Series (BSMART)
“BSMART” toolbox is written in MATLAB/C for spectral analysis of neurophysiological signals (Cui et al., 2008). It provides (multi-)bi-variate AutoRegressive modeling, spectral analysis through coherence and Granger causality, and network analysis. Available at http://www.brain-smart.org/.
2.2.5. Finding Information in Neural Data (FIND)
“FIND” is a platform-independent framework for the analysis of neuronal data based on MATLAB (Meier et al., 2008). It provides a unified data import function from various proprietary formats simplifying standardized interfacing with analysis tools and allows analysis of discrete series of spike events, continuous time series, and imaging data. Also, allows simulating multielectrode activity using point-process based stochastic model. Available at http://find.bccn.uni-freiburg.de/.
2.2.6. Spike Train Analysis Toolkit (STAToolkit)
“STAToolkit” is a MATLAB/C-hybrid toolbox implementing information theoretic methods to quantify how well the stimuli can be distinguished based on the timing of neuronal firing patterns in a spike train (Goldberg et al., 2009). Available at http://neuroanalysis.org.
“PANDORA” is a MATLAB-based toolbox that extracts user-defined characteristics from spike train signals and create numerical database tables from them (Gunay et al., 2009). Further analyses (e.g., drug and parameter effects, spike shape characterization, histogramming and comparison of distributions, cross-correlation, etc.) can then be performed on these tables. Spike detection and feature extraction can also be performed. It is available at http://software.incf.org/software/pandora.
“sigTOOL” toolbox is written in MATLAB and allows direct loading of a wide range of proprietary file formats (Lidierth, 2009). It provides (auto-)cross-correlation, power spectral analysis, and coherence estimation in addition to usual spike train analysis (i.e., ISI, event auto- and cross-correlations, spike-triggered averaging, peri-event time histograms, frequencygrams, etc.). Available at http://sigtool.sourceforge.net/.
2.2.9. Information Breakdown ToolBox (ibTB)
“ibTB” is a MATLAB-based toolbox which implements information theory methods for spike, LFP, and EEG analysis (Magri et al., 2009). It provides information breakdown technique to decode the encoding of sensory stimuli by different groups of neurons. The source code can be obtained from the publisher's website (http://static-content.springer.com/esm/art%3A10.1186%2F1471-2202-10-81/MediaObjects/1471-2202-10-81-S1.zip).
“Chronux” toolbox is developed in MATLAB for the analysis of both point process and continuous data (Bokil et al., 2010). It provides spike sorting, and local regression and multitaper spectral analysis of neural signals. Available at http://chronux.org/.
“SPKTool” is coded in MATLAB for the detection and analysis of neural spiking activity (Liu et al., 2011). It performs spike detection, feature extraction, manual and semi-automatic clustering of spike trains. Available at http://spktool.sourceforge.net/.
“nSTAT” toolbox is coded in MATLAB and performs spike train analysis in time domain (e.g., Kalman Filtering), frequency domain (e.g., multi-taper spectral estimation), and mixed time-frequency domain (e.g., spectrogram) (Cajigas et al., 2012). Available at www.neurostat.mit.edu/nstat/.
“SigMate” is a MATLAB-based comprehensive framework that allows preprocessing and analysis of EEG, LFPs, and spike signals (Mahmud et al., 2012a). It's main contribution is in the analysis of LFPs which includes data display, file operations, baseline correction, artifact removal, noise characterization, current source density (CSD) analysis, latency estimation from LFPs and CSDs, determination of cortical layer activation order using LFPs and CSDs, and single LFP clustering. The EEG and spike analysis are provided through EEGLAB (see Section 2.1.1) and Wave_Clus (see Section 2.3.1) toolboxes. It can be obtained from https://sites.google.com/site/muftimahmud/codes.
2.2.14. Multivariate Granger Causality Toolbox (MVGC)
“MVGC” is a toolbox written in MATLAB that implements WienerGranger causality (G-causality) on multiple equivalent representations of a vector autoregressive model in both time and frequency domains (Barnett and Seth, 2014). It can be applied to neuroelectric, neuromagnetic, and fMRI signals and can be obtained from http://www.sussex.ac.uk/sackler/mvgc/.
2.2.15. QSpike Tools
“QSpike Tools” is a Linux/Unix-based cloud-computing framework, modeled using client-server architecture and developed in MATLAB / Bash scripts2, for processing and analysis of extracellular spike trains (Mahmud et al., 2014). It performs batch preprocessing of CPU-intensive operations for each channel (e.g., filtering, multi-unit activity detection, spike-sorting, etc.), in parallel, by delegating them to a multi-core computer or to a computers cluster. It can be obtained from https://sites.google.com/site/qspiketool/.
2.3. Toolboxes for Spike Sorting
As seen in the literature, majority of the efforts have been devoted in developing tools for spike sorting and analysis. A recent review by Rey et al. outlines the basic concepts of spike sorting, applicability requirements, and shortcoming of currently available algorithms (Rey et al., 2015). Detailing all spike-sorting packages and their functionalities would require a complete review, therefore, here we restrict our discussion to some of the popular open-source toolboxes.
“Wave_Clus” is the most popular spike sorting package to date. Developed in MATLAB, it uses wavelet transformation based feature selection method and superparamagnetic clustering (Blatt et al., 1996) method to sort the spikes into different classes (Quian Quiroga et al., 2004). It is available at https://vis.caltech.edu/~rodri/Wave_clus/Wave_clus_home.htm.
“KlustaKwik” is a stand-alone program written in C++ for automatic clustering analysis (Harris et al., 2000) by fitting a mixture of Gaussians and masked expectation-maximization (Kadir et al., 2014; Rossant et al., 2016). Download link is https://github.com/klusta-team/klustakwik.
“OSort” is a template-based, unsupervised, online spike sorting algorithm written in MATLAB (Rutishauser et al., 2006). It uses residual-sum-of-squares based distance method and custom thresholds to on-the-fly sort the recorded spikes. Available at http://www.urut.ch/new/serendipity/index.php?/pages/osort.html.
“SpikeOMatic” is a spike sorting package developed in R (Pouzat and Chaffiol, 2009). It implements Gaussian Mixture and Dynamic Hidden Markov Models using expectation-maximization and Markov Chain Monte Carlo methods, respectively. Available at http://www.biomedicale.univ-paris5.fr/SpikeOMatic/.
“Spyke” is a Python based toolbox for visualizing, navigating, and spike sorting of high-density multichannel extracellular spikes (Spacek et al., 2009). It uses PCA for dimensionality reduction and modified gradient ascent clustering algorithm (Fukunaga and Hostetler, 1975; Swindale and Spacek, 2014) to classify the features. Available at http://spyke.github.io/.
“UltraMegaSort2000” is a MATLAB based toolbox for spike detection and clustering which implements a hierarchical clustering scheme using similarities of spike shape and spike timing statistics, and provides false-positive and false-negative errors as quality evaluation metrics (Fee et al., 1996; Hill et al., 2011). Available at http://physics.ucsd.edu/neurophysics/software.php.
“EToS” is a spike sorting toolbox written in C++ implementing multimodality-weighted PCA and variational Bayes for student's t mixture model (Takekawa et al., 2012). The spike sorting code is parallelized through OpenMP (www.openmp.org) and available at http://etos.sourceforge.net/.
“MClust” is a spike sorting toolbox developed in MATLAB. It supports both manual and automated clustering with possibility to manual feature selection (Redish, 2014). It can be obtained from http://redishlab.neuroscience.umn.edu/MClust/MClust.html.
“NEV2lKit” is a package written in C++ with routines for analysis, visualization and classification of spikes (Bongard et al., 2014). Its results are accurate, efficient and consistency across experiments. Available at http://nev2lkit.sourceforge.net/.
“WIToolbox” implements a combination of wavelet transform and information theory using MATLAB for better classification of spikes on the occasions of spike time-jitter, background noise, and sample size problem (Lopes-dos Santos et al., 2015). Available at www.le.ac.uk/csn/WI.
3. Sharing of Analysis Tools and Experimental Data
Making available to the community analysis toolboxes for easy and efficient handling of massive neuronal data is just a part of the solution. The other part is the availability of infrastructures which would allow these tools and the experimental data to be shared. Computational neuroscientists are putting constant and significant efforts in building and refining “Neuroinformatics” infrastructures, as outlined below, for making data, tools, and resources electronically accessible over the web (Ascoli, 2006b) which is believed to help and facilitate the standardization, benchmarking process, and foster collaborative research (Mahmud et al., 2012b). As quoted by Prof. Jan G. Bjaalie, “Neuroinformatics applies the methods and approaches required for large scale data integration and thereby paves the way toward understanding the brain”3.
The neuroshare (http://neuroshare.sourceforge.net/) framework started with the goal to create and support open data file format specifications for neurophysiology, a set of open libraries to access those data, and open-source software tools for their analysis. This is particularly important when the community faces a situation where there are many proprietary neuronal signal file formats used by different acquisition softwares. Leveraging the “Neuroshare API,” the framework aims at standardizing the access to individual file formats of neurophysiological experiment data by creating low-level handling and processing tools. However, this has been designed to be achieved in two subsequent phases: (i) creation of open library and format standards for the experimental data, and (ii) developing free and open-source tools for low-level handling and processing of the data. Currently, it provides eight Neuroshare-compliant digital link libraries (DLLs) to access raw data files recorded with proprietary acquisition setups, e.g., Alpha-Omega, Blackrock Microsystems, Cambrige Electronic Design, Multichannel Systems, NeuroExplorer, Plexon, RC Electronics, and Tucker-Davis Technologies.
3.2. International Neuroinformatics Coordinating Facility (INCF)
To facilitate tools and data sharing and fostering development in the field of Neuroinformatics, an organization called International Neuroinformatics Coordinating Facility (INCF, www.incf.org) was formed by 12 member countries of the Organization for Economic Co-operation and Development (OECD, www.oecd.org/). Financed by Belgium, Czech Republic, Finland, France, Germany, Italy, Japan, The Netherlands, Norway, Sweden, Switzerland, the United States, and the European Commission, many of these member countries have their own nodes to provide this facility locally (Rautenberg et al., 2011). Quoting from an article by the Executive Director of INCF during 2006–2008, who defined it's aims to be (Bjaalie and Grillner, 2007):
• coordinate and foster international activities in Neuroinformatics;
• contribute to the development of scalable, portable, and extensible applications that can be used for furthering our knowledge of the human brain and its diseases;
• contribute to the development and maintenance of specific database and other computational infrastructures and support mechanisms; and
• focus on developing mechanisms for the seamless flow of information and knowledge between academia, private enterprizes, and the publication industry.
3.3. Code Analysis, Repository and Modeling for e-Neuroscience (CARMEN)
The Code Analysis, Repository and Modeling for e-Neuroscience (CARMEN) project was one of its kind in developing a virtual neuroscience laboratory, specially for electrophysiology data, facilitating e-Neuroscience through creating a unique infrastructure for data and tools sharing and services (Watson et al., 2010). These secure services allow a user to curate data and analysis code to defined storages, document experimental protocols, and execute data analysis (Fletcher et al., 2008). The data as such cannot be curated to the databases of CARMEN without having a proper metadata description about it. This description is essential for accessing correct data out of the thousands of available datasets and interpreting them using the appropriate analysis codes (Jessop et al., 2010).
The CARMEN framework currently supports analysis codes written in MATLAB, Python, C/C++, and R. The users may upload their codes, in the form of non-interactive standalone command-line applications, wrapping them using a Service Builder tool to create a suitable service format to be executed on the platform (Weeks et al., 2013).
Recently, a programming document demonstrated the usage of a curated repository of multielectrode array recordings of spontaneous activity from mouse and ferret retina. The mentioned dataset was in HD54 format (a format for hierarchical data organization), and the document outlined the guide to be followed for the efficient usage of the CARMEN software workflow. Moreover, the dataset structure along with examples of reproducible research using those data files were reported (Eglen et al., 2014).
3.4. Neurodata without Borders: Neurophysiology (NWB:N)
To facilitate research reproducibility and to have an opportunity to explore someone else's data, data standardization is a must. The Neurodata Without Borders: Neurophysiology (NWB:N, http://www.nwb.org/) is an initiative aiming at promoting data standardization and sharing. Since it's infancy, the NWB:N has been keen on producing a common data format for recordings and metadata of cellular electrophysiology which has recently been released along with a sample dataset (Teeters et al., 2015).
4. Challenges and Future Perspectives
Secure infrastructures are vital for the success of large-scale, multi-institutional Neuroinformatics research. It is foreseeable that Neuroinformatics research facilities shall be capable of integrating data seamlessly from different sources for data sharing, but also they should be secure enough to address challenging issues like –
• research collaboration with the option to protect their proprietary data,
• user friendliness allowing users with minimal information technology skills to explore, navigate, and use scientific data and services provided by the environment.
In the recent years, the emergence and popularity of distributed computing render an opportunity to share resources that otherwise require more effort. In particular, cloud computing and service oriented architecture open novel avenues necessary to foster collaborative neuronal signal analysis through distributed infrastructure. These approaches allow better representation of responsibilities taken by the different users in accordance to their granted privileges. In our opinion, the development is expected toward:
• Design and implementation of secure and protected systems;
• Advance on cloud based web applications;
• Facilitate easy deployment of data;
• Reusability and sharing of tools with adaptability to changing requirements;
• Empower researchers to share functionalities that they want to publish.
Based on the current state-of-the-art, we identified few challenges that require immediate attention of the community, a few are indicated below:
1. Over the last few years, the neuroscientists have put together quite a few useful neuroimage repositories and their analysis tools (Eickhoff et al., 2016), but neurophysiology is lagging behind. Though there exist a few individual databases (e.g., http://brainliner.jp/, http://www.g-node.org/, https://www.ieeg.org/, etc.), they are very poor in comparison to their imaging counterpart (Tripathy et al., 2014).
2. With the actual acquisition systems and the needed data formats changes, inter-operability and data conversion is still a nightmare due to the lack of widely adopted standards. In addition, when the data are being curated in a databases, the data-description through metadata is again incompatible among different labs/curators which also hampers in conducting meaningful analyses using data from another lab. This unnecessarily increases the time and effort required for data discovery and analysis.
3. Due to the practical problem of rapid and customized analyses, most of the labs develop their own analysis scripts and perform their required analyses. This approach has severe drawbacks on the global scale: interoperability, compatibility, and sharing of tools with other laboratories are highly restricted. Thus, the problem of creating a common set of analyses and the availability of benchmark analysis tools are yet to be addressed.
4. Though the price of computing power has reduced significantly over the years, yet the power required to demystify large neuronal ensembles is still alarmingly high. From a Neuroinformatics perspective, availability of powerful international computing facilities will greatly facilitate remote, automated, and standardized multichannel neuronal signal processing and analysis.
5. Cloud computing's popularity is rapidly growing. Exploiting the bliss of distributed computing, a concept of Competitor-to-Collaborator would be very interesting where small clusters of laboratories working on similar research questions would share their resources and tools through a unified cloud-based framework for the other laboratories to be used as web-services.
MM performed the reported study. MM wrote and SV edited the paper. Both authors have seen and approved the final manuscript.
Conflict of Interest Statement
The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.
Financial support by the 7th Framework Programme of the European Commission through “RAMP” project (www.rampproject.eu) with contract no. 612058 is kindly acknowledged.
Al-Subari, K., Al-Baddai, S., Tome, A. M., Goldhacker, M., Faltermeier, R., and Lang, E. W. (2015). EMDLAB: a toolbox for analysis of single-trial EEG dynamics using empirical mode decomposition. J. Neurosci. Methods 253, 193–205. doi: 10.1016/j.jneumeth.2015.06.020
Berenyi, A., Somogyvari, Z., Nagy, A. J., Roux, L., Long, J. D., Fujisawa, S., et al. (2014). Large-scale, high-density (up to 512 channels) recording of local circuits in behaving animals. J. Neurophysiol. 111, 1132–1149. doi: 10.1152/jn.00785.2013
Bigdely-Shamlo, N., Mullen, T., Kothe, C., Su, K. M., and Robbins, K. A. (2015). The PREP pipeline: standardized preprocessing for large-scale EEG analysis. Front. Neuroinform. 9:16. doi: 10.3389/fninf.2015.00016
Bongard, M., Micol, D., and Fernandez, E. (2014). NEV2lkit: a new open source tool for handling neuronal event files from multi-electrode recordings. Int. J. Neural Syst. 24, 1450009. doi: 10.1142/s0129065714500099
Bonomini, M. P., Ferrandez, J. M., Bolea, J. A., and Fernandez, E. (2005). DATA-MEAns: an open source tool for the classification and management of neural ensemble recordings. J. Neurosci. Methods 148, 137–146. doi: 10.1016/j.jneumeth.2005.04.008
Cui, J., Xu, L., Bressler, S. L., Ding, M., and Liang, H. (2008). BSMART: a matlab/c toolbox for analysis of multichannel neural time series. Neural Netw. 21, 1094–1104. doi: 10.1016/j.neunet.2008.05.007
Delorme, A., and Makeig, S. (2004). EEGLAB: an open source toolbox for analysis of single-trial eeg dynamics including independent component analysis. J. Neurosci. Methods 134, 9–21. doi: 10.1016/j.jneumeth.2003.10.009
Eglen, S. J., Weeks, M., Jessop, M., Simonotto, J., Jackson, T., and Sernagor, E. (2014). A data repository and analysis framework for spontaneous neural activity recordings in developing retina. Gigascience 3, 3. doi: 10.1186/2047-217X-3-3
Einevoll, G. T., Franke, F., Hagen, E., Pouzat, C., and Harris, K. D. (2012). Towards reliable spike-train recordings from thousands of neurons with multielectrodes. Curr. Opin. Neurobiol. 22, 11–17. doi: 10.1016/j.conb.2011.10.001
Fee, M. S., Mitra, P. P., and Kleinfeld, D. (1996). Automatic sorting of multiple unit neuronal signals in the presence of anisotropic and non-gaussian variability. J. Neurosci. Methods 69, 175–188. doi: 10.1016/s0165-0270(96)00050-7
Fletcher, M., Liang, B., Smith, L., Knowles, A., Jackson, T., Jessop, M., et al. (2008). Neural network based pattern matching and spike detection tools and services–in the CARMEN neuroinformatics project. Neural Netw. 21, 1076–1084. doi: 10.1016/j.neunet.2008.06.009
Fukunaga, K., and Hostetler, L. (1975). The estimation of the gradient of a density function, with applications in pattern recognition. IEEE Trans. Inform. Theory 21, 32–40. doi: 10.1109/tit.1975.1055330
Gardner, D., Akil, H., Ascoli, G. A., Bowden, D. M., Bug, W., Donohue, D. E., et al. (2008). The neuroscience information framework: a data and knowledge environment for neuroscience. Neuroinformatics 6, 149–160. doi: 10.1007/s12021-008-9024-z
Goldberg, D., Victor, J., Gardner, E., and Gardner, D. (2009). Spike train analysis toolkit: enabling wider application of information–theoretic techniques to neurophysiology. Neuroinformatics 7, 165–178. doi: 10.1007/s12021-009-9049-y
Grech, R., Cassar, T., Muscat, J., Camilleri, K. P., Fabri, S. G., Zervakis, M., et al. (2008). Review on solving the inverse problem in eeg source analysis. J. Neuroeng. Rehabil. 5, 25. doi: 10.1186/1743-0003-5-25
Gunay, C., Edgerton, J., Li, S., Sangrey, T., Prinz, A. A., and Jaeger, D. (2009). Database analysis of simulated and recorded electrophysiological datasets with pandora's toolbox. Neuroinformatics 7, 93–111. doi: 10.1007/s12021-009-9048-z
Hallez, H., Vanrumste, B., Grech, R., Muscat, J., De Clercq, W., Vergult, A., et al. (2007). Review on solving the forward problem in EEG source analysis. J. Neuroeng. Rehabil. 4, 46. doi: 10.1186/1743-0003-4-46
Hanke, M., Halchenko, Y. O., Sederberg, P. B., Olivetti, E., Frund, I., Rieger, J. W., et al. (2009). PyMVPA: a unifying approach to the analysis of neuroscientific data. Front. Neuroinform. 3:3. doi: 10.3389/neuro.11.003.2009
Harris, K. D., Henze, D. A., Csicsvari, J., Hirase, H., and Buzsaki, G. (2000). Accuracy of tetrode spike separation as determined by simultaneous intracellular and extracellular measurements. J. Neurophysiol. 84, 401–414. Avaliable online at: http://jn.physiology.org/content/84/1/401.long
Harshman, R. A. (1970). “Foundations of the PARAFAC procedure: models and conditions for an ëxplanatorym¨ulti-modal factor analysis,” in UCLA Working Papers in Phonetics (Los Angeles, CA), Vol. 16, 84.
Hazan, L., Zugaro, M., and Buzsaki, G. (2006). Klusters, NeuroScope, NDManager: a free software suite for neurophysiological data processing and visualization. J. Neurosci. Methods 155, 207–216. doi: 10.1016/j.jneumeth.2006.01.017
He, B., Dai, Y., Astolfi, L., Babiloni, F., Yuan, H., and Yang, L. (2011). eConnectome: a MATLAB toolbox for mapping and imaging of brain functional connectivity. J. Neurosci. Methods 195, 261–269. doi: 10.1016/j.jneumeth.2010.11.015
Johnson, D. H., and Sinanovic, S. (2001). Symmetrizing the Kullback-Leibler Distance. Available online at: http://www.ece.rice.edu/~dhj/resistor.pdf (Accessed: April 15, 2016).
Khodagholy, D., Gelinas, J. N., Thesen, T., Doyle, W., Devinsky, O., Malliaras, G. G., et al. (2015). NeuroGrid: recording action potentials from the surface of the brain. Nat. Neurosci. 18, 310–315. doi: 10.1038/nn.3905
Krishnapuram, B., Carin, L., Figueiredo, M. A., and Hartemink, A. J. (2005). Sparse multinomial logistic regression: fast algorithms and generalization bounds. IEEE Trans. Pattern Anal. Mach. Intell. 27, 957–968. doi: 10.1109/TPAMI.2005.127
Lenkov, D. N., Volnova, A. B., Pope, A. R., and Tsytsarev, V. (2013). Advantages and limitations of brain imaging methods in the research of absence epilepsy in humans and animal models. J. Neurosci. Methods 212, 195–202. doi: 10.1016/j.jneumeth.2012.10.018
Lidierth, M. (2009). sigTOOL: a MATLAB-based environment for sharing laboratory-developed software to analyze biological signals. J. Neurosci. Methods 178, 188–196. doi: 10.1016/j.jneumeth.2008.11.004
Liu, X. Q., Wu, X., and Liu, C. (2011). “SPKtool: an open source toolbox for electrophysiological data processing,” in 2011 International Conference on Biomedical Engineering and Informatics (BMEI) (Shanghai: IEEE), Vol. 2, 854–857. doi: 10.1109/BMEI.2011.6098451
Lopes-dos Santos, V., Panzeri, S., Kayser, C., Diamond, M. E., and Quian Quiroga, R. (2015). Extracting information in spike time patterns with wavelets and information theory. J. Neurophysiol. 113, 1015–1033. doi: 10.1152/jn.00380.2014
MacQueen, J. (1967). “Some methods for classification and analysis of multivariate observations,” in Proceedings of the 5th Berkeley Symposium on Mathematical Statistics and Probability (Berkeley, CA), 1965/66 Vol. 1, 281–297.
Magri, C., Whittingstall, K., Singh, V., Logothetis, N., and Panzeri, S. (2009). A toolbox for the fast information analysis of multiple-site lfp, eeg and spike train recordings. BMC Neurosci. 10:81. doi: 10.1186/1471-2202-10-81
Mahmud, M., Bertoldo, A., Girardi, S., Maschietto, M., and Vassanelli, S. (2010a). “SigMate: a Matlab-based neuronal signal processing tool. Conf. Proc. IEEE Eng. Med. Biol. Soc. 2010, 1352–1355. doi: 10.1109/iembs.2010.5626747
Mahmud, M., Bertoldo, A., Girardi, S., Maschietto, M., and Vassanelli, S. (2012a). SigMate: a Matlab-based automated tool for extracellular neuronal signal processing and analysis. J. Neurosci. Methods 207, 97–112. doi: 10.1016/j.jneumeth.2012.03.009
Mahmud, M., Bertoldo, A., Maschietto, M., Girardi, S., and Vassanelli, S. (2010b). Automatic detection of layer activation order in information processing pathways of rat barrel cortex under mechanical whisker stimulation. Conf. Proc. IEEE Eng. Med. Biol. Soc. 2010, 6095–6098. doi: 10.1109/iembs.2010.5627639
Mahmud, M., Cecchetto, C., and Vassanelli, S. (2016). An automated method for characterization of evoked single-trial local field potentials recorded from rat barrel cortex under mechanical whisker stimulation. Cogn. Comput. 1–11. doi: 10.1007/s12559-016-9399-3. [Epub ahead of print].
Mahmud, M., Pasqualotto, E., Bertoldo, A., Girardi, S., Maschietto, M., and Vassanelli, S. (2011). An automated method for detection of layer activation order in information processing pathway of rat barrel cortex under mechanical whisker stimulation. J. Neurosci. Methods 196, 141–150. doi: 10.1016/j.jneumeth.2010.11.024
Mahmud, M., Pulizzi, R., Vasilaki, E., and Giugliano, M. (2014). QSpike tools: a generic framework for parallel batch preprocessing of extracellular neuronal signals recorded by substrate microelectrode arrays. Front. Neuroinform. 8:26. doi: 10.3389/fninf.2014.00026
Mahmud, M., Rahman, M. M., Travalin, D., Raif, P., and Hussain, A. (2012b). Service oriented architecture based web application model for collaborative biomedical signal analysis. Biomed. Tech. 57(Suppl. 1), 780–783. doi: 10.1515/bmt-2012-4412
Mahmud, M., Travalin, D., Bertoldo, A., Girardi, S., Maschietto, M., and Vassanelli, S. (2012c). An automated classification method for single sweep local field potentials recorded from rat barrel cortex under mechanical whisker stimulation. J. Med. Biol. Eng. 32, 397–404. doi: 10.5405/jmbe.923
Marathe, A. R., Ries, A. J., and McDowell, K. (2014). Sliding HDCA: single-trial EEG classification to overcome and quantify temporal variability. IEEE Trans. Neural Syst. Rehabil. Eng. 22, 201–211. doi: 10.1109/TNSRE.2014.2304884
Montemurro, M. A., Senatore, R., and Panzeri, S. (2007). Tight data-robust bounds to mutual information combining shuffling and model selection techniques. Neural Comput. 19, 2913–2957. doi: 10.1162/neco.2007.19.11.2913
Morup, M., Hansen, L. K., and Arnfred, S. M. (2007). ERPWAVELAB: a toolbox for multi-channel analysis of time-frequency transformed event related potentials. J. Neurosci. Methods 161, 361–368. doi: 10.1016/j.jneumeth.2006.11.008
Oostenveld, R., Fries, P., Maris, E., and Schoffelen, J. M. (2011). FieldTrip: open source software for advanced analysis of MEG, EEG, and invasive electrophysiological data. Comput. Intell. Neurosci. 2011, 156869. doi: 10.1155/2011/156869
Optican, L. M., Gawne, T. J., Richmond, B. J., and Joseph, P. J. (1991). Unbiased measures of transmitted information and channel capacity from multivariate neuronal data. Biol. Cybern. 65, 305–310. doi: 10.1007/bf00216963
Pascual-Marqui, R. D., Esslen, M., Kochi, K., and Lehmann, D. (2002). Functional imaging with low-resolution brain electromagnetic tomography (loreta): a review. Methods Find Exp. Clin. Pharmacol. 24(Suppl. C), 91–95.
Percival, D. B., and Walden, A. T. (1993). “Multitaper spectral estimation,” in Spectral Analysis for Physical Applications: Multitaper and Conventional Univariate Techniques (New York, NY: Cambridge University Press), 331–377. doi: 10.1017/cbo9780511622762.010
Pouzat, C., and Chaffiol, A. (2009). Automatic spike train analysis and report generation. an implementation with r, r2html and star. J. Neurosci. Methods 181, 119–144. doi: 10.1016/j.jneumeth.2009.01.037
Quian Quiroga, R., Kreuz, T., and Grassberger, P. (2002). Event synchronization: a simple and fast method to measure synchronicity and time delay patterns. Phys. Rev. E 66:041904. doi: 10.1103/physreve.66.041904
Quian Quiroga, R., Nadasdy, Z., and Ben-Shaul, Y. (2004). Unsupervised spike detection and sorting with wavelets and superparamagnetic clustering. Neural Comput. 16, 1661–1687. doi: 10.1162/089976604774201631
Rautenberg, P. L., Sobolev, A., Herz, A. V., and Wachtler, T. (2011). “A database system for electrophysiological data,” in Transactions on Large-Scale Data- and Knowledge-Centered Systems IV, Volume 6990 of Lecture Notes in Computer Science, eds A. Hameurlain, J. Küng, R. Wagner, C. Böhm, J. Eder, and C. Plant (Berlin; Heidelberg: Springer), 1–14. doi: 10.1007/978-3-642-23740-9_1
Redish, A. D. (2014). MClust free-ware spike sorting. Available online at: http://redishlab.neuroscience.umn.edu/MClust/MClust.html (Accessed 07/01/2016).
Rutishauser, U., Schuman, E. M., and Mamelak, A. N. (2006). Online detection and sorting of extracellularly recorded action potentials in human medial temporal lobe recordings, in vivo. J. Neurosci. Methods 154, 204–224. doi: 10.1016/j.jneumeth.2005.12.033
Rutkowski, T. M., Mandic, D. P., Cichocki, A., and Przybyszewski, A. W. (2010). EMD approach to multichannel eeg data – the amplitude and phase components clustering analysis. J. Circuit. Syst. Comp. 19, 215–229. doi: 10.1142/s0218126610006037
Schröder, S., Cecchetto, C., Keil, S., Mahmud, M., Brose, E., Dogan, O., et al. (2015). “CMOS-compatible purely capacitive interfaces for high-density in-vivo recording from neural tissue,” in Biomedical Circuits and Systems Conference (BioCAS), 2015 (Atlanta, GA: IEEE), 1–4. doi: 10.1109/biocas.2015.7348358
Takekawa, T., Isomura, Y., and Fukai, T. (2012). Spike sorting of heterogeneous neuron types by multimodality-weighted pca and explicit robust variational bayes. Front. Neuroinform. 6:5. doi: 10.3389/fninf.2012.00005
Teeters, J. L., Godfrey, K., Young, R., Dang, C., Friedsam, C., Wark, B., et al. (2015). Neurodata without borders: creating a common data format for neurophysiology. Neuron 88, 629–634. doi: 10.1016/j.neuron.2015.10.025
Thomson, D., and Chave, A. (1991). “Jackknifed error estimates for spectra, coherences, and transfer functions,” in Advances in Spectrum Analysis and Array Processing (Englewood Cliffs, NJ: Prentice-Hall, Inc.), 58–113.
Tripathy, S. J., Savitskaya, J., Burton, S. D., Urban, N. N., and Gerkin, R. C. (2014). Neuroelectro: a window to the world's neuron electrophysiology data. Front. Neuroinform. 8:40. doi: 10.3389/fninf.2014.00040
Tsytsarev, V., Taketani, M., Schottler, F., Tanaka, S., and Hara, M. (2006). A new planar multielectrode array: recording from a rat auditory cortex. J. Neural Eng. 3, 293–298. doi: 10.1088/1741-2560/3/4/006
Vassanelli, S. (2014). “Multielectrode and multitransistor arrays for in vivo recording,” in Nanotechnology and Neuroscience: Nano-electronic, Photonic and Mechanical Neuronal Interfacing, eds M. De Vittorio, L. Martiradonna, and J. Assad (New York, NY: Springer), 239–267. doi: 10.1007/978-1-4899-8038-0_8
Wagenaar, D., DeMarse, T. B., and Potter, S. M. (2005). “MeaBench: a toolset for multi-electrode data acquisition and on-line analysis,” in Proceedings of 2nd International IEEE EMBS Conference on Neural Engineering (Arlington, VA), v–viii. doi: 10.1109/cne.2005.1419673
Weeks, M., Jessop, M., Fletcher, M., Hodge, V., Jackson, T., and Austin, J. (2013). The CARMEN software as a service infrastructure. Philos. Trans. A Math. Phys. Eng. Sci. 371:20120080. doi: 10.1098/rsta.2012.0080
Wilke, C., Ding, L., and He, B. (2008). Estimation of time-varying connectivity patterns through the use of an adaptive directed transfer function. IEEE Trans. Biomed. Eng. 55, 2557–2564. doi: 10.1109/tbme.2008.919885
Keywords: neuroengineering, brain-machine interface, neuronal probes, neuronal signal, neuronal signal processing and analysis, neuronal activity, neuronal spikes, local field potentials
Citation: Mahmud M and Vassanelli S (2016) Processing and Analysis of Multichannel Extracellular Neuronal Signals: State-of-the-Art and Challenges. Front. Neurosci. 10:248. doi: 10.3389/fnins.2016.00248
Received: 29 February 2016; Accepted: 19 May 2016;
Published: 02 June 2016.
Edited by:Michele Giugliano, University of Antwerp, Belgium
Reviewed by:Vassiliy Tsytsarev, University of Maryland School of Medicine, USA
Dimiter Prodanov, IMEC, Belgium
Copyright © 2016 Mahmud and Vassanelli. This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) or licensor are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.