Coder Social home page Coder Social logo

nicodjimenez / fit_neuron Goto Github PK

View Code? Open in Web Editor NEW
18.0 5.0 11.0 407 KB

A neuroscience python package for the estimation and evaluation of neural models from patch clamp neural recordings, including a library of spike distance metrics..

Python 99.56% Shell 0.44%

fit_neuron's Introduction

fit_neuron

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

Links

  1. Pypi

The latest stable version is available to download at: https://pypi.python.org/pypi/fit_neuron.

  1. GitHub

The latest development version is available at: https://github.com/nicodjimenez/fit_neuron. All relevant contributions are welcome and fast review of pull requests is guaranteed.

  1. Documentation

Sphinx documentation for this package is available at: http://pythonhosted.org/fit_neuron/.

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

Warning

Running this script for the first time will download a 300 MB zip file containing test recordings which is then unzipped to over 1 GB of text files in the installation directory of the fit_neuron package. This may take up to 20 minutes depending on your bandwidth. After the files are downloaded, the test data will be easily accessible via the fit_neuron.data package.

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.

fit_neuron's People

Contributors

nicodjimenez avatar physicalist avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

fit_neuron's Issues

pip install does not include models folder

Hi,

I was interested in using fit_neuron's evaluate functions to calculate some spike metrics. When I installed it using pip it did not include the models folder, which makes import fit_neuron fail. The .tar.gz also does not include the models folder. The models folder is included on the Github page, though.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.