Extraction and classification of three cortical neuron types (Mensi et al. 2012)

 Download zip file 
Help downloading and running models
This script proposes a new convex fitting procedure that allows the parameters estimation of a large class of stochastic Integrate-and-Fire model upgraded with spike-triggered current and moving threshold from patch-clamp experiments (i.e. given the injected current and the recorded membrane potential). This script applies the method described in the paper to estimate the parameters of a reference model from a single voltage trace and the corresponding input current and evaluate the performance of the fitted model on a separated test set.
1 . Mensi S, Naud R, Pozzorini C, Avermann M, Petersen CC, Gerstner W (2012) Parameter extraction and classification of three cortical neuron types reveals two distinct adaptation mechanisms. J Neurophysiol 107:1756-75 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism: Neocortex;
Cell Type(s): Hippocampus CA1 pyramidal GLU cell; Hippocampus CA3 pyramidal GLU cell; Neocortex fast spiking (FS) interneuron; Neocortex spiking regular (RS) neuron;
Gap Junctions:
Simulation Environment: MATLAB;
Model Concept(s):
Implementer(s): Mensi, Skander [skander.mensi at epfl.ch];
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; Hippocampus CA3 pyramidal GLU cell;
function [output] = inprod_gamma(x,y,delta)
%   Compute inner product Gamma with replacement according to
%   <X,Y> = int_{0}^{T} int_{-inf}^{inf} int_{-inf}^{inf} ...
%   K_{Delta}(s,s')X(t-s)Y(t-s')dsds'dt
%   with K_{Delta}(s,s') = the coincidence detector windows (i.e a rect)
%   Here we have:
%   K_{Delta}(s,s') = dirac(s)h_{r}(s';Delta)
%   h_{r}(s;Delta) = Heaviside(s-Delta)Heaviside(Delta-s)
%   X and Y are N-dimensionnal vectors

filt = ones((2*delta)+1,1);

x1 = fftfilt(filt,[x zeros(1,length(filt))]);
x1 = x1(delta+1:end); x1 = x1(1:length(x));
output = sum(x1.*y);