A detailed data-driven network model of prefrontal cortex (Hass et al 2016)

 Download zip file 
Help downloading and running models
Accession:189160
Data-based PFC-like circuit with layer 2/3 and 5, synaptic clustering, four types of interneurons and cell-type specific short-term synaptic plasticity; neuron parameters fitted to in vitro data, all other parameters constrained by experimental literature. Reproduces key features of in vivo resting state activity without specific tuning.
Reference:
1 . Hass J, Hertäg L, Durstewitz D (2016) A Detailed Data-Driven Network Model of Prefrontal Cortex Reproduces Key Features of In Vivo Activity. PLoS Comput Biol 12:e1004930 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Prefrontal cortex (PFC);
Cell Type(s): Abstract integrate-and-fire adaptive exponential (AdEx) neuron;
Channel(s):
Gap Junctions:
Receptor(s): GabaA; AMPA; NMDA;
Gene(s):
Transmitter(s):
Simulation Environment: C or C++ program; MATLAB;
Model Concept(s): Activity Patterns; Methods; Laminar Connectivity;
Implementer(s): Hass, Joachim [joachim.hass at zi-mannheim.de]; Hertäg, Loreen [loreen.hertaeg at tu-berlin.de]; Durstewitz, Daniel [daniel.durstewitz at plymouth.ac.uk];
Search NeuronDB for information about:  GabaA; AMPA; NMDA;
%% Compute new scaling factors for inv_con_PSP using update_inv_con_PSP 
%
% Run this whenever parameters are changed that affect the post-synaptic
% potential (PSP) in any of the neuron classes.
% Use par_E and par_I computed here in inv_con_PSP.m
%
%
% IMPORTANT:
% Before running this script, several changes need to be made:
%
%
% update_inv_con_PSP (rarely):
% - Adjust SimParTest.EvtMtx(1,1) such that the first neuron elicits a
%   single spike at around 500 ms (only if neuron parameters where changed).
%
% In test_update_inv_con_PSP (rarely):
% - Change STP values if they were changed in ConfigIDNet
%
% In ConfigIDNet (always):
% - Change NTypes line in ConfigIDNet to 
%    "NTypes = ones(1,14); NTypes(1) = 2;"
%
% In IDNetSim (always):
% - Prevent multivariate random number drawings by the line  
%    "if ismember(i,[])" 
% - Comment out the block starting with 
%    "while ~isempty(ind_out)" 
%   and use the previous block instead
% - Set "t_lat_act(j) = 1" and t_lat_LIF_act(j) = 1
%    instead of the real calculation
% - Comment out redistribution of neuron types
% - Set maxima and stds of STP parameters to zero in SetSyn
% - Set mean STP values to E2 or to I2, respectively, wherever there is more 
%   than one option
%
% In inv_con_PSP (always):
% - Set all par_E and par_I to one


% Compute scaling factors from simulation
gmax = [0.1 0.5 1.0 1.5 2.5 3.0];           % gmax to be tested
[par_E_act, par_I23_act, par_I5_act, res_E, res_I23, res_I5] = update_inv_con_PSP(gmax);

par_E = [(1:14)' par_E_act(1,:)'];
par_I = [(1:14)' [par_I23_act(1,:)'; par_I5_act(1,:)']];


% Gauge scaling factors with relative fractions of STP types (use only data
% within layers, since STP data across layers is only avaiable for E->E
% connections, which are almost exclusively depressing)
% D=Depressing, F=Facilitating, DF=Mixed
load('STP_types.mat')

mean_E1 = 0.28;   % Change these values if they are changed in ConfigIDNet
mean_E2 = 0.25;
mean_E3 = 0.29;
mean_I1 = 0.16;
mean_I2 = 0.25;
mean_I3 = 0.32;

par_E_scaled(1)  = (D_L23E_L23E + mean_E1/mean_E2*F_L23E_L23E + mean_E3/mean_E2*DF_L23E_L23E)*par_E(1,2);  % E->L23E

par_E_scaled(2)  = (D_L23E_L23I + mean_E1/mean_E2*F_L23E_L23I + mean_E3/mean_E2*DF_L23E_L23I)*par_E(2,2);  % E->L23I-L
par_E_scaled(3)  = (D_L23E_L23I + mean_E1/mean_E2*F_L23E_L23I + mean_E3/mean_E2*DF_L23E_L23I)*par_E(3,2);  % E->L23I-L-d
par_E_scaled(4)  = (D_L23E_L23I + mean_E1/mean_E2*F_L23E_L23I + mean_E3/mean_E2*DF_L23E_L23I)*par_E(4,2);  % E->L23I-CL
par_E_scaled(5)  = (D_L23E_L23I + mean_E1/mean_E2*F_L23E_L23I + mean_E3/mean_E2*DF_L23E_L23I)*par_E(5,2);  % E->L23I-CL-AC
par_E_scaled(6)  = (D_L23E_L23I + mean_E1/mean_E2*F_L23E_L23I + mean_E3/mean_E2*DF_L23E_L23I)*par_E(6,2);  % E->L23I-CS
par_E_scaled(7)  = (D_L23E_L23I + mean_E1/mean_E2*F_L23E_L23I + mean_E3/mean_E2*DF_L23E_L23I)*par_E(7,2);  % E->L23I-F


par_E_scaled(8)  = (D_L5E_L5E + mean_E1/mean_E2*F_L5E_L5E + mean_E3/mean_E2*DF_L5E_L5E)*par_E(8,2);  % E->L5E

par_E_scaled(9)  = (D_L5E_L5I + mean_E1/mean_E2*F_L5E_L5I + mean_E3/mean_E2*DF_L5E_L5I)*par_E(9,2);  % E->L5I-L
par_E_scaled(10) = (D_L5E_L5I + mean_E1/mean_E2*F_L5E_L5I + mean_E3/mean_E2*DF_L5E_L5I)*par_E(10,2); % E->L5I-L-d
par_E_scaled(11) = (D_L5E_L5I + mean_E1/mean_E2*F_L5E_L5I + mean_E3/mean_E2*DF_L5E_L5I)*par_E(11,2); % E->L5I-CL
par_E_scaled(12) = (D_L5E_L5I + mean_E1/mean_E2*F_L5E_L5I + mean_E3/mean_E2*DF_L5E_L5I)*par_E(12,2); % E->L5I-CL-AC
par_E_scaled(13) = (D_L5E_L5I + mean_E1/mean_E2*F_L5E_L5I + mean_E3/mean_E2*DF_L5E_L5I)*par_E(13,2); % E->L5I-CS
par_E_scaled(14) = (D_L5E_L5I + mean_E1/mean_E2*F_L5E_L5I + mean_E3/mean_E2*DF_L5E_L5I)*par_E(14,2); % E->L5I-F


par_I_scaled(1)  = (D_L23I_L23E + mean_E1/mean_E2*F_L23I_L23E + mean_E3/mean_E2*DF_L23I_L23E)*par_I(1,2);  % I->L23E

par_I_scaled(2)  = (D_L23I_L23I + mean_E1/mean_E2*F_L23I_L23I + mean_E3/mean_E2*DF_L23I_L23I)*par_I(2,2);  % I->L23I-L
par_I_scaled(3)  = (D_L23I_L23I + mean_E1/mean_E2*F_L23I_L23I + mean_E3/mean_E2*DF_L23I_L23I)*par_I(3,2);  % I->L23I-L-d
par_I_scaled(4)  = (D_L23I_L23I + mean_E1/mean_E2*F_L23I_L23I + mean_E3/mean_E2*DF_L23I_L23I)*par_I(4,2);  % I->L23I-CL
par_I_scaled(5)  = (D_L23I_L23I + mean_E1/mean_E2*F_L23I_L23I + mean_E3/mean_E2*DF_L23I_L23I)*par_I(5,2);  % I->L23I-CL-AC
par_I_scaled(6)  = (D_L23I_L23I + mean_E1/mean_E2*F_L23I_L23I + mean_E3/mean_E2*DF_L23I_L23I)*par_I(6,2);  % I->L23I-CS
par_I_scaled(7)  = (D_L23I_L23I + mean_E1/mean_E2*F_L23I_L23I + mean_E3/mean_E2*DF_L23I_L23I)*par_I(7,2);  % I->L23I-F

par_I_scaled(8)  = (D_L5I_L5E + mean_E1/mean_E2*F_L5I_L5E + mean_E3/mean_E2*DF_L5I_L5E)*par_I(8,2);  % I->L5E

par_I_scaled(9)  = (D_L5I_L5I + mean_E1/mean_E2*F_L5I_L5I + mean_E3/mean_E2*DF_L5I_L5I)*par_I(9,2);  % I->L5I-L
par_I_scaled(10) = (D_L5I_L5I + mean_E1/mean_E2*F_L5I_L5I + mean_E3/mean_E2*DF_L5I_L5I)*par_I(10,2); % I->L5I-L-d
par_I_scaled(11) = (D_L5I_L5I + mean_E1/mean_E2*F_L5I_L5I + mean_E3/mean_E2*DF_L5I_L5I)*par_I(11,2); % I->L5I-CL
par_I_scaled(12) = (D_L5I_L5I + mean_E1/mean_E2*F_L5I_L5I + mean_E3/mean_E2*DF_L5I_L5I)*par_I(12,2); % I->L5I-CL-AC
par_I_scaled(13) = (D_L5I_L5I + mean_E1/mean_E2*F_L5I_L5I + mean_E3/mean_E2*DF_L5I_L5I)*par_I(13,2); % I->L5I-CS
par_I_scaled(14) = (D_L5I_L5I + mean_E1/mean_E2*F_L5I_L5I + mean_E3/mean_E2*DF_L5I_L5I)*par_I(14,2); % I->L5I-F


par_E = [par_E par_E_scaled']; disp(par_E);
par_I = [par_I par_I_scaled']; disp(par_I);

save inv_con_PSP_factors par_E par_I


% (c) 2016 J. Hass, L. Hertaeg and D. Durstewitz,
% Central Institute of Mental Health, Mannheim University of Heidelberg 
% and BCCN Heidelberg-Mannheim

Loading data, please wait...