Command Utility

Window is now expandable to allow detailed view during command building. When the mouse cursor is moved over the vertical partition lines, the partition is bounded by thick red lines and properties in the main window are shown.


The Parameter Load window opens up parameters into the command window. The parameter directory is \param\ under the jclamp32 directory. All subfolders under \param\ are included in a search path when a protocol is run from the RPD Directory window or via scripts.


Switch from ms to pts by clicking on pts/ms. Power of 2 up/down button shows (necessary for chirp).


In Analysis mode, place mouse over command out selection and the holding level set in the CC window just prior to data collection will be shown.


Command design is similar to Axon Instrument’s pClamp. However, the jClamp utility is more powerful and user friendly. A user who knows pClamp will find that many build options are comparable. In fact, I suggest that you read the pClamp (Clampex) manual.

The currently selected parameter filename is displayed along with its date of creation. The author field can contain the designer’s name and if so desired, the file can be marked as private so that no other users can view the protocol. A password is then needed to open the protocol.

A comment can be appended to the protocol. Check the box, and mouse movement over the box will open up the comment window. For example, the solutions used for the experiments could be detailed. Upon loading the protocol, the user knows that a comment exists if the box is checked.

Description: Description: Description: C:\jClamp source 2001\HELP\html help\html\command1_files\image003.jpg

Analog output depends on the board that you have. Version v.22.0.0 and later supports 4 DAC outputs for the Axon DigiData 1440A, and IOTech Personal Daq. CED Power will follow. If you collect data or make protocols with this version, then you will not be able to view them on the previous 2 DAC versions. You may select any channel out and the associated input channel will be selected (a pop-up window “Gain” will show this); e.g., selecting Chan 0 will select input channel 0, selecting Chan 1 will select input channel 1, etc. If you select a channel not supported by your board then a pop-up will indicate that. Alternatively, you can simultaneously synchronize multichannel collections with the Sync drop down box.  Selecting 0 will set up a single output/input channel (0/0). Selecting 1 will setup a dual output/input collection (0/0, 1/1). And so on. Each parameter file contains information for separate and distinct command waveforms for each output channel.
The number of input channels is limited to eight (0-7). Mouse movement over the InChan area opens a box indicating the number of channels selected, their associated programmable input, and the physical channel associated with the software channels. Double clicking on the channel number (in red) increments through the available channels (0-7). Physical channels are sampled in descending order, i.e., in the software channel order. Double clicking on the gain number for each channel (in blue) increments through the available gain settings (1,2,4,8). In addition, the auto check box allows the users to obtain input at an optimal gain setting for all channels. This works by setting the gain to maximum (8) initially. Each episode is run and the data is checked for clipping. If the data is clipped then the gain is lowered to the next gain setting and the episode is repeated. This continues until the data are unclipped or the gain is unity. This process will maximize the resolution of the AD conversion, but will potentially deliver more voltage or current stimuli to the cell than the parameter file calls for. Consider the benefits and disadvantages before using auto gain.

The number of averages can be set as well as the time between averages. Each set of episodes is performed, and the set is repeated for averaging. In the average frame a check box allows the saving of individual data collections in a separate file, in addition to the averaged abf data file. The filenames for individual traces (transformed into episodes for display purposes) are derived from the averaged abf filename. For example, the file <average.abf> which contains averaged data from three episodes will be associated with other files -- <average_AVG_1.abf>, <average_AVG_2.abf>, <average_AVG_3.abf>, one file for each of the averaged episodes. This works with leakage subtraction on, as well, and is useful for noise analysis where variance needs to evaluated.

The number of episodes can be set with an inter-episode wait time. The wait times (in msec) in jClamp are approximate, since they are produced by the Windows environment. Data collection, however, is exact since DMA transfer is used by the Axon acquisition board. In the episode frame a check box allows delivery of episodes randomly. For example, if the command protocol has incrementing voltage pulses of 10, 20, 30 and 40 mV, enabling random delivery will deliver the pulses in random order. If averaging is on, each set of episodes will be delivered in the same random order.

Check boxes in the episode and average interval frames allow the capture of video frames after each episode or average. Move the mouse cursor over them to identify them with the jClamp info panel.


Smart Averaging

Description: Description: Description: C:\jClamp source 2001\HELP\html help\html\command1_files\image004.jpg

There are an additional two check boxes in the episode and average interval frames which control averaging. In the episode frame the left box is checked by default to average after completing all episodes first. If unchecked the number of averages per episode are completed first before moving on to the next episode. In this case, you may enable the Smart Averaging checkbox (left) in the Average frame, and the Smart Avg window appears. Normally, when you supply a number of averages, the episode is run until the total number of averages is complete. Now, you can stop averaging when a particular signal-to-noise ratio (S/N) is reached as entered in the S/N text box. The signal RMS value from the chosen signal partition (part S) is compared to the RMS value in the noise partition (part N). So if you select a S/N ratio of 10, the response will be averaged until the ratio of RMS values reaches 10; if this is after 10 averages, averaging will be stopped even though the number of averages was set to 100. If the S/N is not reached the total number of averages will be performed.  The reject box is an RMS value of either the signal or noise partition that will be rejected from inclusion in averaging, since it is deemed to be an artifact. If the RMS value is negative then the whole episode (all partitions) is checked for potential rejection. The combination of rejection and selected S/N requirements provides for powerful smart averaging!

The Partition Design function produces the voltage or current waveforms. Holding potential is used at the initial 6*partitions points, and for a variable number of points at the end of the command (at least 6*partitions points ) to make a total command length which is a multiple of 512 points. Clicking on mV in the Properties Section changes the command window to current clamp mode, and clicking on nA reverts back to voltage clamp mode. A partition is a number of points set to a particular type of waveform. In designing a protocol one should first determine the number of partitions desired. Partitions can be inserted before or after the currently selected partition (arrow down buttons), or deleted (X button). The parameters of one partition can also be copied to one or all other partitions. New partions are asterisked in the drop down box. Setting the partition number to 0 erases all partition data. For a simple voltage step protocol, one partition can be used. Partitions on the command plot are separated by red cursor lines. The number of points in each partition or time in ms of each partition can be entered in the text box. Changes can also be made by cursor movements via the mouse. Clicking on pts in the Properties Section changes the time input to milliseconds (ms); clicking on ms reverts back to pts. Selecting custom points allows the extension of the ending holding potential in increments of 512 points.

Step. ramp, stair, AC, abf and user stimuli are available for each partition. These are enabled for a given partition by first selecting a partition by entering its number manually, or moving the mouse over the right line cursor which demarcates the partition in the command plot. When selected, the cursors for a given partition are highlighted green. Once selected, choose the desired protocol. Do this for all partitions.

The AC protocol allows delivery of single, dual or three simultaneous sinusoids. Maximum and minimum frequencies are determined by the acquisition clock rate (on the main command window), and are displayed. A given frequency is selected by choosing a multiple of the minimum frequency. The phase in radians can also be set. Frequency increments can occur during multi-episode collections by setting the multiple increment to greater than zero. If octave increments are desired, then set the increment to -1. The second sinusoid stimulus can be enabled if desired, and its parameters set independently. The stimulus may be either continuous, burst with a linear on-off ramp, or burst with a Hamming window. The duration of the on-off ramp can be set to 1/8 or ¼ of the stimulus duration. Other AC stimuli, i.e., chirp (logarithmically ramped frequencies), white noise (random noise) , or ternary noise (TN) can be selected. Data obtained with AC stimulation can be analyzed with the built-in FFT analysis, or analyzed after export to another software package.

It is possible to perform automatic capacitance measures (see Cm Analysis section) using the command utility. Protocols are built as usual with step, ramp, user or ac stimuli in each partition. If the check box 1, 2 or eCm is on, either a dual or single sinusoid is superimposed upon the command in that partition. Fi2 checkbox enables one of two sine stimulus protocols – see Cm Analysis for details. From the recorded currents, capacitance, membrane resistance, etc are derived automatically. It is possible to run dual simultaneous capacitance protocols, i.e., Ch0 / out -in and Ch1 out -in. Build the command as usual for each channel separately. A special protocol file accalib_v_chirp.prm is used to calibrate the system prior to measurements. It is run automatically when the system is calibrated or can be run from the command utility window, and a calibration file is saved with a selected name, e.g., test.cal. The calibration file contains data for two channels. When one channel is calibrated, only the data for that channel is written. If channel 0 and 1 are calibrated separately, then the two data sets can be put together in an ascii editor. Alternatively, two systems can be calibrated simultaneously. It is now possible to derive Cm, Rs, Rm, and Im from the abf file in the Analysis window. Most analysis features which are used for currents (exponential fitting, etc) are then available to use. When a file that has employed 2 sine voltage stimulation is viewed in the Open data file window, you can select to load the embedded calibration file (or use one already loaded). Upon plotting in the abf file in the data Analysis Window, a box is displayed which allows choosing which form of the data to plot – all automatically analyzed -- Raw, Cm, Rs, Rm, Im or Vm. If a dual sinusoid command is chosen, then fusion event analysis can be performed.

When enabled, the user selection allows the incorporation of user defined stimuli into a command waveform. Only one partition of an arbitrary number of partitions can be defined as a user partition. Only one channel is allowed. The user waveform is actually added to an underlying step partition; voltage starting level and increments are allowed therefore, but could be set to zero to deliver the user stimulus “as is”, but riding on the holding potential or current. The number of points should be fixed, with no increments (this is allowable actually, see below). First define a command protocol, setting up the user-defined partition as a step partition. After all parameters are set, then select user for the desired partition; save the parameter file. The parameter file, e.g., jclampu.prm, must be associated with another file with the same name but a usr extension, jclampu.usr, which contains the user stimuli in ascii format. The values should be in mV or nA and arranged in one column. The number of values must match the number of points (u-pts) in the user partition, else an error occurs. If the number of episodes is greater than one, then the number of values must be u_pts * episodes, all arranged in one continuous column. The multi-episode stimulus can be a simple repeat of one set of u_pt values, or any individualized episode stimulus. The number of episode stimuli in an ascii file can be greater than the true number of episodes in the parameter file. This means that the user file which holds 10 episodes of stimuli can be used to deliver up to 10 episodes without error. Partition point increments should be allowable if the user ascii file provides incrementing u_pts for each episode. In this case, if an mismatch in number of points occurs the program may crash.

When enabled, the abf selection allows the incorporation of user defined stimuli extracted from an abf file into a command waveform. If the check box "abf template" is checked in the Partition Design frame, after a collection a new protocol is built with the data just obtained as a command in one partition. So, if data file "S0728002.abf" were just collected, a new parameter file "S0728002_abf.prm" will be created. As with the user stimuli, the stimulus (abf) file must be copied (it is done automatically while making an abf template) to the parameter directory where it is read during command build. This process can also be accomplished within the parameter load window, where any abf file can automatically be recruited as a command protocol. In the window, change the default file extension in the drop down box to “*.abf”, select any abf file in any location on the disk, and press the “ABF_TO_PRM” button. This will copy the abf file to the default parameter directory, and construct a parameter file named as above. In order to use the parameter file, simply select and execute it as you would any other parameter file – through the command build window, script file or via RPD. The abf file can be opened in the analysis window as any abf file, and modified with epi math functions. Upon saving it back to the parameter directory, the changes will be evidenced in the command when reloaded. More abf data partitions can be added to the template, but the partition size can only be as large as the number of abf data points. Enabling abf in new partitions will reuse the data from the abf file. In this way, repeats can be constructed with intervening partitions of arbitrary stimuli. For example, synaptic currents recorded under voltage clamp can be fed back to cells under current clamp. In addition to using any of the build command functions on the abf partition, abf data can be modified via a box that opens when the mouse moves on the abf button. Scaling and zeroing (relative to a point in that partition) can be done. While moving the mouse over these function controls, see the information panel at the bottom of the jClamp main window for info on settings. These features apply to user stimuli as well.

Digital output can be presented before the whole run (pre), before each episode (epi), during the whole run (run), or synchronous with the analog wave form partitions (part). Selecting any of the first three opens up a window allowing the user to choose which digital output channels should be used. The time on and the time before starting the command delivery can be set. Exact timing may depend on computer hardware, and should be checked with an oscilloscope. Partition (part) selection displays a plot of the digital output from channels 0 to 3, and the level of these outputs can be set independently for each partition (Dp check boxes set for each partition) and holding level (Dh check boxes). Additionally, upon moving the mouse over Dp, a pop up window appears allowing flip-flop of digital output that overrides partition settings.  Set duration of pulses for whole duration of command. Negative duration will invert pulses.  The holding digital level is maintained if CC digital is not enabled, otherwise CC digital controls output after the protocol is run.


Description: Description: Description: C:\jClamp source 2001\HELP\html help\html\command1_files\image005.gif

The prepulse function allows delivery of a voltage stimulus prior to delivery of the command waveforms. It is the same as Axon’s prepulse protocol. See there manual for details. The currents produced by prepulse are not saved, however, average steady state values are stored to enable series resistance corrections to the prepulse voltages (when using the built-in I-V plot window). When using prepulse, there is a machine dependent time delay between the end of the prepulse and the beginning of the command waveform. The time is somewhat variable and represents the time needed to fill the command buffer with the episode voltage after the prepulse is delivered. The time on your machine should be checked with an oscilloscope (it is about 10ms on a 90 MHz pentium). To help with this potential problem, the INI file has a setting called prepulse_hold. If the value is set true in the IniEditor then the final prepulse point is set to the protocol parameter holding level, filling the variable time with the holding potential. If set false, then the prepulse time itself will include the extra variable time before the command voltage. If the process being studied can recover during this extra holding time then use the command protocol to deliver prepulses because the time between prepulse and subsequent pulses can be controlled precisely in an episode.

The AXDD132x series systems, 1200 board and IOtech daq2000 do not have a delay between prepulse and command for prepulse lengths less than or equal to 1 sec. Above one second, a delay of about 40-80 ms occurs, which may be machine dependent. The National Instruments boards function the same except there is no delay up to 10 sec. Check on an oscilloscope.

The P/N protocol is used to subtract leakage currents as described by Bezanilla and Armstrong. The setup is the same as Axon’s, except that subtraction currents are always saved so that the user can toggle between raw data and subtracted data traces. If you enable the Size checkbox, a fixed size (percentage of commands) is given instead of P/N size. The number (N) of pulses at the subtraction hold potential is still delivered, but appropriate scaling is made to subtract the linear currents. You can open the subtracted files from the data load window (choose ‘sub’ extension). Currents are unit size before scaling; you can confirm that subtracted currents are linear. If the currents are not linear the data file can be un-subtracted in the analysis window to get the raw data to work on.


Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: pn.JPG

The command protocol plot can be updated after any changes by double-clicking on the plot or clicking on the “All” button. Episodes can be displayed singly by clicking on the up and down arrow buttons. Prepulse can be seen by enabling prepulse view. Clicking on the trace icon button copies the command waveform to the analysis window for detailed viewing or export.

Data collection can be triggered externally or via keyboard. If Init is selected, then collection is immediate upon RPD or script action. Trigger can be either by episode or by complete run, and can be by key press or digital input (see supported hardware for input to use). Digital trigger now has minimal delay between triggering and data collection, except for protocols with P/N, prepulse or CC inter use. 

Plotting data during collection can be episodic, where each episode is plotted alone, or cumulative, where all episodes are plotted with the most recent episode plotted in red.

During data collection, hitting the <esc> key will terminate the run. If some data had been collected, you will be given the opportunity to save the partial data file.

Sister parameter files - individual files can be linked to follow each other (simple alternative to script files). For example, jclamp.prm, test.prm, test1.prm, and test2.prm can be run sequentially by renaming first file to jclamp[test.test1.test2].prm.