Skip to content

Commit 1f0d1d8

Browse files
committed
Adding <ionChannelVShift> and <channelDensityVShift> where vShift in a channel can be set
1 parent 80d049c commit 1f0d1d8

File tree

3 files changed

+55
-0
lines changed

3 files changed

+55
-0
lines changed

NeuroML2CoreTypes/Cells.xml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,8 @@
244244
description="Specifies a time varying ohmic conductance density, _gDensity, which is distributed on an area of the cell with fixed reversal potential _erev producing a current density _iDensity">
245245

246246
<Parameter name="erev" dimension="voltage"/>
247+
248+
<Constant name="vShift" dimension="voltage" value="0mV" description="Set to a constant 0mV here to allow ion channels which use _vShift in their rate variable expressions to be used with _channelDensity_, not just with _channelDensityVShift_ (where _vShift would be explicitly set)"/>
247249

248250
<!-- TODO: Ensure Text elements are inherited from base type -->
249251
<Text name="segmentGroup"/>
@@ -266,6 +268,23 @@
266268

267269
</ComponentType>
268270

271+
<ComponentType name="channelDensityVShift"
272+
extends="channelDensity"
273+
description="Same as _channelDensity_, but with a _vShift parameter to change voltage activation of gates. The exact usage of _vShift in expressions for rates is determined by the individual gates.">
274+
275+
<Parameter name="vShift" dimension="voltage"/>
276+
277+
<!-- TODO: Ensure Text elements are inherited from base type -->
278+
<Text name="segmentGroup"/>
279+
<Text name="ion"/> <!-- TODO: Ideally this needs to be a property of ionChannel only!
280+
But it's here as it makes it easier to select channelPopulations transmitting specific ions...-->
281+
282+
<Structure>
283+
<ChildInstance component="ionChannel"/>
284+
</Structure>
285+
286+
</ComponentType>
287+
269288

270289
<ComponentType name="channelDensityNernst"
271290
extends="baseChannelDensityCond"

NeuroML2CoreTypes/Channels.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -549,6 +549,17 @@
549549
</Dynamics>
550550

551551
</ComponentType>
552+
553+
<ComponentType name="ionChannelVShift"
554+
extends="ionChannel"
555+
description="Same as _ionChannel_, but with a _vShift parameter to change voltage activation of gates. The exact usage of _vShift in expressions for rates is determined by the individual gates.">
556+
557+
558+
<Parameter name="vShift" dimension="voltage"/>
559+
<!-- TODO: Ensure Text elements are inherited from base type -->
560+
<Text name="species"/>
561+
562+
</ComponentType>
552563

553564

554565
<ComponentType name="KSState"

Schemas/NeuroML2/NeuroML_v2beta5.xsd

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,8 @@
436436
remove one of these -->
437437
<xs:element name="ionChannelHH" type="IonChannelHH" minOccurs="0" maxOccurs="unbounded"/>
438438

439+
<xs:element name="ionChannelVShift" type="IonChannelVShift" minOccurs="0" maxOccurs="unbounded"/>
440+
439441
<xs:element name="ionChannelKS" type="IonChannelKS" minOccurs="0" maxOccurs="unbounded"/>
440442

441443
<xs:group ref="ConcentrationModelTypes"/>
@@ -690,6 +692,17 @@
690692
</xs:complexContent>
691693
</xs:complexType>
692694

695+
<xs:complexType name="IonChannelVShift">
696+
<xs:annotation>
697+
<xs:documentation>Same as ionChannel, but with a vShift parameter to change voltage activation of gates. The exact usage of vShift in expressions for rates is determined by the individual gates.</xs:documentation>
698+
</xs:annotation>
699+
<xs:complexContent>
700+
<xs:extension base="IonChannel">
701+
<xs:attribute name="vShift" type="Nml2Quantity_voltage" use="required"/>
702+
</xs:extension>
703+
</xs:complexContent>
704+
</xs:complexType>
705+
693706

694707
<xs:simpleType name="channelTypes">
695708
<xs:restriction base="xs:string">
@@ -1690,6 +1703,7 @@
16901703
<xs:element name="channelPopulation" type="ChannelPopulation" minOccurs="0" maxOccurs="unbounded"/>
16911704

16921705
<xs:element name="channelDensity" type="ChannelDensity" minOccurs="0" maxOccurs="unbounded"/>
1706+
<xs:element name="channelDensityVShift" type="ChannelDensityVShift" minOccurs="0" maxOccurs="unbounded"/>
16931707
<xs:element name="channelDensityNernst" type="ChannelDensityNernst" minOccurs="0" maxOccurs="unbounded"/>
16941708
<xs:element name="channelDensityGHK" type="ChannelDensityGHK" minOccurs="0" maxOccurs="unbounded"/>
16951709
<xs:element name="channelDensityGHK2" type="ChannelDensityGHK2" minOccurs="0" maxOccurs="unbounded"/>
@@ -1923,6 +1937,17 @@
19231937
</xs:complexType>
19241938

19251939

1940+
<xs:complexType name="ChannelDensityVShift">
1941+
1942+
<xs:complexContent>
1943+
<xs:extension base="ChannelDensity">
1944+
1945+
<xs:attribute name="vShift" type="Nml2Quantity_voltage" use="required"/>
1946+
</xs:extension>
1947+
</xs:complexContent>
1948+
1949+
</xs:complexType>
1950+
19261951

19271952

19281953
<xs:complexType name="ChannelDensityNernst">

0 commit comments

Comments
 (0)