-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathCell_C.hoc
107 lines (86 loc) · 3.16 KB
/
Cell_C.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
//################################################################//
//# GUI Built using BMTools (https://github.com/tjbanks/bmtools) #//
//# Tyler Banks ([email protected]) #//
//# Neural Engineering Laboratory (Prof. Satish Nair) #//
//# University of Missouri, Columbia #//
//# Build time: 08/05/2020 21:07:55 #//
//################################################################//
{load_file("stdrun.hoc")}
{load_file("nrngui.hoc")}
//Loading mechanisms in other folder
nrn_load_dll("./components/mechanisms/x86_64/.libs/libnrnmech.so")
nrn_load_dll("./components/mechanisms/nrnmech.dll")
// Load Template(s) (some may not be needed if a folder was specified and may cause problems, remove as needed)
//{load_file("./components/templates/templates.hoc")}
//{load_file("./components/templates/feng_typeC.hoc")}
{load_file("./components/templates/feng.hoc")}
tstop = 250
v_init = -65
objref Cell // declare the primary cell object
//Cell = new Cell_C() // build the neuron from template
//Cell = new feng_typeC()
Cell = new Cell_Cf()
Cell.insert_mechs(123) // COMMENT TO DISABLE
NumClamps = 1
NumStims = 0
NumNetcons = 0
NumSynapses = 0
NumOtherCells = 0
objref ccl[NumClamps]
//objref stim[NumStims]
//objref nc[NumNetcons]
//objref syn[NumSynapses]
//objref auxcell[NumOtherCells]
// current clamp current injection
Cell.soma[0] ccl[0] = new IClamp(0.5)
ccl[0].del = 0.0
ccl[0].dur = 100.0
ccl[0].amp = .1
strdef tstr0, tstr1,tstr2,tstr3
//Window 1 variables
strdef Window1BoxTitle
Window1SubVBoxNum = 3
objref Window1HBoxObj,Window1SubVBoxObj[Window1SubVBoxNum]
proc DisplayWindow1() { local i
Window1BoxTitle = "Cell_C - Cell Configurator - Interface generated by BMTools (https://github.com/tjbanks/bmtools)"
Window1HBoxObj = new HBox()
for i=0,Window1SubVBoxNum-1 Window1SubVBoxObj[i] = new VBox()
// Column1
Window1SubVBoxObj[0].intercept(1)
// Widget1
newPlot(0,250,-80,50)
graphItem.save_name("graphList[0].")
graphList[0].append(graphItem)
sprint(tstr1,"%s.soma[0].v(0.5)","Cell")
graphItem.addexpr(tstr1,1,1)
// Widget2
newPlot(0,250,-80,50)
graphItem.save_name("graphList[0].")
graphList[0].append(graphItem)
sprint(tstr1,"%s.dend[0].v(0.5)","Cell")
graphItem.addexpr(tstr1,1,1)
sprint(tstr1,"%s.apic[0].v(0.5)","Cell")
graphItem.addexpr(tstr1,1,1)
Window1SubVBoxObj[0].intercept(0)
// Column2
Window1SubVBoxObj[1].intercept(1)
// Widget1
Cell.soma[0] nrnsecmenu(0.5,1)
// Widget2
Cell.dend[0] nrnsecmenu(0.5,1)
// Widget3
Cell.apic[0] nrnsecmenu(0.5,1)
Window1SubVBoxObj[1].intercept(0)
// Column3
Window1SubVBoxObj[2].intercept(1)
// Widget1
nrncontrolmenu()
// Widget2
nrnpointmenu(ccl[0])
Window1SubVBoxObj[2].intercept(0)
Window1HBoxObj.intercept(1)
for i=0,Window1SubVBoxNum-1 Window1SubVBoxObj[i].map()
Window1HBoxObj.intercept(0)
Window1HBoxObj.map(Window1BoxTitle,0,0,1100,600)
}// end DisplayWindow1()
DisplayWindow1()