ModelDB is moving. Check out our new site at https://modeldb.science. The corresponding page is https://modeldb.science/267338.

MEC PV-positive fast-spiking interneuron network generates theta-nested fast oscillations

 Download zip file 
Help downloading and running models
Accession:267338
We use a computational model of a network of Fast-Spiking Parvalbumin-positive Basket Cells to study its synchronizing properties. The intrinsic properties of neurons, properties of chemical synapses and of gap junctions are calibrated using electrophysiological recordings in mice Medial Entorhinal Cortex slices. The neurons synchronize, generating Fast Oscillations nested in an external theta drive. We show how gap junctions are necessary for the generation of the oscillations, how hyperpolarizing chemical synapses give rise to more robust fast oscillations, compared to shunting ones, and how short-term depression in the chemical synapses confine the fast oscillation on a narrow range of phases from the external theta drive.
Model Information (Click on a link to find other models with that property)
Model Type: Connectionist Network;
Brain Region(s)/Organism: Entorhinal cortex; Mouse;
Cell Type(s): Entorhinal cortex fast-spiking interneuron;
Channel(s): I Na,t; I K;
Gap Junctions: Gap junctions;
Receptor(s): GabaA;
Gene(s):
Transmitter(s): Gaba;
Simulation Environment: Brian 2;
Model Concept(s): Brain Rhythms; Excitability; Gamma oscillations; Theta oscillations; Short-term Synaptic Plasticity;
Implementer(s): Via, Guillem; Baravalle, Roman;
Search NeuronDB for information about:  GabaA; I Na,t; I K; Gaba;
�
�-cc<@s$ddlZddlmZmZmZmZmZmZmZddl	m
Z
mZmZddlm
Z
mZmZmZmZmZmZddljZddlmZddlZddlmZmZmZmZmZddlmZm Z ddl!Z!e"Z#e#r_e!j$j%dj&e!j'���Z(e(ej)j*j+j,_(e-ej)j*j+j,_.nd	d
ddd
dddddddddddddddddddddddde-e-de-e-e-e"e-e"e-e"e"e-e"e"e"e"e"e"e"e"e-e-ddejd d!d"dd#d$�;Z/dS(%i����N(tNeuronGrouptSynapsestPoissonInputtPoissonGrouptSpikeGeneratorGroupt	Equationst
TimedArray(tStateMonitortSpikeMonitortPopulationRateMonitor(tHztnStnFtMohmtpAtmVtms(ttime(trandomtexptsqrttlogtpi(tshuffletsamples~/.cython/brian-pid-{}g��&�.>igp�@idi
g>�g
ףp=
�?gg@g @gH�z�G�?g�?g�?g333333�?gffffff�?g@g333333�?g�R�gY@t	lognormali!tERg�?tflatg{�G�z�?g�������?teulerc;z	Cs�
t�};|7ttj_d
t}<dt}=d}>d}?d}@d}Ad}Bdt}Cd	t}Dd
t}Edt}Fdt}Gd
t}Hd
t}Idt}Jtjtjd��}K|+t	krdt
tjd|��}Ltjd|Ld|�| }Mtjd|Ld|�| }Nn<d}Ltjd|Ld�| }Mtjd|Ld�| }N|9tjd�| }Od|M}P|O|P}Q|Kdd�d|�f\}R}S}T}U}V}W}X|t	kr>|M|tj|�|N|tj|�|O|tj|�|P|tj|�|Q|tj|�f\}M}N}O}P}Qn|t	ksV|t	kr|R|tj|�|S|tj|�|T|tj|�|U|tj|�|V|tj|�|W|tj|�|X|tj|�f\}R}S}T}U}V}W}Xn|'t	kr�|,t	kr>tjd|dt
d��| }Yn|/t	krntjd|�t|Yd� }Zn|.t	kr�tjd |d!|�t|Yd� }q�n|*t	kr#|0t	kr�tjd"|Ld#|�jt
�}[n|1t	kr#tjd$|Ld%|�t|[d� }q#n|t}|	t}	|
t}
|t}|t}|t}|Rt}R|St}S|Tt}T|Ut}U|Vt}V|Wt}W|Xt}X|t}|Ot}O|Mt}M|Qt}Q|Pt}P|Nt}N|t}|'t	kr;|t}|t}|t}|t}|/t	kr;|Zt}Zq;n|t}|t}|t}d&|}\d&|}]d&t|\t|]|\�|]|\�t|]t|]|\�|]|\�}^|"t	kr�d'd&g}_t|_d(|d)tj�}`nd*}ad+}b|*t	kr|bd,7}bn|'t	kr'd-}cnd.}cd/}d|!t	krL|dd07}dn| t	kre|dd17}dn|"t	kr~|dd27}dn|#t	kr�|dd37}dn|$t	kr�|dd47}dn|dd57}dd6}e|'t	kr�|ed77}en|*t	kr�|ed87}end9|ed:}f|a|d|c|b|f}gd;|gGHd<}ht||gd=d>d?|hd@|:�}i|	|i_|N|M|O|Qf\|i_|i_|i_|i_|R|S|T|U|V|W|Xf\|i_|i_|i_ |i_!|i_"|i_#|i_$|%t	kr�|NdAttj%j&t|N��|i_'dBdtj%j(t|N��|i_)dCdtj%j(t|N��|i_*dBdtj%j(t|N��|i_+dBdtj%j(t|N��|i_,n1dDt|i_'dE|i_)dF|i_*dG|i_+dH|i_,|&t	kr	d}jdI|jGHdJt|ij'|j<dK|ij)|j<dL|ij*|j<dM|ij+|j<dN|ij,|j<n|'t	kr�dOGH|(t	kr@	dP}kdQ}lndR}kdS}ldT|kGHdU|lGHt-|i|idV|kdW|ld@|:�}m|,t	kr�	|mj.dX|YddY|Yd�n�|4dZkr�	|mj.d[|d\d]�n�|4d^kr_
t
tj||��}nxot/|�D]U}ogt/|�D]}p|p|okr
|p^q
}qt0|q�|mj.dX|q|n dY|o�q
Wn	d_GHd_S|,t	kr�
|/t	kr�
|Z|m_1n+|||tj%j(t|m��t|m_1|(r�
d&|m_2||m_3||m_4n|-t	kr�|,t5ks�
|.t5kr'tj%j6||d`t|m��t}n|(t	kri|)t5krR||mj3|m_7q�|||mj3|m_7q�|)t5kr�||m_7q�|||m_7q�|(r�||mj3|m_7q�||m_7n|*t	kr8da}rdb|rGHt-|i|i|rd@|:�}s|0t	kr|sj.dX|[ddY|[d�n|sj.d[|
d\d]�||s_8ndcGHt9|i�}tt:|iddt	�}u|2t	kr�dedfg}v|*t	kr�|vj;dg�n|'t	kr�|vj;dh�nt<|i|vddt/|�d(|8tj�}wndiGHtj=|tj�|tj>tj|tj?dj|6dk|5�tjg}xtj@|xddl�t|xddl�}ydm|yGHdnt�|;doGH|2t	kr}
|x|u|wfS|3t	kr�
|x|u|mfS|x|ufSdS(pNgI@g�V�g�������?g�~j�t��?g�������?g����MbP?g{�G�z�?g@g@g(@g*�g4�g!�gT�s+params/intrinsic/active/params_actRoman.datsmod_gL/sigma04_higg12/gLmin%d/g$@sparams/intrinsic/passive/gLs/s	gLs%d.datsparams/intrinsic/passive/ELs/s	ELs%d.dats	original/sgLsRoman.datsELsRoman.dats4params/intrinsic/passive/taums/taumsRomanUniform.datg@�@s)params/chem_syns/conn_mat/p036/syns%d.dattdtypeis)params/chem_syns/delays/p036/delays%d.datisparams/chem_syns/gms/p036/s
/gms%d.datsparams/gjs/conn_mat/ssynsgj%d.datsparams/gjs/ggaps/sggaps%d.datg�?gtdtg@s�
                  alpham = -((v-thm1-eps)/sigm1)/(exp(-(v-thm1-eps)/sigm1)-1.)/ms : Hz
                  betam = km2*exp(v/sigm2)/ms : Hz
                  dm/dt = alpham*(1.-m) - betam*m : 1
                  alphah = kh1*exp(v/sigh1)/ms : Hz
                  betah = -kh2*(v-thh2)/(exp(-(v-thh2)/sigh2)-1.)/(ms*mV) : Hz
                  dh/dt = alphah*(1.-h) - betah*h : 1
                  alphan = -(v-thn1)/(exp(-(v-thn1)/sign1)-1.)/(ms*mV) : Hz
                  betan = kn2*exp(v/sign2)/ms : Hz
                  dn/dt = alphan*(1.-n) - betan*n : 1
                  alphaa = -(v-tha1)/(exp(-(v-tha1)/siga1)-1.)/(ms*mV) : Hz
                  betaa = ka2*exp(v/siga2)/ms : Hz
                  da/dt = alphaa*(1.-a) - betaa*a : 1
                  INa = - gNa*m*m*m*h*(v-ENa) : ampere
                  IKv3 = - gKv3*n*n*n*n*(v-EK) : ampere
                  IKv1 = - gKv1*a*a*a*a*(v-EK) : ampere
                  IL = - gL*(v-EL) : ampere
                  s�
                  Ip : ampere
                  EL : volt
                  taum : second
                  gL : siemens
                  Cap : farad
                  gNa : siemens
                  gKv3 : siemens
                  gKv1 : siemens
                  thm1 : volt
                  thh2 : volt
                  thn1 : volt
                  tha1 : volt
                  s3
                  Igap : ampere
                  s�
                     Isyn = - (v-Es)*norm_syn*(g_fall-g_rise) : ampere
                     dg_fall/dt = -g_fall/tau_fall : siemens
                     dg_rise/dt = -g_rise/tau_rise : siemens
                     tsIext = s - gext*(v-Ese) s + I s + Ip*stimulus(t) s- - gsin*(1.+sin(2.*pi*fsin*t-pi/2.))*(v-Ese) s% + Isin*(1.+sin(2.*pi*fsin*t-pi/2.)) s : ampere 
 s INa + IKv1 + IKv3 + IL + Iext s + Isyn s + Igap s
 dv/dt = ( s )/Cap : volt 
sNeuron equations are:
 %s

sv>=v_thresht	thresholds
v>v_thresht
refractorytmethodg@g{�G�z�?g�G�z��?g>�g:�6U���?gxak���?g�{*�=��?g�drjg��?s"The perturbed neuron is kneu=%d.

g�"j��KM�g�"�dT�?g5@i�QH�?g���ۂ%�?gy!���?sSetting synapses...s�
            # Fraction of synaptic neurotransmitter resources available:
            dxs/dt = (1 - xs)/tau_d : 1 (event-driven)
            gmax : siemens
            U_SE : 1
            tau_d : second
            s
            rs = U_SE * xs
            xs -= rs
            g_fall_post+=gmax*rs
            g_rise_post+=gmax*rs
            sgmax : siemenss#g_fall_post+=gmax;g_rise_post+=gmaxsSynapse equations are:
 %s

sSynapse actions are:
 %s

tmodelton_pretitjRtpt	conditionsi!=jtFIDs ERROR: Unknown connectivity typetsizes�
                 g_gap : siemens # gap junction conductance
                 Igap_post = g_gap * (v_pre - v_post) : ampere (summed)
                 s!Gap-junction equations are:
 %s

sSetting monitors...trecordtvtIexttIgaptIsynsRunning the simulation...twindowtwidthi�c��s
nu = %.2lf HzsDone (took %.2lf mins)gN@(ARRtb2tdefaultclockRRtnpt	transposetloadtxttTruetinttroundtonesttypetlentastypeRRRR
R
RRRRtIptELtgLttaumtCaptgNatgKv3tgKv1tthm1tthh2tthn1ttha1RtrandnR,trandtmthtntaRtconnecttrangeRtdelaytxstU_SEttau_dtFalseRtgmaxtg_gapR	RtappendRtruntttsmooth_ratetsum(ztepstconnectivity_matrixtsim_timetNtNrectv_threshtepsilontItgexttIpstIsintgsintfsintpgjtggapstgLmintdmintdmaxtgmstgmmeantgmstdtgm_scalettau_fallttau_risetEstEsettaudmtUSEmtgm_distributionthomo_neuronsthomo_acttkneut
const_currentt
const_condtstep_currenttsin_condtsin_currenttrandicst
one_perturbedtact_synststdtscale_gmtgjstmod_gLt	read_synst	dist_synstread_gmstread_delaystread_gjst
read_ggapstreturn_statetreturn_synstconnectivitytwindow_widtht
windowTypeRtdt_rect	factorTauR"tsttENatEKtkm2tkh1tkh2tkn2tka2tsigm1tsigh2tsign1tsigm2tsigh1tsign2tsiga1tsiga2t
params_acttfoldertgLstELsttaumstRinstCapstgNastgKv3stgKv1stthm1stthh2stthn1sttha1stsynstdelaystsynsgjtc_falltc_risetnorm_synt	intervalststimulustgat_varst	param_eqstsyn_eqstext_eqstcurrstvolt_eqst	equationsR!tnettkperttsynapses_eqstsynapses_actiontStCtktkptprestgap_eqstSgjtrMontspMont
state_varststMontratestnu((sE/mnt/beegfs/home/rbarav/GuillemCodeNetwork/FinalCodePublished/FSIN.pytgewnet/s�>	








	"

1|�	&$/'/




























H 
	







	!	*E'###&
					


			!!+
!+		(	!+/)	

(0tbrian2R2RRRRRRRtbrian2.monitorsRRR	R
RRR
RRRtmatplotlib.pyplottpyplottpltRtnumpyR4RRRRRRRtosR7t	TigerFishtpatht
expandusertformattgetpidt	cache_dirtprefstcodegentruntimetcythonRVtmultiprocess_safeR�(((sE/mnt/beegfs/home/rbarav/GuillemCodeNetwork/FinalCodePublished/FSIN.pyt<module>s�44(!