Open-Source Tools for Processing and Analysis of In Vitro Extracellular Neuronal Signals

  • Mufti MahmudEmail author
  • Stefano Vassanelli
Part of the Advances in Neurobiology book series (NEUROBIOL, volume 22)


The recent years have seen unprecedented growth in the manufacturing of neurotechnological tools. The latest technological advancements presented the neuroscientific community with neuronal probes containing thousands of recording sites. These next-generation probes are capable of simultaneously recording neuronal signals from a large number of channels. Numerically, a simple 128-channel neuronal data acquisition system equipped with a 16 bits A/D converter digitizing the acquired analog waveforms at a sampling frequency of 20 kHz will generate approximately 17 GB uncompressed data per hour. Today’s biggest challenge is to mine this staggering amount of data and find useful information which can later be used in decoding brain functions, diagnosing diseases, and devising treatments. To this goal, many automated processing and analysis tools have been developed and reported in the literature. A good amount of them are also available as open source for others to adapt them to individual needs. Focusing on extracellularly recorded neuronal signals in vitro, this chapter provides an overview of the popular open-source tools applicable on these signals for spike trains and local field potentials analysis, and spike sorting. Towards the end, several future research directions have also been outlined.


Neuroengineering Neuronal activity Neuronal spikes Local field potentials Neuronal signal processing and analysis 


  1. Barnett, L., & Seth, A. K. (2014). The MVGC multivariate Granger causality toolbox: A new approach to Granger-causal inference. Journal of Neuroscience Methods, 223, 50–68.PubMedCrossRefGoogle Scholar
  2. Blatt, M., Wiseman, S., & Domany, E. (1996 April). Superparamagnetic clustering of data. Physical Review Letters, 76, 3251–3254.PubMedCrossRefGoogle Scholar
  3. Bokil, H., Andrews, P., Kulkarni, J. E., Mehta, S., & Mitra, P. P. (2010). Chronux: A platform for analyzing neural signals. Journal of Neuroscience Methods, 192(1), 146–151.PubMedPubMedCentralCrossRefGoogle Scholar
  4. Bongard, M., Micol, D., & Fernandez, E. (2014). NEV2lkit: A new open source tool for handling neuronal event files from multi-electrode recordings. International Journal of Neural Systems, 24(4), 1450009.PubMedCrossRefGoogle Scholar
  5. Bonomini, M. P., Ferrandez, J. M., Bolea, J. A., & Fernandez, E. (2005). DATA-MEAns: An open source tool for the classification and management of neural ensemble recordings. Journal of Neuroscience Methods, 148(2):137–146.PubMedCrossRefGoogle Scholar
  6. Cajigas, I., Malik, W. Q., & Brown, E. N. (2012). nSTAT: Open-source neural spike train analysis toolbox for Matlab. Journal of Neuroscience Methods, 211(2), 245–264.PubMedPubMedCentralCrossRefGoogle Scholar
  7. Celeux, G., & Govaert, G. (1992). A classification EM algorithm for clustering and two stochastic versions. Computational Statistics and Data Analysis, 14(3), 315–332.CrossRefGoogle Scholar
  8. Chao, A., & Shen, T. J. (2003). Nonparametric estimation of Shannon’s index of diversity when there are unseen species in sample. Environmental and Ecological Statistics, 10(4), 429–443.CrossRefGoogle Scholar
  9. Cleveland, W. S. (1979), Robust locally weighted regression and smoothing scatterplots. Journal of the American Statistical Association, 74(368), 829–836.CrossRefGoogle Scholar
  10. Cover, T., & Hart, P. (1967). Nearest neighbor pattern classification. IEEE Transactions on Information Theory, 13(1), 21–27.CrossRefGoogle Scholar
  11. Cui, J., Xu, L., Bressler, S. L., Ding, M., & Liang, H. (2008). BSMART: A Matlab/C toolbox for analysis of multichannel neural time series. Neural Networks, 21(8), 1094–1104.PubMedPubMedCentralCrossRefGoogle Scholar
  12. Fee, M. S., Mitra, P. P., & Kleinfeld, D. (1996). Automatic sorting of multiple unit neuronal signals in the presence of anisotropic and non-Gaussian variability. Journal of Neuroscience Methods, 69(2), 175–188.PubMedCrossRefGoogle Scholar
  13. Fukunaga, K., & Hostetler, L. (1975). The estimation of the gradient of a density function, with applications in pattern recognition. IEEE Transactions on Information Theory, 21(1), 32–40.CrossRefGoogle Scholar
  14. Goldberg, D., Victor, J., Gardner, E., & Gardner, D. (2009). Spike train analysis toolkit: Enabling wider application of information–theoretic techniques to neurophysiology. Neuroinformatics, 7, 165–178.PubMedPubMedCentralCrossRefGoogle Scholar
  15. Granger, C. W. J. (1969). Investigating causal relations by econometric models and cross-spectral methods. Econometrica, 37(3), 424–438.CrossRefGoogle Scholar
  16. Gunay, C., Edgerton, J., Li, S., Sangrey, T., Prinz, A., & Jaeger, D. (2009). Database analysis of simulated and recorded electrophysiological datasets with PANDORA’s toolbox. Neuroinformatics, 7, 93–111.PubMedPubMedCentralCrossRefGoogle Scholar
  17. Harris, K. D., Henze, D. A., Csicsvari, J., Hirase, H., & Buzsaki, G. (2000). Accuracy of tetrode spike separation as determined by simultaneous intracellular and extracellular measurements. Journal of Neurophysiology, 84(1), 401–414.PubMedCrossRefGoogle Scholar
  18. Hazan, L., Zugaro, M., & Buzsaki, G. (2006). Klusters, NeuroScope, NDManager: A free software suite for neurophysiological data processing and visualization. Journal of Neuroscience Methods 155, 207–316.PubMedCrossRefGoogle Scholar
  19. Hill, D. N., Mehta, S. B., & Kleinfeld, D. (2011). Quality metrics to accompany spike sorting of extracellular signals. The Journal of Neuroscience, 31(24), 8699–8705.PubMedPubMedCentralCrossRefGoogle Scholar
  20. Johnson, D. H., & Sinanovic, S. (2001). Symmetrizing the Kullback-Leibler distance. Available from: Accessed 15 April 2016.Google Scholar
  21. Jun, J. J., Steinmetz, N. A., Siegle, J. H., Denman, D. J., Bauza, M., Barbarits, B., et al. (2017 November). Fully integrated silicon probes for high-density recording of neural activity. Nature, 551(7679), 232–236.PubMedPubMedCentralCrossRefGoogle Scholar
  22. Kadir, S. N., Goodman, D. F., & Harris, K. D. (2014). High-dimensional cluster analysis with the masked EM algorithm. Neural Computation, 26(11), 2379–2394.PubMedPubMedCentralCrossRefGoogle Scholar
  23. Kullback, S., & Leibler, R. A. (1951). On information and sufficiency. Annals of Mathematical Statistics, 22(1), 79–86. Available from: Scholar
  24. Levinson, N. (1946). The wiener (root mean square) error criterion in filter design and prediction. Journal of Mathematical Physics, 25(1–4), 261–278.CrossRefGoogle Scholar
  25. Lidierth, M. (2009). sigTOOL: A Matlab-based environment for sharing laboratory-developed software to analyze biological signals. Journal of Neuroscience Methods, 178, 188–196.PubMedCrossRefGoogle Scholar
  26. Liu, X. Q., Wu, X., & Liu, C. (2011). SPKtool: An open source toolbox for electrophysiological data processing. In International Conference on Biomedical Engineering and Informatics, BMEI 2011 (Vol. 2, pp. 854–857).Google Scholar
  27. Loader, C. (1999). Local regression and likelihood. New York: Springer.Google Scholar
  28. Ma, S. k. (1981). Calculation of entropy from data of motion. Journal of Statistical Physics, 26(2), 221–240.CrossRefGoogle Scholar
  29. MacQueen, J. (1967). Some methods for classification and analysis of multivariate observations. In Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, 1965/66(1), 281–297.Google Scholar
  30. Magri, C., Whittingstall, K., Singh, V., Logothetis, N., & Panzeri, S. (2009). A toolbox for the fast information analysis of multiple-site LFP, EEG and spike train recordings. BMC Neuroscience, 10(1), 81.PubMedPubMedCentralCrossRefGoogle Scholar
  31. Mahmud, M., Bertoldo, A., Girardi, S., Maschietto, M., & Vassanelli, S. (2012a). SigMate: A Matlab-based automated tool for extracellular neuronal signal processing and analysis. Journal of Neuroscience Methods, 207(1), 97–112.PubMedCrossRefGoogle Scholar
  32. Mahmud, M., Bertoldo, A., Maschietto, M., Girardi, S., & Vassanelli, S. (2010). Automatic detection of layer activation order in information processing pathways of rat barrel cortex under mechanical whisker stimulation. In Conference Proceedings: Annual International Conference of the IEEE Engineering in Medicine and Biology Society, 2010 (6095–6098).Google Scholar
  33. Mahmud, M., Cecchetto, C., Maschietto, M., Thewes, R., & Vassanelli, S. (2017). Towards high-resolution brain-chip interface and automated analysis of multichannel neuronal signals. In 2017 IEEE Region 10 Humanitarian Technology Conference (R10-HTC) (pp. 868–872).Google Scholar
  34. Mahmud, M., Cecchetto, C., & Vassanelli, S. (2016). An automated method for characterization of evoked single-trial local field potentials recorded from rat barrel cortex under mechanical whisker stimulation. Cognitive Computation, 8(5), 935–945.CrossRefGoogle Scholar
  35. Mahmud, M., Kaiser, M. S., Hussain, A., & Vassanelli, S. (2018). Applications of deep learning and reinforcement learning to biological data. IEEE Transactions on Neural Networks Learning Systems, 29(6), 1–17. [Epub ahead of print].CrossRefGoogle Scholar
  36. Mahmud, M., Kaiser, M. S., Rahman, M. M., Rahman, M. A., Shabut, A., Al-Mamun, S., et al. (2018). A brain-inspired trust management model to assure security in a cloud based IoT framework for neuroscience applications. Cognitive Computation, 10(5), 864–873. [Epub ahead of print].CrossRefGoogle Scholar
  37. Mahmud, M., Pasqualotto, E., Bertoldo, A., Girardi, S., Maschietto, M., & Vassanelli, S. (2011). An automated method for detection of layer activation order in information processing pathway of rat barrel cortex under mechanical whisker stimulation. Journal of Neuroscience Methods, 196(1), 141–150.PubMedCrossRefGoogle Scholar
  38. Mahmud, M., Pulizzi, R., Vasilaki, E., & Giugliano, M. (2014). QSpike tools: A generic framework for parallel batch preprocessing of extracellular neuronal signals recorded by substrate microelectrode arrays. Frontiers in Neuroinformatics, 8, 26.PubMedPubMedCentralCrossRefGoogle Scholar
  39. Mahmud, M., Rahman, M. M., Travalin, D., Raif, P., & Hussain, A. (2012b). Service oriented architecture based web application model for collaborative biomedical signal analysis. Biomedizinische Technik. Biomedical Engineering, 57(Suppl 1), 780–783.Google Scholar
  40. Mahmud, M., Travalin, D., Bertoldo, A., Girardi, S., Maschietto, M., & Vassanelli, S. (2012c). An automated classification method for single sweep local field potentials recorded from rat barrel cortex under mechanical whisker stimulation. Journal of Medical and Biological Engineering, 32(6), 397–404.CrossRefGoogle Scholar
  41. Mahmud, M., & Vassanelli, S. (2016). Processing and analysis of multichannel extracellular neuronal signals: State-of-the-art and challenges. Frontiers in Neuroscience, 10(Jun), 248.PubMedPubMedCentralGoogle Scholar
  42. Meier, R., Egert, U., Aertsen, A., & Nawrot, M. P. (2008). FIND – A unified framework for neural data analysis. Neural Networks, 21(8):1085–1093.PubMedCrossRefGoogle Scholar
  43. Misra, N., Singh, H., & Demchuk, E. (2005). Estimation of the entropy of a multivariate normal distribution. Journal of Multivariate Analysis, 92(2), 324–342.CrossRefGoogle Scholar
  44. Montemurro, M. A., Senatore, R., & Panzeri, S. (2007). Tight data-robust bounds to mutual information combining shuffling and model selection techniques. Neural Computation, 19(11), 2913–2957.PubMedCrossRefGoogle Scholar
  45. Nawrot, P. M., Aertsen, A., & Rotter, S. (2003). Elimination of response latency variability in neuronal spike trains. Biological Cybernetics, 88(5), 321–334.PubMedCrossRefGoogle Scholar
  46. Optican, L. M., Gawne, T. J., Richmond, B. J., & Joseph, P. J. (1991). Unbiased measures of transmitted information and channel capacity from multivariate neuronal data. Biological Cybernetics, 65(5), 305–310.PubMedCrossRefGoogle Scholar
  47. Pachitariu, M., Steinmetz, N. A., Kadir, S. N., Carandini, M., & Harris, K. D. (2016). Fast and accurate spike sorting of high-channel count probes with KiloSort. In D. D. Lee, M. Sugiyama, U. V. Luxburg, I. Guyon, & R. Garnett (Eds.), Advances in Neural Information Processing Systems 29 (pp. 4448–4456). Red Hook: Curran Associates, Inc.Google Scholar
  48. Paninski, L. (2003). Estimation of entropy and mutual information. Neural Computation, 15(6), 1191–1253.CrossRefGoogle Scholar
  49. Paninski, L., Pillow, J., & Lewi, J. (2007). Statistical models for neural encoding, decoding, and optimal stimulus design. Progress in Brain Research, 165, 493–507.PubMedCrossRefGoogle Scholar
  50. Panzeri, S., & Treves, A. (1996). Analytical estimates of limited sampling biases in different information measures. Network: Computation in Neural Systems, 7(1), 87–107.Google Scholar
  51. Pastore, V. P., Godjoski, A., Martinoia, S., & Massobrio, P. (2018). SpiCoDyn: A toolbox for the analysis of neuronal network dynamics and connectivity from multi-site spike signal recordings. Neuroinform, 16(1), 15–30.CrossRefGoogle Scholar
  52. Pastore, V. P., Poli, D., Godjoski, A., Martinoia, S., & Massobrio, P. (2016). ToolConnect: A functional connectivity toolbox for in vitro networks. Frontiers in Neuroinformatics, 10, 13.PubMedPubMedCentralCrossRefGoogle Scholar
  53. Pouzat, C., & Chaffiol, A. (2009). Automatic spike train analysis and report generation. An implementation with R, R2HTML and STAR. Journal of Neuroscience Methods, 181(1), 119–144.PubMedCrossRefGoogle Scholar
  54. Quian Quiroga, R., Kreuz, T., & Grassberger, P. (2002 October). Event synchronization: A simple and fast method to measure synchronicity and time delay patterns. Physical Review E, 66, 041904.CrossRefGoogle Scholar
  55. Quian Quiroga, R., Nadasdy, Z., & Ben-Shaul, Y. (2004). Unsupervised spike detection and sorting with wavelets and superparamagnetic clustering. Neural Computation, 16(8), 1661–1687.PubMedCrossRefGoogle Scholar
  56. Redish, A. D. (2014). MClust Free-ware spike sorting. Available from: Accessed 07 January 2016.Google Scholar
  57. Rey, H. G., Pedreira, C., & Quian Quiroga, R. (2015). Past, present and future of spike sorting techniques. Brain Research Bulletin, 119(Pt B), 106–117.Google Scholar
  58. Rossant, C., Kadir, S. N., Goodman, D. F., Schulman, J., Hunter, M. L., Saleem, A. B., et al. (2016). Spike sorting for large, dense electrode arrays. Nature Neuroscience, 19(4), 634–641.PubMedPubMedCentralCrossRefGoogle Scholar
  59. Rutishauser, U., Schuman, E. M., & Mamelak, A. N. (2006). Online detection and sorting of extracellularly recorded action potentials in human medial temporal lobe recordings, in vivo. Journal of Neuroscience Methods, 154(1–2), 204–224.PubMedCrossRefGoogle Scholar
  60. Savitzky, A., & Golay, M. J. E. (1964 July). Smoothing and differentiation of data by simplified least squares procedures. Analytical Chemistry, 36(8), 1627–1639.CrossRefGoogle Scholar
  61. 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 Proceedings of 2015 IEEE Biomedical Circuits and Systems Conference (BioCAS) (pp. 1–4).Google Scholar
  62. Spacek, M., Blanche, T., & Swindale, N. (2009). Python for large-scale electrophysiology. Front Neuroinform, 2, 9.PubMedPubMedCentralGoogle Scholar
  63. Strong, S. P., Koberle, R., de Ruyter van Steveninck, R. R., & Bialek, W. (1998 Janaury). Entropy and information in neural spike trains. Physical Review Letters, 80, 197–200.CrossRefGoogle Scholar
  64. Swindale, N. V., & Spacek, M. A. (2014). Spike sorting for polytrodes: A divide and conquer approach. Frontiers in Systems Neuroscience, 8(6).Google Scholar
  65. Takekawa, T., Isomura, Y., & Fukai, T. (2012). Spike sorting of heterogeneous neuron types by multimodality-weighted PCA and explicit robust variational Bayes. Frontiers in Neuroinformatics, 6, 5.PubMedPubMedCentralCrossRefGoogle Scholar
  66. Tanskanen, J. M. A., Kapucu, F. E., & Hyttinen, J. A. K. (2018). A line of MEA signal analysis methods for human stem cell-derived and other dynamic neuronal cultures. Frontiers in Cellular Neuroscience, 20.
  67. Thewes, R., Bertotti, G., Dodel, N., Keil, S., Schroder, S., Boven, K. H., et al. (2016). Neural tissue and brain interfacing CMOS devices – An introduction to state-of-the-art, current and future challenges. In Proceedings of the IEEE International Symposium on Circuits and Systems (Vol. 2016-July, pp. 1826–1829).Google Scholar
  68. Thomson, D. J. (1982). Spectrum estimation and harmonic analysis. Proceedings of the IEEE, 70(9), 1055–1096.CrossRefGoogle Scholar
  69. Thomson, D. J., & Chave, A. D. (1991). Jackknifed error estimates for spectra, coherences, and transfer functions. In Advances in Spectrum Analysis and Array Processing (pp. 58–113), Upper Saddle River, NJ: Prentice-Hall.Google Scholar
  70. Treves, A., & Panzeri, S. (1995). The upward bias in measures of information derived from limited data samples. Neural Computation, 7(2), 399–407.CrossRefGoogle Scholar
  71. Vassanelli, S. (2011). Brain-chip interfaces: The present and the future. Procedia Computer Science, 7, 61–64.CrossRefGoogle Scholar
  72. Vassanelli, S. (2014). Multielectrode and multitransistor arrays for in vivo recording. In M. De Vittorio, L. Martiradonna, & J. Assad (Eds.), Nanotechnology and Neuroscience: Nano-electronic, Photonic and Mechanical Neuronal Interfacing (pp. 239–267). Springer: New York.CrossRefGoogle Scholar
  73. Vassanelli, S., Felderer, F., Mahmud, M., Maschietto, M., & Girardi, S. (2012a). CyberRat probes: High-resolution biohybrid devices for probing the brain. In Living Machines 2012: Biomimetic and Biohybrid Systems. LNAI (Vol. 7375, pp. 274–285).Google Scholar
  74. Vassanelli, S., & Mahmud, M. (2016). Trends and challenges in neuroengineering: Toward “intelligent” neuroprostheses through brain-“brain inspired systems” communication. Frontiers in Neuroscience, 10(Sep), 438.PubMedPubMedCentralGoogle Scholar
  75. Vassanelli, S., Mahmud, M., Girardi, S., & Maschietto, M. (2012b). On the way to large-scale and high-resolution brain-chip interfacing. Cognitive Computation, 4(1), 71–81.CrossRefGoogle Scholar
  76. Victor, J. D. (2002 November). Binless strategies for estimation of information from neural data. Physical Review E, 66, 051903.CrossRefGoogle Scholar
  77. Victor, J. D., & Purpura, K. P. (1997). Metric-space analysis of spike trains: Theory, algorithms and application. Network: Computation in Neural Systems, 8(2), 127–164.CrossRefGoogle Scholar
  78. Wagenaar, D., DeMarse, T. B., & Potter, S. M. (2005). MeaBench: A toolset for multi-electrode data acquisition and on-line analysis. In Proceedings of the 2nd International IEEE EMBS Conference on Neural Engineering (pp. v–viii).Google Scholar
  79. Wolpert, D. H., & Wolf, D. R. (1995 December). Estimating functions of probability distributions from a finite set of samples. Physical Review E, 52, 6841–6854.CrossRefGoogle Scholar
  80. Yger, P., Spampinato, G. L., Esposito, E., Lefebvre, B., Deny, S., Gardella, C., et al. (2018). A spike sorting toolbox for up to thousands of electrodes validated with ground truth recordings in vitro and in vivo. eLIFE, 7, e34518.PubMedPubMedCentralCrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Computing and Technology, School of Science and TechnologyNottingham Trent UniversityNottinghamUK
  2. 2.NeuroChip Lab, Department of Biomedical SciencesUniversity of PadovaPadovaItaly

Personalised recommendations