Skip to content

Commit f5b7688

Browse files
committed
Updating support for instance based network descriptions. Preferred format for NML2 is shown in examples/NML2_InstanceBasedNetwork.nml, with lists of instances in populations, connections in projections and inputs in inputLists.
jLEMS can now read and execute nml files in this format, see NeuroML2CoreTypes/LEMS_NML2_Ex13_Instances.xml. Schema and other examples updated accordingly. Note: paths used in selecting cells in connection and input need to be improved!
1 parent 1e8b25e commit f5b7688

File tree

10 files changed

+243
-197
lines changed

10 files changed

+243
-197
lines changed

NeuroML2CoreTypes/LEMS_NML2_Ex13_Instances.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@
2323

2424
<Simulation id="sim1" length="300ms" step="0.05ms" target="InstanceBasedNetwork">
2525

26-
<Display id="d1" title="Ex13: Instance Based Network in LEMS" timeScale="1ms" xmin="0" xmax="300" ymin="-75" ymax="-50">
26+
<Display id="d1" title="Ex13: Instance Based Network in LEMS" timeScale="1ms" xmin="0" xmax="300" ymin="-65" ymax="-52">
2727
<Line id ="iaf0" quantity="iafCells/0/iaf/v" scale="1mV" color="#ee0555" timeScale="1ms"/>
2828
<Line id ="iaf1" quantity="iafCells/1/iaf/v" scale="1mV" color="#999255" timeScale="1ms"/>
29+
<Line id ="iaf2" quantity="iafCells/2/iaf/v" scale="1mV" color="#911155" timeScale="1ms"/>
2930
</Display>
3031

3132

NeuroML2CoreTypes/Networks.xml

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
</ComponentType>
5858

5959

60-
<ComponentType name="populationList" extends="basePopulation" description="An explicit list of the cells in the population. Not yet stable...">
60+
<ComponentType name="populationList" extends="basePopulation" description="An explicit list of the cells in the population. Work in progress...">
6161

6262
<Children name="instances" type="instance"/>
6363

@@ -78,14 +78,6 @@
7878
<Parameter name="y" dimension="none"/>
7979
<Parameter name="z" dimension="none"/>
8080
</ComponentType>
81-
82-
<!--
83-
<ComponentType name="networkElementInstance1D"
84-
extends="instance"
85-
description="Initial attempt to specify instances in 1D populations. Work in progress...">
86-
<Parameter name="x" dimension="none"/>
87-
</ComponentType>-->
88-
8981

9082

9183
<ComponentType name="region" description="Initial attempt to specify 3D region for placing cells. Work in progress...">
@@ -106,37 +98,41 @@
10698

10799
<ComponentType name="projection"
108100
description="Projection from one population to another. Currently it's better to define an explicit list of connections, using _explicitConnection_. Work in progress...">
109-
<Children name="synapticConnections" type="synapticConnection"/>
101+
<!--TODO: allow more than one...-->
102+
<Child name="synapseComponent" type="synapseComponent"/>
110103
<Children name="connections" type="connection"/>
111-
<Path name="from"/>
112-
<Path name="to"/>
104+
<ComponentReference name="synapse" type="baseSynapse"/>
105+
<Path name="presynapticPopulation"/>
106+
<Path name="postsynapticPopulation"/>
113107
</ComponentType>
114108

115109

116-
117-
<ComponentType name="explicitConnection"
118-
description="Explicit event connection between components">
119-
<Path name="from"/>
120-
<Path name="to"/>
121-
<Text name="targetPort"/>
110+
<ComponentType name="synapseComponent" description="Work in progress...">
111+
<ComponentReference name="component" type="baseSynapse"/>
122112
</ComponentType>
123113

124114

125115
<ComponentType name="connection"
126-
extends="explicitConnection"
127116
description="Explicit event connection directly between named components">
128117

129-
<Path name="from"/> <!-- TODO check if these really need to be here if in explicitConnection... -->
130-
<Path name="to"/>
118+
<Path name="preCellId"/>
119+
<Path name="postCellId"/>
131120

132121
<Structure>
133-
<With instance="from" as="a"/>
134-
<With instance="to" as="b"/>
135-
<EventConnection from="a" to="b" targetPort="targetPort"/>
122+
<With instance="preCellId" as="a"/>
123+
<With instance="postCellId" as="b"/>
124+
<EventConnection from="a" to="b" receiver="../synapse" receiverContainer="destination" sourcePort="sourcePort" targetPort="targetPort"/>
136125
</Structure>
137126

138127
</ComponentType>
139128

129+
<ComponentType name="explicitConnection"
130+
description="Explicit event connection between components">
131+
<Path name="from"/>
132+
<Path name="to"/>
133+
<Text name="targetPort"/>
134+
</ComponentType>
135+
140136

141137
<ComponentType name="synapticConnection"
142138
description="Explicit event connection between named components, which gets processed via a new instance of a _synapse component which is created on the target component"
@@ -224,24 +220,23 @@
224220

225221
<ComponentType name="inputList" description="An explicit list of inputs. Not yet stable...">
226222

227-
228223
<Children name="inputs" type="input"/>
229-
230224
<ComponentReference name="component" type="basePointCurrent"/>
225+
<Text name="population"/>
226+
231227
</ComponentType>
232228

233229

234230
<ComponentType name="input" description="Initial attempt to specify input lists. Work in progress...">
235231

236232
<Path name="target"/>
233+
<Text name="destination"/>
237234
<Structure>
238-
<ChildInstance component="../component"/>
239235

240236
<With instance="target" as="a"/>
241237
<With instance="target" as="b"/>
242238

243-
<!--<EventConnection from="a" to="b" receiver="input" receiverContainer="destination" sourcePort="sourcePort" targetPort="targetPort"/>-->
244-
<EventConnection from="a" to="b" receiver="input" receiverContainer="destination"/>
239+
<EventConnection from="a" to="b" receiver="../component" receiverContainer="destination"/>
245240
</Structure>
246241

247242
</ComponentType>

0 commit comments

Comments
 (0)