load_file("nrngui.hoc") //1
load_file("../templates/FS_WT_modif.tem") //2
load_file("../templates/Pyram_WT_modif.tem") //3
load_file("../connections/Def_connec_bgk2.hoc") //4
//*****************************************************************************************
//*****************************************************************************************
n_P=80 //number of Pyramidal cells
n_FS=20 //Number of fast spiking
n_layerP=1 //number of pyr_cells layers
n_layerFS=1 //number of fs_cells layers
IEperc=0.6 //percentage of IE presinaptic inputs
Wie=4e-2 //synaptic weight (al previos simulations 0.04)
SDwie=0.001 //Standard Deviation
EEperc=0.3 //percentage of EE presinaptic inputs
Wee=5e-2//0.05 //synaptic weight
SDwee=0.005 //Standard Deviation
IIperc=0.55 ///percentage of II presinaptic inputs
Wii=1e-2 //synaptic weight
SDwii=0.002 //Standard Deviation
EIperc=0.65 //percentage of EI presinaptic inputs
Wei=5e-2//0.05 //synaptic weight
SDwei=0.003 //Standard Deviation
nSpikesE=0 //tstop/interv(not in use yet by itself)
nSpikesI=0 //tstop/iterv(not in use yet by itself)
w_spk_I=3.3e-4 //0//0.000035 // (uS) max conductance of artif Spike synapse to I cells
w_spk_E=3.3e-4 //0.00070 //(uS) max conductance of artif Spike synapse to E cells
interval_E=9e10 //average isnter_random_interspikes interval (100 ms originally)
noiseI=1 //interspike inteval noise for external spikes (0-1)
interval_I=9e10 //time interval for external spikes
CCh_fct=0*1 //deplariing current multiplier
AminE=8e-6*CCh_fct//nA min Amplitude external baseline to E cell (scaled in instruments file)** to get real value in nA
AmaxE=9e-6*CCh_fct//nA max Amplitude external baseline to E cell ** multiply the amplitude without e-3
AminI=3e-6*CCh_fct//nA min Amplitude external baseline to I cell ** by the factor 0.0012566371
AmaxI=5e-6*CCh_fct//nA max Amplitudes external baseline to i cell
strdef vrc_flag1,vrc_flag2,vrc_flag3,vrc_flag4
//*********************************************\\*//*******************************************
sub_spkE=0 //number of additional independent spk stream to Epop
sub_spkI=0 //number of additional independent spk stream to Ipop
intv_hfE=1e0 //Additional Driving Spk stream period (ms) if any
intv_hfI=1e1 //Additional Driving Spk stream period (ms) if any
w_add_I=3e-4 //synaptic weight of additional stream to I cells
w_add_E=3e-4 //synaptic weight of additional stream to E cells
load_file("../Instrum_Visualize/Instrument_and_visualize_100509.hoc")//5 External drive
tstop=4e4 //CHANGE THIS VALUE TO 2000
tmin=2500 //initial time for voltage traces recordings
tmax=3000 //final time for voltage traces recordins
//*****************************************************************************************
n_SgabaP=n_layerP*n_P*n_layerFS*n_FS //Number of gaba synapses in Pyramidal
n_SgabaFS=n_layerFS*n_FS*n_layerFS*n_FS //Number of gaba synapses in FS
n_SnmdaP=n_layerP*n_P*n_layerP*n_P //Number of Glutamatergic (nmda) synapses in Pyram
n_SnmdaFS=0 //Number of Glutamatergic (nmda) synapses in fast spiking cells
n_sAMPAp=n_layerP*n_P*n_layerP*n_P //Number of Glutamatergic (AMPA) synapses in Pyram
n_sAMPAfs=n_layerP*n_P*n_layerFS*n_FS //Number of Glutamatergic (AMPA) synapses in fast spiking cells
tresh1=0 //GABA I-E I-I
tresh2=0 //AMPA E-E E-I
tresh3=0 //NMDA E-E
//*****************************************************************************************
//*****************************************************************************************
objref layerP[n_layerP] //array containing pyramidal cell lists (layers)
objref SgabaP[n_layerP],SnmdaP[n_layerP],SampaP[n_layerP]
objref layerFS[n_layerFS] //array containing each fs cell lists (layers)
objref SgabaFs[n_layerFS],SnmdaFS[n_layerFS],SampaFS[n_layerFS]
objref fih0,cvd
fih0=new List()
//******************************************************************************
//****************************CELLS CREATION************************************
if(n_P>0){
for(k=0;k<n_layerP;k+=1){
layerP[k]=new List()
SgabaP[k]=new List()
SnmdaP[k]=new List()
SampaP[k]=new List()
create_pyrams(layerP[k],n_P) //2
}
}
if(n_FS>0){
for(j=0;j<n_layerFS;j+=1){
layerFS[j]=new List()
SgabaFs[j]=new List()
SnmdaFS[j]=new List()
SampaFS[j]=new List()
create_FS(layerFS[j],n_FS)
}
}
//******************************************************************************
//*****************CONNECTIONS TO PYRAMIDAL*************************************
if(n_P>0&&n_layerP>0){
for(i=0;i<n_layerP;i+=1){
//createSpikeGen(layerP[i],interval_E,100,80,1,0,2,AminE,AmaxE,0,i)
num_e=1/interval_E
//createSpikeGen(layerP[i],interval_E,num_e,80,1,0,2,AminE,AmaxE,0,i)
createSpikeGen(layerP[i],interval_E,num_e,80,0.95,0,2,AminE,AmaxE,0,i,w_spk_E,sub_spkE,intv_hfE,w_add_E)
mk_GABA_s(n_SgabaP, n_P,0,0, 0.5,layerP[i], SgabaP[i], 1,1,0*i)
//mk_NMDA_s(n_SnmdaP, n_P,0,0, 0.5,layerP[i], SnmdaP[i], 0)
mk_AMPA_s(n_sAMPAp, n_P,0,0, 0.5,layerP[i], SampaP[i], 0)
for(j=0;j<n_layerFS;j+=1){
if(j==i){
conn_src_targ(n_P*n_FS,n_P,n_FS,0,tresh1,Wie,layerFS[j],layerP[i],SgabaP[i],IEperc)//,Wie,SDwie)//1)
vrc_flag1=vrc_flag
}
}
for(k=0;k<n_layerP;k+=1){
if(k==i){
//percentage of EE presinaptic inputs
conn_src_targ(n_P*n_P,n_P,n_P,0,tresh1,Wee,layerP[k],layerP[i],SampaP[i],EEperc)//,Wee,SDwee)//0.5000011
vrc_flag2=vrc_flag
}
if(k<i){
//conn_src_targ(n_P*n_P,n_P,n_P,0,tresh1,0.01,layerP[k],layerP[i],SampaP[i],0.85)// 0.4)//connections inter-networks to large taus
}
if(k>i){
//conn_src_targ(n_P*n_P,n_P,n_P,0,tresh1,0.01,layerP[k],layerP[i],SampaP[i],0.85)// 0.4)//connections inter-networks to short taus
}
}
}
}
//*****************CONNECTIONS TO FAST SPIKING**********************************
//******************************************************************************
if(n_FS>0&& n_layerFS>0){
for(i=0;i<n_layerFS;i+=1){
//createSpikeGen(layerFS[i],interval_I,100,80,1,0,2,AminI,AmaxI,1,i)//randomness 0.25,0.5 0.75
num_i=100//tstop/6
//createSpikeGen(layerFS[i],interval_I,num_i,80,1,0,2,AminI,AmaxI,1,i)//
createSpikeGen(layerFS[i],interval_I,num_i,80,noiseI,0,2,AminI,AmaxI,1,i,w_spk_I,sub_spkI,intv_hfI,w_add_I)//
mk_GABA_s(n_SgabaFS, n_FS,0,0, 0.5,layerFS[i],SgabaFs[i],0,1,0*i)
mk_AMPA_s(n_sAMPAfs,n_FS,0,0,0.5,layerFS[i],SampaFS[i],1)
for(i1=0;i1<n_layerFS;i1+=1){
if(i1==i){
conn_src_targ(n_FS*n_FS,n_FS,n_FS,0,tresh1,Wii,layerFS[i1],layerFS[i],SgabaFs[i],IIperc)//,Wii,SDwii)
vrc_flag3=vrc_flag
}
}
for(j=0;j<n_layerP;j+=1){
if(j==i){
conn_src_targ(n_P*n_FS,n_FS,n_P,0,tresh1,Wei,layerP[j],layerFS[i],SampaFS[i],EIperc)//,Wei,SDwei)
vrc_flag4=vrc_flag
}
if(j<i){
//conn_src_targ(n_P*n_FS,n_FS,n_P,0,tresh1,0.0005,layerP[j],layerFS[i],SampaFS[i],0.85)//)0.07
}
if(j>i){
//conn_src_targ(n_P*n_FS,n_FS,n_P,0,tresh1,0.0005,layerP[j],layerFS[i],SampaFS[i],0.85)//)0.07
}
}
}
}
//*****************CONNECTIONS TO FAST SPIKING**********************************//
//******************************************************************************//
load_file("./in_process/Ext_Spks_counter.hoc")