Skip to content

Commit c9cb7ec

Browse files
committed
Defining <ComponentType name="gate" extends="baseGate"..>
Simplifies calc of fcond in ionChannel
1 parent 07c95af commit c9cb7ec

File tree

1 file changed

+16
-27
lines changed

1 file changed

+16
-27
lines changed

NeuroML2CoreTypes/Channels.xml

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -216,9 +216,13 @@
216216

217217
</ComponentType>
218218

219+
<ComponentType name="gate"
220+
extends="baseGate"
221+
description="Conveniently named baseGate">
222+
</ComponentType>
219223

220224
<ComponentType name="gateHHrates"
221-
extends="baseGate"
225+
extends="gate"
222226
description="Gate which follows the general Hodgkin Huxley formalism">
223227

224228
<Child name="notes" type="notes"/>
@@ -262,7 +266,7 @@
262266

263267

264268
<ComponentType name="gateHHtauInf"
265-
extends="baseGate"
269+
extends="gate"
266270
description="Gate which follows the general Hodgkin Huxley formalism">
267271

268272
<Child name="notes" type="notes"/>
@@ -298,7 +302,7 @@
298302
</ComponentType>
299303

300304
<ComponentType name="gateHHInstantaneous"
301-
extends="baseGate"
305+
extends="gate"
302306
description="Gate which follows the general Hodgkin Huxley formalism but is instantaneous, so tau = 0 and gate follows exactly inf value">
303307

304308
<Constant name="SEC" dimension="time" value="1 s"/>
@@ -325,7 +329,7 @@
325329

326330

327331
<ComponentType name="gateHHratesTau"
328-
extends="baseGate"
332+
extends="gate"
329333
description="Gate which follows the general Hodgkin Huxley formalism">
330334

331335
<Child name="notes" type="notes"/>
@@ -369,7 +373,7 @@
369373

370374

371375
<ComponentType name="gateHHratesInf"
372-
extends="baseGate"
376+
extends="gate"
373377
description="Gate which follows the general Hodgkin Huxley formalism">
374378

375379
<Child name="notes" type="notes"/>
@@ -409,7 +413,7 @@
409413

410414

411415
<ComponentType name="gateHHratesTauInf"
412-
extends="baseGate"
416+
extends="gate"
413417
description="Gate which follows the general Hodgkin Huxley formalism">
414418

415419
<Child name="notes" type="notes"/>
@@ -450,7 +454,7 @@
450454

451455

452456
<ComponentType name="gateFractional"
453-
extends="baseGate"
457+
extends="gate"
454458
description="Gate composed of subgates contributing with fractional conductance">
455459

456460
<Children name="q10Settings" type="baseQ10Settings"/>
@@ -525,27 +529,15 @@
525529
<Child name="annotation" type="annotation"/>
526530

527531
<Children name="conductanceScaling" type="baseConductanceScaling"/>
528-
<Children name="gatesHHrates" type="gateHHrates"/>
529-
<Children name="gatesHHtauInf" type="gateHHtauInf"/>
530-
<Children name="gatesHHratesTau" type="gateHHratesTau"/>
531-
<Children name="gatesHHratesInf" type="gateHHratesInf"/>
532-
<Children name="gatesHHratesTauInf" type="gateHHratesTauInf"/>
533-
<Children name="gateHHInstantaneous" type="gateHHInstantaneous"/>
534-
<Children name="gatesFractional" type="gateFractional"/>
532+
<Children name="gates" type="gate"/>
535533

536534
<Text name="neuroLexId"/>
537535
<Text name="species"/>
538536

539537
<Dynamics>
540538
<DerivedVariable name="conductanceScale" dimension="none" select="conductanceScaling[*]/factor" reduce="multiply"/>
541-
<DerivedVariable name="fopenHHrates" dimension="none" select="gatesHHrates[*]/fcond" reduce="multiply"/>
542-
<DerivedVariable name="fopenHHtauInf" dimension="none" select="gatesHHtauInf[*]/fcond" reduce="multiply"/>
543-
<DerivedVariable name="fopenHHratesTau" dimension="none" select="gatesHHratesTau[*]/fcond" reduce="multiply"/>
544-
<DerivedVariable name="fopenHHratesInf" dimension="none" select="gatesHHratesInf[*]/fcond" reduce="multiply"/>
545-
<DerivedVariable name="fopenHHratesTauInf" dimension="none" select="gatesHHratesTauInf[*]/fcond" reduce="multiply"/>
546-
<DerivedVariable name="fopenHHInstantaneous" dimension="none" select="gateHHInstantaneous[*]/fcond" reduce="multiply"/>
547-
<DerivedVariable name="fopenFractional" dimension="none" select="gatesFractional[*]/fcond" reduce="multiply"/>
548-
<DerivedVariable name="fopen" exposure="fopen" dimension="none" value="conductanceScale * fopenHHrates * fopenHHtauInf * fopenHHratesTau * fopenHHratesInf * fopenHHratesTauInf * fopenHHInstantaneous * fopenFractional"/>
539+
<DerivedVariable name="fopen0" dimension="none" select="gates[*]/fcond" reduce="multiply"/>
540+
<DerivedVariable name="fopen" exposure="fopen" dimension="none" value="conductanceScale * fopen0"/>
549541
<DerivedVariable name="g" exposure="g" value="conductance * fopen" dimension="conductance"/>
550542
</Dynamics>
551543
</ComponentType>
@@ -557,11 +549,8 @@
557549

558550
<Dynamics>
559551
<DerivedVariable name="conductanceScale" dimension="none" select="conductanceScaling[*]/factor" reduce="multiply"/>
560-
<DerivedVariable name="fopenHHrates" dimension="none" select="gatesHHrates[*]/fcond" reduce="multiply"/>
561-
<DerivedVariable name="fopenHHtauInf" dimension="none" select="gatesHHtauInf[*]/fcond" reduce="multiply"/>
562-
<DerivedVariable name="fopenHHratesTau" dimension="none" select="gatesHHratesTau[*]/fcond" reduce="multiply"/>
563-
<DerivedVariable name="fopenHHratesInf" dimension="none" select="gatesHHratesInf[*]/fcond" reduce="multiply"/>
564-
<DerivedVariable name="fopen" exposure="fopen" dimension="none" value="conductanceScale * fopenHHrates * fopenHHtauInf * fopenHHratesTau * fopenHHratesInf"/>
552+
<DerivedVariable name="fopen0" dimension="none" select="gates[*]/fcond" reduce="multiply"/>
553+
<DerivedVariable name="fopen" exposure="fopen" dimension="none" value="conductanceScale * fopen0"/>
565554
<DerivedVariable name="g" exposure="g" value="conductance * fopen" dimension="conductance"/>
566555
</Dynamics>
567556

0 commit comments

Comments
 (0)