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
                            
%format compact

function makeAllExternalInputAllUpstate(corrRudolph, upFreq, noiseFreq, ...
                                        maxTime, allowVar, randSeed, numCells)

rand('seed', randSeed)
randSeed = rand('seed');

disp(['Setting random seed to ' num2str(randSeed)])
                   

path = [pwd '/INDATA/'];

% allowVar = 1 --> mother/daughter generation
% allowVar = 0 --> fixed number of doubletts for all spikes train-version

% allowVar = 1

nAMPA = 127;
nGABA = 93;

% corrRudolph = 0.5;
% upFreq = 20/9;
downFreq = 1e-9;
gammaShape = 3;      % gives shape of probability distribution
% maxTime = 50;
% noiseFreq = 0.2;

disp('Bör fundera på om bruset ska vara korrelerat mellan cellerna eller inte')
%keyboard

for nCtr = 1:numCells

    if(allowVar)
        disp('Generating mother/daughter input')
    
        insignalAMPA = makeDaughterNoise(corrRudolph, nAMPA, ...
                                         upFreq, maxTime);

        insignalGABA = makeDaughterNoise(corrRudolph, nGABA, ...
                                         upFreq, maxTime);
                                  
        noiseAMPA = makeDaughterNoise(corrRudolph, nAMPA, noiseFreq, maxTime);
        noiseGABA = makeDaughterNoise(corrRudolph, nGABA, noiseFreq, maxTime);
    
    else                                  
        disp('Generating input with constant number of doubletts')  
        insignalAMPA = makeTrainNoise(corrRudolph, nAMPA, ...
                                      upFreq, maxTime);

        insignalGABA = makeTrainNoise(corrRudolph, nGABA, ...
                                      upFreq, maxTime);
                                      
        noiseAMPA = makeTrainNoise(corrRudolph, nAMPA, noiseFreq, maxTime);
        noiseGABA = makeTrainNoise(corrRudolph, nGABA, noiseFreq, maxTime);
    end
    
    % Pad at the end with a large number, this is to make sure that
    % no spike trains are empty!
    insignalAMPA = [insignalAMPA; 1e5*maxTime*ones(1,nAMPA)];
    insignalGABA = [insignalGABA; 1e5*maxTime*ones(1,nGABA)];
    noiseAMPA = [noiseAMPA; 1e5*maxTime*ones(1,nAMPA)];
    noiseGABA = [noiseGABA; 1e5*maxTime*ones(1,nGABA)];
    
%    keyboard
    
    writeInput([path 'AMPAinsignal_' num2str(nCtr) '_%d'], insignalAMPA);
    writeInput([path 'GABAinsignal_' num2str(nCtr) '_%d'], insignalGABA);

    writeInput([path 'AMPAnoise_' num2str(nCtr) '_%d'], noiseAMPA);
    writeInput([path 'GABAnoise_' num2str(nCtr) '_%d'], noiseGABA);

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

fid = fopen([path 'inputInfo.txt'], 'w');

fprintf(fid, '%s\n', 'All upstate input');
fprintf(fid, '%f\n', corrRudolph);
fprintf(fid, '%f\n', upFreq);
fprintf(fid, '%f\n', noiseFreq);
fprintf(fid, '%f\n', maxTime);
fprintf(fid, '%d\n', allowVar);
fprintf(fid, '%d\n', randSeed);
fprintf(fid, '%d\n', numCells);
% fprintf(fid, '%d\n', gammaShape);

fclose(fid);

Loading data, please wait...