A two-layer biophysical olfactory bulb model of cholinergic neuromodulation (Li and Cleland 2013)

 Download zip file 
Help downloading and running models
Accession:149739
This is a two-layer biophysical olfactory bulb (OB) network model to study cholinergic neuromodulation. Simulations show that nicotinic receptor activation sharpens mitral cell receptive field, while muscarinic receptor activation enhances network synchrony and gamma oscillations. This general model suggests that the roles of nicotinic and muscarinic receptors in OB are both distinct and complementary to one another, together regulating the effects of ascending cholinergic inputs on olfactory bulb transformations.
Reference:
1 . Li G, Cleland TA (2013) A two-layer biophysical model of cholinergic neuromodulation in olfactory bulb. J Neurosci 33:3037-58 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism:
Cell Type(s): Olfactory bulb main mitral GLU cell; Olfactory bulb main interneuron periglomerular GABA cell; Olfactory bulb main interneuron granule MC GABA cell;
Channel(s): I Na,p; I L high threshold; I T low threshold; I A; I M; I h; I K,Ca; I CAN; I Sodium; I Calcium; I Potassium; I_Ks; I Cl, leak; I Ca,p;
Gap Junctions:
Receptor(s): Nicotinic; GabaA; Muscarinic; AMPA; NMDA;
Gene(s):
Transmitter(s): Acetylcholine;
Simulation Environment: NEURON; MATLAB;
Model Concept(s): Sensory processing; Sensory coding; Neuromodulation; Olfaction;
Implementer(s): Li, Guoshi [guoshi_li at med.unc.edu];
Search NeuronDB for information about:  Olfactory bulb main mitral GLU cell; Olfactory bulb main interneuron periglomerular GABA cell; Olfactory bulb main interneuron granule MC GABA cell; Nicotinic; GabaA; Muscarinic; AMPA; NMDA; I Na,p; I L high threshold; I T low threshold; I A; I M; I h; I K,Ca; I CAN; I Sodium; I Calcium; I Potassium; I_Ks; I Cl, leak; I Ca,p; Acetylcholine;
% Generate raster plots in the OB network
% Written by Guoshi Li, Cornell University, 2013
% Odor is presented at T = 2000 ms

clc;
clear all;
close all;

NTCE = 0;     % NTCE=0: Plot GCs; otherwise, plot MCs and PGs only

load OdorA1.dat;   % load steady-state odor values
Odor = OdorA1;

nMit  = 25;
nPG   = 25;
nGran = 100;

Nm = 25;
Ng = 100;

dm = 0.4;
dp = 0.4;
dg = 0.4;

T_Start = 1000;          % start time of calculation     
T_End   = 3000;          % end time of calculation  
T  = T_End - T_Start;    % Total duration in ms

min_T = T_Start;
max_T = T_End;

TP1 = 1000;     % Start of spontaneous activity
TP2 = 2000;     % End of spontaneous activity
TO1 = 2000;     % Start of odor stimulus
TO2 = 3000;     % End of odor stimulus
TP  = (TP2-TP1)/1000;
TO  = (TO2-TO1)/1000;

%============================================
%        Generate raster plot 
%============================================
% for mitral cells
figure;

for i = 0:1:(nMit-1)
       
    n = i+1;
    s = ['load Ms' int2str(i)  ';'];    
    eval(s);   
   
    ss = ['SpkT = Ms' int2str(i) ';'];    
    eval(ss);  
   
   % Spontanous rate 
    A = find (SpkT>=TP1 & SpkT<TP2); 
    FM_SP(n,1) = length(A)/TP;
    
   % Odor rate 
    A = find (SpkT>=TO1 & SpkT<TO2); 
    FM(n,1) = length(A)/TO;
   
    L = length(SpkT);
    if (L~=0)  
     for k = 1:L
      if (SpkT(k) > T_Start)
      
       x = [SpkT(k) SpkT(k)];
       y = [n-dm    n+dm ];
   
       plot(x,y,'k','LineWidth',1);
       hold on;
     end
    end
   end
   
end


xlabel('ms', 'FontSize',14);
ylabel('MC #', 'FontSize',14);
set(gca, 'FontSize',12);
axis([1000,max_T,0,26]);
box('off');



% For PG cells
figure;
for i = 0:1:(nPG-1)
    
    n=i+1;  
    
    s = ['load Pd' int2str(i) ';'];    
    eval(s);
    
    ss = ['SpkT = Pd' int2str(i) ';'];    
    eval(ss);  
    
   % Spontanous rate 
    A = find (SpkT>=TP1 & SpkT<TP2); 
    FP_SP(n,1) = length(A)/TP;
    
   % Odor rate 
    A = find (SpkT>=TO1 & SpkT<TO2); 
    FP(n,1) = length(A)/TO;
    
   L = length(SpkT);
   if (L~=0)
    for k = 1:L
     if (SpkT(k) > T_Start)
      
      x = [SpkT(k) SpkT(k)];
      y = [n-dp    n+dp ];
   
       plot(x,y,'k','LineWidth',1);
       hold on;
     end  
    end
   end 
    
end

  
box('off');
xlabel('ms', 'FontSize',14);
ylabel('PG #', 'FontSize',14);
set(gca, 'FontSize',12);
axis([1000,max_T,0,26]);


% % For granule cells

if(NTCE==0)
    
figure;
for i = 0:1:(nGran-1)
    
    n=i+1;  
    
    s = ['load Gd' int2str(i) ';'];    
    eval(s);
    
    ss = ['SpkT = Gd' int2str(i) ';'];    
    eval(ss);  
   
   % Spontanous rate 
    A = find (SpkT>=TP1 & SpkT<TP2); 
    FG_SP(n,1) = length(A)/TP;
    
   % Odor rate 
    A = find (SpkT>=TO1 & SpkT<TO2); 
    FG(n,1) = length(A)/TO;
    
   L = length(SpkT);
   if (L~=0)
    for k = 1:L
     if (SpkT(k) > T_Start)
      
      x = [SpkT(k) SpkT(k)];
      y = [n-dg    n+dg ];
   
       plot(x,y,'k','LineWidth',1);
       hold on;
     end  
    end
   end 
    
  end


axis([1000,max_T, 0,101]);
box('off');
xlabel('ms', 'FontSize',14);
ylabel('GRAN #', 'FontSize',14);
set(gca, 'FontSize',12);

end

%=======================================

fM_SP = mean(FM_SP);
fP_SP = mean(FP_SP);

if (NTCE==0)
fG_SP = mean(FG_SP);
fG = mean(FG);
end

fM = mean(FM);
fP = mean(FP);

disp('The spontaneous firing rates are:');
fM_SP
fP_SP

if (NTCE==0)
  fG_SP
end

disp('The firing rates during odor presentation is:');
fM
fP

if (NTCE==0)
  fG
end


%===================================================
%               Plot Input-Output
%===================================================
width = 0.6;
glom = 1:25;
     
Fm = FM-FM_SP;   % Odor coding rate

figure;
subplot(3,1,1);
bar(glom, Odor, width);
box('off');
axis([0,26,0,1.05]);
ylabel('Input (nA)', 'FontSize',12);

subplot(3,1,2);
bar(glom, FM, width);
box('off');
axis([0,26,0,30]);
ylabel('Odor-evoked Rate', 'FontSize',10);

subplot(3,1,3);
bar(glom, Fm, width);
axis([0,26,-10,30]);
xlabel('Glom #');
ylabel('Odor-coding Rate', 'FontSize',10);
box('off');





Loading data, please wait...