I'm running on Windows a NEURON version 7.6.
I have an .asc file with the geometric properties of one ganglion neuron and a .hoc file which set his chemical properties.
What i would do is simply generate a clone of this first one at one specific spatial coordinate, having at the end 2 neurons one close to each other, and afterward investigate neurons spike under external electrical field.
What I've done was generate a template in the .asc file, importing it in the .hox file and then put it in a foor loop (just 2 iteration) which assign chemical properties to each neuron. I don't think this is the smartest way to do that, first of all because it gives me an error and second because i don't understand why i cannot directly generate a template using bot files (.asc and .hoc). I tried to be honest, but i didn't get how this 2 files are thought to communicate. Also in my code i still didn't specific any coordinates because I would just check to get 2 neurons at the default position given by NEURON.
The error which appears is:
Code: Select all
C:\nrn\bin\nrniv.exe: Segmentation violation
in C:/Users/Rudy/Downloads/sheasbyfohlmeister1999a_r1/sheasbyfohlmeister1999/SmallComplex/CTS7259Gsingle - Copy/cts7259g.hoc near line 9
}
I report the 2 file here, give me all the advices you recommend to improve my coding. Many thanks.
.asc file
Code: Select all
begintemplate CELL
public soma,dend1,dend2,dend3,dend4,dend5,dend6,initseg, narrow,axon
/* create sections */
create soma,\
dend1[3],\
dend2[1],\
dend3[13],\
dend4[5],\
dend5[21],\
dend6[9]
create initseg, narrow, axon
/*----------------------------------------------------------------*/
proc geometry() { local i, j
/* soma geometry */
soma {
nseg = 1
pt3dclear()
for j = 1, fscan() {
pt3dadd(fscan(),fscan(),fscan(),fscan())
}
}
/* connect primary neurites */
soma connect dend1[0] (0), 0.5
soma connect dend2[0] (0), 0.5
soma connect dend3[0] (0), 0.5
soma connect dend4[0] (0), 0.5
soma connect dend5[0] (0), 0.5
soma connect dend6[0] (0), 0.5
/* neurite geometry*/
for i = 0,2 {
dend1[i] {
nseg = fscan()
pt3dclear()
for j = 1, fscan() {
pt3dadd(fscan(),fscan(),fscan(),fscan())
}
}
}
for i = 0,0 {
dend2[i] {
nseg = fscan()
pt3dclear()
for j = 1, fscan() {
pt3dadd(fscan(),fscan(),fscan(),fscan())
}
}
}
for i = 0,12 {
dend3[i] {
nseg = fscan()
pt3dclear()
for j = 1, fscan() {
pt3dadd(fscan(),fscan(),fscan(),fscan())
}
}
}
for i = 0,4 {
dend4[i] {
nseg = fscan()
pt3dclear()
for j = 1, fscan() {
pt3dadd(fscan(),fscan(),fscan(),fscan())
}
}
}
for i = 0,20 {
dend5[i] {
nseg = fscan()
pt3dclear()
for j = 1, fscan() {
pt3dadd(fscan(),fscan(),fscan(),fscan())
}
}
}
for i = 0,8 {
dend6[i] {
nseg = fscan()
pt3dclear()
for j = 1, fscan() {
pt3dadd(fscan(),fscan(),fscan(),fscan())
}
}
}
/* branching topology*/
for i = 1,2 {
dend1[fscan()] connect dend1[i] (0), fscan()
}
for i = 1,0 {
dend2[fscan()] connect dend2[i] (0), fscan()
}
for i = 1,12 {
dend3[fscan()] connect dend3[i] (0), fscan()
}
for i = 1,4 {
dend4[fscan()] connect dend4[i] (0), fscan()
}
for i = 1,20 {
dend5[fscan()] connect dend5[i] (0), fscan()
}
for i = 1,8 {
dend6[fscan()] connect dend6[i] (0), fscan()
}
}
geometry()
endtemplate CELL
SOMA COORDINATES AND DIAMETERS:
17
-6.5 -0.5 1.5 0
-6 -1.4167 1.375 3.1765
-5.5 -2.5833 1.25 6.8516
-4.5 -2.6667 0.75 9.6796
-3.5 -2.2143 0.71429 11.518
-1.5 -1.1429 0.39286 15.748
-1 -1.1 0.5 16.298
1 -1.25 0.5 18.927
2 0.66667 0.25 20.175
2.5 1 0.17857 19.559
3 2.5 -0.39286 16.442
4.5 3.5 -0.60714 14.621
5.5 4.1667 -0.75 13.442
6 3.75 -0.75 11.424
6.5 3.625 -1 8.7214
7 3.375 -0.5 5.1539
7.5 4 0 0
NEURITE COORDINATES AND DIAMETERS:
1 3
-3.5 -8.5 0.5 1.7
-6.5 -10 0.5 1.6
-9.5 -10 1 1.6
1 2
-9.5 -10 1 1.6
-10 -12.5 3.5 0.1
2 10
-9.5 -10 1 1.6
-10.5 -9.5 1.5 1
-11.5 -7 1 0.9
-14 -6 0 0.7
-14.5 -5.5 0 0.3
-17 -5 0 0.3
-18 -7.5 1 0.1
-19.5 -8.5 2 0.1
-22 -8 0.5 0.1
-23 -7 1 0.1
5 16
1 -3 0.5 1
-1.5 -4 5 1
-2.5 -5 8 1
-2.5 -6.5 10 0.7
-1 -8.5 10 0.7
1 -10.5 8.5 0.4
3.5 -10 9 0.4
5 -10.5 9 0.3
6.5 -13 10 0.3
8 -14.5 11 0.3
9.5 -13.5 11.5 0.1
10 -12.5 12 0.1
11.5 -15.5 11.5 0.1
14.5 -17.5 12 0.1
17 -19 10.5 0.1
18.5 -19 11 0.1
3 7
1 -6.5 0 2.5
0 -11 2.5 1.4
0 -14 3.5 0.9
-0.5 -16 5 0.9
-2 -17 7.5 0.9
-3.5 -21 8.5 0.9
-3.5 -22 10 0.9
2 5
-3.5 -22 10 0.9
-2.5 -24 10 0.1
0 -24 9.5 0.1
1 -26.5 9.5 0.1
1.5 -29 9.5 0.1
2 6
-3.5 -22 10 0.9
-5 -23.5 10 0.9
-5.5 -25 10 0.9
-5.5 -26 10 0.6
-6.5 -26.5 10 0.6
-8 -30 12 0.6
9 25
-8 -30 12 0.6
-10.5 -31 11.5 0.1
-12 -33.5 12.5 0.1
-14 -35.5 12 0.1
-18 -39 12.5 0.1
-20 -40 13.5 0.1
-21.5 -44 13.5 0.1
-23.5 -49.5 13.5 0.1
-26.5 -56 15 0.1
-29 -60 16 0.1
-30 -62.5 15.5 0.1
-30.5 -64 15.5 0.1
-31.5 -65 15.5 0.1
-31.5 -69.5 15.5 0.1
-33.5 -72 15.5 0.1
-36.5 -74.5 15.5 0.1
-37.5 -78.5 15.5 0.1
-39 -82 14.5 0.1
-40 -84.5 14.5 0.1
-41.5 -86.5 14.5 0.1
-44 -89.5 15 0.1
-46.5 -92 16.5 0.1
-49 -95.5 16.5 0.1
-52.5 -99.5 17.5 0.1
-53.5 -101 17.5 0.1
1 4
-8 -30 12 0.6
-7.5 -31.5 13 0.1
-9 -36 14 0.1
-9 -36 14 0.1
2 6
-9 -36 14 0.1
-12 -37.5 14 0.1
-14 -41.5 15 0.1
-17 -45.5 15 0.1
-19 -48.5 15 0.1
-19 -48.5 15 0.1
1 3
-19 -48.5 15 0.1
-22 -50.5 15 0.1
-25 -54 15 0.1
1 4
-19 -48.5 15 0.1
-19.5 -52 15 0.1
-21 -55 15 0.1
-21 -55 15 0.1
2 6
-21 -55 15 0.1
-22 -57.5 15 0.1
-24 -60 15 0.1
-26.5 -64.5 15.5 0.1
-27.5 -67.5 15.5 0.1
-28 -68.5 15.5 0.1
2 5
-21 -55 15 0.1
-22 -58.5 15 0.1
-23 -62.5 15 0.1
-23.5 -65 15 0.1
-24 -66.5 15 0.1
2 4
-9 -36 14 0.1
-11.5 -40 15 0.1
-13.5 -44 15 0.1
-14.5 -45 15 0.1
2 6
-14.5 -45 15 0.1
-16 -47 15 0.1
-17.5 -50.5 15 0.1
-20 -54 15.5 0.1
-20.5 -56.5 15.5 0.1
-21.5 -59.5 15.5 0.1
2 5
-14.5 -45 15 0.1
-12 -48.5 14.5 0.1
-11.5 -50.5 14.5 0.1
-10.5 -53.5 14.5 0.1
-10 -56 15 0.1
2 7
-5.5 1.5 0.5 1.4
-6.5 1 3 2
-8 -1.5 6 1.3
-9 0.5 7 1
-11 0.5 7 1
-12.5 -1 7 1
-14 -2 7 1
3 10
-14 -2 7 1
-15 -4.5 7 0.6
-15.5 -6.5 7 0.6
-14 -7 6 0.6
-13 -9 6 0.6
-11.5 -11.5 7 0.6
-10.5 -14 7.5 0.6
-10 -16 7 0.6
-10 -19 9 0.1
-10.5 -19 9 0.1
2 4
-14 -2 7 1
-16 -1.5 10 0.8
-18 0.5 9 0.6
-20.5 -1 11.5 0.6
1 5
-20.5 -1 11.5 0.6
-21 0.5 10.5 0.1
-22 2.5 11.5 0.1
-24 4.5 10 0.1
-24 4.5 10 0.1
3 8
-20.5 -1 11.5 0.6
-20.5 -3.5 11 0.3
-21.5 -6.5 13 0.3
-22 -10.5 13 0.3
-23.5 -14.5 13 0.3
-25 -21 14.5 0.3
-26.5 -24.5 14.5 0.2
-28 -28 14.5 0.1
2 9
3 11.5 0 1.2
2 13.5 -1.5 1.2
2 15.5 -1.5 1.2
4 16 -1.5 1.2
6.5 17.5 0.5 1.2
5 20 1.5 1.2
5.5 24 1.5 1.2
6.5 25.5 1.5 1.2
6.5 25.5 1.5 1.2
5 15
6.5 25.5 1.5 1.2
4.5 26.5 3.5 0.4
3 27.5 6.5 0.4
2 30 8.5 0.4
2 32 8.5 0.2
1.5 34.5 9.5 0.2
1.5 37.5 10.5 0.2
1 40.5 9.5 0.2
1 43 8 0.2
2 46 8 0.2
3.5 49.5 8 0.2
5.5 52 8.5 0.2
6 55.5 8.5 0.2
6 60 7 0.2
5 62.5 7.5 0.1
1 3
6.5 25.5 1.5 1.2
8 27 2 1.1
9 28 2 2.4
2 4
9 28 2 2.4
11.5 30.5 4 0.9
13 33.5 4.5 0.9
14 37 4.5 0.9
1 5
14 37 4.5 0.9
16.5 37.5 4.5 0.9
18.5 36.5 4.5 0.9
19.5 36 4.5 0.9
21 37.5 4.5 0.9
3 8
21 37.5 4.5 0.9
21 39.5 2.5 0.1
23 42.5 3.5 0.1
24 45.5 3.5 0.1
24.5 48 4 0.1
26 52 4 0.1
24.5 56 4 0.1
24.5 59 4 0.1
1 5
21 37.5 4.5 0.9
21.5 35.5 4 0.5
24.5 36 4.5 0.5
25 32.5 5 0.8
25.5 32 5 0.8
3 9
25.5 32 5 0.8
25 29 5 0.1
26 24 5 0.1
27.5 22 8 0.1
29.5 22 9 0.1
31 24.5 9 0.1
32.5 24.5 9 0.1
35 27 9 0.1
36.5 27 9 0.1
6 19
25.5 32 5 0.8
27 33.5 4 0.5
29.5 36 4 0.5
32.5 40.5 4.5 0.5
32.5 42.5 4 0.5
35 46 3 0.5
36 48.5 2.5 0.5
37.5 52 2.5 0.5
38.5 55.5 2.5 0.5
39.5 59 2.5 0.5
40.5 63 2.5 0.5
42 66 2.5 0.5
42.5 67 2.5 0.5
42.5 68.5 2.5 0.3
43.5 71.5 2.5 0.3
43 72.5 2.5 0.3
44 74 3 0.3
44.5 76 3.5 0.3
46 81 3 0.3
4 8
46 81 3 0.3
46.5 82.5 3 0.1
48 86 2.5 0.1
49.5 89.5 5 0.1
51 93 3.5 0.1
54.5 97 4 0.1
56.5 101.5 4.5 0.1
58.5 108 5 0.1
6 13
46 81 3 0.3
44.5 86 4 0.2
44.5 89.5 4 0.2
42 91 4 0.2
43.5 95.5 2.5 0.2
43.5 101 4.5 0.2
44 105 2 0.2
44.5 109.5 4 0.1
45.5 115 3 0.1
47.5 119.5 2 0.1
48.5 126 2.5 0.1
48.5 131 2 0.1
47 134.5 2 0.1
7 22
14 37 4.5 0.9
13.5 39.5 4 0.3
14.5 43 5 0.3
16 44.5 5.5 0.2
17 48 4 0.1
17.5 50 4 0.1
20 54 4.5 0.1
24 58 3.5 0.1
27 60.5 5.5 0.1
30.5 62.5 5.5 0.1
31.5 63.5 5.5 0.1
34.5 66.5 5.5 0.1
35.5 67.5 5.5 0.1
37 68 5.5 0.1
40 72 4 0.1
41.5 75.5 4 0.1
43 77.5 4 0.1
45.5 79 4 0.1
49 78.5 4 0.1
50.5 79 4 0.1
52 75 3.5 0.1
54.5 73.5 5 0.1
3 10
9 28 2 2.4
8.5 30.5 1.5 0.5
8.5 33 2.5 0.5
8.5 35.5 3 0.5
9.5 37 3 0.5
8 38.5 3 0.5
8 40 3 0.5
7 41.5 3 0.5
7 45 3 0.5
6.5 46.5 4 0.1
3 12
6.5 46.5 4 0.1
3 47.5 4 0.1
1 48 4 0.1
-1 48.5 5.5 0.1
-3 47.5 5.5 0.1
-4 49.5 6 0.1
-6 49.5 5.5 0.1
-6 47.5 5.5 0.1
-8 50 5.5 0.1
-9.5 47 5.5 0.1
-11.5 49 6 0.1
-15 48.5 6.5 0.1
2 6
6.5 46.5 4 0.1
8 49.5 3.5 0.3
9 51.5 3.5 0.3
9 55.5 5.5 0.3
6.5 56.5 4.5 0.3
4 58 6 0.3
1 6
4 58 6 0.3
3.5 56.5 6 0.1
1.5 55.5 6 0.1
0 55.5 6 0.1
-0.5 54 6 0.1
-2.5 55 6 0.1
3 8
4 58 6 0.3
3.5 60.5 5 0.3
4 64.5 6 0.3
5.5 68.5 4 0.3
6 72 4 0.3
6.5 75 3.5 0.3
6.5 78 3.5 0.3
6.5 78 3.5 0.1
2 4
6.5 78 3.5 0.1
6 80.5 4 0.1
5 84 4 0.1
6 89 4 0.1
1 3
6.5 78 3.5 0.1
8 82 4.5 0.2
9 85 4 0.2
3 6
9 85 4 0.2
10.5 85 4 0.2
11.5 88.5 4.5 0.2
14.5 95.5 4 0.2
15 100 4 0.2
17 104.5 4 0.2
3 5
9 85 4 0.2
9 88.5 4 0.2
9 97 4 0.2
9.5 105 4.5 0.2
8.5 108.5 3.5 0.2
1 3
6 7 0.5 2
6.5 9 4 2
6.5 10.5 4.5 2
3 8
6.5 10.5 4.5 2
8.5 10.5 4.5 0.8
9 8 6.5 0.8
10 4 6.5 0.8
10.5 -2 8 0.8
10.5 -4 8 0.8
12 -6 8 0.8
14.5 -6.5 8 0.8
3 5
14.5 -6.5 8 0.8
16.5 -12.5 10 0.1
15.5 -19.5 10 0.1
14 -26 12.5 0.1
11.5 -29 11.5 0.1
3 8
14.5 -6.5 8 0.8
16.5 -3 9 0.2
18.5 1 8.5 0.2
20 3.5 8.5 0.2
22.5 9 8 0.2
25 8 5.5 0.2
25.5 5 6 0.2
27.5 5.5 6 0.2
2 7
27.5 5.5 6 0.2
28 3 6 0.2
30.5 3 5.5 0.2
32.5 3.5 5.5 0.2
33 3 5.5 0.2
35 3.5 6 0.2
38.5 4.5 7.5 0.2
11 28
27.5 5.5 6 0.2
27.5 6.5 4.5 0.2
29.5 8 4.5 0.2
31 8 5.5 0.2
33.5 14 4 0.2
35 16.5 4 0.2
37.5 22 4.5 0.2
39.5 25.5 2.5 0.2
42 28 5.5 0.2
44 31.5 5.5 0.2
47.5 32 4 0.2
48 31.5 4 0.2
49 27 2 0.2
47.5 22 2 0.2
51.5 20.5 2 0.2
51.5 18 3.5 0.2
51.5 15.5 3.5 0.2
51.5 14 3.5 0.2
53 9.5 3.5 0.2
53 5 5 0.2
56 3 4.5 0.2
57 1 4.5 0.2
59 1 5.5 0.2
59 -3.5 6.5 0.2
58.5 -8 6 0.1
59 -15.5 6 0.1
59 -23 6 0.1
59.5 -27 5.5 0.1
2 6
6.5 10.5 4.5 2
6.5 12.5 4 0.6
9 15 4 0.6
10.5 18 4 0.6
10.5 24 3.5 0.6
13 26.5 4.5 0.6
2 7
13 26.5 4.5 0.6
13.5 28.5 4.5 0.1
13.5 29.5 4.5 0.1
12 30 3.5 0.1
11 27.5 3.5 0.1
8.5 22 3.5 0.1
8 18.5 3.5 0.1
5 11
13 26.5 4.5 0.6
14.5 27.5 4.5 0.1
17.5 26 3.5 0.1
19 27.5 6.5 0.1
23 29.5 6.5 0.1
25 32 5.5 0.1
28 37.5 5 0.1
32 43 4 0.1
32.5 48 5 0.1
32.5 52.5 2.5 0.1
32.5 58.5 1.5 0.1
CONNECTIONS:
0 1
0 1
0 1
0 1
2 1
2 1
4 1
5 1
5 1
7 1
7 1
4 1
10 1
10 1
0 1
0 1
2 1
2 1
0 1
0 1
2 1
3 1
4 1
4 1
6 1
6 1
8 1
8 1
3 1
2 1
12 1
12 1
14 1
14 1
16 1
16 1
18 1
18 1
0 1
1 1
1 1
3 1
3 1
0 1
6 1
6 1
/*----------------------------------------------------------------*/
proc geometry() {
/* NULL geometry procedure: keeps the user from
calling the geometry procedure in isolation. */
printf("\nYou must re-read the entire geometry\n")
printf("file to execute geometry().\n\n")
}
Code: Select all
load_file("nrngui.hoc")
load_file("cts7259g.asc")
nSThcells=2
objectvar SThcells[nSThcells]
for i = 0, nSThcells-1 {
SThcells[i] = new CELL()
}
for i = 0, nSThcells-1 SThcells[i]{
initseg {L=40}
narrowr {L=90}
axon {L=5340}
initseg nseg=int(L/15)
narrowr nseg=int(L/15)
axon nseg=int(L/15)
forall insert pas
forall insert spike
forall ena = 35.0
forall ek = -75
forall insert cad
forall g_pas = .000008
forall e_pas = -62.5
forall Ra=110
global_ra=110
celsius=22
for i = 0, 3-1 dend1[i] {
gcabar_spike = 0.002
gkbar_spike = 0.012
gabar_spike = 0.036
gkcbar_spike = 0.000001
gnabar_spike = 0.025
}
dend2 {
gcabar_spike = 0.002
gkbar_spike = 0.012
gabar_spike = 0.036
gkcbar_spike = 0.000001
gnabar_spike = 0.025
}
for i = 0, 13-1 dend3[i] {
gcabar_spike = 0.002
gkbar_spike = 0.012
gabar_spike = 0.036
gkcbar_spike = 0.000001
gnabar_spike = 0.025
}
for i = 0, 5-1 dend4[i] {
gcabar_spike = 0.002
gkbar_spike = 0.012
gabar_spike = 0.036
gkcbar_spike = 0.000001
gnabar_spike = 0.025
}
for i = 0, 21-1 dend5[i] {
gcabar_spike = 0.002
gkbar_spike = 0.012
gabar_spike = 0.036
gkcbar_spike = 0.000001
gnabar_spike = 0.025
}
for i = 0, 9-1 dend6[i] {
gcabar_spike = 0.002
gkbar_spike = 0.012
gabar_spike = 0.036
gkcbar_spike = 0.000001
gnabar_spike = 0.025
}
soma {
diam=12.9168
gcabar_spike = 0.0015
gkbar_spike = 0.018
gabar_spike = 0.054
gkcbar_spike = 0.000065
gnabar_spike = 0.080
}
initseg {
diam=1
gcabar_spike = 0.0015
gkbar_spike = 0.018
gabar_spike = 0.054
gkcbar_spike = 0.000065
gnabar_spike = 0.150
}
narrowr {
diam=0.4
gcabar_spike = 0.0
gkbar_spike = 0.018
gabar_spike = 0.054
gkcbar_spike = 0.000065
gnabar_spike = 0.1
}
axon {
diam=1
gcabar_spike = 0.0
gkbar_spike = 0.018
gabar_spike = 0.0
gkcbar_spike = 0.000065
gnabar_spike = 0.070
}
connect soma(1),initseg(0)
connect initseg(1),narrowr(0)
connect narrowr(1),axon(0)
}
objectvar clamp
nSThcells[1].soma clamp = new IClamp(0.5)
// clamp.del = 0
// clamp.dur = 400
// clamp.amp = 0.01
load_proc("nrnmainmenu")
access nSThcells[1].soma
// xopen("test.ses")
init()
forall depth_cad = diam / 2
init()