Stimulation and Recording
The behavior of the model can be modified by attaching voltage clamps or current clamps to particular points, and can be probed with voltage recorders to examine the membrane potential. The command signal for a clamp can be specified in two ways: either components of the profile (steps, pulses, noise) can be embedded inside the clamp definition directly; or the clamp can refer to a profile by its id. If the same profile is used in different contexts, the second approach makes models more concise and avoids unnecessary duplication.
A third clamp type, the conductance clamp, is also available. By analogy with voltage and current clamps, this has a fixed driving potential but a variable conductance. It is the closest in behavior to a normal synaptic input, and makes it easier to achieve a stable stimulation across a range of parameter values than with a current clamp. The difference is that whereas a current clamp forces a certain current into the cell, irrespective of how depolarized it becomes, the conductance clamp lets the current flow towards a fixed reversal potential and therefore will not induce extreme depolaraizations. It can also be used to simulate shunting effects of areas of membrane that are not explicitly included in the model.
Although the three clamp types share a lot of the same properties, they have different dimensions and are represented by different objects. Each profile type also appears in three flavors, giving rise to a lot of objects. However, they are structurally very similar, so familiarity with one type should reliably map to the others.
Clamp attributes
The main attributes of a clamp are the at attribute which defines where it is attached to the cell. The value should be the id of a point on the morphology. The hold attribute sets the baseline value, and either embedded profile components or a profile referred to with the profile attribute sets the command profile. In the absence of a profile, the hold value applies throughout the run, as with a steady current injection or a fixed voltage clamp. Voltage recorders share the at attribute with exactly the same meaning. Indeed, internally there is no difference between a current clamp with hold="0" and a voltage recorder.
Clamps and recorders also have three optional attributes: lineStyle, lineWidth, and lineColor. These are suggestions as to how the results should be rendered and are stored in the output files for use by plotting applications.
Profiles
A profile simply has an id, a start value in the appropriate units and then zero or more embedded elements of type xxxPulse, xxxStep, or xxxNoise. A step is a transition from the current value to a new value which stays there, whereas a pulse is a step to a new value which is held for a certain time and then reverts to the original. The noise profile provides a simple autoregressive moving average, AR(1), noise model where the value Wt at time t is simply given by Wt = a Wt-1 + (1 - a) X where X is a Gaussian random variable. If a is small, then the noise has mostly high frequencies. If a is close to 1, the signal stays closer to its previous value and has more energy at low frequencies. The parameters do not give direct control over a and the variance of X but rather set the overall properties of the profile (mean value, amplitude, and timescale) from which they are computed.
The step and pulse elements have an optional repeatAfter attribute that can be used to define repeating sequences. It gives the time from the beginning (not the end) of the pulse after which it should be reapplied, so it is just the reciprocal of the frequency.
Access |
Stimulation and recording |
Standalone model |
Voltage clamps, current clamps, conductance clamps and voltage recorders for stimulating andrecording from the model.
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | Identifier (name) for the stimulation/recording specification | yes | ||
saveInterval | Floating point value | Interval at which the recorders should save their values | ms | (0.001, 5) | |
separateFiles | Flag | If set, split the output file into one file per column named according to the column headings | "true" or "yes", "false" or "no" | ||
recordClamps | Flag | If set, then the voltage (for current claps) or current (for voltage clamps) is recorded for each clamp as though it was doubling up as a recorder. For large numbers of clamps, particularly with aoto-generated distributions, this can be set to 'false' to reduce the output file sizes. | "true" or "yes", "false" or "no" | ||
separateFilesExtension | plain text | file extension to use for text files | The default extension is '.txt'. It can be changed by setting an alternative extension here. |
Elements
Element type | Role |
---|---|
CellLocation | Geometrically defined positions on the cell |
VoltageClamp, CurrentClamp, ConductanceClamp | Clamps aplied to the cell |
VoltageRecorder | Recorders - these do not affect the cell at all |
SmartRecorder | SmartRecorders - recording quantities that are not normally accessible |
CurrentClamp |
Current clamp |
within: Access |
A current clamp for attaching to a cell. The 'at' attribute should match the id of a point on the cell.
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | Identifier, also used as the column heading in output files unless a label is set. | yes | ||
profile | identifier reference | (CurrentProfile) | |||
location | identifier reference | Reference to a CellLocation definition (CellLocation) | |||
at | label reference | ||||
from | label reference | ||||
towards | label reference | ||||
stepValue | one of the possible values | Value to use when the function changes during a step | midpoint, average | ||
lineStyle | one of the possible values | Suggested line style for plots | solid, dashed, dotted | ||
hold | Floating point value | Initial holding current | nA | ||
distance | Floating point value | Locate the recorder by specifying its distance from the soma. Use in conjunctio with 'towards' if there is any potential ambiguity; and 'from' to specify a distance from some other point. With 'from', negative distances are allowed and define points nearer the soma. | um | [0,1000) | |
lineWidth | Floating point value | suggested line width for results | none | [0,5] | |
record | Flag | Specify whether to store the clamp value in output files | "true" or "yes", "false" or "no" | ||
label | Metadata | Text to use for dolumn headings and file names | This will be used for the column heading in output tables and for file names if the splitColumns attribute is set on the main recording configuration. If it is not specified, then a default name will be generated. Any spaces in the supplied text willbe replaced with underscores. | ||
lineColor | Metadata | Suggested color for plots | suggested color for displaying data - either a normal color or a hex value like #00ff00 (green) |
Elements
Element type | Role |
---|---|
CurrentPulse, CurrentStep, CurrentNoise | components of the profile |
TimeSeries
(max 1 instance) | digitized time series data (optional) |
VoltageClamp |
Current clamp |
within: Access |
A voltage clamp for attaching to a cell. The 'at' attribute should match the id of a point on the cell. If general clamp recording is on, or the specific clamp has its record flag set then the channel current on the target compartment is recorded. Note that this is not the total current through the clamp: it ignores capacitative currents and, for extended cells, current flows into neighbouring parts of the structure. At present, the best way to find the total clamp current is to use an imperfect clamp implemented as a ConductanceClamp witha high conductance. This will cause the target point to deviate slightly from the applied voltage. The deviation canbe used with the known conductance to compute the current flow through the clamp. By using a largeconductance you can get the cell to follow the clamp potential arbitrarily closely but the accuracy of the derived current will decrease as the potential difference becomes very small.
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | Identifier, also used as the column heading in output files unless a label is set. | yes | ||
profile | identifier reference | (VoltageProfile) | |||
location | identifier reference | Reference to a CellLocation definition (CellLocation) | |||
at | label reference | ||||
from | label reference | ||||
towards | label reference | ||||
stepValue | one of the possible values | Value to use when the function changes during a step | midpoint, average | ||
lineStyle | one of the possible values | Suggested line style for plots | solid, dashed, dotted | ||
hold | Floating point value | mV | |||
distance | Floating point value | Locate the recorder by specifying its distance from the soma. Use in conjunctio with 'towards' if there is any potential ambiguity; and 'from' to specify a distance from some other point. With 'from', negative distances are allowed and define points nearer the soma. | um | [0,1000) | |
lineWidth | Floating point value | suggested line width for results | none | [0,5] | |
record | Flag | Specify whether to store the clamp value in output files | "true" or "yes", "false" or "no" | ||
label | Metadata | Text to use for dolumn headings and file names | This will be used for the column heading in output tables and for file names if the splitColumns attribute is set on the main recording configuration. If it is not specified, then a default name will be generated. Any spaces in the supplied text willbe replaced with underscores. | ||
lineColor | Metadata | Suggested color for plots | suggested color for displaying data - either a normal color or a hex value like #00ff00 (green) |
Elements
Element type | Role |
---|---|
VoltagePulse, VoltageStep, VoltageNoise | components of the profile |
TimeSeries
(max 1 instance) | digitized time series data (optional) |
ConductanceClamp |
Conductance clamp |
within: Access |
A fixed or variable conductance to a fixed potential, acting like an imperfect voltage clamp. The conductance can be changed as a function of time. It provides a simpler way to stimulate a small process than a direct current injectionsince the resultant internal potential is far less sensitive to the applied conductane than to an applied current. The 'at' attribute should match the id of a point on the cell.
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | Identifier, also used as the column heading in output files unless a label is set. | yes | ||
profile | identifier reference | (ConductanceProfile) | |||
location | identifier reference | Reference to a CellLocation definition (CellLocation) | |||
at | label reference | ||||
from | label reference | ||||
towards | label reference | ||||
stepValue | one of the possible values | Value to use when the function changes during a step | midpoint, average | ||
lineStyle | one of the possible values | Suggested line style for plots | solid, dashed, dotted | ||
potential | Floating point value | mV | |||
hold | Floating point value | nS | |||
distance | Floating point value | Locate the recorder by specifying its distance from the soma. Use in conjunctio with 'towards' if there is any potential ambiguity; and 'from' to specify a distance from some other point. With 'from', negative distances are allowed and define points nearer the soma. | um | [0,1000) | |
lineWidth | Floating point value | suggested line width for results | none | [0,5] | |
record | Flag | Specify whether to store the clamp value in output files | "true" or "yes", "false" or "no" | ||
label | Metadata | Text to use for dolumn headings and file names | This will be used for the column heading in output tables and for file names if the splitColumns attribute is set on the main recording configuration. If it is not specified, then a default name will be generated. Any spaces in the supplied text willbe replaced with underscores. | ||
lineColor | Metadata | Suggested color for plots | suggested color for displaying data - either a normal color or a hex value like #00ff00 (green) |
Elements
Element type | Role |
---|---|
ConductancePulse, ConductanceStep, ConductanceNoise | components of the profile |
TimeSeries
(max 1 instance) | digitized time series data (optional) |
VoltageRecorder |
Voltage recorder |
within: Access |
Records the potential at a point on the cell
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | Identifier, also used as the column heading in output files unless a label is set. | yes | ||
location | identifier reference | Reference to a CellLocation definition (CellLocation) | |||
at | label reference | ||||
from | label reference | ||||
towards | label reference | ||||
lineStyle | one of the possible values | Suggested line style for plots | solid, dashed, dotted | ||
distance | Floating point value | Locate the recorder by specifying its distance from the soma. Use in conjunctio with 'towards' if there is any potential ambiguity; and 'from' to specify a distance from some other point. With 'from', negative distances are allowed and define points nearer the soma. | um | [0,1000) | |
lineWidth | Floating point value | suggested line width for results | none | [0,5] | |
label | Metadata | Text to use for dolumn headings and file names | This will be used for the column heading in output tables and for file names if the splitColumns attribute is set on the main recording configuration. If it is not specified, then a default name will be generated. Any spaces in the supplied text willbe replaced with underscores. | ||
lineColor | Metadata | Suggested color for plots | suggested color for displaying data - either a normal color or a hex value like #00ff00 (green) |
Elements - No child elements are allowed
SmartRecorder |
Channel conductance or current recorder |
within: Access |
Records conductance or current for a particular channel type across part or all of the cell. This gives access to quantities that are generally inaccessible experimentally (hence 'smart'). If the range is specified, then only channels within that distance of the recording site are included. Otherwise it applies to the whole cell.
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | Identifier, also used as the column heading in output files unless a label is set. | yes | ||
channel | identifier reference | The channel type to record fromn (KSChannel) | yes | ||
location | identifier reference | Reference to a CellLocation definition (CellLocation) | |||
at | label reference | ||||
from | label reference | ||||
towards | label reference | ||||
record | one of the possible values | Specify whether to record current or conductance | current, conductance | ||
lineStyle | one of the possible values | Suggested line style for plots | solid, dashed, dotted | ||
range | Floating point value | range within which channels are recorded | um | If specified, only channels within this distance from the recording site are included | |
distance | Floating point value | Locate the recorder by specifying its distance from the soma. Use in conjunctio with 'towards' if there is any potential ambiguity; and 'from' to specify a distance from some other point. With 'from', negative distances are allowed and define points nearer the soma. | um | [0,1000) | |
lineWidth | Floating point value | suggested line width for results | none | [0,5] | |
label | Metadata | Text to use for dolumn headings and file names | This will be used for the column heading in output tables and for file names if the splitColumns attribute is set on the main recording configuration. If it is not specified, then a default name will be generated. Any spaces in the supplied text willbe replaced with underscores. | ||
lineColor | Metadata | Suggested color for plots | suggested color for displaying data - either a normal color or a hex value like #00ff00 (green) |
Elements - No child elements are allowed
VoltageProfile |
within: Access, VoltageClamp |
Voltage control profile for use with a voltage clamp
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | profile id - only needed it if its parameters are to be modified | yes | ||
start | Floating point value | Initial holding potential | mV | (-100, 50) |
Elements
Element type | Role |
---|---|
VoltagePulse, VoltageStep, VoltageNoise | components of the profile |
VoltagePulse |
within: VoltageProfile |
A square voltage step
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | optional identifier for use if the feature is to be modified | yes | ||
duration | Floating point value | duration of the pulse | ms | [0, 1000) | |
to | Floating point value | potential to maintain during pulse | mV | (-50, 50) | |
start | Floating point value | start time of the pulse | ms | [0, 1000) | |
repeatAfter | Floating point value | If set, repeat the pulse at this interval measured from its start | ms | [0, 5000) |
Elements - No child elements are allowed
VoltageStep |
within: VoltageProfile |
A simple step from te current holding potential to a new one
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | optional identifier for use if the feature is to be modified | yes | ||
to | Floating point value | new holding potential | mV | (-100, 50) | |
start | Floating point value | start time of the pulse | ms | [0, 1000) | |
repeatAfter | Floating point value | If set, repeat the pulse at this interval measured from its start | ms | [0, 5000) |
Elements - No child elements are allowed
VoltageNoise |
within: Access, VoltageClamp |
Noise signal for use in a voltage clamp. It uses a simpleautoregressive (AR1) model where the timeScale attribute sets the average time for staying on the same side of the mean.
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | optional identifier for use if the feature is to be modified | yes | ||
mean | Floating point value | mV | |||
amplitude | Floating point value | Overall scale (standard deviation) | mV | [0, 50) | yes |
timeScale | Floating point value | Smoothing timescale | ms | [0., 100) | yes |
start | Floating point value | start time of the pulse | ms | [0, 1000) | |
repeatAfter | Floating point value | If set, repeat the pulse at this interval measured from its start | ms | [0, 5000) | |
seed | Whole number | optional seed - if set, it generates same sequence each time |
Elements - No child elements are allowed
CurrentProfile |
within: Access, CurrentClamp |
Current control profile for use with a current clamp
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | profile id - only needed it if its parameters are to be modified | yes | ||
start | Floating point value | Initial holding current | nA | (-50, 50) |
Elements
Element type | Role |
---|---|
CurrentPulse, CurrentStep, CurrentNoise | components of the profile |
CurrentPulse |
within: CurrentProfile |
A square current pulse
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | optional identifier for use if the feature is to be modified | yes | ||
duration | Floating point value | duration of the pulse | ms | [0, 1000) | |
to | Floating point value | current to maintain during pulse | nA | (-50, 50) | |
start | Floating point value | start time of the pulse | ms | [0, 1000) | |
repeatAfter | Floating point value | If set, repeat the pulse at this interval measured from its start | ms | [0, 5000) |
Elements - No child elements are allowed
CurrentStep |
within: CurrentProfile |
A simple step from the current holding current to a new one
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | optional identifier for use if the feature is to be modified | yes | ||
to | Floating point value | new holding potential | nA | (-10, 10) | |
start | Floating point value | start time of the pulse | ms | [0, 1000) | |
repeatAfter | Floating point value | If set, repeat the pulse at this interval measured from its start | ms | [0, 5000) |
Elements - No child elements are allowed
CurrentNoise |
within: Access, CurrentClamp |
Current noise signal for use in a current clamp. It uses a simpleautoregressive (AR1) model where the timeScale attribute sets the average time for staying on the same side of the mean.
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | optional identifier for use if the feature is to be modified | yes | ||
mean | Floating point value | nA | |||
amplitude | Floating point value | Overall scale (standard deviation) | nA | [0, 50) | yes |
timeScale | Floating point value | Smoothing timescale | ms | [0., 100) | yes |
start | Floating point value | start time of the pulse | ms | [0, 1000) | |
repeatAfter | Floating point value | If set, repeat the pulse at this interval measured from its start | ms | [0, 5000) | |
seed | Whole number | optional seed - generates same sequence each time |
Elements - No child elements are allowed
ConductanceProfile |
within: Access |
Conductance control profile for use with a conductance clamp
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | profile id - only needed it if its parameters are to be modified | yes | ||
start | Floating point value | Initial conductance | nS | [0, 50) |
Elements
Element type | Role |
---|---|
ConductancePulse, ConductanceStep, ConductanceNoise | components of the profile |
ConductancePulse |
within: ConductanceProfile |
A square conductance step
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | optional identifier for use if the feature is to be modified | yes | ||
duration | Floating point value | duration of the pulse | ms | [0, 1000) | |
to | Floating point value | conductance to maintain during pulse | nS | (-50, 50) | |
start | Floating point value | start time of the pulse | ms | [0, 1000) | |
repeatAfter | Floating point value | If set, repeat the pulse at this interval measured from its start | ms | [0, 5000) |
Elements - No child elements are allowed
ConductanceStep |
within: ConductanceProfile |
A simple step from the current holding conductance to a new one
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | optional identifier for use if the feature is to be modified | yes | ||
to | Floating point value | new holding conductance | nS | [0, 50) | |
start | Floating point value | start time of the pulse | ms | [0, 1000) | |
repeatAfter | Floating point value | If set, repeat the pulse at this interval measured from its start | ms | [0, 5000) |
Elements - No child elements are allowed
ConductanceNoise |
within: ConductanceClamp |
Conductance noise signal for use in a conductance clamp. It uses a simpleautoregressive (AR1) model where the timeScale attribute sets the average time for staying on the same side of the mean.
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | optional identifier for use if the feature is to be modified | yes | ||
mean | Floating point value | nS | |||
amplitude | Floating point value | Overall scale (standard deviation) | nS | [0, 50) | yes |
timeScale | Floating point value | Smoothing timescale | ms | [0., 100) | yes |
start | Floating point value | start time of the pulse | ms | [0, 1000) | |
repeatAfter | Floating point value | If set, repeat the pulse at this interval measured from its start | ms | [0, 5000) | |
seed | Whole number | optional seed - generates same sequence each time |
Elements - No child elements are allowed
CellLocation |
Geometrically defined position on a cell |
within: Access |
A means of uniquely picking a location on a cell according to geometricalproperties of the morphology. If path is specified then alll pointsat that path distance from the soma are ranked according to the ranking criterion (currently just radius) and point nearest sequenceFraction is used. If pathFraction is supplied instead of path, then it uses that fraction of the maximum path length.
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | identifier by which this location os referenced from other components | yes | ||
rankBy | one of the possible values | ranking criterion | radius | ||
path | Floating point value | Path distance from soma | um | ||
pathFraction | Floating point value | Path distance as a fraction of max path distance | none | [0, 1] | |
sequenceFraction | Floating point value | Position in ranking of desired point | none | [0, 1] | |
sequenceIndex | Whole number | Ranking order of desired point | [0, n] |
Elements - No child elements are allowed
TimeSeries |
tiem series data from a file |
within: CurrentClamp, ConductanceClamp, VoltageClamp |
Attributes
Name | Type | Definition | Units | Range | Required |
---|---|---|---|---|---|
id | identifier | optional identifier for use if the feature is to be modified | yes | ||
file | text - the path to the file or folder | name of the file with time series data | yes | ||
timeUnit | Floating point value | time unit | ms | [0, 1000) | yes |
valueUnit | Floating point value | base unit for the value column | any | [0, 1000) | |
scaleFactor | Floating point value | Optional scale factor to for modifying the amplitude of the profile in, for example, a parameter sweep | none | [0, 1000) | |
column | Whole number | (optional) column to use if there are more than two columns (column 0 is always the time) in the file | [1, 1000) |
Elements - No child elements are allowed