Skip to content

Commit 9467283

Browse files
committed
Moving neuroml to subfolder
1 parent 4375acd commit 9467283

315 files changed

Lines changed: 195 additions & 5 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/non_omv.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ name: Non OMV tests
22

33
on:
44
push:
5-
branches: [ master, development, experimental ]
5+
branches: [ main, development, experimental ]
66
pull_request:
7-
branches: [ master, development, experimental ]
7+
branches: [ main, development, experimental ]
88

99
jobs:
1010
build:

.github/workflows/omv-ci.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
2+
name: Continuous build using OMV
3+
4+
on:
5+
push:
6+
branches: [ main, development, experimental ]
7+
pull_request:
8+
branches: [ main, development, experimental ]
9+
10+
jobs:
11+
build:
12+
13+
runs-on: ubuntu-latest
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
python-version: [ "3.12" ]
18+
engine: [ jNeuroML_validate ]
19+
20+
steps:
21+
- uses: actions/checkout@v4
22+
23+
- name: Set up Python ${{ matrix.python-version }}
24+
uses: actions/setup-python@v5
25+
with:
26+
python-version: ${{ matrix.python-version }}
27+
28+
- name: Install OMV
29+
run: |
30+
pip install git+https://github.com/OpenSourceBrain/osb-model-validation
31+
pip install scipy sympy matplotlib cython pandas tables
32+
33+
- name: Run OMV tests on engine ${{ matrix.engine }}
34+
run: |
35+
omv all -V --engine=${{ matrix.engine }}
36+
37+
- name: OMV final version info
38+
run: |
39+
omv list -V # list installed engines
40+
env

NeuroML2/.test.validate.omt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Script for running automated tests on OSB, see https://github.com/OpenSourceBrain/osb-model-validation
2+
3+
# This test will validate NeuroML 2 files in the current directory using: jnml -validate
4+
target: "*.nml"
5+
engine: jNeuroML_validate
File renamed without changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ Parameters and setting used to generate this network:
5555
BioParameter: unphysiological_offset_current_dur = 900 ms (SRC: Testing Full net, certainty 0)
5656

5757
</notes>
58+
<include href="cell_C.xml"/>
5859
<include href="cells/ADAL_D.cell.nml"/>
5960
<include href="cells/ADAR_D.cell.nml"/>
6061
<include href="cells/ADEL_D.cell.nml"/>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ Parameters and setting used to generate this network:
5555
BioParameter: unphysiological_offset_current_dur = 200ms (SRC: Testing Pharyngeal, certainty 0)
5656

5757
</notes>
58+
<include href="cell_C.xml"/>
5859
<include href="cells/I1L_D.cell.nml"/>
5960
<include href="cells/I1R_D.cell.nml"/>
6061
<include href="cells/I2L_D.cell.nml"/>

NeuroML2/cell_C.xml

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
<neuroml xmlns="http://www.neuroml.org/schema/neuroml2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.neuroml.org/schema/neuroml2 https://raw.github.com/NeuroML/NeuroML2/development/Schemas/NeuroML2/NeuroML_v2beta4.xsd" id="cell_C">
2+
3+
<!-- Note: Not fully valid NML2: <customHGate> -->
4+
5+
<!--
6+
7+
Parameters C for c302 still under developemnt!!
8+
9+
Subject to change without notice!!
10+
11+
12+
The fixed values for the parameters here will have to be replaced by parameters set in parameters_C.py &
13+
built using libNeuroML classes
14+
15+
-->
16+
17+
18+
<ionChannel id="Leak" conductance="10pS" type="ionChannelPassive"/>
19+
20+
21+
<ionChannel id="k_fast" conductance="10pS" type="ionChannelHH" species="k">
22+
23+
<notes>K fast channel from Boyle and Cohen 2008</notes>
24+
25+
<gateHHtauInf id="p" instances="4">
26+
27+
<timeCourse type="fixedTimeCourse" tau="2.25518 ms"/>
28+
<steadyState type="HHSigmoidVariable" rate="1" scale="7.42636 mV" midpoint="-8.05232 mV"/>
29+
30+
</gateHHtauInf>
31+
32+
<gateHHtauInf id="q" instances="1">
33+
34+
<timeCourse type="fixedTimeCourse" tau="149.963 ms"/>
35+
<steadyState type="HHSigmoidVariable" rate="1" scale="-9.97468 mV" midpoint="-15.6456 mV"/>
36+
37+
</gateHHtauInf>
38+
39+
</ionChannel>
40+
41+
42+
<ionChannel id="k_slow" conductance="10pS" type="ionChannelHH" species="k">
43+
44+
<notes>K slow channel from Boyle and Cohen 2008</notes>
45+
46+
<gateHHtauInf id="n" instances="1">
47+
48+
<timeCourse type="fixedTimeCourse" tau="25.0007 ms"/>
49+
<steadyState type="HHSigmoidVariable" rate="1" scale="15.8512 mV" midpoint="19.8741 mV"/>
50+
51+
</gateHHtauInf>
52+
53+
</ionChannel>
54+
55+
56+
<ionChannel id="ca_boyle" conductance="10pS" type="ionChannelHH" species="ca">
57+
58+
<notes>Ca channel from Boyle and Cohen 2008</notes>
59+
60+
<gateHHtauInf id="e" instances="2">
61+
62+
<timeCourse type="fixedTimeCourse" tau="0.100027 ms"/>
63+
<steadyState type="HHSigmoidVariable" rate="1" scale="6.74821 mV" midpoint="-3.3568 mV"/>
64+
65+
</gateHHtauInf>
66+
67+
<gateHHtauInf id="f" instances="1">
68+
69+
<timeCourse type="fixedTimeCourse" tau="150.88 ms"/>
70+
71+
<!-- Note!!!
72+
73+
f gate is "inactivation" a/c B&C 2008 p172
74+
but the scale value from Table A1 (kf) is positive (5mV), i.e. steady
75+
state is zero for v << midpoint and 1 for v >> midpoint
76+
Couple this with a very slow time course & the ion channel never
77+
conducts as e^2 x f is always ~0
78+
79+
Using -5.03176mV NOT 5mV for k/scale to make this INACTIVATION
80+
81+
This is suggested by the value used here:
82+
https://github.com/openworm/muscle_model/blob/master/BoyleCohen2008/MatlabSupport/Main_Version/data/input.csv#L20
83+
84+
see also
85+
https://github.com/openworm/muscle_model/blob/master/BoyleCohen2008/PythonSupport/Main_Version/compareToNeuroML2.py
86+
-->
87+
<steadyState type="HHSigmoidVariable" rate="1" scale="-5.03176 mV" midpoint="25.1815 mV"/>
88+
89+
</gateHHtauInf>
90+
91+
<customHGate id="h" instances="1" alpha="0.282473" ca_half="6.41889e-8 mM" k="-1.00056e-8 mM"/>
92+
93+
</ionChannel>
94+
95+
<ionChannel id="ca_simple" conductance="10pS" type="ionChannelHH" species="ca">
96+
97+
<notes>Simplified Ca channel</notes>
98+
99+
<gateHHtauInf id="e" instances="2">
100+
101+
<timeCourse type="fixedTimeCourse" tau="0.100027 ms"/>
102+
<steadyState type="HHSigmoidVariable" rate="1" scale="6.74821 mV" midpoint="-3.3568 mV"/>
103+
104+
</gateHHtauInf>
105+
106+
</ionChannel>
107+
108+
109+
<ComponentType name="customHGate"
110+
extends="gateHHtauInf"
111+
description="Custom gate for h">
112+
113+
<Parameter name="alpha" dimension="none"/>
114+
<Parameter name="k" dimension="concentration"/>
115+
<Parameter name="ca_half" dimension="concentration"/>
116+
117+
118+
<Constant name="SEC" dimension="time" value="1s"/>
119+
120+
121+
<Exposure name="tau" dimension="time"/>
122+
<Exposure name="inf" dimension="none"/>
123+
124+
<Requirement name="caConc" dimension="concentration"/>
125+
126+
<Dynamics>
127+
128+
<DerivedVariable name="rateScale" exposure="rateScale" dimension="none" value="1"/>
129+
130+
<DerivedVariable name="inf" dimension="none" exposure="inf" value="1 / (1 + (exp( (ca_half - caConc) / k)))"/>
131+
132+
133+
<DerivedVariable name="tau" dimension="time" exposure="tau" value="0 * SEC"/>
134+
<DerivedVariable name="q" exposure="q" dimension="none" value="inf"/>
135+
<DerivedVariable name="fcond" exposure="fcond" dimension="none" value="1 +((q-1) * alpha)"/>
136+
137+
</Dynamics>
138+
</ComponentType>
139+
140+
141+
</neuroml>

0 commit comments

Comments
 (0)