For more information on NeuroML 2 and LEMS see here.
Note: these descriptions have been updated to the latest NeuroML v2beta4 definitions, using the latest version of LEMS!

Channels

NeuroML2 ComponentType definitions from Channels.xml
Original LEMS ComponentType definitions: Channels.xml
Schema against which NeuroML based on these should be valid: NeuroML_v2beta4.xsd

 
baseVoltageDepRate
Base ComponentType for voltage dependent rate. Produces a time varying rate r which depends on v.
Exposures r per_time
Requirements v voltage
 
baseVoltageConcDepRate

    extends baseVoltageDepRate

Base ComponentType for voltage and concentration dependent rate. Produces a time varying rate r which depends on v and caConc.
Exposures r    (from baseVoltageDepRate) per_time
Requirements caConc concentration
v    (from baseVoltageDepRate) voltage
 
baseHHRate

    extends baseVoltageDepRate

Base ComponentType for rate which follow one of the typical forms for rate equations in the standard HH formalism, using the parameters rate, midpoint and scale
Parameters midpoint voltage
rate per_time
scale voltage
Exposures r    (from baseVoltageDepRate) per_time
Requirements v    (from baseVoltageDepRate) voltage
 
HHExpRate

    extends baseHHRate

Exponential form for rate equation (Q: Should these be renamed hhExpRate, etc?)
Parameters midpoint    (from baseHHRate) voltage
rate    (from baseHHRate) per_time
scale    (from baseHHRate) voltage
Exposures r    (from baseVoltageDepRate) per_time
Requirements v    (from baseVoltageDepRate) voltage
Dynamics Derived Variables

    r = rate * exp((v - midpoint)/scale)     (exposed as r)

 
HHSigmoidRate

    extends baseHHRate

Sigmoidal form for rate equation
Parameters midpoint    (from baseHHRate) voltage
rate    (from baseHHRate) per_time
scale    (from baseHHRate) voltage
Exposures r    (from baseVoltageDepRate) per_time
Requirements v    (from baseVoltageDepRate) voltage
Dynamics Derived Variables

    r = rate / (1 + exp(0 - (v - midpoint)/scale))     (exposed as r)

 
HHExpLinearRate

    extends baseHHRate

Exponential linear form for rate equation. Linear for large positive v, exponentially decays for large negative v.
Parameters midpoint    (from baseHHRate) voltage
rate    (from baseHHRate) per_time
scale    (from baseHHRate) voltage
Exposures r    (from baseVoltageDepRate) per_time
Requirements v    (from baseVoltageDepRate) voltage
Dynamics Derived Variables

    x = (v - midpoint) / scale    

Conditional Derived Variables

    IF x != 0 THEN
        r = rate * x / (1 - exp(0 - x))     (exposed as r)
    IF x = 0 THEN
        r = rate     (exposed as r)


 
baseVoltageDepVariable
Base ComponentType for voltage dependent variable x, which depends on v. Can be used for inf/steady state of rate variable.
Exposures x Dimensionless
Requirements v voltage
 
baseVoltageConcDepVariable

    extends baseVoltageDepVariable

Base ComponentType for voltage and calcium concentration dependent variable x, which depends on v and caConc.
Exposures x    (from baseVoltageDepVariable) Dimensionless
Requirements caConc concentration
v    (from baseVoltageDepVariable) voltage
 
baseHHVariable

    extends baseVoltageDepVariable

Base ComponentType for voltage dependent dimensionless variable which follow one of the typical forms for variable equations in the standard HH formalism, using the parameters rate, midpoint, scale
Parameters midpoint voltage
rate Dimensionless
scale voltage
Exposures x    (from baseVoltageDepVariable) Dimensionless
Requirements v    (from baseVoltageDepVariable) voltage
 
HHExpVariable

    extends baseHHVariable

Exponential form for variable equation
Parameters midpoint    (from baseHHVariable) voltage
rate    (from baseHHVariable) Dimensionless
scale    (from baseHHVariable) voltage
Exposures x    (from baseVoltageDepVariable) Dimensionless
Requirements v    (from baseVoltageDepVariable) voltage
Dynamics Derived Variables

    x = rate * exp((v - midpoint)/scale)     (exposed as x)

 
HHSigmoidVariable

    extends baseHHVariable

Sigmoidal form for variable equation
Parameters midpoint    (from baseHHVariable) voltage
rate    (from baseHHVariable) Dimensionless
scale    (from baseHHVariable) voltage
Exposures x    (from baseVoltageDepVariable) Dimensionless
Requirements v    (from baseVoltageDepVariable) voltage
Dynamics Derived Variables

    x = rate / (1 + exp(0 - (v - midpoint)/scale))     (exposed as x)

 
HHExpLinearVariable

    extends baseHHVariable

Exponential linear form for variable equation. Linear for large positive v, exponentially decays for large negative v.
Parameters midpoint    (from baseHHVariable) voltage
rate    (from baseHHVariable) Dimensionless
scale    (from baseHHVariable) voltage
Exposures x    (from baseVoltageDepVariable) Dimensionless
Requirements v    (from baseVoltageDepVariable) voltage
Dynamics Derived Variables

    a = (v - midpoint) / scale    
    x = rate * a / (1 - exp(0 - a))     (exposed as x)

 
baseVoltageDepTime
Base ComponentType for voltage dependent ComponentType producing value t with dimension time (e.g. for time course of rate variable). Note: time course would not normally be fit to exp/sigmoid etc.
Exposures t time
Requirements v voltage
 
baseVoltageConcDepTime

    extends baseVoltageDepTime

Base type for voltage and calcium concentration dependent ComponentType producing value t with dimension time (e.g. for time course of rate variable).
Exposures t    (from baseVoltageDepTime) time
Requirements caConc concentration
v    (from baseVoltageDepTime) voltage
 
fixedTimeCourse

    extends baseVoltageDepTime

Time course of a fixed magnitude tau which can be used for the time course in ???
Parameters tau time
Exposures t    (from baseVoltageDepTime) time
Requirements v    (from baseVoltageDepTime) voltage
Dynamics Derived Variables

    t = tau     (exposed as t)

 
baseQ10Settings
Base ComponentType for a scaling to apply to gating variable time course, usually temperature dependent
Exposures q10 Dimensionless
Requirements temperature temperature
 
q10Fixed

    extends baseQ10Settings

A fixed value, fixedQ10, for the scaling of the time course of the gating variable
Parameters fixedQ10 Dimensionless
Exposures q10    (from baseQ10Settings) Dimensionless
Requirements temperature    (from baseQ10Settings) temperature
Dynamics Derived Variables

    q10 = fixedQ10     (exposed as q10)

 
q10ExpTemp

    extends baseQ10Settings

A value for the Q10 scaling which varies as a standard function of the difference between the current temperature, temperature, and the temperature at which the gating variable equations were determined, experimentalTemp
Parameters experimentalTemp temperature
q10Factor Dimensionless
Constants TENDEGREES = 10K temperature
Exposures q10    (from baseQ10Settings) Dimensionless
Requirements temperature    (from baseQ10Settings) temperature
Dynamics Derived Variables

    q10 = q10Factor^((temperature - experimentalTemp)/TENDEGREES)     (exposed as q10)

 
baseConductanceScaling
Base ComponentType for a scaling to apply to a gate's conductance, e.g. temperature dependent scaling
Exposures factor Dimensionless
Requirements temperature temperature
 
q10ConductanceScaling

    extends baseConductanceScaling

A value for the conductance scaling which varies as a standard function of the difference between the current temperature, temperature, and the temperature at which the conductance was originally determined, experimentalTemp
Parameters experimentalTemp temperature
q10Factor Dimensionless
Constants TENDEGREES = 10K temperature
Exposures factor    (from baseConductanceScaling) Dimensionless
Requirements temperature    (from baseConductanceScaling) temperature
Dynamics Derived Variables

    factor = q10Factor^((temperature - experimentalTemp)/TENDEGREES)     (exposed as factor)

 
baseConductanceScalingCaDependent

    extends baseConductanceScaling

Base ComponentType for a scaling to apply to a gate's conductance which depends on Ca concentration. Usually a generic expression of caConc (so no standard, non-base form here).
Exposures factor    (from baseConductanceScaling) Dimensionless
Requirements caConc concentration
temperature    (from baseConductanceScaling) temperature
 
baseGate
Base ComponentType for a voltage and/or concentration dependent gate
Parameters instances Dimensionless
Child elements notes notes
Exposures fcond Dimensionless
q Dimensionless
 
gate

    extends baseGate

Conveniently named baseGate
Parameters instances    (from baseGate) Dimensionless
Exposures fcond    (from baseGate) Dimensionless
q    (from baseGate) Dimensionless
 
gateHHrates

    extends gate

Gate which follows the general Hodgkin Huxley formalism
Parameters instances    (from baseGate) Dimensionless
Child elements forwardRate baseVoltageDepRate
reverseRate baseVoltageDepRate
Children elements q10Settings baseQ10Settings
Exposures alpha per_time
beta per_time
fcond    (from baseGate) Dimensionless
inf Dimensionless
q    (from baseGate) Dimensionless
rateScale Dimensionless
tau time
Dynamics State Variables

    q    Dimensionless (exposed as q)

On Start

    q = inf

Derived Variables

    tau = 1/((alpha+beta) * rateScale)     (exposed as tau)
    fcond = q^instances     (exposed as fcond)
    rateScale = q10Settings[*]->q10 (reduce method: multiply)     (exposed as rateScale)
    beta = reverseRate->r     (exposed as beta)
    alpha = forwardRate->r     (exposed as alpha)
    inf = alpha/(alpha+beta)     (exposed as inf)

Time Derivatives

    d q /dt = (inf - q) / tau

 
gateHHtauInf

    extends gate

Gate which follows the general Hodgkin Huxley formalism
Parameters instances    (from baseGate) Dimensionless
Child elements steadyState baseVoltageDepVariable
timeCourse baseVoltageDepTime
Children elements q10Settings baseQ10Settings
Exposures fcond    (from baseGate) Dimensionless
inf Dimensionless
q    (from baseGate) Dimensionless
rateScale Dimensionless
tau time
Dynamics State Variables

    q    Dimensionless (exposed as q)

On Start

    q = inf

Derived Variables

    tau = tauUnscaled / rateScale     (exposed as tau)
    rateScale = q10Settings[*]->q10 (reduce method: multiply)     (exposed as rateScale)
    inf = steadyState->x     (exposed as inf)
    tauUnscaled = timeCourse->t    
    fcond = q^instances     (exposed as fcond)

Time Derivatives

    d q /dt = (inf - q) / tau

 
gateHHInstantaneous

    extends gate

Gate which follows the general Hodgkin Huxley formalism but is instantaneous, so tau = 0 and gate follows exactly inf value
Parameters instances    (from baseGate) Dimensionless
Child elements steadyState baseVoltageDepVariable
Constants SEC = 1 s time
Exposures fcond    (from baseGate) Dimensionless
inf Dimensionless
q    (from baseGate) Dimensionless
tau time
Dynamics Derived Variables

    q = inf     (exposed as q)
    tau = 0 * SEC     (exposed as tau)
    inf = steadyState->x     (exposed as inf)
    fcond = q^instances     (exposed as fcond)

 
gateHHratesTau

    extends gate

Gate which follows the general Hodgkin Huxley formalism
Parameters instances    (from baseGate) Dimensionless
Child elements timeCourse baseVoltageDepTime
forwardRate baseVoltageDepRate
reverseRate baseVoltageDepRate
Children elements q10Settings baseQ10Settings
Exposures alpha per_time
beta per_time
fcond    (from baseGate) Dimensionless
inf Dimensionless
q    (from baseGate) Dimensionless
rateScale Dimensionless
tau time
Dynamics State Variables

    q    Dimensionless (exposed as q)

On Start

    q = inf

Derived Variables

    tau = tauUnscaled / rateScale     (exposed as tau)
    fcond = q^instances     (exposed as fcond)
    rateScale = q10Settings[*]->q10 (reduce method: multiply)     (exposed as rateScale)
    beta = reverseRate->r     (exposed as beta)
    alpha = forwardRate->r     (exposed as alpha)
    inf = alpha/(alpha+beta)     (exposed as inf)
    tauUnscaled = timeCourse->t    

Time Derivatives

    d q /dt = (inf - q) / tau

 
gateHHratesInf

    extends gate

Gate which follows the general Hodgkin Huxley formalism
Parameters instances    (from baseGate) Dimensionless
Child elements steadyState baseVoltageDepVariable
forwardRate baseVoltageDepRate
reverseRate baseVoltageDepRate
Children elements q10Settings baseQ10Settings
Exposures alpha per_time
beta per_time
fcond    (from baseGate) Dimensionless
inf Dimensionless
q    (from baseGate) Dimensionless
rateScale Dimensionless
tau time
Dynamics State Variables

    q    Dimensionless (exposed as q)

On Start

    q = inf

Derived Variables

    tau = 1/((alpha+beta) * rateScale)     (exposed as tau)
    fcond = q^instances     (exposed as fcond)
    rateScale = q10Settings[*]->q10 (reduce method: multiply)     (exposed as rateScale)
    beta = reverseRate->r     (exposed as beta)
    alpha = forwardRate->r     (exposed as alpha)
    inf = steadyState->x     (exposed as inf)

Time Derivatives

    d q /dt = (inf - q) / tau

 
gateHHratesTauInf

    extends gate

Gate which follows the general Hodgkin Huxley formalism
Parameters instances    (from baseGate) Dimensionless
Child elements steadyState baseVoltageDepVariable
timeCourse baseVoltageDepTime
forwardRate baseVoltageDepRate
reverseRate baseVoltageDepRate
Children elements q10Settings baseQ10Settings
Exposures alpha per_time
beta per_time
fcond    (from baseGate) Dimensionless
inf Dimensionless
q    (from baseGate) Dimensionless
rateScale Dimensionless
tau time
Dynamics State Variables

    q    Dimensionless (exposed as q)

On Start

    q = inf

Derived Variables

    tau = tauUnscaled / rateScale     (exposed as tau)
    fcond = q^instances     (exposed as fcond)
    rateScale = q10Settings[*]->q10 (reduce method: multiply)     (exposed as rateScale)
    beta = reverseRate->r     (exposed as beta)
    alpha = forwardRate->r     (exposed as alpha)
    inf = steadyState->x     (exposed as inf)
    tauUnscaled = timeCourse->t    

Time Derivatives

    d q /dt = (inf - q) / tau

 
gateFractional

    extends gate

Gate composed of subgates contributing with fractional conductance
Parameters instances    (from baseGate) Dimensionless
Children elements subGate subGate
q10Settings baseQ10Settings
Exposures fcond    (from baseGate) Dimensionless
q    (from baseGate) Dimensionless
rateScale Dimensionless
Dynamics Derived Variables

    q = subGate[*]->qfrac (reduce method: add)     (exposed as q)
    rateScale = q10Settings[*]->q10 (reduce method: multiply)     (exposed as rateScale)
    fcond = q^instances     (exposed as fcond)

 
subGate
Gate composed of subgates contributing with fractional conductance
Parameters fractionalConductance Dimensionless
Child elements notes notes
steadyState baseVoltageDepVariable
timeCourse baseVoltageDepTime
Exposures inf Dimensionless
q Dimensionless
qfrac Dimensionless
tau time
Requirements rateScale Dimensionless
Dynamics State Variables

    q    Dimensionless (exposed as q)

On Start

    q = inf

Derived Variables

    tau = tauUnscaled / rateScale     (exposed as tau)
    inf = steadyState->x     (exposed as inf)
    qfrac = q * fractionalConductance     (exposed as qfrac)
    tauUnscaled = timeCourse->t    

Time Derivatives

    d q /dt = (inf - q) / tau

 
baseIonChannel
Base for all ion channel ComponentTypes
Parameters conductance conductance
Text fields neuroLexId
Child elements notes notes
annotation annotation
Exposures fopen Dimensionless
g conductance
Requirements v voltage
 
ionChannelPassive

    extends ionChannel

Simple passive ion channel where the constant conductance through the channel is equal to conductance
Parameters conductance    (from baseIonChannel) conductance
Exposures fopen    (from baseIonChannel) Dimensionless
g    (from baseIonChannel) conductance
Requirements v    (from baseIonChannel) voltage
Dynamics Derived Variables

    fopen = 1     (exposed as fopen)
    g = conductance     (exposed as g)

 
ionChannelHH

    extends baseIonChannel

Note ionChannel and ionChannelHH are currently functionally identical. This is needed since many existing examples use ionChannel, some use ionChannelHH. NeuroML v2beta4 should remove one of these, probably ionChannelHH.
Parameters conductance    (from baseIonChannel) conductance
Text fields species
Children elements gates gate
conductanceScaling baseConductanceScaling
Exposures fopen    (from baseIonChannel) Dimensionless
g    (from baseIonChannel) conductance
Requirements v    (from baseIonChannel) voltage
Dynamics Derived Variables

    conductanceScale = conductanceScaling[*]->factor (reduce method: multiply)    
    fopen = conductanceScale * fopen0     (exposed as fopen)
    fopen0 = gates[*]->fcond (reduce method: multiply)    
    g = conductance * fopen     (exposed as g)

 
ionChannel

    extends ionChannelHH

Note ionChannel and ionChannelHH are currently functionally identical. This is needed since many existing examples use ionChannel, some use ionChannelHH. NeuroML v2beta4 should remove one of these, probably ionChannelHH.
Parameters conductance    (from baseIonChannel) conductance
Exposures fopen    (from baseIonChannel) Dimensionless
g    (from baseIonChannel) conductance
Requirements v    (from baseIonChannel) voltage
Dynamics Derived Variables

    conductanceScale = conductanceScaling[*]->factor (reduce method: multiply)    
    fopen = conductanceScale * fopen0     (exposed as fopen)
    fopen0 = gates[*]->fcond (reduce method: multiply)    
    g = conductance * fopen     (exposed as g)

 
KSState
One of the states in which a gateKS can be. The rates of transitions between these states are given by KSTransitions
Parameters relativeConductance Dimensionless
Exposures occupancy Dimensionless
q Dimensionless
Dynamics State Variables

    occupancy    Dimensionless (exposed as occupancy)

Derived Variables

    q = relativeConductance * occupancy     (exposed as q)

 
closedState

    extends KSState

A KSState with relativeConductance of 0
Parameters relativeConductance __dimension_inherited__
relativeConductance    (from KSState) Dimensionless
Exposures occupancy    (from KSState) Dimensionless
q    (from KSState) Dimensionless
 
openState

    extends KSState

A KSState with relativeConductance of 1
Parameters relativeConductance __dimension_inherited__
relativeConductance    (from KSState) Dimensionless
Exposures occupancy    (from KSState) Dimensionless
q    (from KSState) Dimensionless
 
ionChannelKS

    extends ionChannel

A kinetic scheme based ion channel with multiple gateKSs, each of which consists of multiple KSStates and KSTransitions giving the rates of transition between them
Parameters conductance    (from baseIonChannel) conductance
Text fields species
Children elements gates gateKS
Exposures fopen    (from baseIonChannel) Dimensionless
g    (from baseIonChannel) conductance
Requirements v    (from baseIonChannel) voltage
Dynamics Derived Variables

    fopen = gates[*]->fcond (reduce method: multiply)     (exposed as fopen)
    g = fopen * conductance     (exposed as g)

 
KSTransition
Specified the forward and reverse rates of transition between two KSStates in a gateKS
Exposures rf per_time
rr per_time
 
forwardTransition

    extends KSTransition

A forward only KSTransition for a gateKS which specifies a rate (type baseHHRate) which follows one of the standard Hodgkin Huxley forms (e.g. HHExpRate, HHSigmoidRate, HHExpLinearRate
Child elements rate baseHHRate
Constants SEC = 1s time
Exposures rf    (from KSTransition) per_time
rr    (from KSTransition) per_time
Dynamics Derived Variables

    rf = rf0     (exposed as rf)
    rf0 = rate->r    
    rr = 0/SEC     (exposed as rr)

 
reverseTransition

    extends KSTransition

A reverse only KSTransition for a gateKS which specifies a rate (type baseHHRate) which follows one of the standard Hodgkin Huxley forms (e.g. HHExpRate, HHSigmoidRate, HHExpLinearRate
Child elements rate baseHHRate
Constants SEC = 1s time
Exposures rf    (from KSTransition) per_time
rr    (from KSTransition) per_time
Dynamics Derived Variables

    rf = 0/SEC     (exposed as rf)
    rr = rr0     (exposed as rr)
    rr0 = rate->r    

 
vHalfTransition

    extends KSTransition

Transition which specifies both the forward and reverse rates of transition
Parameters gamma Dimensionless
tau time
tauMin time
vHalf voltage
z Dimensionless
Constants kte = 25.3mV voltage
Exposures rf    (from KSTransition) per_time
rr    (from KSTransition) per_time
Requirements v voltage
Dynamics Derived Variables

    rf = 1 / (1/rf0 + tauMin)     (exposed as rf)
    rf0 = exp(z * gamma * (v - vHalf) / kte) / tau    
    rr = 1 / (1/rr0 + tauMin)     (exposed as rr)
    rr0 = exp(-z * (1 - gamma) * (v - vHalf) / kte) / tau    

 
tauInfTransition

    extends KSTransition

KS Transition specified in terms of time constant ??? and steady state ???
Child elements steadyState baseVoltageDepVariable
timeCourse baseVoltageDepTime
Exposures rf    (from KSTransition) per_time
rr    (from KSTransition) per_time
Dynamics Derived Variables

    tau = timeCourse->t    
    inf = steadyState->x    
    rf = inf/tau     (exposed as rf)
    rr = (1-inf)/tau     (exposed as rr)

 
gateKS

    extends baseGate

A gate which consists of multiple KSStates and KSTransitions giving the rates of transition between them
Parameters instances    (from baseGate) Dimensionless
Children elements states KSState
transitions KSTransition
q10Settings baseQ10Settings
Exposures fcond    (from baseGate) Dimensionless
q    (from baseGate) Dimensionless
rateScale Dimensionless
Dynamics Derived Variables

    q = states[*]->q (reduce method: add)     (exposed as q)
    rateScale = q10Settings[*]->q10 (reduce method: multiply)     (exposed as rateScale)
    fcond = q^instances     (exposed as fcond)