Neural mass model of the neocortex under sleep regulation (Costa et al 2016)

 Download zip file 
Help downloading and running models
Accession:226475
This model generates typical human EEG patterns of sleep stages N2/N3 as well as wakefulness and REM. It further contains a sleep regulatory component, that lets the model transition between those stages independently
References:
1 . Weigenand A, Schellenberger Costa M, Ngo HV, Claussen JC, Martinetz T (2014) Characterization of K-complexes and slow wave activity in a neural mass model. PLoS Comput Biol 10:e1003923 [PubMed]
2 . Costa MS, Born J, Claussen JC, Martinetz T (2016) Modeling the effect of sleep regulation on a neural mass model. J Comput Neurosci 41:15-28 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neural mass;
Brain Region(s)/Organism: Brainstem; Neocortex;
Cell Type(s): Neocortex L2/3 pyramidal GLU cell; Neocortex layer 2-3 interneuron;
Channel(s): I_K,Na; Na/K pump;
Gap Junctions:
Receptor(s): AMPA; Gaba; Cholinergic Receptors;
Gene(s):
Transmitter(s): Acetylcholine; Norephinephrine; Gaba;
Simulation Environment: Network; C or C++ program (web link to model); MATLAB (web link to model);
Model Concept(s): Simplified Models; Temporal Pattern Generation; Sleep; Activity Patterns; Oscillations; Bifurcation; Electrical-chemical; Neuromodulation;
Implementer(s): Schellenberger Costa, Michael [mschellenbergercosta at gmail.com];
Search NeuronDB for information about:  Neocortex L2/3 pyramidal GLU cell; AMPA; Gaba; Cholinergic Receptors; I_K,Na; Na/K pump; Acetylcholine; Norephinephrine; Gaba;
% mex command is given by: 
% mex CXXFLAGS="\$CXXFLAGS -std=c++11 -O3" Cortex_SR_mex.cpp Cortical_Column.cpp
% Sleep_Regulation.cpp

function Plots(type)
H = 4; % ~ 2 min per H on Core i7
T = H*3600;

Param_SR = [1.2375;     % f_W 
            4.858;      % f_N
            0.001;      % f_R
            0.8781];    % h

mex CXXFLAGS="\$CXXFLAGS -std=c++11 -O3" Cortex_SR_mex.cpp Cortical_Column.cpp Sleep_Regulation.cpp

tic 
[Ve, Na, f_W, f_N, f_R, C_E, C_G, C_A, h, g_KNa, sigma_e]  = Cortex_SR_mex(T, Param_SR); 
toc

% time axis
time = linspace(0,H,length(Ve));

% Get the hypnogram
Hypnogram= ones(length(f_W),1);
Hypnogram(C_E<0.4) = 0.5;
Hypnogram(C_A>0.4) = 0; 

figure(4)
subplot(311)
plot(time, g_KNa)
set(gca, 'xtick', 0:H/5:H);
xlabel('Time [h]');
ylabel('g_{KNa}');
subplot(312)
plot(time, sigma_e)
set(gca, 'xtick', 0:H/5:H);
xlabel('Time [h]');
ylabel('sigma_{e}');
subplot(313)
plot(time, Ve)
set(gca, 'xtick', 0:H/5:H);
xlabel('Time [h]');
ylabel('V_{e}');

figure(3)
subplot(211)
plot(time, f_W, 'g', time, f_N, 'r', time, f_R, 'b', time, h, 'y')
set(gca, 'xtick', 0:H/5:H);
xlabel('Time [h]');
ylabel('Activity [Hz]');
legend('F_W', 'F_N', 'F_R', 'h') 
subplot(212)
plot(time, Hypnogram, 'black');
ylim([-0.5, 1.5])
set(gca, 'box', 'off', 'xtick', 0:H/5:H, 'ytick', [0, 0.5, 1], 'yticklabel', {'REM', 'NREM', 'Wake'})

figure(2)
plot3(time, g_KNa, sigma_e);
set(gca, 'xtick', 0:H/5:H);
xlabel('Time [h]')
ylabel('g_{KNa}')
zlabel('\sigma_e')

% load the data from xppaut
fname_Hopf = '/nfshome/schellen/Documents/MATLAB/Papers/C_model/Data/Hopf-diagram.dat';
fname_Fold = '/nfshome/schellen/Documents/MATLAB/Papers/C_model/Data/Saddle-diagram.dat';

% Path to matlab2tikz
if(isempty(strfind(path, '/nfshome/schellen/Documents/MATLAB/Tools/PlotXPP')))
    addpath(genpath('/nfshome/schellen/Documents/MATLAB/Tools/PlotXPP'));
end

% create the figure
figure(1)
clf, shg

% plot the data
plotxppaut(fname_Hopf,'Red','-')
plotxppaut(fname_Fold,'Black','-')
xlim([0,8.2])
ylim([0.1,10.5])

% add the vertical lines
plot([0,8],[6.195,6.195],'--','Color',[0.7,0.7,0.7],'LineWidth',0.5)
plot([0,8],[3.617,3.617],'--','Color',[0.7,0.7,0.7],'LineWidth',0.5)

% label the axes
ylabel('\sigma_{e} [mV]')
xlabel('g_{KNa} [mS/cm^2]')

% set the ticks for the axes
set(gca,'YTick',[2 4 6 8 10])
set(gca,'XTick',[0 2 4 6 8])

plot(g_KNa, sigma_e);
xlabel('g_{KNa}')
ylabel('\sigma_e')
end

Loading data, please wait...