CA1 network model for place cell dynamics (Turi et al 2019)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:246546
Biophysical model of CA1 hippocampal region. The model simulates place cells/fields and explores the place cell dynamics as function of VIP+ interneurons.
Reference:
1 . Turi GF, Li W, Chavlis S, Pandi I, O’Hare J, Priestley JB, Grosmark AD, Liao Z, Ladow M, Zhang JF, Zemelman BV, Poirazi P, Losonczy A (2019) Vasoactive Intestinal Polypeptide-Expressing Interneurons in the Hippocampus Support Goal-Oriented Spatial Learning Neuron
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Hippocampus; Mouse;
Cell Type(s): Hippocampus CA1 pyramidal cell; Hippocampus CA1 basket cell; Hippocampus CA1 basket cell - CCK/VIP; Hippocampus CA1 bistratified cell; Hippocampus CA1 axo-axonic cell; Hippocampus CA1 stratum oriens lacunosum-moleculare interneuron ; Hippocampal CA1 CR/VIP cell;
Channel(s): I A; I h; I K,Ca; I Calcium; I Na, leak; I K,leak; I M;
Gap Junctions:
Receptor(s): GabaA; GabaB; NMDA; AMPA;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON; Brian;
Model Concept(s): Place cell/field;
Implementer(s): Chavlis, Spyridon [schavlis at imbb.forth.gr]; Pandi, Ioanna ;
Search NeuronDB for information about:  Hippocampus CA1 pyramidal cell; GabaA; GabaB; AMPA; NMDA; I A; I K,leak; I M; I h; I K,Ca; I Calcium; I Na, leak;
/
Turi_et_al_2018
mechanisms
ANsyn.mod
bgka.mod
burststim2.mod *
cad.mod
cadyn.mod
cadyn_new.mod
cagk.mod *
cal.mod
calH.mod *
cancr.mod
car.mod *
cat.mod
ccanl.mod *
gskch.mod
h.mod
hha_old.mod *
hha2.mod
hNa.mod *
IA.mod
iccr.mod
ichan2.mod
ichan2aa.mod
ichan2bc.mod
ichan2bs.mod
ichan2vip.mod
Ih.mod *
Ihvip.mod
ikscr.mod *
kad.mod *
kadistcr.mod
kap.mod
Kaxon.mod
kca.mod
Kdend.mod
kdrcr.mod *
km.mod
Ksoma.mod
LcaMig.mod *
my_exp2syn.mod
Naaxon.mod
Nadend.mod
nafcr.mod *
nap.mod
Nasoma.mod
nca.mod *
nmda.mod
regn_stim.mod
somacar.mod
STDPE2Syn.mod *
vecstim.mod *
                            
TITLE HH channel that includes both a sodium and a delayed rectifier channel 
: and accounts for sodium conductance attenuation
: Bartlett Mel-modified Hodgkin - Huxley conductances (after Ojvind et al.)
: Terrence Brannon-added attenuation 
: Yiota Poirazi-modified Kdr and Na threshold and time constants to make it more stable
: Yiota Poirazi-modified threshold for soma/axon spike initiation (threshold about -57 mV),
: USC Los Angeles 2000, poirazi@LNC.usc.edu
: This file is used only in soma and axon sections


NEURON {
	SUFFIX hha2
	USEION na READ ena WRITE ina
	USEION k READ ek WRITE ik
	NONSPECIFIC_CURRENT il
	RANGE gnabar, gkbar, gl, el
	RANGE ar2, vhalfs
	RANGE inf, fac, tau
	RANGE taus
	RANGE W
	GLOBAL taumin
}

UNITS {
	(mA) = (milliamp)
	(mV) = (millivolt)
}

INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}

PARAMETER {
: parameters that can be entered when function is called in cell-setup
a0r   = 0.0003 (ms)
b0r   = 0.0003 (ms)
zetar = 12    
zetas = 12   
gmr   = 0.2   
ar2   = 1.0 :initialized parameter for location-dependent

: Na-conductance attenuation, "s", (ar=1 -> zero attenuation)
taumin = 3      (ms)       :min activation time for "s" attenuation system
vvs    = 2      (mV)       :slope for "s" attenuation system
vhalfr = -60    (mV)       :half potential for "s" attenuation system
W      = 0.016  (/mV)      :this 1/61.5 mV
: gnabar = 0.2 (mho/cm2)     :suggested conductance values
: gkbar  = 0.12 (mho/cm2)
: gl     = 0.0001  (mho/cm2)
gnabar  = 0       (mho/cm2)  :initialized conductances
gkbar   = 0       (mho/cm2)  :actual values set in cell-setup.hoc
gl      = 0       (mho/cm2)
ena     = 60      (mV)       :Na reversal potential (also reset in
ek      = -77     (mV)       :K reversal potential  cell-setup.hoc)
el      = -70.0   (mV)       :steady state 
celsius = 34      (degC)
v                 (mV)
dt
}

STATE {				:the unknown parameters to be solved in the DEs
	m h n s
}

ASSIGNED {			:parameters needed to solve DE
	ina (mA/cm2)
	ik (mA/cm2)
	il (mA/cm2)
	inf[4]
	fac[4]
	tau[4]
}

BREAKPOINT {
	SOLVE states
	ina = gnabar*m*m*h*s*(v - ena)  :Sodium current
	ik  = gkbar*n*n*(v - ek)        :Potassium current
	il  = gl*(v - el)               :leak current
}

INITIAL {			:initialize the following parameter using states()
	states()
	s   = 1
	ina = gnabar*m*m*h*s*(v - ena)
	ik  = gkbar*n*n*(v - ek)
	il  = gl*(v - el)
}

PROCEDURE calcg() {
	mhn(v*1(/mV))
	m = m + fac[0]*(inf[0] - m)  :Na activation variable
	h = h + fac[1]*(inf[1] - h)  :Na inactivation variable
	n = n + fac[2]*(inf[2] - n)  :K activation variable
	s = s + fac[3]*(inf[3] - s)  :Na attenuation variable
}	

PROCEDURE states() {	: exact when v held constant
	calcg()
	VERBATIM
	return 0;
	ENDVERBATIM
}

FUNCTION varss(v, i) { :steady state values
	if (i==0) {
        varss = 1 / (1 + exp((v + 42.5)/(-3)))    : Na activation
 	}
	else if (i==1) {
        varss = 1 / (1 + exp((v + 49)/(3.5)))     : Na inactivation 
	}
	else if (i==2) {	
        varss = 1 / (1 + exp((v + 46.3)/(-3)))    : K activation

	} else {
        :"s" activation system for spike attenuation - Migliore 96 model
		varss = alpv(v,vhalfr)
       }
}

FUNCTION alpv(v(mV),vh) {    :used in "s" activation system infinity calculation
  alpv = (1+ar2*exp((v-vh)/vvs))/(1+exp((v-vh)/vvs))
}

FUNCTION alpr(v(mV)) {       :used in "s" activation system tau
  alpr = exp(1.e-3*zetar*(v-vhalfr)*9.648e4/(8.315*(273.16+celsius))) 
}

FUNCTION betr(v(mV)) {       :used in "s" activation system tau
  betr = exp(1.e-3*zetar*gmr*(v-vhalfr)*9.648e4/(8.315*(273.16+celsius))) 
}

FUNCTION vartau(v, i) { :estimate tau values
	LOCAL tmp

	if (i==0) {
	    vartau = 0.05  :Na activation tau
	}
	else if (i==1) {
            vartau = 1     :Na inactivation tau
	}
	else if (i==2) {
            vartau = 3.5   :K activation
    } else {
		tmp = betr(v)/(a0r+b0r*alpr(v))
		if (tmp<taumin) {tmp=taumin}
		VERBATIM
		ENDVERBATIM
	    vartau = tmp   :s activation tau
    }
}	

PROCEDURE mhn(v) {LOCAL a, b :rest = -70
:       TABLE infinity, tau, fac DEPEND dt, celsius FROM -100 TO 100 WITH 200
	FROM i=0 TO 3 {
		tau[i] = vartau(v,i)
		inf[i] = varss(v,i)
		fac[i] = (1 - exp(-dt/tau[i]))
	}
}