Skip to content

Commit

Permalink
"initial version"
Browse files Browse the repository at this point in the history
  • Loading branch information
tommorse committed May 31, 2019
0 parents commit c6e3023
Show file tree
Hide file tree
Showing 56 changed files with 7,401 additions and 0 deletions.
79 changes: 79 additions & 0 deletions Background.hoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@

// Background inputs to the 2D OB network

Tb_Start = 0 // Start time of background inputs

Tb_ISI = 10 // spike interval in background input
N_SPIKE = 1000 // number of spike in background input

Thresh = 0
Wb_MC = 1.0e-3 // Synaptic weight of background inputs to MCs
Wb_PG = 0.5e-3 // Synaptic weight of background inputs to PGs
Wb_GC = 0.3e-3 // Synaptic weight of background inputs to GCs

objref MCbinput[nmitx][nmity], PGbinput[npgx][npgy], GCbinput[ngranx][ngrany]
objref MCb[nmitx][nmity], PGb[npgx][npgy], GCb[ngranx][ngrany]
objref RSP[nmitx][nmity]

//==============================================================================
// Spike-trigered random background inputs
//==============================================================================

// For MCs
for i = 0, nmitx-1 {
for j = 0, nmity-1 {
RSP[i][j] = new Vector()

MCb[i][j] = new NetStim(.5)
MCb[i][j].number = N_SPIKE
MCb[i][j].start = Tb_Start
MCb[i][j].interval = Tb_ISI
MCb[i][j].noise = 1
MCb[i][j].seed(NSSEED)

MCbinput[i][j] = new NetCon(MCb[i][j], mit[i][j].AMPA)
MCbinput[i][j].threshold = Thresh
MCbinput[i][j].delay = 0
MCbinput[i][j].weight = Wb_MC

MCbinput[i][j].record(RSP[i][j])
}
}

// For PGs
for i = 0, npgx-1 {
for j = 0, npgy-1 {
PGb[i][j] = new NetStim(.5)
PGb[i][j].number = N_SPIKE
PGb[i][j].start = Tb_Start
PGb[i][j].interval = Tb_ISI
PGb[i][j].noise = 1
PGb[i][j].seed(NSSEED)

PGbinput[i][j] = new NetCon(PGb[i][j], pg[i][j].AMPAr)
PGbinput[i][j].threshold = Thresh
PGbinput[i][j].delay = 0
PGbinput[i][j].weight = Wb_PG
}
}


// For GCs
for i = 0, ngranx-1 {
for j = 0, ngrany-1 {
GCb[i][j] = new NetStim(.5)
GCb[i][j].number = N_SPIKE
GCb[i][j].start = Tb_Start
GCb[i][j].interval = Tb_ISI
GCb[i][j].noise = 1
GCb[i][j].seed(NSSEED)

GCbinput[i][j] = new NetCon(GCb[i][j], gran[i][j].AMPAr)
GCbinput[i][j].threshold = Thresh
GCbinput[i][j].delay = 0
GCbinput[i][j].weight = Wb_GC
}
}



65 changes: 65 additions & 0 deletions CaPN.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
TITLE HH P/N calcium channel

NEURON {
SUFFIX Icapn
USEION ca WRITE ica
RANGE gbar, ica, h, m, g
GLOBAL minf, hinf, mtau, htau
}

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

PARAMETER {
v (mV)
gbar = 0.1 (mho/cm2) <0,1e9>
e = 100 (mV)
}

STATE {
m
h
g (mho/cm2)
}

ASSIGNED {
ica (mA/cm2)
minf
hinf
mtau (ms)
htau (ms)
}

INITIAL {
rates(v)
m = minf
h = hinf
}

BREAKPOINT {
SOLVE states METHOD cnexp
g = gbar*m*m*h
ica = g*(v - e)
}

DERIVATIVE states {
: computes state variables m and h at present v, t
rates(v)
m' = (minf - m)/mtau
h' = (hinf - h)/htau
}


PROCEDURE rates(v(mV)) {
UNITSOFF
mtau = 0.4 + 0.7/(exp((-5-v)/15) + exp((-5-v)/(-15)))
minf = 1/(1+exp(-10-v)/4)
htau = 300 + 100/(exp((-40-v)/9.5) + exp((-40-v)/(-9.5)))
hinf = 1/(1+exp((-25-v)/(-2)))
UNITSON
}



67 changes: 67 additions & 0 deletions CaT.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
TITLE HH T-type calcium channel

NEURON {
SUFFIX Icat
USEION ca WRITE ica
RANGE gbar, ica, g, h, m, sha, shi, k_tauH
GLOBAL minf, hinf, mtau, htau
}

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

PARAMETER {
v (mV)
gbar = 0.036 (mho/cm2) <0,1e9>
e = 100 (mV)
sha = 0
shi = 0
k_tauH = 1

}

STATE {
m
h
g (mho/cm2)
}

ASSIGNED {
ica (mA/cm2)
minf
hinf
mtau (ms)
htau (ms)
}

INITIAL {
rates(v)
m = minf
h = hinf
}

BREAKPOINT {
SOLVE states METHOD cnexp
g = gbar*m*m*h
ica = g*(v - e)
}

DERIVATIVE states {
: computes state variables m and h at present v, t
rates(v)
m' = (minf - m)/mtau
h' = (hinf - h)/htau
}


PROCEDURE rates(v(mV)) {
UNITSOFF
mtau = 1.5 + 3.5/(exp(-(v+30-sha)/15) + exp((v+30-sha)/(15)))
minf = 1/(1+exp(-(v+44-sha)/5.5))

htau = 10 + 40/(exp(-(v+50-shi)/15) + exp((v+50-shi)/(15)))
hinf = k_tauH*1/(1+exp((v+70-shi)/(4)))
UNITSON
}
44 changes: 44 additions & 0 deletions Caint.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
TITLE Mechanism internal calcium concentration cai

NEURON {
SUFFIX Cacon
USEION ca READ ica, cai WRITE cai
GLOBAL tauca, A, camin
}

UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
(molar) = (1/liter)
(mM) = (millimolar)
(uM) = (micromolar)
}

PARAMETER {
dt (ms)
tauca = 800 (ms)
: A = 1.03e-7 (mM cm2 / ms mA) : same as in paper
A = 0.2 :0.103
camin = 1e-8 (mM) : arbitrary

}

STATE {
cai (mM)
}

INITIAL {
cai = camin
}

ASSIGNED {
ica (mA/cm2)
}

BREAKPOINT {
SOLVE state METHOD cnexp
}

DERIVATIVE state {
cai' = -A*ica - (cai-camin)/tauca
}
Loading

0 comments on commit c6e3023

Please sign in to comment.