Response properties of neocort. neurons to temporally modulated noisy inputs (Koendgen et al. 2008)

 Download zip file 
Help downloading and running models
Neocortical neurons are classified by current–frequency relationship. This is a static description and it may be inadequate to interpret neuronal responses to time-varying stimuli. Theoretical studies (Brunel et al., 2001; Fourcaud-Trocmé et al. 2003; Fourcaud-Trocmé and Brunel 2005; Naundorf et al. 2005) suggested that single-cell dynamical response properties are necessary to interpret ensemble responses to fast input transients. Further, it was shown that input-noise linearizes and boosts the response bandwidth, and that the interplay between the barrage of noisy synaptic currents and the spike-initiation mechanisms determine the dynamical properties of the firing rate. In order to allow a reader to explore such simulations, we prepared a simple NEURON implementation of the experiments performed in Köndgen et al., 2008 (see also Fourcaud-Trocmé al. 2003; Fourcaud-Trocmé and Brunel 2005). In addition, we provide sample MATLAB routines for exploring the sandwich model proposed in Köndgen et al., 2008, employing a simple frequdency-domain filtering. The simulations and the MATLAB routines are based on the linear response properties of layer 5 pyramidal cells estimated by injecting a superposition of a small-amplitude sinusoidal wave and a background noise, as in Köndgen et al., 2008.
1 . Koendgen H, Geisler C, Wang XJ, Fusi S, Luescher HR, Giugliano M (2004) The dynamical response of single cells to noisy time-varying currents Soc Neurosci Abstr :640
2 . Köndgen H, Geisler C, Fusi S, Wang XJ, Lüscher HR, Giugliano M (2008) The dynamical response properties of neocortical neurons to temporally modulated noisy inputs in vitro. Cereb Cortex 18:2086-97 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Axon;
Brain Region(s)/Organism: Neocortex;
Cell Type(s): Neocortex L5/6 pyramidal GLU cell; Abstract Wang-Buzsaki neuron;
Channel(s): I Na,t; I K;
Gap Junctions:
Simulation Environment: NEURON; MATLAB;
Model Concept(s): Parameter Fitting; Methods; Rate-coding model neurons;
Implementer(s): Giugliano, Michele [mgiugliano at]; Delattre, Vincent;
Search NeuronDB for information about:  Neocortex L5/6 pyramidal GLU cell; I Na,t; I K;
function y = model(x)
% This assumes that the following data structures are declared as global vars: 
% time  --> a vector containing the time axis (e.g. time = 0:dt:Tmax, in [s]
% pars  --> a vector or parameters
% Nz    --> the number of parameters called zeros
% Np    --> the number of parameters called poles
% The function expects as input 
% a vector, same size of time, containing the input waveform to the 'model'

global time;                    % time axis is a global var..
global pars Nz Np;              % such as the model-fit parameters, and their number

N      = length(time);          % Total number of samples is determined..
dt     = time(2) - time(1);     % the sampling interval is determined.. [s]
omega  = 1./(N*dt);             % The sampling intervalin the frequency domain is determined [Hz]..
f      = omega*(0:(N-1))';      % The frequency-axis is generated here..

xx  = (x - mean(x))/1000.;      % Preprocessing of the input waveform
                                % i.e. removing its offset and rescaling
                                % This is of course equivalent to rescaling
                                % the zero-frequency gain of the 'model'
                                % It was used here for convenience.
%---------------  STATIC NON-LINEARITY is defined here --------------------
xx  = (xx - pars(1));
xx  = pars(2) * (1./ (1 + exp(-xx * pars(3))));

% Our convention here is that 'pars' contains a total of (Nz+Np+2) + 1 pars 
% The first 4 elements of 'pars' defines the sigmoid (see above)
% then the 5th element is the DC-gain, the 6th is the fixed time-delay
% From the 7th element on, Nz zeros are indicated and Np poles follow..

pars(6) = abs(mod(pars(6),0.1));    % Let's check that the delay is > 0
                                    % and that its step increase is 0.1 

NUM = 1;                            % I will use NUM and DEN to 'accumulate'
DEN = 1;                            % the filter, in the frequency domain
G   = 1;                            % See the definition in the Fourier..
FF  = zeros(size(f)) + sqrt(-1) * f;% FF = j * f

if (Nz > 0), for h=7:(Nz+7-1),          
        NUM = NUM .* (FF + pars(h));
        G   = G    * (+pars(h));    
end; end;
% i.e.
% NUM = (j*f + zero_1) * (j*f + zero_2) * ....
if (Np > 0), for h=(Nz+7-1+1):(Nz+Np+7-2+1),
        DEN = DEN .* (FF + pars(h));
        G   = G    * (+1./pars(h)); 
end; end;
% i.e.
% DEN = (j*f + pole_1) * (j*f + pole_2) * ....

PHASELAG = - f * pars(6);   % Constant time-delay <=> linear frequency phase
% i.e.     (j*f + zero_1) * (j*f + zero_2) * .... * (1/zero_1)*(1/zero_2)*..
%          ----------------------------------------------------------------
%          (j*f + pole_1) * (j*f + pole_2) * .... * (1/pole_1)*(1/pole_2)*..
T        = (pars(5)/G) * NUM ./ DEN;     
mT       = abs(T);       
pT       = angle(T);;

% In order to anti-transform and go back to the time-domain, I need to
% respect the Hilbert-symmetry for real signals..
k1 = 2;
k2 = N/2;
k3 = N;
mT((k1+k2):N) =  mT(k2:-1:k1);
pT((k1+k2):N) = -pT(k2:-1:k1);
PHASELAG((k1+k2):N) = - PHASELAG(k2:-1:k1);

% Finally the filter (in the Fourier Domain)
T = mT .* exp(sqrt(-1) * (pT+PHASELAG));

tmp = fft(xx) .* T;             % I/O Filtering in the frequency-domain is here!
y   = real(ifft(tmp));          % Let's go back to the time-domain

y   = y + pars(4);              % Last addition to the model (the DC level)

Loading data, please wait...