Spiking neuron model of the basal ganglia (Humphries et al 2006)

 Download zip file 
Help downloading and running models
Accession:83559
A spiking neuron model of the basal ganglia (BG) circuit (striatum, STN, GP, SNr). Includes: parallel anatomical channels; tonic dopamine; dopamine receptors in striatum, STN, and GP; burst-firing in STN; GABAa, AMPA, and NMDA currents; effects of synaptic location. Model demonstrates selection and switching of input signals. Replicates experimental data on changes in slow-wave (<1 Hz) and gamma-band oscillations within BG nuclei following lesions and pharmacological manipulations.
Reference:
1 . Humphries MD, Stewart RD, Gurney KN (2006) A physiologically plausible model of action selection and oscillatory activity in the basal ganglia. J Neurosci 26:12921-42 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Basal ganglia;
Cell Type(s): Neostriatum medium spiny direct pathway GABA cell; Subthalamus nucleus projection neuron; Globus pallidus neuron; Abstract integrate-and-fire leaky neuron;
Channel(s):
Gap Junctions:
Receptor(s): Dopaminergic Receptor;
Gene(s):
Transmitter(s): Dopamine; Gaba; Glutamate;
Simulation Environment: MATLAB;
Model Concept(s): Oscillations; Parkinson's; Action Selection/Decision Making; Sleep; Rebound firing;
Implementer(s): Humphries, Mark D [m.d.humphries at shef.ac.uk];
Search NeuronDB for information about:  Neostriatum medium spiny direct pathway GABA cell; Dopaminergic Receptor; Dopamine; Gaba; Glutamate;
/
BG_spiking_model
LIFtools
Analysis
find_cur.m
find_Vm_cur.m
plot_fI.m
PSPtoPSC.m
                            
function weight = PSPtoPSC(ts,tm,R,peak,type,varargin)

% PSPtoPSC calculation of PSC weight
%
%   PSPtoPSC(ts,tm,R,peak,type) where
%       ts:     synaptic time constant  (in seconds)
%       tm:     membrane time constant  (in seconds)
%       R:      resistance              (in ohms)
%       peak:   value of PSP peak       (in volts)
%       type:   form of PSC to fit      ('step','alpha','compact alpha')  
%
%   Returns the weight required to scale the specified PSC function 
%   to fit the PSP shape specified by ts and tm. Decay of the PSC is
%   dictated by ts, which is the rise time of the PSP; tm dictates the 
%   decay time of the PSP.
%
%   Type:  
%                'step'        1/ts * exp(-s/ts) H(s)
%               'alpha'        1/(ts-tr) * (exp(-s/ts) - exp(-s/tr)) H(s)   (not yet supported)
%       'compact alpha'        s/ts^2 * exp(-s/ts);                         (not yet supported) (suitable for tr -> ts, see Gerstner & Kistler (2002) "Spiking Neuron Models" Cambridge: CUP)

if nargin > 5
    ts2 = varargin{1};
end

% start with unit weight
c = 1;

switch type
case 'step'
	%% find peak of PSP for these time constants
	f = inline('- R*c/(ts-tm) * (exp(-s/ts) - exp(-s/tm))','s','c','tm','ts','R');
    
    peak_time = fminbnd(f,0,tm,[],c,tm,ts,R);
    %keyboard
    
	%% use to find suitable weight c for peak value
    weight = peak * (ts - tm) / (R * (exp(-peak_time/ts) - exp(-peak_time/tm)));
    %keyboard
case 'combined'
	%% find peak of PSP for these time constants
	f = inline('- R*c/(ts-tm) * (exp(-s/ts) - exp(-s/tm)) - R * c/(ts2-tm) * (exp(-s/ts2) - exp(-s/tm))','s','c','tm','ts','ts2','R');
    
    peak_time = fminbnd(f,0,tm,[],c,tm,ts,ts2,R);
    %keyboard
    
	%% use to find suitable weight c for peak value
    weight = peak / (R/(ts-tm) * (exp(-peak_time/ts) - exp(-peak_time/tm)) +...
                        R/(ts2-tm) * (exp(-peak_time/ts2) - exp(-peak_time/tm)));
    
case 'alpha'
    disp('Alpha function not yet supported')
    
case 'compact alpha'
	disp('Compact alpha function not yet supported')
end


% function f = get_PSP_peak(s,c,tm,ts,R)
%     %% minimising this function will return the value of s at which the PSP peak occurs
%     f = - (R*c/tm) * (1/(1-(ts/tm)) * (exp(-s/tm) - exp(-s/ts)));
%     
% function f = get_PSP_weight(c,s,tm,ts,R,peak)        
%     %% s is peak time; finding the zero-crossing of this function will give the PSC weight
%     f = peak - ((R*c/tm) * (1/(1-(ts/tm)) * (exp(-s/tm) - exp(-s/ts))));



    

Loading data, please wait...