PSICS - the Parallel Stochastic Ion Channel Simulator
previous ←   → next
Under development
Please let us know of errors, unclear text or if you have suggestions form improvements:

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

NameTypeDefinitionUnitsRangeRequired
ididentifierIdentifier (name) for the stimulation/recording specificationyes
saveIntervalFloating point valueInterval at which the recorders should save their valuesms(0.001, 5)
separateFilesFlagIf set, split the output file into one file per column named according to the column headings"true" or "yes", "false" or "no"
recordClampsFlagIf 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"
separateFilesExtensionplain textfile extension to use for text filesThe default extension is '.txt'. It can be changed by setting an alternative extension here.

Elements

Element typeRole
CellLocationGeometrically defined positions on the cell
VoltageClamp, CurrentClamp, ConductanceClampClamps aplied to the cell
VoltageRecorderRecorders - these do not affect the cell at all
SmartRecorderSmartRecorders - 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

NameTypeDefinitionUnitsRangeRequired
ididentifierIdentifier, also used as the column heading in output files unless a label is set.yes
profileidentifier reference (CurrentProfile)
locationidentifier referenceReference to a CellLocation definition (CellLocation)
atlabel reference
fromlabel reference
towardslabel reference
stepValueone of the possible valuesValue to use when the function changes during a stepmidpoint, average
lineStyleone of the possible valuesSuggested line style for plotssolid, dashed, dotted
holdFloating point valueInitial holding currentnA
distanceFloating point valueLocate 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)
lineWidthFloating point valuesuggested line width for resultsnone[0,5]
recordFlagSpecify whether to store the clamp value in output files"true" or "yes", "false" or "no"
labelMetadataText to use for dolumn headings and file namesThis 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.
lineColorMetadataSuggested color for plotssuggested color for displaying data - either a normal color or a hex value like #00ff00 (green)

Elements

Element typeRole
CurrentPulse, CurrentStep, CurrentNoisecomponents 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

NameTypeDefinitionUnitsRangeRequired
ididentifierIdentifier, also used as the column heading in output files unless a label is set.yes
profileidentifier reference (VoltageProfile)
locationidentifier referenceReference to a CellLocation definition (CellLocation)
atlabel reference
fromlabel reference
towardslabel reference
stepValueone of the possible valuesValue to use when the function changes during a stepmidpoint, average
lineStyleone of the possible valuesSuggested line style for plotssolid, dashed, dotted
holdFloating point valuemV
distanceFloating point valueLocate 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)
lineWidthFloating point valuesuggested line width for resultsnone[0,5]
recordFlagSpecify whether to store the clamp value in output files"true" or "yes", "false" or "no"
labelMetadataText to use for dolumn headings and file namesThis 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.
lineColorMetadataSuggested color for plotssuggested color for displaying data - either a normal color or a hex value like #00ff00 (green)

Elements

Element typeRole
VoltagePulse, VoltageStep, VoltageNoisecomponents 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

NameTypeDefinitionUnitsRangeRequired
ididentifierIdentifier, also used as the column heading in output files unless a label is set.yes
profileidentifier reference (ConductanceProfile)
locationidentifier referenceReference to a CellLocation definition (CellLocation)
atlabel reference
fromlabel reference
towardslabel reference
stepValueone of the possible valuesValue to use when the function changes during a stepmidpoint, average
lineStyleone of the possible valuesSuggested line style for plotssolid, dashed, dotted
potentialFloating point valuemV
holdFloating point valuenS
distanceFloating point valueLocate 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)
lineWidthFloating point valuesuggested line width for resultsnone[0,5]
recordFlagSpecify whether to store the clamp value in output files"true" or "yes", "false" or "no"
labelMetadataText to use for dolumn headings and file namesThis 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.
lineColorMetadataSuggested color for plotssuggested color for displaying data - either a normal color or a hex value like #00ff00 (green)

Elements

Element typeRole
ConductancePulse, ConductanceStep, ConductanceNoisecomponents 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

NameTypeDefinitionUnitsRangeRequired
ididentifierIdentifier, also used as the column heading in output files unless a label is set.yes
locationidentifier referenceReference to a CellLocation definition (CellLocation)
atlabel reference
fromlabel reference
towardslabel reference
lineStyleone of the possible valuesSuggested line style for plotssolid, dashed, dotted
distanceFloating point valueLocate 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)
lineWidthFloating point valuesuggested line width for resultsnone[0,5]
labelMetadataText to use for dolumn headings and file namesThis 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.
lineColorMetadataSuggested color for plotssuggested 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

NameTypeDefinitionUnitsRangeRequired
ididentifierIdentifier, also used as the column heading in output files unless a label is set.yes
channelidentifier referenceThe channel type to record fromn (KSChannel) yes
locationidentifier referenceReference to a CellLocation definition (CellLocation)
atlabel reference
fromlabel reference
towardslabel reference
recordone of the possible valuesSpecify whether to record current or conductancecurrent, conductance
lineStyleone of the possible valuesSuggested line style for plotssolid, dashed, dotted
rangeFloating point valuerange within which channels are recordedumIf specified, only channels within this distance from the recording site are included
distanceFloating point valueLocate 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)
lineWidthFloating point valuesuggested line width for resultsnone[0,5]
labelMetadataText to use for dolumn headings and file namesThis 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.
lineColorMetadataSuggested color for plotssuggested 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

NameTypeDefinitionUnitsRangeRequired
ididentifierprofile id - only needed it if its parameters are to be modifiedyes
startFloating point valueInitial holding potentialmV(-100, 50)

Elements

Element typeRole
VoltagePulse, VoltageStep, VoltageNoisecomponents of the profile

VoltagePulse

within: VoltageProfile

A square voltage step

Attributes

NameTypeDefinitionUnitsRangeRequired
ididentifieroptional identifier for use if the feature is to be modifiedyes
durationFloating point valueduration of the pulsems[0, 1000)
toFloating point valuepotential to maintain during pulsemV(-50, 50)
startFloating point valuestart time of the pulsems[0, 1000)
repeatAfterFloating point valueIf 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

NameTypeDefinitionUnitsRangeRequired
ididentifieroptional identifier for use if the feature is to be modifiedyes
toFloating point valuenew holding potentialmV(-100, 50)
startFloating point valuestart time of the pulsems[0, 1000)
repeatAfterFloating point valueIf 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

NameTypeDefinitionUnitsRangeRequired
ididentifieroptional identifier for use if the feature is to be modifiedyes
meanFloating point valuemV
amplitudeFloating point valueOverall scale (standard deviation)mV[0, 50)yes
timeScaleFloating point valueSmoothing timescalems[0., 100)yes
startFloating point valuestart time of the pulsems[0, 1000)
repeatAfterFloating point valueIf set, repeat the pulse at this interval measured from its start ms[0, 5000)
seedWhole numberoptional 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

NameTypeDefinitionUnitsRangeRequired
ididentifierprofile id - only needed it if its parameters are to be modifiedyes
startFloating point valueInitial holding currentnA(-50, 50)

Elements

Element typeRole
CurrentPulse, CurrentStep, CurrentNoisecomponents of the profile

CurrentPulse

within: CurrentProfile

A square current pulse

Attributes

NameTypeDefinitionUnitsRangeRequired
ididentifieroptional identifier for use if the feature is to be modifiedyes
durationFloating point valueduration of the pulsems[0, 1000)
toFloating point valuecurrent to maintain during pulsenA(-50, 50)
startFloating point valuestart time of the pulsems[0, 1000)
repeatAfterFloating point valueIf 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

NameTypeDefinitionUnitsRangeRequired
ididentifieroptional identifier for use if the feature is to be modifiedyes
toFloating point valuenew holding potentialnA(-10, 10)
startFloating point valuestart time of the pulsems[0, 1000)
repeatAfterFloating point valueIf 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

NameTypeDefinitionUnitsRangeRequired
ididentifieroptional identifier for use if the feature is to be modifiedyes
meanFloating point valuenA
amplitudeFloating point valueOverall scale (standard deviation)nA[0, 50)yes
timeScaleFloating point valueSmoothing timescalems[0., 100)yes
startFloating point valuestart time of the pulsems[0, 1000)
repeatAfterFloating point valueIf set, repeat the pulse at this interval measured from its start ms[0, 5000)
seedWhole numberoptional 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

NameTypeDefinitionUnitsRangeRequired
ididentifierprofile id - only needed it if its parameters are to be modifiedyes
startFloating point valueInitial conductancenS[0, 50)

Elements

Element typeRole
ConductancePulse, ConductanceStep, ConductanceNoisecomponents of the profile

ConductancePulse

within: ConductanceProfile

A square conductance step

Attributes

NameTypeDefinitionUnitsRangeRequired
ididentifieroptional identifier for use if the feature is to be modifiedyes
durationFloating point valueduration of the pulsems[0, 1000)
toFloating point valueconductance to maintain during pulsenS(-50, 50)
startFloating point valuestart time of the pulsems[0, 1000)
repeatAfterFloating point valueIf 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

NameTypeDefinitionUnitsRangeRequired
ididentifieroptional identifier for use if the feature is to be modifiedyes
toFloating point valuenew holding conductancenS[0, 50)
startFloating point valuestart time of the pulsems[0, 1000)
repeatAfterFloating point valueIf 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

NameTypeDefinitionUnitsRangeRequired
ididentifieroptional identifier for use if the feature is to be modifiedyes
meanFloating point valuenS
amplitudeFloating point valueOverall scale (standard deviation)nS[0, 50)yes
timeScaleFloating point valueSmoothing timescalems[0., 100)yes
startFloating point valuestart time of the pulsems[0, 1000)
repeatAfterFloating point valueIf set, repeat the pulse at this interval measured from its start ms[0, 5000)
seedWhole numberoptional 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

NameTypeDefinitionUnitsRangeRequired
ididentifieridentifier by which this location os referenced from other componentsyes
rankByone of the possible valuesranking criterionradius
pathFloating point valuePath distance from somaum
pathFractionFloating point valuePath distance as a fraction of max path distancenone[0, 1]
sequenceFractionFloating point valuePosition in ranking of desired pointnone[0, 1]
sequenceIndexWhole numberRanking order of desired point[0, n]

Elements - No child elements are allowed

TimeSeries

tiem series data from a file

within: CurrentClamp, ConductanceClamp, VoltageClamp

Attributes

NameTypeDefinitionUnitsRangeRequired
ididentifieroptional identifier for use if the feature is to be modifiedyes
filetext - the path to the file or foldername of the file with time series datayes
timeUnitFloating point valuetime unitms[0, 1000)yes
valueUnitFloating point valuebase unit for the value columnany[0, 1000)
scaleFactorFloating point valueOptional scale factor to for modifying the amplitude of the profile in, for example, a parameter sweepnone[0, 1000)
columnWhole 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

previous ←   → next