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
                            
%
% Generates 2Hz square waves with 0.5 dutycycle.
%

function insignal = makeDaughterInsignal(corrRudolph, nDaughters, ...
                                      upFreq, downFreq, maxTime)

  nRudolph = nDaughters - sqrt(corrRudolph)*(nDaughters-1);
  pShare = 1/nRudolph;
  
  baseFreq = 2;
  dutyCycle = 0.5;
  
  stateTime = dutyCycle/baseFreq;
  isUpstate = 1; % Start with upstate
  startTime = 0;
  
  motherSpikes = [];
  
  for startTime = 0:stateTime:(maxTime-stateTime)
      if(isUpstate)
          curFreq = upFreq*nRudolph;          
      else
          curFreq = downFreq*nRudolph;          
      end
      
      motherSpikes = [motherSpikes; ...
                      startTime + poissonMaxTime(curFreq, stateTime)];
      
      isUpstate = ~isUpstate;
  end
  
  len = length(motherSpikes);

  v = (rand(len, nDaughters) < pShare).*repmat(motherSpikes,1,nDaughters);
  v(find(v == 0)) = inf;
  v = sort(v);
  vlen = 1+max(mod(find(v < inf) - 1, len));
  insignal = v(1:vlen,:);
  
  

Loading data, please wait...