-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathPG_Stim.hoc
137 lines (99 loc) · 2.75 KB
/
PG_Stim.hoc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
// =============================================================
// PG Cell using currents from T Cleland Model ( 2006)
// One soma; one dend; one spine shaft and one spine body
//==============================================================
load_file("nrngui.hoc")
xopen("$(NEURONHOME)/lib/hoc/noload.hoc") // standard run tools
load_file("PG_def.hoc")
//v_init = -80 // to match pas
tstop = 1500
celsius = 35 // 23 !!!
//v_init = -75 // to match pas
//objref cvode
//cvode = new CVode(1)
gnic_spine = 0.0e-3 // mS/cm2
objref pg
pg = new PGcell(gnic_spine)
load_file("PG_save.hoc")
//nrncontrolmenu()
// Current injection
T1 = 500 // 500
Dur = 600 // 600
BI=0
if(BI==0) {
Ic1 = 0.1 // 0.2 nA
u0 = 0.0 // 0.05
u1 = 0.0 // 0.2
Wb_PG = 0.0e-3 // 0.3 !!!
} else {
Ic1 = 0.0
u0 = 0.05 // 0.05
u1 = 0.2 // 0.2
Wb_PG = 0.6e-3 // 0.3 !!!
}
objref Stim1
pg.soma Stim1 = new IClamp(0.5)
Stim1.del = T1
Stim1.dur = Dur
Stim1.amp = Ic1
objref Stim2
pg.gemmbody Stim2 = new OdorInput(0.0)
Stim2.torn = 1000
Stim2.r = 100 // 100
Stim2.del = 0
Stim2.dur = tstop
Stim2.f0 = u0
Stim2.f1 = u1
//Random background inputs!!!
Tb_ISI = 10 // spike interval in background input
N_SPIKE = 1000 // number of spike in background input
objref PGbinput
objref PGb
PGb = new NetStim(.5)
PGb.number = N_SPIKE
PGb.start = 0
PGb.interval = Tb_ISI
PGb.noise = 1
PGbinput = new NetCon(PGb, pg.AMPAr)
PGbinput.threshold = 0
PGbinput.delay = 0
PGbinput.weight = Wb_PG
objref g1,g2,g3,g4,g5, g6
proc fig1() {
g1 = new Graph(0)
addplot(g1, 0)
g1.size(0,tstop,-80,50)
g1.view(0,-80,tstop,130, 0,150,500,160)
g1.addvar("Soma.V", "pg.gemmbody.v(0.5)", 3, 1, 0.8, 0.9, 2) //1: black; 2: red; 3: blue
g4 = new Graph(0)
addplot(g4, 0)
g4.size(0,tstop,0,1)
g4.view(0,0,tstop,1, 0,900,500,150)
g4.addvar("Icat.m", "pg.dend.m_Icat", 5, 2, 0.8, 0.9, 2)
g4.addvar("Icat.h", "pg.dend.h_Icat", 1, 2, 0.8, 0.9, 2)
g6 = new Graph(0)
addplot(g6, 0)
g6.size(0,tstop,-80,50)
g6.view(0,-80,tstop,130, 0,500,500,160)
g6.addvar("Spine.V", "pg.gemmbody.v(0.5)", 2, 1, 0.8, 0.9, 2) //
g5 = new Graph(0)
addplot(g5, 0)
g5.size(0,tstop,0,2)
g5.view(0,0,tstop,2, 0,450,500,130)
g5.addvar("Dend.Ca", "pg.dend.cai", 2, 2, 0.8, 0.9, 2)
g2 = new Graph(0)
addplot(g2, 0)
g2.size(0,tstop, 0,180)
g2.view(0,0,tstop,180, 0,700,500,130)
g2.addvar("Dend.ECa", "pg.dend.eca", 2, 2, 0.8, 0.9, 2) //
/*
g3 = new Graph(0)
addplot(g3, 0)
g3.size(0,tstop,-0.0005,0.0005)
g3.view(0,-0.005,tstop,0.01, 450,200,400,150)
g3.addvar("ICaT", "pg.dend.ica_Icat", 1, 1, 0.9, 0.9, 2)
*/
}
fig1()
run()
save_data()