CA1 pyramidal neuron: synaptic plasticity during theta cycles (Saudargiene et al. 2015)

 Download zip file 
Help downloading and running models
Accession:157157
This NEURON code implements a microcircuit of CA1 pyramidal neuron and consists of a detailed model of CA1 pyramidal cell and four types of inhibitory interneurons (basket, bistratified, axoaxonic and oriens lacunosum-moleculare cells). Synaptic plasticity during theta cycles at a synapse in a single spine on the stratum radiatum dendrite of the CA1 pyramidal cell is modeled using a phenomenological model of synaptic plasticity (Graupner and Brunel, PNAS 109(20):3991-3996, 2012). The code is adapted from the Poirazi CA1 pyramidal cell (ModelDB accession number 20212) and the Cutsuridis microcircuit model (ModelDB accession number 123815)
Reference:
1 . Saudargiene A, Cobb S, Graham BP (2015) A computational study on plasticity during theta cycles at Schaffer collateral synapses on CA1 pyramidal cells in the hippocampus. Hippocampus 25:208-18 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Synapse; Dendrite;
Brain Region(s)/Organism:
Cell Type(s): Hippocampus CA1 pyramidal GLU cell; Hippocampus CA1 basket cell; Hippocampus CA1 bistratified cell; Hippocampus CA1 axo-axonic cell;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Long-term Synaptic Plasticity; STDP;
Implementer(s): Saudargiene, Ausra [ausra.saudargiene at gmail.com];
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell;
/
SaudargieneEtAl2015
readme.html
ANsyn.mod *
bgka.mod *
bistableGB_DOWNUP.mod
burststim2.mod *
cad.mod
cadiffus.mod *
cagk.mod *
cal.mod *
calH.mod *
car.mod *
cat.mod *
ccanl.mod *
d3.mod *
gabaa.mod *
gabab.mod *
glutamate.mod *
gskch.mod *
h.mod
hha_old.mod *
hha2.mod *
hNa.mod *
IA.mod
ichan2.mod
Ih.mod *
kadbru.mod
kadist.mod *
kapbru.mod
kaprox.mod *
Kaxon.mod *
kca.mod *
Kdend.mod *
km.mod *
Ksoma.mod *
LcaMig.mod *
my_exp2syn.mod *
Naaxon.mod *
Nadend.mod *
nap.mod
Nasoma.mod *
nca.mod *
nmda.mod *
nmdaca.mod *
regn_stim.mod *
somacar.mod *
STDPE2Syn.mod *
apical-non-trunk-list.hoc
apical-tip-list.hoc
apical-tip-list-addendum.hoc
apical-trunk-list.hoc
axoaxonic_cell17S.hoc
axon-sec-list.hoc
BasalPath.hoc
basal-paths.hoc
basal-tree-list.hoc
basket_cell17S.hoc
bistratified_cell13S.hoc
burst_cell.hoc
current-balance.hoc *
main.hoc
map-segments-to-3d.hoc *
mod_func.c
mosinit.hoc
ObliquePath.hoc *
oblique-paths.hoc
olm_cell2.hoc
pattsN100S20P5_single.dat
PC.ses
peri-trunk-list.hoc
pyramidalNeuron.hoc
randomLocation.hoc
ranstream.hoc
screenshot.png
soma-list.hoc
stim_cell.hoc *
vector-distance.hoc
                            
COMMENT

Potassium current for the soma
ENDCOMMENT
UNITS {
        (mA) = (milliamp)
        (mV) = (millivolt)
}
 
NEURON {
        SUFFIX Ksoma
        USEION k READ ek WRITE ik
        RANGE gksoma, ik
        GLOBAL ninf, nexp, ntau
}
 
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
 
PARAMETER {
        v (mV)
        celsius = 24 (degC)
        dt (ms)
        gksoma = .0319 (mho/cm2)
        ek = -100 (mV)
}
 
STATE {
        n 
}
 
ASSIGNED {
        ik (mA/cm2)
        ninf 
	nexp 
	ntau (ms)
}
 
INITIAL {
	n = ninf
}

BREAKPOINT {
        SOLVE states
	ik = gksoma*n*n*n*n*(v - ek)    
}

PROCEDURE states() {	:exact when v held constant
	evaluate_fct(v)
	n = n + nexp*(ninf - n)
	VERBATIM
	return 0;
	ENDVERBATIM 
}
UNITSOFF
PROCEDURE evaluate_fct(v(mV)) {  :Computes rate and other constants at 
		      :current v.
                      :Call once from HOC to initialize inf at resting v.
        LOCAL q10, tinc, alpha, beta
        TABLE ninf, nexp, ntau DEPEND dt, celsius FROM -200 TO 
100 WITH 300
:		q10 = 3^((celsius - 24)/10)
		q10 = 1	: BPG
		tinc = -dt*q10
		alpha = 0.018*vtrap(-(v-25),25)
		beta = 0.0036*vtrap(v-35,12)
		ntau = 1/(alpha + beta)
		ninf = alpha*ntau
		nexp = 1-Exp(tinc/ntau)
}
FUNCTION vtrap(x,y) {	:Traps for 0 in denominator of rate eqns.
		if (fabs(x/y) < 1e-6) {
			vtrap = y*(1 - x/y/2)
		}else{
			vtrap = x/(Exp(x/y) - 1)
		}
}
FUNCTION Exp(x) {
		if (x < -100) {
			Exp = 0
		}else{
			Exp = exp(x)
		}
}
UNITSON

Loading data, please wait...