Skip to main content

Package for estimation and evaluation of neural models from patch clamp neural recordings.

Project description

fit_neuron is an easy to use python package for the fast estimation of generalized integrate and fire neural models from patch clamp electrophysiological recordings. The optimization routines implements a fitting procedure described in [RB2005] and [MS2011]. The package includes an easy to use interface similar to scikit-learn for fitting models to data and then making predictions with the fitted models. The routines used can estimate the models described in [RB2005], [MN2009], and [MS2011]. As described in depth in the documentation, the subthreshold parameters are estimated using linear regression and the threshold parameters are estimated using maximum likelihood. The fitting routine is built for speed: it estimates neuron parameters for 10 seconds of data in about 50 seconds on a quad core Asus laptop. fit_neuron also contains efficient implementations of the following spike distance measures: Victor-Purpura [DA2003], van Rossum [VR2001], Schreiber [SS2003], and Gamma [RJ2008] which can be used to evaluate the accuracy of estimated models, as well as provide measures of synchrony between spike trains.

Date:

2013-12-28

Version:

0.0.5

Authors:
  • Nicolas D. Jimenez

Dependencies

  1. Numpy

The standard python module for matrix and vector computations: https://pypi.python.org/pypi/numpy.

  1. Scipy

The standard python module for statistical analysis: http://www.scipy.org/install.html.

  1. Matplotlib

The standard python module for data visualization: http://matplotlib.org/users/installing.html.

Installation

The fit_neuron package can be installed as follows:

sudo pip install fit_neuron

The data for the fit_neuron package is then installed as follows:

sudo python -m fit_neuron.data.dl_neuron_data

Testing

There are two testing scripts that may be used. Both scripts are described in the documentation (http://pythonhosted.org/fit_neuron/).

The first script is far simpler and easier to understand but is less configurable:

python -m fit_neuron.tests.test_model

The more complicated and configurable testing script for fit_neuron can be run as follows:

python -m fit_neuron.tests.test

This will create a directory called test_output_figures in the current directory.

Feel free to contact me at nicodjimenez [at] gmail.com if you have any questions / comments.

References

[RB2005] (1,2)

Brette, Romain, and Wulfram Gerstner. “Adaptive exponential integrate-and-fire model as an effective description of neuronal activity.” Journal of neurophysiology 94.5 (2005): 3637-3642.

[MN2009]

Mihalas, Stefan, and Ernst Niebur. “A generalized linear integrate-and-fire neural model produces diverse spiking behaviors.” Neural computation 21.3 (2009): 704-718.

[MS2011] (1,2)

Mensi, Skander, et al. “Parameter extraction and classification of three cortical neuron types reveals two distinct adaptation mechanisms.” Journal of neurophysiology 107.6 (2012): 1756-1775.

[RJ2008]

Jolivet, Renaud, et al. “A benchmark test for a quantitative assessment of simple neuron models.” Journal of neuroscience methods 169.2 (2008): 417-424.

[SS2003]

Schreiber, S., et al. “A new correlation-based measure of spike timing reliability.” Neurocomputing 52 (2003): 925-931.

[VR2001]

van Rossum, Mark CW. “A novel spike distance.” Neural Computation 13.4 (2001): 751-763.

[DA2003]

Aronov, Dmitriy. “Fast algorithm for the metric-space analysis of simultaneous responses of multiple single neurons.” Journal of Neuroscience Methods 124.2 (2003): 175-179.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fit_neuron-0.0.6.tar.gz (32.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page