Skip to content

Commit d76e33f

Browse files
authored
Merge pull request #4 from OpenSourceBrain/development
Add spikeThresh
2 parents 3dc8471 + f6c24e4 commit d76e33f

File tree

10 files changed

+697
-353
lines changed

10 files changed

+697
-353
lines changed

.github/workflows/omv-ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ jobs:
2020
engine: [ jNeuroML_validate ]
2121

2222
steps:
23-
- uses: actions/checkout@v3
23+
- uses: actions/checkout@v4
2424

2525
- name: Set up Python ${{ matrix.python-version }}
26-
uses: actions/setup-python@v3
26+
uses: actions/setup-python@v5
2727
with:
2828
python-version: ${{ matrix.python-version }}
2929

Allen/ML_cells/AA0188_active.cell.nml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10747,6 +10747,7 @@
1074710747
<channelDensity id="pas_chan" ionChannel="pas" condDensity="0.000142857 S_per_cm2" erev="-70.0 mV" ion="non_specific"/>
1074810748
<channelDensity id="na_chan" ionChannel="na" condDensity="0.1 S_per_cm2" erev="60.0 mV" ion="na"/>
1074910749
<channelDensity id="kv_chan" ionChannel="kv" condDensity="0.01 S_per_cm2" erev="-90.0 mV" ion="k"/>
10750+
<spikeThresh value="10mV"/>
1075010751
<specificCapacitance value="1.0 uF_per_cm2"/>
1075110752
<initMembPotential value="-80 mV"/>
1075210753
</membraneProperties>

Allen/ML_cells/AA0289_active.cell.nml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14644,6 +14644,7 @@
1464414644
<channelDensity id="pas_chan" ionChannel="pas" condDensity="0.000142857 S_per_cm2" erev="-70.0 mV" ion="non_specific"/>
1464514645
<channelDensity id="na_chan" ionChannel="na" condDensity="0.1 S_per_cm2" erev="60.0 mV" ion="na"/>
1464614646
<channelDensity id="kv_chan" ionChannel="kv" condDensity="0.01 S_per_cm2" erev="-90.0 mV" ion="k"/>
14647+
<spikeThresh value="10mV"/>
1464714648
<specificCapacitance value="1.0 uF_per_cm2"/>
1464814649
<initMembPotential value="-80 mV"/>
1464914650
</membraneProperties>

Allen/ML_cells/ROTATED_AA0188_active.cell.nml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10747,6 +10747,7 @@
1074710747
<channelDensity id="pas_chan" ionChannel="pas" condDensity="0.000142857 S_per_cm2" erev="-70.0 mV" ion="non_specific"/>
1074810748
<channelDensity id="na_chan" ionChannel="na" condDensity="0.1 S_per_cm2" erev="60.0 mV" ion="na"/>
1074910749
<channelDensity id="kv_chan" ionChannel="kv" condDensity="0.01 S_per_cm2" erev="-90.0 mV" ion="k"/>
10750+
<spikeThresh value="10mV"/>
1075010751
<specificCapacitance value="1.0 uF_per_cm2"/>
1075110752
<initMembPotential value="-80 mV"/>
1075210753
</membraneProperties>

Allen/ML_cells/ROTATED_AA0289_active.cell.nml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14644,6 +14644,7 @@
1464414644
<channelDensity id="pas_chan" ionChannel="pas" condDensity="0.000142857 S_per_cm2" erev="-70.0 mV" ion="non_specific"/>
1464514645
<channelDensity id="na_chan" ionChannel="na" condDensity="0.1 S_per_cm2" erev="60.0 mV" ion="na"/>
1464614646
<channelDensity id="kv_chan" ionChannel="kv" condDensity="0.01 S_per_cm2" erev="-90.0 mV" ion="k"/>
14647+
<spikeThresh value="10mV"/>
1464714648
<specificCapacitance value="1.0 uF_per_cm2"/>
1464814649
<initMembPotential value="-80 mV"/>
1464914650
</membraneProperties>

Allen/Parse.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,19 +72,19 @@ def generate(reference,
7272
names = {}
7373
areas = {}
7474

75-
with open('nature13186-s2_1.csv', 'rb') as csvfile:
75+
with open('nature13186-s2_1.csv', 'r') as csvfile:
7676
reader = csv.reader(csvfile, delimiter=',', quotechar='"')
7777
for w in reader:
78-
print w
78+
print(w)
7979
if w[0] != 'id':
8080
short = w[3].replace(', ','_')
8181
name = w[4].strip('"')
8282
names[short]=name
8383

84-
with open('nature13186-s2_2.csv', 'rb') as csvfile:
84+
with open('nature13186-s2_2.csv', 'r') as csvfile:
8585
reader = csv.reader(csvfile, delimiter=',', quotechar='"')
8686
for w in reader:
87-
print w
87+
print(w)
8888
if w[0] != 'ID':
8989
short = w[2].replace(', ','_')
9090
area = w[4].strip('"')
@@ -176,7 +176,7 @@ def generate(reference,
176176
f = open('ABA12.tsv')
177177
for l in f:
178178
w = l.split()
179-
print w
179+
print(w)
180180
pre_id = w[0].replace('-','_').replace('/','_')
181181
if pre_id != '[0]':
182182

@@ -286,15 +286,15 @@ def generate(reference,
286286

287287

288288
if include_connections:
289-
with open('nature13186-s4_W_ipsi.csv', 'rb') as csvfile:
289+
with open('nature13186-s4_W_ipsi.csv', 'r') as csvfile:
290290
reader = csv.reader(csvfile, delimiter=',', quotechar='"')
291291
indices = {}
292292
for w in reader:
293293
#print w
294294
if w[0]=='ROOT':
295295
for i in range(len(w)):
296296
indices[i]=w[i]
297-
print indices
297+
print(indices)
298298
else:
299299
pre = w[0]
300300
for i in range(len(w)):

Allen/Thalamus.net.nml

Lines changed: 175 additions & 173 deletions
Large diffs are not rendered by default.

Allen/Thalamus__lems.xml

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
<?xml version="1.0" ?>
2+
<Lems xmlns="http://www.neuroml.org/lems/0.7.6" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.neuroml.org/lems/0.7.6 https://raw.githubusercontent.com/LEMS/LEMS/development/Schemas/LEMS/LEMS_v0.7.6.xsd">
3+
<ComponentType name="baseRateUnitDL" extends="baseCellMembPotDL" description="Base type of any cell/population which has a (dimensionless) rate _R.">
4+
<Exposure name="R" dimension="none"/>
5+
</ComponentType>
6+
<ComponentType name="baseRateUnit" extends="baseCellMembPot" description="Base type of any cell/population which has a (dimensional) rate _r.">
7+
<Exposure name="r" dimension="per_time"/>
8+
</ComponentType>
9+
<ComponentType name="mejiasEtAl2016Cell" extends="baseRateUnit" description="Work in progress...">
10+
<Parameter name="tau" dimension="time"/>
11+
<Parameter name="r0" dimension="per_time"/>
12+
<Parameter name="noiseDt" dimension="time"/>
13+
<Parameter name="sig" dimension="none" description="Standard deviation of noise"/>
14+
<Constant name="NAMP_SCALE" value="1 nA" dimension="current"/>
15+
<Constant name="MS_SCALE" value=".001 s" dimension="time"/>
16+
<Constant name="HZ_SCALE" value="1 Hz" dimension="per_time"/>
17+
<Constant name="MVOLT_SCALE" value="1mV" dimension="voltage"/>
18+
<Attachments name="synapses" type="basePointCurrent"/>
19+
<Exposure name="phi" dimension="none"/>
20+
<Exposure name="iSyn" dimension="current"/>
21+
<Exposure name="xi" dimension="none"/>
22+
<Dynamics>
23+
<StateVariable name="r" dimension="per_time" exposure="r"/>
24+
<StateVariable name="v" dimension="voltage" exposure="v"/>
25+
<StateVariable name="dr" dimension="per_time"/>
26+
<StateVariable name="U" dimension="none"/>
27+
<StateVariable name="V" dimension="none"/>
28+
<StateVariable name="xi" dimension="none" exposure="xi"/>
29+
<DerivedVariable name="iSyn" dimension="current" exposure="iSyn" select="synapses[*]/i" reduce="add"/>
30+
<DerivedVariable name="x" dimension="none" value="(iSyn)/NAMP_SCALE"/>
31+
<DerivedVariable name="internalNoise" dimension="per_time" value="sig * xi * (tau/ noiseDt) ^ .5 * HZ_SCALE"/>
32+
<ConditionalDerivedVariable name="phi" dimension="none" exposure="phi">
33+
<Case condition="x .eq. 0" value="1"/>
34+
<Case condition="x .neq. 0" value="x / (1 - exp(-1*x))"/>
35+
</ConditionalDerivedVariable>
36+
<TimeDerivative variable="r" value="((-1*r + phi*HZ_SCALE + internalNoise)/tau) "/>
37+
<OnStart>
38+
<StateAssignment variable="r" value="r0"/>
39+
</OnStart>
40+
<OnCondition test="r .lt. 0">
41+
<EventOut port="spike"/>
42+
</OnCondition>
43+
<OnCondition test="t .geq. 0">
44+
<StateAssignment variable="U" value="random(1)"/>
45+
<StateAssignment variable="V" value="random(1)"/>
46+
<StateAssignment variable="xi" value="sqrt(-2*log(U))*cos(2*3.14159265359*V)"/>
47+
</OnCondition>
48+
</Dynamics>
49+
</ComponentType>
50+
<ComponentType name="wilsonCowanCellDL" extends="baseRateUnitDL" description="Work in progress...">
51+
<Parameter name="tau" dimension="time"/>
52+
<Parameter name="R0" dimension="none"/>
53+
<Parameter name="z" dimension="none"/>
54+
<Attachments name="synapses" type="basePointCurrentDL"/>
55+
<Exposure name="f" dimension="none"/>
56+
<Exposure name="iSyn" dimension="none"/>
57+
<Dynamics>
58+
<StateVariable name="R" dimension="none" exposure="R"/>
59+
<DerivedVariable name="iSyn" dimension="none" exposure="iSyn" select="synapses[*]/I" reduce="add"/>
60+
<DerivedVariable name="f" dimension="none" exposure="f" value="1 / (1 + exp(-1*(iSyn - z)))"/>
61+
<DerivedVariable name="V" dimension="none" exposure="V" value="0"/>
62+
<TimeDerivative variable="R" value="(-1*R + f)/tau"/>
63+
<OnStart>
64+
<StateAssignment variable="R" value="R0"/>
65+
</OnStart>
66+
<OnCondition test="R .lt. 0">
67+
<EventOut port="spike"/>
68+
</OnCondition>
69+
</Dynamics>
70+
</ComponentType>
71+
<ComponentType name="isoclineDL" extends="baseRateUnitDL" description="Work in progress...">
72+
<Parameter name="e0" dimension="none"/>
73+
<Parameter name="w1" dimension="none"/>
74+
<Parameter name="w2" dimension="none"/>
75+
<Parameter name="z" dimension="none"/>
76+
<Exposure name="f_inverse" dimension="none"/>
77+
<Exposure name="R_iso" dimension="none"/>
78+
<Exposure name="x" dimension="none"/>
79+
<Dynamics>
80+
<DerivedVariable name="x" dimension="none" exposure="x" value="e0 / 1 - (1 * e0)"/>
81+
<DerivedVariable name="f_inverse" dimension="none" exposure="f_inverse" value="-log((1/x) - 1) + z"/>
82+
<DerivedVariable name="R_iso" dimension="none" exposure="R_iso" value="((w1 * e0) - f_inverse)/w2"/>
83+
<OnCondition test="R_iso .lt. 0">
84+
<EventOut port="spike"/>
85+
</OnCondition>
86+
</Dynamics>
87+
</ComponentType>
88+
<ComponentType name="wilsonCowanCell" extends="baseRateUnit" description="Work in progress...">
89+
<Parameter name="tau" dimension="time"/>
90+
<Parameter name="r0" dimension="per_time"/>
91+
<Parameter name="z" dimension="current"/>
92+
<Constant name="NAMP_SCALE" value="1 nA" dimension="current"/>
93+
<Constant name="HZ_SCALE" value="1 Hz" dimension="per_time"/>
94+
<Constant name="MVOLT_SCALE" value="1mV" dimension="voltage"/>
95+
<Attachments name="synapses" type="basePointCurrent"/>
96+
<Exposure name="f" dimension="none"/>
97+
<Exposure name="iSyn" dimension="current"/>
98+
<Dynamics>
99+
<StateVariable name="r" dimension="per_time" exposure="r"/>
100+
<StateVariable name="v" dimension="voltage" exposure="v"/>
101+
<DerivedVariable name="iSyn" dimension="current" exposure="iSyn" select="synapses[*]/i" reduce="add"/>
102+
<DerivedVariable name="f" dimension="none" exposure="f" value="1 / (1 + exp(-1*(iSyn - z)/NAMP_SCALE))"/>
103+
<TimeDerivative variable="r" value="(-1*r + f*HZ_SCALE)/tau"/>
104+
<OnStart>
105+
<StateAssignment variable="r" value="r0"/>
106+
</OnStart>
107+
<OnCondition test="r .lt. 0">
108+
<EventOut port="spike"/>
109+
</OnCondition>
110+
</Dynamics>
111+
</ComponentType>
112+
<ComponentType name="baseGradedSynapseDL" extends="baseSynapseDL" description="Base type for dimensionless graded synapses"/>
113+
<ComponentType name="silentRateSynapseDL" extends="baseGradedSynapseDL" description="Dummy synapse which emits no current. Used as presynaptic endpoint for analog synaptic connection.">
114+
<Property name="weight" dimension="none" defaultValue="1"/>
115+
<Exposure name="I" dimension="none"/>
116+
<InstanceRequirement name="peer" type="baseGradedSynapse"/>
117+
<Dynamics>
118+
<DerivedVariable name="I" exposure="I" value="0"/>
119+
</Dynamics>
120+
</ComponentType>
121+
<ComponentType name="rateSynapseDL" extends="baseGradedSynapseDL" description="...">
122+
<Property name="weight" dimension="none" defaultValue="1"/>
123+
<Constant name="SEC" value="1s" dimension="time"/>
124+
<Constant name="PAMP" value="1nA" dimension="current"/>
125+
<Exposure name="I" dimension="none"/>
126+
<Requirement name="R" dimension="none"/>
127+
<InstanceRequirement name="peer" type="rateSynapseDL"/>
128+
<Dynamics>
129+
<DerivedVariable name="rpeer" dimension="none" select="peer/R"/>
130+
<DerivedVariable name="I" exposure="I" value="weight * SEC * rpeer"/>
131+
</Dynamics>
132+
</ComponentType>
133+
<ComponentType name="baseRateSynapse" extends="baseGradedSynapse" description="Base type for rae based synapses">
134+
<Requirement name="r" dimension="per_time"/>
135+
</ComponentType>
136+
<ComponentType name="silentRateSynapse" extends="baseGradedSynapse" description="Dummy synapse which emits no current. Used as presynaptic endpoint for analog synaptic connection.">
137+
<Property name="weight" dimension="none" defaultValue="1"/>
138+
<Exposure name="i" dimension="current"/>
139+
<InstanceRequirement name="peer" type="baseGradedSynapse"/>
140+
<Dynamics>
141+
<DerivedVariable name="rpeer" dimension="per_time" select="peer/r"/>
142+
<DerivedVariable name="i" exposure="i" value="0"/>
143+
</Dynamics>
144+
</ComponentType>
145+
<ComponentType name="rateSynapse" extends="baseRateSynapse" description="...">
146+
<Property name="weight" dimension="none" defaultValue="1"/>
147+
<Constant name="SEC" value="1s" dimension="time"/>
148+
<Constant name="NAMP_SCALE" value="1nA" dimension="current"/>
149+
<InstanceRequirement name="peer" type="rateSynapse"/>
150+
<Dynamics>
151+
<DerivedVariable name="rpeer" dimension="per_time" select="peer/r"/>
152+
<DerivedVariable name="i" exposure="i" value="weight * SEC * NAMP_SCALE * rpeer"/>
153+
</Dynamics>
154+
</ComponentType>
155+
<ComponentType name="rateSynapsePicoAmp" extends="baseRateSynapse" description="...">
156+
<Property name="weight" dimension="none" defaultValue="1"/>
157+
<Constant name="SEC" value="1s" dimension="time"/>
158+
<Constant name="PAMP_SCALE" value="1pA" dimension="current"/>
159+
<InstanceRequirement name="peer" type="rateSynapse"/>
160+
<Dynamics>
161+
<DerivedVariable name="rpeer" dimension="per_time" select="peer/r"/>
162+
<DerivedVariable name="i" exposure="i" value="weight * SEC * PAMP_SCALE * rpeer"/>
163+
</Dynamics>
164+
</ComponentType>
165+
<Component id="L23_E_comp" type="mejiasEtAl2016Cell" tau="6ms" r0="1Hz" sig=".3" noiseDt="0.2ms"/>
166+
<Component id="silent1" type="silentSynapse"/>
167+
</Lems>

0 commit comments

Comments
 (0)