Spike frequency adaptation in the LGMD (Peron and Gabbiani 2009)

 Download zip file 
Help downloading and running models
This model is used in the referenced paper to demonstrate that a model of an SK-like calcium-sensitive potassium (KCa) conductance can replicate the spike frequency adaptation (SFA) of the locust lobula giant movement detector (LGMD) neuron. The model simulates current injection experiments with and without KCa block in the LGMD, as well as visual stimulation experiments with and without KCa block.
1 . Peron S, Gabbiani F (2009) Spike frequency adaptation mediates looming stimulus selectivity in a collision-detecting neuron. Nat Neurosci 12:318-26 [PubMed]
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:
Cell Type(s): Locust Lobula Giant Movement Detector (LGMD) neuron;
Channel(s): I Na,t; I K,Ca; I Calcium; I Krp;
Gap Junctions:
Receptor(s): GabaA; Cholinergic Receptors;
Simulation Environment: MATLAB;
Model Concept(s): Spike Frequency Adaptation; Vision;
Implementer(s): Gabbiani, F; Peron, Simon [perons at janelia.hhmi.org];
Search NeuronDB for information about:  GabaA; Cholinergic Receptors; I Na,t; I K,Ca; I Calcium; I Krp;
% Returns a spontaneous synaptic noise trace as a conductance
%  n_syns_per_input - how many synapses per facet (based on size of synaptic
%                     map vector).
%  single_syn_spontaneous_freq_hz - how often do single syns fire?
%  poss_lambda_single_syn - lambda parameter for spontaneous activity poiss pdf
%  syn_tau - time of peak for alpha function
%  syn_gmax - max conductance of single synapse
%  duration - of simulation
%  dt - time step size
%  synaptic_map_path - which map to use?  not specified -> use default (see code)
function g_syn_of_t = get_synaptic_noise(n_syns_per_input, single_syn_spontaneous_freq_hz, ...
                      poiss_lambda_single_syn, syn_tau, syn_gmax, duration, dt, ...
  % synaptic map -- to determine how many synapses get triggered
  if (exist('synaptic_map_path') == 0)
    synaptic_map_path = 'uniform_synmap.mat'; % The synaptic mapping [cmpt frac az el]
	n_syns = ceil(length(synmap)*n_syns_per_input);

  % --- we derive our synapse timing by using a uniform distribution, with a frequency of
	% ---  n_syns * freq_single_syn -- that is, we want (n_syns*(duration/1000)*single_syn_freq_in_hz)
	timing = unifrnd(0,duration,1,round(n_syns*(duration/1000)*single_syn_spontaneous_freq_hz));
  % --- we want to have a poisson probability distribution for the number of vesicles released
  poiss_scale = poissrnd(poiss_lambda_single_syn,1,length(timing));

	% --- compute the conductance-as-function-of-time
	g_syn_of_t = zeros(1,round(duration/dt)+1);
	for t=0:dt:duration
	  active_idx = find (timing >= t-syn_tau*20 & timing <= t);
		for a = 1:length(active_idx)
		  T = t-timing(active_idx(a));
      S = poiss_scale(active_idx(a));
		  g_syn_of_t(1+round(t/dt)) = g_syn_of_t(1+round(t/dt)) + S*syn_gmax*(T/syn_tau)*exp(1-T/syn_tau);

Loading data, please wait...