Inputs |
NeuroML2 ComponentType definitions from Inputs.xml |
Original LEMS ComponentType definitions: Inputs.xml Schema against which NeuroML based on these should be valid: NeuroML_v2beta4.xsd |
basePointCurrent
extends baseStandalone |
||
Base type for all ComponentTypes which produce a current i (with dimension current) | ||
Exposures | i The total (time varying) current produced by this ComponentType |
current |
baseVoltageDepPointCurrent
extends basePointCurrent |
||
Base type for all ComponentTypes which produce a current i (with dimension current) and require a membrane potential v exposed on the parent Component | ||
Exposures | i (from basePointCurrent) | current |
Requirements | v | voltage |
baseVoltageDepPointCurrentSpiking
extends baseVoltageDepPointCurrent |
||
Base type for all ComponentTypes which produce a current i, require a membrane potential v exposed on the parent and emit spikes (on a port spike). The exposed variable tsince can be used for plotting the time since the Component has spiked last | ||
Exposures | i (from basePointCurrent) | current |
tsince Time since the last spike was emitted |
time | |
Requirements | v (from baseVoltageDepPointCurrent) | voltage |
Event Ports | spike Port on which spikes are emitted |
Direction: out |
basePointCurrentDL | ||
Base type for all ComponentTypes which produce a dimensionless current I. There will eventually be dimensionless equivalents of all the core current producing ComponentTypes such as pulseGenerator, sineGenerator and rampGenerator | ||
Exposures | I The total (time varying) current produced by this ComponentType |
Dimensionless |
baseVoltageDepPointCurrentDL
extends basePointCurrentDL |
||
Base type for all ComponentTypes which produce a dimensionless current I and require a dimensionless membrane potential V exposed on the parent Component | ||
Exposures | I (from basePointCurrentDL) | Dimensionless |
Requirements | V | Dimensionless |
baseSpikeSource | ||
Base for any ComponentType whose main purpose is to emit spikes (on a port spike). The exposed variable tsince can be used for plotting the time since the Component has spiked last | ||
Exposures | tsince Time since the last spike was emitted |
time |
Event Ports | spike Port on which spikes are emitted |
Direction: out |
spikeGenerator
extends baseSpikeSource |
||
Simple generator of spikes at a regular interval set by period. | ||
Parameters | period | time |
Exposures | tsince (from baseSpikeSource) | time |
Event Ports | spike (from baseSpikeSource) | Direction: out |
Dynamics |
State Variables tsince time (exposed as tsince) On Start tsince = 0 On Conditions IF tsince > period THEN tsince = 0 EVENT OUT on port spike Time Derivatives d tsince /dt = 1 |
spikeGeneratorRandom
extends baseSpikeSource |
||
Generator of spikes with a random interspike interval of at least minISI and at most maxISI | ||
Parameters | maxISI | time |
minISI | time | |
Constants | MSEC = 1ms | time |
Exposures | isi The interval until the next spike |
time |
tsince (from baseSpikeSource) | time | |
Event Ports | spike (from baseSpikeSource) | Direction: out |
Dynamics |
State Variables isi time (exposed as isi) tsince time (exposed as tsince) On Start tsince = 0 isi = minISI + MSEC * random((maxISI - minISI) / MSEC) On Conditions IF tsince > isi THEN isi = minISI + MSEC * random((maxISI - minISI) / MSEC) tsince = 0 EVENT OUT on port spike Time Derivatives d tsince /dt = 1 |
spikeGeneratorPoisson
extends baseSpikeSource |
||
Generator of spikes whose ISI is distributed according to an exponential pdf with scale 1/_averageRate | ||
Parameters | averageRate | per_time |
Derived Parameters | averageIsi = 1 / averageRate | time |
Exposures | tsince (from baseSpikeSource) | time |
Event Ports | spike (from baseSpikeSource) | Direction: out |
Dynamics |
State Variables isi time tsince time (exposed as tsince) On Start tsince = 0 isi = - averageIsi * log(1 - random(1)) On Conditions IF tsince > isi THEN tsince = 0 isi = - averageIsi * log(1 - random(1)) EVENT OUT on port spike Time Derivatives d tsince /dt = 1 |
poissonFiringSynapse | ||
Poisson spike generator connected to single synapse providing an input current | ||
Parameters | averageRate | per_time |
Derived Parameters | averageIsi = 1 / averageRate | time |
Paths | spikeTarget | |
Component References | synapse | baseSynapse |
Exposures | i (from basePointCurrent) | current |
tsince Time since the last spike was emitted |
time | |
tsince (from baseVoltageDepPointCurrentSpiking) | time | |
Requirements | v (from baseVoltageDepPointCurrent) | voltage |
Event Ports | in Note this is not used here. Will be removed in future |
Direction: in |
spike (from baseVoltageDepPointCurrentSpiking) | Direction: out | |
spike Port on which spikes are emitted |
Direction: out | |
Dynamics |
Structure WITH this AS a WITH spikeTarget AS b CHILD INSTANCE: synapse EVENT CONNECTION from a TO b, RECEIVER: , TARGET PORT: State Variables isi time tsince time (exposed as tsince) On Start tsince = 0 isi = - averageIsi * log(1 - random(1)) On Conditions IF tsince > isi THEN tsince = 0 isi = - averageIsi * log(1 - random(1)) EVENT OUT on port spike Derived Variables i = synapse->i (exposed as i) Time Derivatives d tsince /dt = 1 |
transientPoissonFiringSynapse | ||
Poisson spike generator with delay and duration connected to single synapse providing an input current. Similar to ComponentType poissonFiringSynapse. | ||
Parameters | averageRate | per_time |
delay | time | |
duration | time | |
Derived Parameters | averageIsi = 1 / averageRate | time |
Paths | spikeTarget | |
Component References | synapse | baseSynapse |
Constants | LONG_TIME = 1e9hour | time |
Exposures | i (from basePointCurrent) | current |
tsince Time since the last spike was emitted |
time | |
tsince (from baseVoltageDepPointCurrentSpiking) | time | |
Requirements | v (from baseVoltageDepPointCurrent) | voltage |
Event Ports | in Note this is not used here. Will be removed in future |
Direction: in |
spike Port on which spikes are emitted |
Direction: out | |
spike (from baseVoltageDepPointCurrentSpiking) | Direction: out | |
Dynamics |
Structure WITH this AS a WITH spikeTarget AS b CHILD INSTANCE: synapse EVENT CONNECTION from a TO b, RECEIVER: , TARGET PORT: State Variables isi time tsince time (exposed as tsince) nextIsi time On Start tsince = 0 nextIsi = - averageIsi * log(1 - random(1)) +delay isi = nextIsi On Conditions IF tsince > isi THEN tsince = 0 nextIsi = - averageIsi * log(1 - random(1)) isi = nextIsi + H(((t+nextIsi) - (delay+duration))/duration)*LONG_TIME EVENT OUT on port spike Derived Variables i = synapse->i (exposed as i) Time Derivatives d tsince /dt = 1 |
timedSynapticInput | ||
Spike array connected to a single synapse, producing current triggered by each spike in the array | ||
Paths | spikeTarget | |
Component References | synapse | baseSynapse |
Children elements | spikes | spike |
Exposures | i (from basePointCurrent) | current |
tsince Time since the last spike was emitted |
time | |
tsince (from baseVoltageDepPointCurrentSpiking) | time | |
Requirements | v (from baseVoltageDepPointCurrent) | voltage |
Event Ports | in This will receive events from the children |
Direction: in |
spike (from baseVoltageDepPointCurrentSpiking) | Direction: out | |
Dynamics |
Structure WITH this AS a WITH spikeTarget AS b CHILD INSTANCE: synapse EVENT CONNECTION from a TO b, RECEIVER: , TARGET PORT: State Variables tsince time (exposed as tsince) On Events EVENT IN on port: in tsince = 0 EVENT OUT on port spike Derived Variables i = synapse->i (exposed as i) Time Derivatives d tsince /dt = 1 |
pulseGenerator
extends basePointCurrent |
||
Generates a constant current pulse of a certain amplitude for a specified duration after a delay | ||
Parameters | amplitude | current |
delay | time | |
duration | time | |
Exposures | i (from basePointCurrent) | current |
Event Ports | in Note this is not used here. Will be removed in future |
Direction: in |
Dynamics |
State Variables i current (exposed as i) On Conditions IF t < delay THEN i = 0 IF t >= delay AND t < duration + delay THEN i = amplitude IF t >= duration + delay THEN i = 0 On Events EVENT IN on port: in |
compoundInput
extends basePointCurrent |
||
Generates a current which is the sum of all its child basePointCurrent elements | ||
Children elements | currents | basePointCurrent |
Exposures | i (from basePointCurrent) | current |
Event Ports | in Note this is not used here. Will be removed in future |
Direction: in |
Dynamics |
On Events EVENT IN on port: in Derived Variables i = currents[*]->i (reduce method: add) (exposed as i) |
compoundInputDL
extends basePointCurrentDL |
||
Generates a current which is the sum of all its child basePointCurrentDL elements | ||
Children elements | currents | basePointCurrentDL |
Exposures | I (from basePointCurrentDL) | Dimensionless |
Event Ports | in Note this is not used here. Will be removed in future |
Direction: in |
Dynamics |
On Events EVENT IN on port: in Derived Variables I = currents[*]->I (reduce method: add) (exposed as I) |
pulseGeneratorDL
extends basePointCurrentDL |
||
Dimensionless equivalent of pulseGenerator. Generates a constant current pulse of a certain amplitude for a specified duration after a delay | ||
Parameters | amplitude | Dimensionless |
delay | time | |
duration | time | |
Exposures | I (from basePointCurrentDL) | Dimensionless |
Event Ports | in Note this is not used here. Will be removed in future |
Direction: in |
Dynamics |
State Variables I Dimensionless (exposed as I) On Conditions IF t < delay THEN I = 0 IF t >= delay AND t < duration + delay THEN I = amplitude IF t >= duration + delay THEN I = 0 On Events EVENT IN on port: in |
sineGenerator
extends basePointCurrent |
||
Generates a sinusoidally varying current after a time delay, for a fixed duration. The period and maximum amplitude of the current can be set as well as the phase at which to start. | ||
Parameters | amplitude | current |
delay | time | |
duration | time | |
period | time | |
phase | Dimensionless | |
Exposures | i (from basePointCurrent) | current |
Event Ports | in | Direction: in |
Dynamics |
State Variables i current (exposed as i) On Conditions IF t < delay THEN i = 0 IF t >= delay AND t < duration+delay THEN i = amplitude * sin(phase + (2 * 3.14159265 * (t-delay)/period) ) IF t >= duration+delay THEN i = 0 On Events EVENT IN on port: in |
sineGeneratorDL
extends basePointCurrentDL |
||
Generates a sinusoidally varying current after a time delay, for a fixed duration. The period and maximum amplitude of the current can be set as well as the phase at which to start. | ||
Parameters | amplitude | Dimensionless |
delay | time | |
duration | time | |
period | time | |
phase | Dimensionless | |
Exposures | I (from basePointCurrentDL) | Dimensionless |
Event Ports | in | Direction: in |
Dynamics |
State Variables I Dimensionless (exposed as I) On Conditions IF t < delay THEN I = 0 IF t >= delay AND t < duration+delay THEN I = amplitude * sin(phase + (2 * 3.14159265 * (t-delay)/period) ) IF t >= duration+delay THEN I = 0 On Events EVENT IN on port: in |
rampGenerator
extends basePointCurrent |
||
Generates a ramping current after a time delay, for a fixed duration. During this time the current steadily changes from startAmplitude to finishAmplitude. | ||
Parameters | baselineAmplitude | current |
delay | time | |
duration | time | |
finishAmplitude | current | |
startAmplitude | current | |
Exposures | i (from basePointCurrent) | current |
Event Ports | in | Direction: in |
Dynamics |
State Variables i current (exposed as i) On Start i = baselineAmplitude On Conditions IF t < delay THEN i = baselineAmplitude IF t >= delay AND t < duration+delay THEN i = startAmplitude + (finishAmplitude - startAmplitude) * (t - delay) / (duration) IF t >= duration+delay THEN i = baselineAmplitude On Events EVENT IN on port: in |
rampGeneratorDL
extends basePointCurrentDL |
||
Generates a ramping current after a time delay, for a fixed duration. During this time the dimensionless current steadily changes from startAmplitude to finishAmplitude. | ||
Parameters | baselineAmplitude | Dimensionless |
delay | time | |
duration | time | |
finishAmplitude | Dimensionless | |
startAmplitude | Dimensionless | |
Exposures | I (from basePointCurrentDL) | Dimensionless |
Event Ports | in | Direction: in |
Dynamics |
State Variables I Dimensionless (exposed as I) On Start I = baselineAmplitude On Conditions IF t < delay THEN I = baselineAmplitude IF t >= delay AND t < duration+delay THEN I = startAmplitude + (finishAmplitude - startAmplitude) * (t - delay) / (duration) IF t >= duration+delay THEN I = baselineAmplitude On Events EVENT IN on port: in |
voltageClamp
extends baseVoltageDepPointCurrent |
||
Voltage clamp. Applies a variable current i to try to keep parent at targetVoltage. Not yet fully tested!!! | ||
Parameters | delay | time |
duration | time | |
simpleSeriesResistance | resistance | |
targetVoltage | voltage | |
Exposures | i (from basePointCurrent) | current |
Requirements | v (from baseVoltageDepPointCurrent) | voltage |
Event Ports | in Note this is not used here. Will be removed in future |
Direction: in |
Dynamics |
State Variables i current (exposed as i) On Conditions IF t < delay THEN i = 0 IF t >= delay THEN i = (targetVoltage - v) / simpleSeriesResistance IF t > duration + delay THEN i = 0 On Events EVENT IN on port: in |
spikeArray
extends baseSpikeSource |
||
Set of spike ComponentTypes, each emitting one spike at a certain time. Can be used to feed a predetermined spike train into a cell | ||
Children elements | spikes | spike |
Exposures | tsince (from baseSpikeSource) | time |
Event Ports | in This will receive events from the children |
Direction: in |
spike (from baseSpikeSource) | Direction: out | |
Dynamics |
State Variables tsince time (exposed as tsince) On Start tsince = 0 On Events EVENT IN on port: in tsince = 0 EVENT OUT on port spike Time Derivatives d tsince /dt = 1 |
spike
extends baseSpikeSource |
||
Emits a single spike at the specified time | ||
Parameters | time | time |
Exposures | spiked 0 signals not yet spiked, 1 signals has spiked |
Dimensionless |
tsince (from baseSpikeSource) | time | |
Event Ports | spike (from baseSpikeSource) | Direction: out |
Dynamics |
Structure WITH this AS a WITH parent AS b EVENT CONNECTION from a TO b, RECEIVER: , TARGET PORT: State Variables spiked Dimensionless (exposed as spiked) tsince time (exposed as tsince) On Start tsince = 0 On Conditions IF (t >= time) AND (spiked = 0) THEN spiked = 1 tsince = 0 EVENT OUT on port spike Time Derivatives d tsince /dt = 1 |