ModelDB is moving. Check out our new site at The corresponding page is

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

 Download zip file 
Help downloading and running models
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.
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;
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];
Search NeuronDB for information about:  I A; I_K,Na; Gaba; Glutamate;
% [spikeTimes] = findSpikes(data, time)
% returns cell-array with spiketimes for different runs
% data = matrix, size is runLen rows and runNum cols

function [spikeTimes] = findSpikes(data, time)

[runLen runs] = size(data);

thresh = 0; %-0.035; % Spike filter threshold
events = (data > thresh).*data + (data <= thresh)*thresh;
% A spike is a datapoint D above threshhold where the datapoints to
% the left and right are lower than D.    
% events(i-1) < events(i)
chkLeft = events(2:end,:) > events(1:end-1,:);
left  = [zeros(1, runs); chkLeft];
clear chkLeft

% events(i) > events(i+1)
chkRight = events(1:end-1,:) > events(2:end,:);
right = [chkRight; zeros(1, runs)]; 
clear chkRight

spikes = left & right;
clear left right

% The above definition misses spikes where two consequtive points
% above threshold are identical, lets find them too...
newspikes = [(events(1:end-1,:) == events(2:end,:)) ...
             & (events(1:end-1,:) > thresh); zeros(1, runs)];

spikes = spikes + newspikes;
clear newspikes

if(max(spikes) > 1)
    error('Matlab:OUCH!', 'Warning binary spikes matrix corrupt!')

for runIdx=1:runs
    spikeIdx = find(spikes(:, runIdx));    
    spikeTimes{runIdx} = time(spikeIdx);

Loading data, please wait...