Download G-clamp v2 User Manual - University of Pittsburgh

Transcript
G-clamp version 2.0
User Manual
Paul H.M. Kullmann and John P. Horn
Department of Neurobiology and Center for the Neural Basis of Cognition
University of Pittsburgh School of Medicine
E 1440 Biomedical Science Tower
Pittsburgh, PA 15261
http://www.neurobio.pitt.edu
To download this document and the G-clamp program go to:
(http://hornlab.neurobio.pitt.edu)
Contact Information:
Dr. Paul H.M. Kullmann
Phone: 412-648-9291
[email protected]
Dr. John P. Horn
Voice: 412-648-9429
[email protected]
Grant Support: This document and the G-clamp software that it describes were both
developed at the University of Pittsburgh with support from National Institutes of
Health grant RO1 NS21065.
Copyright Information: These materials are freely available for non-commercial
research and educational purposes. The authors reserve the copyright and request
that others using this material acknowledge its origin. Those wishing to publish any
of this material or to develop commercial applications must first contact the authors.
G-clamp v1 2003, v1.2 October 1, 2004
G-clamp v2 February 1, 2007
Copyright © 2007
2
Table of Contents
1.
PROGRAM START ............................................................................................................................... 4
2.
RUNNING AN EXPERIMENT............................................................................................................. 5
2.1.
EXPERIMENT LOGGING .................................................................................................................... 6
3.
EXITING G-CLAMP V2 ....................................................................................................................... 6
4.
AMPLIFIER MODULES....................................................................................................................... 7
4.1.
4.2.
5.
AXOCLAMP 2B ................................................................................................................................ 7
MODEL 2400 .................................................................................................................................... 8
SYNAPTIC CONDUCTANCE EDITOR ............................................................................................. 9
5.1.
CREATING A NEW SYNAPTIC CONDUCTANCE .................................................................................... 9
5.1.1. alpha-function........................................................................................................................... 10
5.1.2. double-exponential ................................................................................................................... 10
5.1.3. voltage-dependent..................................................................................................................... 10
5.2.
EDITING AN EXISTING SYNAPTIC CONDUCTANCE ........................................................................... 11
5.3.
DELETING AN EXISTING SYNAPTIC CONDUCTANCE......................................................................... 11
6.
SEAL TEST........................................................................................................................................... 12
7.
MEMBRANE TEST ............................................................................................................................. 14
7.1.
CALCULATIONS .............................................................................................................................. 15
8.
BRIDGE TEST ..................................................................................................................................... 17
9.
EXPERIMENT MODULES ................................................................................................................ 19
9.1.
9.2.
9.3.
9.4.
10.
VCLAMP ......................................................................................................................................... 19
THRESHOLD-GSYN ......................................................................................................................... 25
SYNAPTIC GAIN ............................................................................................................................. 28
STRIP CHART.................................................................................................................................. 31
EVENT FILES ................................................................................................................................. 32
10.1.
CREATING EVENT FILES .................................................................................................................. 32
…with Neurosim ..................................................................................................................................... 32
11.
11.1.
11.2.
11.3.
11.4.
11.5.
12.
OFFLINE UTILITIES..................................................................................................................... 34
G-CLAMP FILEUTILITIES MASTER.VI ............................................................................................. 34
G-CLAMP COUNT APS IN GAI-FILE.VI ........................................................................................... 35
G-CLAMP RETRIEVE GTH-FILE RESULTS.VI................................................................................... 37
G-CLAMP GET MEMBRANE TEST RESULTS.VI ................................................................................ 38
G-CLAMP CONVERT STP-TO-GAI.VI ................................................................................................ 40
DATA FILES.................................................................................................................................... 41
12.1.
NAMES ........................................................................................................................................... 41
12.2.
CONTENT ....................................................................................................................................... 41
12.2.1
Vclamp - *.IVB..................................................................................................................... 41
12.2.2
Gsyn Threshold - *.GTH...................................................................................................... 42
12.2.3
Synaptic Gain - *.GAI.......................................................................................................... 42
12.2.4
Strip Chart - *.STP .............................................................................................................. 42
APPENDIX A – G-CLAMP INSTALLATION ........................................................................................... 44
HARDWARE .................................................................................................................................................. 44
Connecting embedded controller and host computer.............................................................................. 44
3
Connecting recording amplifier and break-out box (BNC-2090) ........................................................... 44
AxoClamp 2B amplifier...................................................................................................................................... 44
Model 2400 amplifier.......................................................................................................................................... 44
SOFTWARE ................................................................................................................................................... 45
TROUBLE-SHOOTING .................................................................................................................................... 46
4
1. Program Start
-
Start the embedded controller
Start LabVIEW 8 on the host computer and open the project G-clamp.lvproj
Open G-clamp v2 – Host.vi under My Computer\Host
-
Once start-up of the embedded controller is complete, press the Run button to start
G-clamp v2 – Host.vi. The VI will go through an initialization process that includes
starting G-clamp components on the embedded controller and establishing a
communication link between G-clamp software running on the host computer and
on the embedded controller. The final initialization step is the loading of an
amplifier module (see section Amplifier Modules). DO NOT interact with the front
panel of G-clamp v2 – Host.vi until the amplifier module has been loaded.
5
-
-
Set your data directory either by typing a path into the DataDirectory control on
the General page or by using the folder button to the right of the control to open a
file dialog box: Navigate to the designated data directory and finalize your selection
by pressing Current Folder in the dialog box.
Open up to three experiment modules by selecting them from the list under the
menu item ExpModules. Each experiment module will be loaded into a sub-panel,
starting on the page Exp. Module 1 and continuing with pages Exp. Module 2 and
Exp. Module 3. If you try to load more than three modules, a dialog will appear
asking you to cancel loading the fourth module or to close one of the already open
modules 1 .
2. Running an experiment
-
-
1
Set up your experiment with the corresponding experiment module (for details see
the specific experiment module section under Experiment Modules).
Make sure that any settings in the amplifier module section that have to be set by
the user (see section Amplifier Modules for details) correspond to the real settings
at your amplifier.
Check the control Virtual Conductances on the General page for the status of the
conductances: green – enabled, red – disabled and the strength of the conductance
(in nS) 2 . (These conductances can be used with all experiment modules except the
Strip Chart module.)
Check the status of the control Save Data: green – enabled, red – disabled. (The
Strip Chart module ignores this control and always saves data to file)
Closing a module sometimes results in a LabVIEW error message. This error is non-fatal and can be
ignored: Select ‘Continue’ in the error dialog to proceed with the G-clamp session.
2
The kinetics of these conductances are hard-wired into the software and can not be changed while running
G-clamp v2. Instructions for modifying or adding a conductance are not yet available for G-clamp v2.
However, consulting the “Programmer’s Guide” for G-clamp v1.2
(http://hornlab.neurobio.pitt.edu/downloads.htm) should give you an idea about how-to.
6
-
-
Start the experiment with the Start button on the front panel of the corresponding
experiment module.
If you want to abort the experiment after it was started, use the Abort Exp. button
in the lower right section of the G-clamp v2 – Host.vi front panel. (This works only
for experiments with the modules Vclamp and Threshold-gsyn. Synaptic Gain
experiments can not be aborted and Strip Chart experiments are terminated with the
Enough data button in this module’s front panel.)
Check the RT Loop Info indicator: After each data transmission it indicates
performance of the dynamic clamp feedback loop by showing mean cycle length
and its standard deviation as well as maximum jitter. A mean value larger than the
set value indicates consistent failure to perform at the requested rate while a correct
mean value but maximum jitter larger than the ½ mean indicates an occasional
failure which did not affect overall performance. (The Strip Chart module uses a
data acquisition mode unrelated to the dynamic clamp feedback loop and therefore
does not evaluate loop performance.)
2.1.
Experiment Logging
G-clamp v2 keeps a running record of most experimental settings together with time
stamps when an experiment is started. User comments (e.g. about drug applications) can be
added at any time.
This record is maintained in computer memory until one of two conditions is met:
- a change in the data directory or
- exiting G-clamp
These two conditions trigger writing the experiment record to a text file in the data
directory used last (and the start of a new record if a change in data directory occurred).
Part or all of the current record can also be marked and with copy/paste transferred to other
applications.
3. Exiting G-clamp v2
The Exit button on the front panel of G-clamp v2 – Host.vi stops G-clamp v2 – Host.vi and
the G-clamp software running on the embedded controller. It also saves the current
experiment log as well as information about the amplifier module and the data directory to
the configuration file for use as start-up parameters the next time G-clamp v2 is started.
7
4. Amplifier Modules
Amplifier modules contain amplifier-specific controls required to communicate the
recording mode (current clamp, voltage clamp) to the G-clamp software. The last module
used is loaded at program start. To change the amplifier module, select another amplifier
on the “General” page of the experiment section.
Currently modules for two amplifiers are available:
- AxoClamp 2B from Molecular Devices (formerly Axon Instruments) with the x 0.1
LU gain headstage
- Model 2400 from A-M Systems, Inc with a headstage that has the 100 MΩ/10 GΩ
feedback resistor combination
If you have a different amplifier or one of these amplifiers with a different headstage,
consult the manual with the set-up instructions.
4.1.
AxoClamp 2B
The AxoClamp 2B amplifier has two separate inputs for external current and voltage
commands. For the G-clamp program to use the right command input, the user has to set
the recording mode in the amplifier module section. Note that only BRIDGE (current
clamp) and (cont.) SEVC (voltage clamp) are available.
8
4.2.
Model 2400
The Model 2400 amplifier telegraphs several of its settings to the computer. Actively used
by the G-clamp program are the MODE and GAIN settings, while the FILTER and
Cmembrane settings are only of informative nature to the user. The remaining two
controls, PROBE GAIN and EXTERNAL CLAMP SIGNAL, are NOT telegraphed and
have to be set by the user for correct scaling of the amplifier output and the amplifier input
command.
The status of the telegraphed amplifier settings are updated automatically each time before
an experiment is started and an update can also be initiated with the button Amplifier
Settings - Update to the right.
9
5. Synaptic Conductance Editor
The Synaptic Conductance Editor allows the user to define the kinetics of a synaptic
conductance gsyn for use with the experiment modules Threshold-gsyn and Synaptic Gain.
Once a synaptic conductance has been defined its kinetic parameters are preserved in a
configuration file and therefore defined synaptic conductances are available from the
beginning whenever G-clamp v2 is started. The Synaptic Conductance Editor also allows
modification (editing) of an existing synaptic conductance and its removal (deleting) from
the configuration file.
The Editor is started from the G-clamp v2 – Host.vi menu: Edit > Synaptic
Conductances. At start, it reads the configuration file and populates the list of existing
synaptic conductances with their names.
The Cancel button stops the Synaptic Conductance Editor and exits it without any changes
to the configuration file.
A new synaptic conductance or modifications to an existing synaptic conductance become
available for use immediately after exiting the Synaptic Conductance Editor, i.e. no Gclamp restart is required.
Next the user has to select an action:
- Create new
- Edit existing
- Delete existing
5.1.
Creating a new synaptic conductance
First the user has to select one of three possible kinetic models for the new synaptic
conductance:
- alpha-function
- double-exponential
- voltage-dependent
10
Once a kinetic model has been selected, a model-specific field for setting the modelspecific parameters becomes visible. Any change of a parameter triggers an update of the
conductance waveform graph which shows the template for the synaptic event that Gclamp will use whenever the Threshold-gsyn or Synaptic Gain modules execute. This
template has a finite length which the user has to specify with the Duration parameter.
5.1.1. alpha-function
gsyn(t) = k x t x exp(-t/tau)
with k = e/tau and e the base of the natural logarithm.
5.1.2. double-exponential
gsyn(t) = k x exp(-t/taurise) – exp(-t/taufall)
with k a dimensionless factor that scales the peak to unitary (1 nS) conductance.
5.1.3. voltage-dependent
This kinetic model mimics a NMDA-receptor conductance and its voltage-dependent block
by extracellular Mg2+.
gsyn(Vm,t) = [k x exp(-t/taurise) – exp(-t/taufall)] / [1 + eta x [Mg2+] x exp(-1 x gamma x Vm)]
with k a dimensionless factor that scales the peak to unitary (1 nS) conductance.
This model as well as the default values of its parameters (taurise = 0.67 ms; taufall = 80 ms;
eta = 0.33 / mM; gamma = 0.06 / mV) are from Zador, Koch & Brown3 .
The voltage-dependence of this conductance can be studied by changing the parameter
“Vm” and by toggling the waveform display between conductance (g) and current (I). I is
calculated assuming a reversal potential of 0 mV.
3
Zador A, Koch C & Brown TH (1990) Biophysical model of a Hebbian synapse. PNAS 87:6718-6722
11
5.2.
Editing an existing synaptic conductance
Selecting the conductance to be edited in the list of existing synaptic conductances brings
up the parameter field for the conductance. For details on the different kinetic models see
the preceding section, ‘Creating a new synaptic conductance’.
5.3.
Deleting an existing synaptic conductance
Select the conductance to be deleted in the list of existing synaptic conductances.
12
6. Seal Test
This function, which is similar to the seal test function in PClamp, serves to monitor seal
formation while patching a cell in voltage clamp. A unipolar, periodic voltage4 step is
given and the current response is monitored: As the patch pipette approaches the cell
membrane and forms a seal, the initially large current response becomes smaller and
smaller.
The trace shown reflects the average of the last 10 current responses and the values shown
for seal resistance (Rseal) and holding current (Ih) are based on this average.
Ih is the mean holding current during the last 25% of the pre-voltage-step period and Rseal
is then calculated according to Ohm’s Law from the difference between Ih and the last 25%
of the current response during the voltage-step.
4
If the recording amplifier (and the corresponding amplifier module of the G-clamp software) is in current
clamp mode, a current command will be given.
13
14
7. Membrane Test
This function, which is similar to the membrane test function in PClamp, uses the current
response to a unipolar voltage 5 step to calculate several parameters after whole-cell
configuration has been achieved.
The fit limits are relative to the difference between peak response and holding current for
the upper limit and relative to the difference between peak response and steady-state
current for the lower limit.
The trace displayed and all calculations are based on the average of the last 10 responses.
The button Add to Log creates an entry with the current values in the experiment protocol.
5
If the recording amplifier (and the corresponding amplifier module of the G-clamp software) is in current
clamp mode, a current command will be given.
15
7.1.
Calculations
Ipeak
Iss
Ihold
ΔV = pulse
amplitude
Vhold
-
Holding current (Ih) is determined from the last 25% of the pre-voltage-step period.
Steady-state current (Iss) is determined from the last 25% of the voltage-step
period.
- The transient portion of the current response is fit with a single exponential which
gives the time constant (tau).
The area (charge Q) under the current transient can be used to calculate access resistance
(Ra) and membrane resistance (Rm).
Q1 = CV
Tau
Q3
Iss
Q2
ΔI = ΔV/(Ra+Rm)
Ihold (at Vhold)
The total charge (Qt) under the transient is the sum of the charge (Q1) in the transient
above the steady state response plus the correction factor (Q2): Qt = Q1 + Q2
- Q1 is found by integrating the charge above Iss.
- Q2 is calculated as ΔI x tau = (Iss – Ih) x tau.
The small error charge (Q3) introduced with the calculation of Q2 is ignored.
After Qt has been derived, Cm can be calculated:
Cm = Qt / ΔVm
(1)
where ΔVm is the amplitude of the voltage step.
In the steady-state, the relation between ΔVm and ΔV is:
ΔVm = ΔV x Rm/Rt = ΔV x Rm/(Ra + Rm)
(2)
16
where Rt, Rm and Ra are the total, membrane and access resistances, respectively.
Substituting for ΔVm from (2) into (1) derives:
Cm = Qt x Rt / ΔV x Rm
(3)
Substituting (3) for Cm in definition of the time constant = Ra x Cm:
tau = Qt x Ra / ΔV
yields:
Ra = tau x ΔV / Qt
(4)
which provides access resistance directly as a function of measured variables. The total
resistance is calculated from the steady-state response:
Rt = ΔV / ΔI = Ra + Rm
(5)
from which one obtains:
Rm = Rt – Ra
(6)
17
8. Bridge Test
This function serves to monitor and adjust the settings of the bridge circuitry while
recording in current clamp from a cell. A unipolar, periodic current 6 step is given and the
voltage response is monitored. Because the much smaller capacitance of the pipette charges
much faster than the whole-cell capacitance, the voltage response has two phases: The
initial, almost instantaneous change reflects charging of the pipette capacitance7 and its
amplitude reflects the size of the access resistance. By setting the bridge so that the slower
response of the whole-cell capacitance seems to rise exactly from the pre-current-pulse
level the voltage drop across the access resistance is eliminated.
The trace shown reflects the average of the last 10 voltage responses.
6
If the recording amplifier (and the corresponding amplifier module of the G-clamp software) is in voltage
clamp mode, a voltage command will be given.
7
Detection of this change is facilitated by increasing the cut-off frequency of the low-pass filter operating on
the amplifier’s voltage output and by turning up the capacitance neutralization of the amplifier to speed-up
the charging process.
18
19
9. Experiment Modules
9.1.
Vclamp
The name of this module is somewhat misleading; seemingly implying that it is intended
only for voltage clamp recordings. In fact, the purpose of this module is to generate several
types of command waveforms for the amplifier irrespective of whether the amplifier is in
voltage clamp or (dynamic) current clamp mode.
Currently three types of command waveform are available:
- square pulse
- ramp
- zap (a frequency-modulated sine wave)
These commands can be combined sequentially and command amplitudes can be made to
increment or decrement from one iteration to the next.
(Almost) all experiment parameters are defined in a script-like protocol. Protocols are
stored in an array, of which only one element (protocol) is visible at any time and this
visible protocol is the one that will be executed upon pressing Start.
To scroll through the array of protocols use the horizontal slider at the bottom of the
Scripts window.
When scrolling through the array of protocols 8 the waveform display shows exactly what
command(s) will be given to the amplifier.
Similarly, editing a protocol in the Scripts window triggers continuous updates of the
waveform display. If your waveform does not look like what you expect you probably have
a syntax error in your protocol. Note that no error-checking is implemented and therefore
execution of a script containing syntax errors could crash G-clamp!
Before explaining some example protocols the general rules of the protocol syntax shall be
described:
- All expressions have to be typed in lower case
- In (most) commands consisting of an expression and a numerical value expression
and numerical value have to be separated by exactly one space
- Each command consists of a separate line
- Comments can be added to a script by placing the % symbol at the beginning of
each comment line
- Required commands for a script are (in the following xy denotes a numerical value
and [text in square brackets gives additional information]):
o samplerate xy
[sample rate in Hz]
o pause xy
[time in ms from end of one episode to start of next]
o for xy
[indicates start of a recording episode with the
duration of the recording episode determined by the
8
Scrolling through the array of protocols while grabbing the slider with the cursor does not always trigger a
waveform update. In this case move the cursor into the script field and click the left mouse button once.
20
-
-
sum of all ‘wait’ commands from here to the ‘end’
command; xy has to be at least 1]
o end
[indicates end of the recording episode]
o wait xy
[time in ms before a change in the amplifier command
is given; at least one ‘wait’ command has to be within
the ‘for xy’ – ‘end’ sequence to set the duration of the
recording episode]
A ‘wait’ command can not be followed by another ‘wait’ command.
Commands that change the amplifier command are (in the following xy denotes the
amplitude of the command in mV for a voltage clamp command and in pA for a
current clamp command and [text in square brackets gives additional information]):
o const xy
[sets the amplifier command to a new value
which remains in effect for the duration of the
following ‘wait’ command]
o ramp xy
[initiates a linear change in the amplifier
command starting at the previous amplifier
command level; the speed of the change is
determined by the following ‘wait’ command]
o zap xy fstart xy fstop xy
[initiates a frequency-modulated sine wave (of
amplitude xy) command to the amplifier: the
start frequency is set with the numerical value
after ‘fstart’ (inHz) and the end frequency
with the numerical value after ‘fstop’ (in Hz) 9 ;
the speed of the frequency-modulation is
determined by the following ‘wait’ command]
All of these commands operate relative to the holding potential (voltage clamp) or
DC current command (current clamp) dialed in on the recording amplifier.
The ‘const’ and ‘ramp’ commands can be followed by either ‘decrement xy’ or
‘increment xy’ (with xy denoting the change in the amplifier command) which
successively changes the effective value of the preceding ‘const’ or ‘ramp’
command from episode to episode. The change becomes effective with the second
episode, i.e. in the first episode the effective amplifier command corresponds to the
value of ‘const’ or ‘ramp’.
To add a new script scroll to the end of the protocol array. The last element is grayed-out,
indicating that it is not an active script. It is activated by starting to edit it.
To make any changes to the scripts permanent you have to exit the module by using the
Close Module button. Any changes made to scripts are lost if you exit G-clamp v2 with the
Vclamp module still open.
9
Setting ‘fstart’ and ‘fstop’ to the same value xy yields an unmodulated sine wave of frequency xy.
21
This script generates a square pulse of 10 mV/pA with a delay of 50 ms by first giving the
amplifier command ‘const 10’. This command level is maintained for 50 ms before another
amplifier command (‘const -10’) returns the command level to zero. The recording episode
ends after another 50 ms. This pattern is repeated 50 times (‘for 50’) with 150 ms breaks in
between episodes (‘pause 150’).
If the last amplifier command does not return the command level back to zero, that
level will be maintained during the pause until the start of the next episode!
This script gives a series of negative square pulses of increasing amplitude. The first pulse
is -10 mV/pA (‘const -10’). With ‘increment -10’ this value becomes -20 mV/pA for the
second episode (-10 + -10 = -20), -30 mV/pA for the third epsisode (-20 + -10 = -30) and
so on. With the last, seventh episode (‘for 7’) the command level reaches -70 mV/pA.
Note: ‘increment -10’ is equivalent to ‘decrement 10’
22
This script demonstrates the combination of a pre-pulse and a variable test pulse. With
‘const 50’ the pre-pulse is initiated and maintained for 400 ms (‘wait 400’). By being
relative to the preceding command level ‘const 20’ next changes the command level to 70
mV/pA (50 + 20 = 70) in the first episode. With ‘increment 20’ the change relative to the
pre-pulse becomes 40 mV/pA in the second episode, 60 mV/pA in the third episode and so
on.
This script demonstrates the use of the ‘ramp’ command. The numerical value of the ‘ramp
-80’ command sets its amplitude (-80 mV/pA) with the start value defined by the preceding
amplifier command level: In this case set to 40 mV/pA with the preceding ‘const 40’. The
speed of the ramp is -20 /s (-80 / 4000 ms) as set by the following ‘wait 4000’ command.
At the end of the ramp the amplifier command level returns automatically to a value
corresponding to the midpoint of the ramp. Note that although in this example the ramp
23
returns to 0 mV/pA as it starts at 40 mV/pA and ends at -40 mV/pA, a ‘const 0’ command
is required in the script between the ‘wait 4000’ specifying the ramp duration and the ‘wait
800’ specifying the post-ramp time before the recording episode ends. If the midpoint of a
ramp differs from 0 mV/pA the value for the following command then should be relative to
the ramp midpoint.
This script demonstrates the ‘zap’ command 10 . It generates a sine wave. The frequency of
the sine wave increases at a constant rate from a start value to an end value. In this example
(‘zap 15 fstart 0 fstop 5’) the sine wave starts at 0 Hz and ends at 5 Hz. The speed of the
modulation is determined by the following ‘wait’ command, therefore in this case (5 Hz – 0
Hz) / 10000 ms = 0.5 Hz / s. Note that after the ‘zap’ command the value of the next
‘const’ command is absolute and not relative to the level achieved at the end of the sine
wave!
Data files generated by the Vclamp module are of type ‘.ivb’.
Simulate? allows observation of the behavior of an implemented (nonsynaptic) conductance under voltage clamp conditions. The recording
amplifier is operated in voltage clamp mode and a script is used to run
a voltage clamp protocol (e.g. the protocol to measure IA steady state
inactivation described above). The script – together with the holding
potential dialed-in at the amplifier – determine the Vm reading. Based
on the measured Vm G-clamp calculates the current that would flow through the
conductance at any time. Instead of using this value as a command to the amplifier the
value is only displayed to the user (as the Im trace) and, optionally, saved to file.
10
It seems like only sine waves symmetrical around 0 mV/pA work: Using a preceding ‘const xx’ command
to let the sine wave oscillate around xx mV/pA does not work!
24
Leak Subtraction is only for voltage clamp recordings to correct for a cell’s passive
membrane current, i.e. leak current. G-clamp uses P/N subtraction in which a series of
scaled-down versions of the command waveform are generated, and the responses to the
scaled-down versions are accumulated and subtracted from the command response. Scaleddown versions are used to prevent active currents from being activated. The number of
these scaled-down commands is the “N” referred to in P/N. The command waveform (pulse
P) is scaled down by a factor of 1/N, and this applied N times to
the cell. Since leak current has a linear response, the
accumulated responses of the subsweeps approximate the leak
current component of the response to the actual command
waveform.
For added flexibility in preventing the occurrence of active
currents, the polarity of the P/N waveform can be reversed by
making N in Protocol (P/N) a negative value and by eliciting
the scaled-down versions from a different holding potential as
dialed in at the recording amplifier by shifting it with Vhold
(mV).
To speed-up the process of running the leak subtraction, the scaled-down versions of the
command waveform are executed without the delay between episodes that is defined with
the ’pause’ command in the script. Instead brief breaks before (Pre-Pulse) and after (PostPulse) each subsweep can be added with the Settling Times (ms) controls.
With Leak Subtraction (and Save Data) enabled G-clamp generates two data files: One
file contains the raw data and the other one contains the leak-subtracted data. Both files are
of type ‘.ivb’ and have a name consisting of the usual recording time stamp (ddhhmmss 11 )
plus ‘_leak_and_test-pulses’ for file with the raw data and ‘_leak_subtracted’ for the file
with the corrected data.
11
d – day, h – hour, m – minute; s – second
25
9.2.
Threshold-gsyn
This module determines the strength of a virtual synaptic conductance required to bring the
neuron under observation to action potential threshold. It does this in an iterative process in
which the strength of the virtual synapse is adjusted depending on whether the previous
trial elicited an action potential or not. An initial starting value (g (nS)) reflecting an upper
limit has to be set by the user. The procedure operates by setting the strength of the virtual
synapse to the arithmetic mean of the upper and a lower limit which is initially zero. If this
setting elicits an action potential the current setting becomes the new upper limit, if it fails
to elicit an action potential the current setting becomes the new lower limit. Typically,
within 10 iterations the procedure zeroes in on threshold-gsyn.
The peak of an action potential has to exceed 0 mV in order to be identified as an action
potential.
The type of synapse is determined by the selection made from the Kinetic control and by
the setting for its reversal potential (Erev (mV)). The timing of the synaptic event is
specified with the control Event File. To select an event file click on the folder symbol to
the right of the control and select an event file from the file dialog.
The Variable? control has to be enabled (green) to allow for the iterative adjustment of
synaptic strength. Disabling Variable? (red) keeps the strength of a synapse constant and is
an easy way to test the behavior of a cell repeatedly to the same synaptic input.
Duration (s) determines the length of one recording episode, Pause (s) the length of the
break from then end of one episode to the start of the next and Iterations determines the
number of episodes.
26
The Traces page shows the most recently acquired trace while the experiment is still in
progress and all acquired traces of the selected channel after the experiment ends.
The History page plots the threshold-gsyn values of consecutive experiments vs. real time.
This chart has a buffer which can hold up to 200 pairs of threshold-gsyn and time values
after which the oldest pair becomes replaced with the newest pair with each new
experiment. The buffer can also be emptied with Clear Chart.
27
By selecting more than one event file, the behavior of a cell to a combination of several
virtual synaptic inputs can be tested. For example, the effect of the after-hyperpolarization
following one or more action potentials on threshold-gsyn can be tested by using one event
file and giving these synapses supra-threshold strength in combination with another event
file which contains the synapse to be tested.
When using more than one event file, the Variable? property can only be assigned to one
event file. The first occurrence of a synaptic event in the event file for which Variable? has
been enabled sets the start time for the action-potential-identifying algorithm and allows
action potentials generated earlier by synaptic events in other event files to be ignored.
Data files generated by the Threshold-gsyn module are of type ‘.gth’.
28
9.3.
Synaptic Gain
This module uses event files to stimulate a neuron with patterns of virtual synaptic activity
and it determines the number of action potentials generated by these synaptic events.
The controls in the Parameters section have identical function as the corresponding
controls in the Threshold-gsyn module. In this module synaptic strength(s) is fixed,
therefore g (nS) specifies gsyn.
Duration (s) determines the length of the recording episode.
Because displaying the potentially huge amount of data acquired with a Synaptic Gain
experiment can cause memory problems on the host computer the waveform graph on the
Trace page shows no more than 1 million data points. Every trace (or zoomed-in section of
a trace) larger than 1 million data points will be decimated until it is less than 1 million.
29
With gon delay (s) and goff (s) an initial and a final part of the recording episode can be
excluded from virtual conductance (synaptic and/or non-synaptic) activity and/or the DCcurrent command (see below).
30
DC-current (pA) can be used to add a DC current command to the recording episode.
Data files generated by the Synaptic Gain module are of type ‘.gai’.
31
9.4.
Strip Chart
The Strip Chart module is an acquisition-only module that records voltage and current
traces for as long as the user wishes. It was originally developed to record long,
uninterrupted sequences of spontaneous pacemaking activity of midbrain DA neurons.
Because no computations are performed and no commands are given to the amplifier,
recorded data can be sent every second from the embedded controller to the host computer
and displayed to the user without interference with the ongoing data acquisition.
The only parameter that can be set by the user is sample rate (Hz).
After initiating a data acquisition with the Start button the Start and Close Module
buttons become disabled and grayed out.
Data are acquired, transferred to and displayed on the host computer in 1-second packets.
This module always saves the acquired data into a file (with the file name extension ‘STP’)
irrespective of the status of the Save Data button in the lower right section of the G-clamp
user interface. The file is created when the first 1-second packet arrives and its name is
built from the recording time of this first packet. New data are appended to this file as they
arrive on the host computer. STP-files can be converted to a GAI-file with the offline
utility Convert stp-to-gai.vi.
The Freeze button stops updating of the waveform graph thus allowing closer inspection of
the trace currently on display. This has no effect on the on-going transfer and saving of
data.
32
10. Event files
Event files are new in G-clamp v2 and replace the template files used in G-clamp v1.
Event files are text files with the file extension EVT containing a single column of
ascending numbers standing for the timing (in ms) of virtual synaptic events. The type of
virtual synapse, i.e. its kinetic, is determined by the user with the Kinetic control of the
experiment modules Threshold-gsyn and Synaptic Gain. Thus a single event file can be
used for different types of virtual synapses.
Note that the length of a recording episode is user-specified in both experiment modules,
Threshold-gsyn and Synaptic Gain. Therefore virtual synaptic events listed in an event file
to occur at times after the end of the recording episode are ignored.
Note also that if an event file contains two identical time values (two synaptic events
occurring at the same time) only one event will start at the specified time and the second
one will start in the next iteration of the dynamic clamp loop. The delay between the two
events therefore will depend on the user-specified sampling rate. 12
Consider the relation of user-specified sample rate and the temporal precision used when
creating the event file. For example, in an event file with a precision of 50 μs two events
listed to occur at 100.95 and 101.00 ms will start at these times if sampling rate is set to 20
kHz (or a multiple of 20 kHz). However, if the sampling rate is only 10 kHz (temporal
precision of 100 μs) 100.95 will be rounded up to 101.0. The first of these two events will
therefore start at 101.0 ms and the second event – as described in the preceding paragraph –
will start at 101.1 ms.
10.1.
Creating event files
Any text editor can be used to create an event file. File requirements are:
- The file has to be saved as an ASCII text file.
- The file name extension has to be EVT.
- The file contains only numbers (event times) arranged in a single column in
ascending order.
- Time unit is milliseconds (ms).
- No empty lines (or formatting codes) after the last number.
…with Neurosim
To create an event file with Neurosim follow the instructions in the Neurosim manual for
creating a template file of virtual synaptic plasticity. For each synapse (e.g. primary
synapse, n secondary synapses) Neurosim creates a text file of type DAT which contains
the event times for that synapse. To use these files as event files in G-clamp v2, the DAT
files have to be re-formatted and re-named:
12
If real simultaneous start of the two events is required, place the time values in separate event files and
execute both event files together.
33
1. Convert the line-arrangement of event times in the DAT file to a columnarrangement by opening the DAT file with Microsoft Excel.
2. Use the ‘Increase Decimal’ and/or ‘Decrease Decimal’ function on the column to
set all event times to the same number of digits after the decimal point, i.e. submillisecond resolution.
3. Use ‘Save As…’ to save the spreadsheet as a tab-delimited text file to the G-clamp
event file folder (G-clamp\Event Files).
4. Open the file with Notepad. Scroll down to the end of the file and delete any empty
lines after the last event time. Save the file.
5. Change the file name extension to DAT (if you haven’t done so in step 3. already
rename the file so that it has a meaningful name).
If you want to combine the events from several DAT files into one EVT file open all DAT
files with Microsoft Excel and use copy-paste to copy all time values (without 0’s) into a
single column of one spreadsheet. Use the ‘Sort Ascending’ function on the column before
proceeding with step 2. above.
34
11. Offline Utilities
These are LabVIEW VIs written for offline analysis of G-clamp data files. Files with
analysis results created by these VIs are written to the same directory which contained the
G-clamp data files analyzed.
11.1.
G-clamp FileUtilities Master.vi
This VI serves as the gateway to the analysis VIs proper. It is used to select G-clamp data
files and to feed these files into the selected file utility.
A file dialog opens at VI start (or with Change Directory) to navigate to a directory
containing G-clamp data files (Press Current Folder to exit the file dialog window). All
files (and subfolders) are listed in alphanumerical order. File types can be used to limit the
file list to display only files of the selected type.
File Utilities is populated at VI start with the analysis VIs available and used to select an
analysis VI. Analysis VIs typically are specific for one of the G-clamp data file types and
the data files that can be processed by the selected analysis VI are shown in the file list on a
gray background.
35
All files selected in the file list will be processed successively by the analysis VI selected
when Do it! is pressed. Once the analysis VI finishes a new data directory/file/analysis VI
selection can be made to process another set of data files.
Done stops G-clamp FileUtilities Master.vi.
11.2.
G-clamp Count APs in GAI-file.vi
This VI uses a peak detection function to find action potentials in files created by the
Synaptic Gain module (or by the Strip Chart module after the stp-files have been converted
to gai-files).
36
Analyze toggles the VI from working either on the voltage trace (current clamp recording)
or the current trace (e.g. loose patch voltage clamp recording). Accordingly, peaks/valleys
toggles the function from detecting AP peaks or inward current peaks. Peaks have to be
above threshold (mV) while valleys have to be below. Peak detection is based on an
algorithm that fits a quadratic polynomial to sequential groups of data points. The number
of data points used in the fit is specified by width (datapoints) 13 . Each peak/valley found
is marked in the waveform graph by a red square. An initial part of the trace can be
excluded from the peak search with Settling time (s). If Settling time (s) > 0 then this
initial part of the trace is used to calculate mean Vm/Ih (mV/pA) otherwise mean Vm/Ih
(mV/pA) yields NaN (Not a Number). Analysis of the whole trace occurs in consecutive
segments. The length of these segments can be adjusted with segment length (s) while # of
segments informs the user about the total number of segments for a specific segment
length. Next proceeds to the next segment while Previous goes back to the segment before
the current one. Any change in Analyze, peaks/valleys, threshold (mV), width
(datapoints) or Settling time (s) triggers re-analysis of the current trace. A change in
segment length (s) triggers re-analysis of the trace from its beginning.
13
width (datapoints) is coerced to a value greater than or equal to 3. The value should be no more than about
1/2 of the half-width of the peaks/valleys and can be much smaller (but > 2) for noise-free data. Large widths
can reduce the apparent amplitude of peaks and shift the apparent location. For noisy data, this modification
is unimportant since the noise obscures the actual peak. Ideally, width should be as small as possible but
must be balanced against the possibility of false peak detection due to noise.
37
The output of this VI consists of indicators on the front panel (mean Vm/Ih (mV/pA), APs
in current segment, Total # of APs) and two ASCII text files (GAI – Vm APs per
segment.txt and GAI – Individual APs.txt). GAI – Individual APs.txt contains three
columns of data: The 1st column contains the locations (time relative to start of recording
minus Baseline Duration (sec)) of all peaks or valleys detected. The 2nd column contains
the interspike intervals and the 3rd column contains the peak amplitudes. A new set of three
columns is added for each gai-file processed. GAI – Vm APs per segment.txt contains
one column of data for each gai-file processed. The 1st value corresponds to mean Vm/Ih
(mV/pA), the 2nd value to Settling Time (s), the 3rd value to segment length (s), the 4th
value to # of segments and the remaining values to the number of peaks/valleys found in
each segment.
11.3.
G-clamp Retrieve GTH-file Results.vi
This VI retrieves the threshold-gsyn value from a gth-file together with some other useful
information.
The VI displays and works only on the voltage traces of a gth-file. Part of each trace can be
defined as baseline with Baseline Start (sec) and Baseline Duration (sec). A mean value
is derived from all data points in the baseline part of the voltage traces and from the mean
values of all voltage traces in a gth-file a final mean value and standard deviation is
calculated. The VI also determines a mean action potential peak value by averaging the
peak values of all action potentials found. AP Search Start can be used to exclude
conditioning action potentials prior to the test synapse. Action potentials are found using
the same algorithm and parameters (threshold (mV), width (datapoints)) as described in
38
section 11.2. for G-clamp Count APs in GAI-file.vi. All parameters can be changed until
Set is pressed which initiates processing of the current file.
The output of this VI consists of an ASCII text file (GTH Results.txt) which contains one
line of tab-delimited data for each gth-file processed. The columns in this file contain:
1st column:
time of recording (hh:mm:ss; this time format is MS Excel compatible,
allowing plotting of results vs. time)
2nd column: mean membrane potential during baseline period (mV)
3rd column: SD of membrane potential during baseline period (mV)
4th column: threshold-gsyn (nS)
5th column: mean action potential peak (mV)
11.4.
G-clamp Get Membrane Test Results.vi
This VI is an off-line version of the Membrane Test function available in G-clamp. The
latter is more geared towards a speedy analysis by averaging only a limited number of
current responses and by using a simple least square fit to determine the time constant of
the averaged current response. G-clamp Get Membrane Test Results.vi on the other hand
averages as many current responses as supplied with, i.e. as many as are contained in an
ivb-data file and it uses the Levenberg-Marquardt algorithm to determine the least squares
set of coefficients in an iterative process.
For details on the calculations see section 7. Membrane Test and 7.1. Calculations.
39
To perform the exponential fit to the decay phase of the current transient the function has to
be provided with a) information about the voltage pulse used and b) initial guess
coefficients for the fit.
The voltage pulse has to be defined with Baseline Duration, Pulse Duration and Pulse
Amplitude.
Initial Guess Coefficients Fit contains three numerical values. The first value corresponds
to the initial amplitude of the signal, the second value corresponds to the inverse of the time
constant of decay and the third value corresponds to the end value ultimately approached
by the exponential.
All user-settable parameters can be changed any time. Each change triggers a re-calculation
of the outputs.
With Done the VI proceeds to the next data file or stops after processing the last data file.
This VI does not save processing results to file; therefore its output (Ra, Rm, Cm, τm and
Ih) has to be written down by the user before proceeding to the next file.
40
11.5.
G-clamp Convert stp-to-gai.vi
Converts stp-files created by the Strip Chart module into gai-files. The original stp-files
remain in the folder.
41
12. Data files
12.1.
Names
Data file names have the general form ddhhmmss.??? in which
-
dd is the day of month,
-
hh is the hour (24-hour clock),
-
mm is the minute,
-
ss is the second when the experiment finished, and
-
??? indicates the experiment type (Vclamp: IVB; Gsyn Threshold: GTH; Synaptic
Gain: GAI )
All numerical values in the name have a leading zero if in the single-digit range.
12.2.
Content
Each G-clamp experiment module has its own data file format.
12.2.1
Vclamp - *.IVB
-
a SGL giving the number of iterations done
-
4 SGLs without meaning
-
a SGL giving the episode duration in ms
-
a SGL giving the sample rate in Hz
-
a SGL giving the pause time (in ms) between epsiodes
-
as often as episodes were performed:
-
a 1-D array of SGLs giving the voltage trace
-
a 1-D array of SGLs giving the current trace
42
12.2.2
Gsyn Threshold - *.GTH
-
a SGL giving the length of the following string
-
a string giving the name of the event file used for the experiment
-
a SGL giving the number of episodes
-
2 SGLs giving the initial upper limit (in nS) for the search algorithm
-
a SGL giving the pause time (in ms) from end of one episode to start of next
-
a SGL giving the reversal potential Erev of the virtual synapse
-
a SGL giving the sample rate (Hz)
-
as often as episodes were performed:
-
a SGL giving the strength of the virtual synapse in nS
-
a 1-D array of SGLs giving the voltage trace
-
a 1-D array of SGLs giving the current trace
12.2.3
Synaptic Gain - *.GAI
-
a SGL giving the length of the following string
-
a string listing the template file(s) used for the experiment
-
a SGL giving 1/sample rate (sample rate is in Hz)
-
a SGL without any meaning
-
a SGL giving the number of action potentials elicited
-
a SGL giving the length of the traces as # of data points
-
a number of bytes (0s) to extend header length to a total of 512 bytes
-
voltage trace (SGLs)
-
current trace (SGLs)
12.2.4
Strip Chart - *.STP
-
a DBL of value 1
-
a DBL giving the number of data channels (2)
-
as many DBLs as indicated by the previous DBL, each giving the sample rate
43
-
as often as 1-sec episodes were recorded:
-
for each data channel a 1-D array of SGLs comprising a 1-sec episode
Use “Convert stp-to-gai.vi” in “G-clamp.lvproj\My Computer\OfflineUtilities” to convert
stp-files to gai-files.
44
Appendix A – G-clamp Installation
Hardware
Connecting embedded controller and host computer
Connect both machines directly using a cross-over cable 14 .
DO NOT go through a local area network (LAN)! We found that when going through a
LAN transfer of larger amounts of data (>~100.000 bits) is not reliable, causing the host
computer part of the G-clamp software to wait forever for a wrong amount of data from the
controller and therefore to become unresponsive.
Even if the reason for this bug could be figured out, we recommend the direct connection:
Because there is no other network traffic, the direct connection is so fast that even tens of
Megabytes of data (several minutes of experiment with the Synaptic Gain Module) can
now be transferred to the host computer in almost no time for display and saving.
Connecting recording amplifier and break-out box (BNC-2090)
AxoClamp 2B amplifier
-
OUTPUT 10 Vm Æ analog-in 0
OUTPUT Im Æ analog-in 1
INPUT EXT. ME1 COMMAND Æ analog-out 0
INPUT EXT. VC COMMAND Æ analog-out 1
Model 2400 amplifier
-
14
(variable) Output Æ analog-in 8
Fixed Output x 10 Vm Æ analog-in 9
Fixed Output Im Æ analog-in 10
Telegraph Output FREQ Æ analog-in 12
Telegraph Output MODE Æ analog-in 13
Telegraph Output GAIN Æ analog-in 14
Telegraph Output Cmembrane Æ analog-in 15
EXTERNAL (command input) Æ analog-out 0
Alternatively – according to NI – you can also use normal network cables with a hub between embedded
controller and host computer. We did not test this alternative and can not exclude the possibility that this
solution might have the same problems as experienced when going through a LAN.
45
Software
-
-
-
-
15
Extract the content of the file G-clamp.zip on your drive C:\. This will result in a
folder C:\G-clamp with several subfolders.
Start Measurement & Automation Explorer (MAX) and start the Configuration
Import Wizard under File > Import… to import the file G-clamp v2.nce (from
C:\G-clamp\Main VIs\Target) to your embedded controller. This file contains all
the NI-DAQmx Scales, Global Virtual Channels and Tasks defined for the
AxoClamp 2B and Model 2400 recording amplifiers. (Under Devices and Interfaces
complete the sections NI-DAQmx Devices and PXI Systems according to your
hardware)
Start LabVIEW 8 and open the LabVIEW project G-clamp.lvproj from C:\Gclamp\.
In the project right-click My Computer and select Properties… In the upcoming
Options window go to VI Server:Machine Access and add the IP address of your
embedded controller to allow access.
In the project right-click Project: G-clamp.lvproj and select New > Targets and
Devices… Search for and add your embedded controller to the project.
Right-click your embedded controller and select Properties… Under VI Server:
Configuration check the box TCP/IP to enable this protocol. 15 Å Test whether
this is really necessary?
Under My Computer > Build Specifications select Main Target VI; right-click
and select Build. This creates a source distribution (in C:\ni-rt\startup on the host
computer) of all files required to run the master program on the embedded computer
(G-clamp v2 – Target.vi).
Under My Computer > Build Specifications select Target Dynamic VIs; rightclick and select Build. This creates a source distribution (in C:\nirt\startup\Dynamic VIs on the host computer) of all files required to run the
experiment modules from within the master program on the embedded computer.
Copy the folder C:\ni-rt\ with all its sub-directories and files from the host
computer into the root directory C:\ of the embedded controller.
In the project under My Computer\Host\G-clamp v2 – Host.lvlib\ open the file Gclamp v2 Host.cfg.
o In the section [LastUsed] replace the Target entry with the name of your
embedded controller.
o In the section [Available] replace the existing Targets entries with the name
of your embedded controller.
o Edit one of the existing target sections ([G-clamp1] or [G-clamp2]; delete
the other one) so that the section has the name of your embedded controller
and the IP entry has its IP address.
It is not necessary to add the host computer to the VI Server machine access list. By default, machine
access should be unrestricted with the wildcard symbol “*”.
46
Trouble-Shooting
This section gives hints on how to deal with problems we encountered. Disclaimer:
Because we do not completely understand the reason for these problems we do not claim
that our solutions will always work or that they are the only possible and/or best solutions.
-
-
-
The embedded controller is seen by MAX but LabVIEW or Internet Explorer/MS
Explorer (FTP clients) are unable to connect to the embedded controller.
o Make sure that embedded controller and host computer are on the same
subnet. If the problem persists try different subnet masks. E.g. on one of our
set-ups subnet mask 255.255.255.0 for embedded controller and host
worked fine while on another we had to change the mask to 255.255.0.0 to
make it work.
G-clamp starts fine, updating RT Target System Info or amplifier settings (if the
Model 2400 amplifier module is in use) works, but when an experiment is started
no commands are given to the amplifier and no data are recorded.
o This seems to be a problem with the deployment of the network-shared
variables from the host computer to the embedded controller when the host
computer is running under an IP address different from the one that was
used when the shared variables were created during G-clamp development.
Possible work-arounds:
ƒ In the project right-click the embedded controller and select
Connect. This apparently deploys the missing stuff to the embedded
controller. After the deployment you can safely disconnect.
ƒ With host computer and embedded controller connected directly via
a cross-over cable, change the IP address of the host computer to
136.142.127.88. If you disconnect from the embedded controller and
connect to your LAN you have to change back to your network
administrator-assigned IP address.
ƒ Replace all network-shared variables with newly created ones (huge
PITA): Carefully write down for each network-shared variable under
My Computer\Host its properties (location in the project, name, data
type…), delete them and create them new. Next re-link every
instance of a network-shared variable in all VIs in the project to the
newly created variables. Finally, create the source distributions Main
Target VI and Target Dynamic VIs again and copy the created files
again to the embedded controller (see above).
After a LabVIEW/G-clamp crash on the host computer G-clamp is not able any
more to connect to the embedded controller.
o Sometimes crashes result in changes to the file c:\ni-rt.ini on the embedded
controller, e.g. in deletion of the line server.tcp.enabled=True. It is therefore
useful to have a working copy of ni-rt.ini available.