Gap junction coupled network of striatal fast spiking interneurons (Hjorth et al. 2009)

 Download zip file 
Help downloading and running models
Accession:118389
Gap junctions between striatal FS neurons has very weak ability to synchronise spiking. Input uncorrelated between neighbouring neurons is shunted, while correlated input is not.
Reference:
1 . Hjorth J, Blackwell KT, Kotaleski JH (2009) Gap junctions between striatal fast-spiking interneurons regulate spiking activity and synchronization as a function of cortical activity. J Neurosci 29:5276-86 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Neuron or other electrically excitable cell; Synapse; Channel/Receptor; Dendrite;
Brain Region(s)/Organism: Basal ganglia;
Cell Type(s): Neostriatum fast spiking interneuron;
Channel(s): I A; I_K,Na;
Gap Junctions: Gap junctions;
Receptor(s):
Gene(s):
Transmitter(s): Gaba; Glutamate;
Simulation Environment: GENESIS; MATLAB;
Model Concept(s): Activity Patterns; Ion Channel Kinetics; Synchronization; Detailed Neuronal Models;
Implementer(s): Hjorth, Johannes [hjorth at csc.kth.se];
Search NeuronDB for information about:  I A; I_K,Na; Gaba; Glutamate;
/
FSGJ_Hjorth2009
matlabScripts
checkAllEqual.m *
correlationByDuplicationOfSpikes.m
correlationByJitteringOfSpikes.m
countSpikesWithNumNeighbourSpikes.m
findSpikes.m *
gaussJitterInputKeepCorr.m
makeAllExternalInputAllUpstate.m
makeDaughterInsignal.m
makeDaughterNoise.m *
makeFSconnectionMatrixOnlyPrimWrappedSetNGJ.m
makeFSconnectionMatrixOnlySecWrappedSetNGJ.m
makeFSMorph.m
makeFSrandomNetwork.m *
makeInputWithCorrShift.m
makeInputWithCorrShift125center.m
makeSCCCplot.m
makeTrainInsignal.m
makeTrainNoise.m *
mixTwoTrainsKeepCorr.m
poissonMaxTime.m *
showFSnetwork.m
writeCurrentInputInfo.m
writeInput.m *
writeParameters.m
                            
% spikeTimes = spike times matrix, one input train per column
% dJit = std deviation of gauss distribution used
%
% The purpose of this function is to preserve the correlation
% needed in the JHK FS cell model to get the correct number of
% spikes, rise time and other dynamics.
%

function spikeOut = gaussJitterInputKeepCorr(spikeTimes, dJit, maxTime)

% Tanken med koden är att efter jittringen ska tidigare synkrona
% spikar fortfarande vara synkrona. Det ordnas genom att alla
% sorteras, sedan skapas en jittringsvektor som ser till att
% detta är uppfyllt. Därefter adderas denna jittringsvektorn
% till de osorterade ursprungstiderna, det fina är att jittringen
% permuteras så att alla kommer på rätt plats.


spikeOut = spikeTimes;

[r,c] = size(spikeTimes);

% Ugly fix to handle that all x(:) of a row vector returns a row
% vector, where all other y(:) returns a column vector.
if(r == 1)
  spikeTimes = spikeTimes';
end

[st,si] = sort(spikeTimes(:));

tJit = zeros(size(st));

dt = dJit*randn(1);
tJit(1) = dt; 

for i=2:length(st)
  if(st(i) ~= st(i-1))
    dt = dJit*randn(1);
  end

  tJit(i) = dt;
    
end

spikeOut(si) = spikeTimes(si) + tJit;

% Only sort by column if we have more than 1 row, for a row vector the
% sorting will result in the first synapses getting the early spikes
% ALWAYS, and we do not want that!
if(r > 1)
  spikeOut = sort(mod(spikeOut, maxTime));
else
  spikeOut = mod(spikeOut, maxTime);
end

Loading data, please wait...