jNeuroML 在生成的 NEURON.MOD/NMODL 中将 LEMS 命令放在哪里?

Where does jNeuroML put LEMS commands in generated NEURON .MOD/NMODL?

LEMS 中的以下标签如何映射到 NEURON .MOD/NMODL 文件中:

<OnEvent>
   <StateAssignment .. />
</OnEvent>

<OnCondition ... >
   <StateAssignment ... >
</OnCondition>

<DerivedVariable .. />
<ConditionalDerivedVariable .. />
<TimeDerivative .. />

LEMS 标签映射到 NEURON MOD 如下:

  • OnEvent -> NET_RECEIVE: OnEvent 内的 StateAssignment 被放入 NET_RECEIVE 神经元块。MOD。作业按照它们在 LEMS 文件中出现的顺序排列。
  • OnCondition -> BREAKPOINT:来自每个 OnCondition 标签的所有 if 语句聚集在一起并放置在 BREAKPOINT 部分,并按照它们在 LEMS 文件中出现的顺序执行。
  • DerivedVariable、ConditionalDerivedVariable、TimeDerivative -> DERIVATIVE:这些也聚集在一起并出现在 DERIVATIVE 部分。首先是所有 DerivedVariable 语句,然后是所有 ConditionalDerivedVariable 语句,最后是所有 TimeDerivative 语句。与其他人一样,它们都是按照它们出现的顺序放置的。

备注:

  • 如果您需要 OnCondition 使用的 DerivedVariable,请创建一个 始终执行 OnCondition 语句 test="1 .eq. 1",加上一个新的 StateVariable,并将它放在将使用它的任何其他 OnCondition 语句之前。
  • 同样,如果您需要一个依赖于 ConditionalDerivedVariableDerivedVariable,请创建一个始终执行的 ConditionalDerivedVariable 并将其放置在使用它的其他 ConditionalDerivedVariable 之前.
  • 一旦转换为 NEURON MOD,语句将按以下顺序在每个时间步内分组和执行:

    1. OnEvent
    2. OnCondition
    3. DerivedVariable
    4. ConditionalDerivedVariable
    5. TimeDerivative

参见: