Hippocampal spiking model for context dependent behavior (Raudies & Hasselmo 2014)

 Download zip file 
Help downloading and running models
Accession:194882
Our model simulates the effect of context dependent behavior using discrete inputs to drive spiking activity representing place and item followed sequentially by a discrete representation of the motor actions involving a response to an item (digging for food) or the movement to a different item (movement to a different pot for food). This simple network was able to consistently learn the context-dependent responses.
Reference:
1 . Raudies F, Hasselmo ME (2014) A model of hippocampal spiking responses to items during learning of a context-dependent task. Front Syst Neurosci 8:178 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Hippocampus;
Cell Type(s): Abstract integrate-and-fire leaky neuron;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: MATLAB;
Model Concept(s):
Implementer(s): Raudies, Florian [florian.raudies at gmail.com];
/
CodePublished
screenshots
README.html
binariness.m
errorarea.m
Figure3AAndFigure4.m
Figure3BAndFigure5.m
firingRateToSI.m
gpl-3.0.txt *
index2label.m
lifModel.m
ManySlotBuffer.m
meanWoutNaN.m
NetworkSimulation100Runs.mat
rasterPlotToFiringRate.m
semWoutNaN.m
spikingNetworkContextLearning.m
StackContainer.m
stdpModel.m
TimeBuffer.m
                            
function w = stdpModel(~,w,opt)
% stdpModel
%   t       - Time in msec.
%   w       - This weight models the synaptic strength.
%   opt     - Structure with fields:
%             * TimePre  - Spiking times from the pre-synaptic cell.
%             * TimePost - Spiking times from the post-synaptic cell.
%
% RETURNS
%   w       - Adapted weight.
%
% DESCRIPTION
%   Spike timing dependent plasticity (STDP) model with synaptic 
%   potentiation and synaptic deperession.

%   Florian Raudies, 09/07/2014, Boston University.

TAU_PLUS    = 10;   % msec
TAU_MINUS   = 10;   % msec
TAU_W       = 10;   % msec
A_PLUS      = 1.2;  % Amplitude for long term potentation (LTP).
A_MINUS     = -.4;  % Amplitude for long term depression (LTD).
W_MIN       = 0;    % Minimum weight value.
W_MAX       = 1;    % Maximum weight value.
eta         = 1/(TAU_W/opt.dt); % Learning rate.

% Get time stamps of spikes of pre-synaptic and post-synaptic cells.
TimePre     = opt.TimePre;
TimePost    = opt.TimePost;
nPre        = length(TimePre);
nPost       = length(TimePost);

% Compute the time difference.
Delta       = repmat(TimePost(:),[1 nPre]) - repmat(TimePre(:)',[nPost 1]);
Pos         = Delta>0; % Pre before post.
Neg         = Delta<0; % Post before pre.

% Note that W_MAX can be overshot when having a large input signal!
w           = w + eta * ( (W_MAX-w)*A_PLUS*sum(exp(-Delta(Pos)/TAU_PLUS)) ...
                        - (W_MIN-w)*A_MINUS*sum(exp(+Delta(Neg)/TAU_MINUS)));