Coincidence detection in MSO principal cells (Goldwyn et al. 2019)

 Download zip file 
Help downloading and running models
Accession:266961
How a particular combination of anatomical and biophysical properties results in a short integration window (good for detection of closely-coincident inputs) while also enabling efficient axonal firing with brief interspike intervals (needed to faithfully report a series of coincidences between high frequency presynaptic spike trains).
Reference:
1 . Goldwyn JH, Remme MWH, Rinzel J (2019) Soma-axon coupling configurations that enhance neuronal coincidence detection. PLoS Comput Biol 15:e1006476 [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: Auditory brainstem;
Cell Type(s): Medial Superior Olive (MSO) cell;
Channel(s): I Sodium; I_KLT;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: MATLAB;
Model Concept(s): Coincidence Detection; Synaptic Integration; Two-port analysis of electrotonus; Voltage transfer ratio; Equivalent PI circuit; Excitability;
Implementer(s): Goldwyn, Joshua [jhgoldwyn at gmail.com];
Search NeuronDB for information about:  I Sodium; I_KLT;
/
TwoCompartmentModel-master
ReadMe.md
CarneyModel.m
EasyRun.m
getParam.m
LICENSE *
passiveParamFig.m
ResponseToAN.m
ResponseToEPSGpair.m
ResponseToRamp.m
ResponseToStep.m
TwoCptAN_func.m
TwoCptANode.m
TwoCptODE.m
                            
% Carney AN model    
function [pin,ANOut] = CarneyModel(ANstruct,itd)

% NOTE: mex code for Zilany-Carney 2009 model must be compiled in path for matlab

% Read parameters from input structure
tEnd = ANstruct.tEnd;
stimdb = ANstruct.stimdb;

% model fiber parameters
CF    = ANstruct.CF; % CF in Hz;   
cohc  = 1.0;   % normal ohc function
cihc  = 1.0;   % normal ihc function
fiberType = 2; % spontaneous rate (in spikes/s) of the fiber BEFORE refractory effects; "1" = Low; "2" = Medium; "3" = High
implnt = 0;    % "0" for approximate or "1" for actual implementation of the power-law functions in the Synapse

% stimulus parameters
Fs = 100e3;   % sampling rate in Hz (must be 100, 200 or 500 kHz)
T = tEnd*1E-3;% stimulus duration
rt = 1e-3;    % rise/fall time in seconds

% PSTH parameters
nrep = ANstruct.nAN;% number of AN fibers

t = 0:1/Fs:T-1/Fs; % time vector (s)
mxpts = length(t);
irpts = rt*Fs;  % Ramping parameter

% Stimulus
r = ANstruct.Stim;
pin = sqrt(2)*20e-6*10^(stimdb/20)*r(t);

% Ramp
pin(1:irpts)=pin(1:irpts).*(0:(irpts-1))/irpts; 
pin((mxpts-irpts):mxpts)=pin((mxpts-irpts):mxpts).*(irpts:-1:0)/irpts;

% Shift by ITD amount
itdShift = max(find(t<itd*1E-3));
pin(itdShift+1:end) = pin(1:end-itdShift);
pin(1:itdShift) = 0;

species = 1; % cat
vihc = model_IHC(pin,CF,nrep,1/Fs,T*2,cohc,cihc,species); 

noiseType = 1;  % 1 for variable fGn (0 for fixed fGn)
[~,~,psth] = model_Synapse(vihc,CF,nrep,1/Fs,fiberType,noiseType,implnt); 

timeout = (1:length(psth))*1/Fs;

% For spike input to MSO model
FindSpike = find(psth>0);
ANOut(1,:) = timeout(FindSpike);
ANOut(2,:) = psth(FindSpike);

[~,s2] = sort(ANOut(1,:));
if ~isempty(s2)
    ANOut(1,:) = ANOut(1,s2);
    ANOut(2,:) = ANOut(2,s2);
end