APPENDIX A   KNOWN BUGS IN LTP24

 

A.1  Rare but serious 2ms DropOut Bug in LTP24 in later Dell Computers (450 MHz and faster)

I have recently found a serious bug in LTP24, LTP230D, LTP222A and LTP114J that occurs with a Dell R450 (450 MHz Pentium II) and a Dell T500 (500 MHz Pentium III) computers. Roughly every 200 ms during a sweep the program stops acquiring data and outputting stimulus patterns for 1-2 ms. This means that a 0.1 ms pulse could be extended to 2 ms. This could, for example, cause serious corruption of some EPSP slope and popspike amplitude measurements.

This bug, however, has not been found on many other recent computers:
    400 MHz Pentium II’s (Viglen Genie P2 400, Dell R400)
    450 MHz Pentium III’s (Dell T450)
    550 MHz Pentium III’s (Dell T550)
    600 MHz Pentium III (Gateway P600)
Nor has it been found on any 386, 486, Pentium, Pentium Pro or Pentium II computers below 450 MHz.

Most importantly, you can easily detect whether this problem is occurring by inputting a 100 Hz triangular waveform into the AD input and record say twenty or more 100 ms sweeps. If all the sweeps are like Fig. A.1.1 with no extra notches, then you have no problems. (You could also try testing higher frequency triangular waveforms). However, if you see a notch such as shown in Fig. A.1.2, then you have the bug, and the ‘LTP’ program should not be used on your computer. This notch occurs because the computer stops recording data (and stimulating) for 1-2 ms, but the waveform change continues, and therefore when it is next recorded it is at a much different amplitude.

As part of the ‘LTP’ program setup described in Section 2.9.1 of the ‘LTP’ Program manual and as one of the Conditions of Use, I stated that the program had to be tested with a triangular waveform input. I was serious about testing with a triangular waveform to basically make sure your equipment is working correctly, but the problem of dropout was then only one based on Murphy’s law. However, now that I have seen this bug on one computer, it could occur in others.

For now, if you are using a more recent computer I think you should definitely test your computer with a triangular waveform generator (eg Figs A.1.1 and A.1.2). Alternatively, if a waveform generator is not available, at least look at 50/60 Hz sine wave noise (everybody has that!). At minimum you should be aware of how your slope or popspike data would be corrupted by the 2 ms dropout.

PLEASE LET ME KNOW IF YOU FIND ANY COMPUTERS WITH THIS 2 MS DROPOUT PROBLEM.

I am still trying to find out the reason for this 2 ms dropout. (For you programmers out there, it even occurs when all interrupts are blocked by a non-trapped CLI instruction!!!)

 

Fig A.1.1. In most computers (386’s to Pentium III’s), no signs of signal dropout are apparent when a triangular waveform is input into a Pico ADC-42 board. Trace is 100 ms in duration (calibrations: 2V, 20ms).

 

Fig A.1.2. In the Dell R450 450 MHz Pentium II computer, signs of signal dropout are apparent when a triangular waveform is input into a Pico ADC-42 board. The top 100 ms trace shows the 2 ms dropout occurring about 43 ms into the trace. The bottom trace shows an expanded 30-60 ms section of the top trace with the 2msec dropout occurring about halfway through (calibrations: 2V, 20ms or 6ms, bottom).

 

A.2  Error with the TimeOfDay clock on a 200MHz Pentium using a Labmaster board.

The TimeOfDay clock loses track of time on one 200 MHz Pentium computer. The ‘solution’ is to use a Digidata 1200 or Pico42 board instead.

 

A.3  Error plotting AD sweeps on the screen and the LaserJet printer at very high Y-axis sensitivities

This is a display problem on an AD sweep graph that occurs when the peak-to-peak Y-axis value (in mV or pA) is very small (e.g. sensitivity is high). Generally this is 100 to 1000 times more sensitive than values normally used and occurs at about the level that individual bits (voltage digitization) is seen. The problem is that lines extending beyond the minimum or maximum Y values of the graph are not clipped correctly. This is an error in the graphics display and is not a corruption of the internal data, nor is the data output to the ASCII ADsweep files corrupted.

 

 

APPENDIX B   LIMITATIONS IN LTP24

B.1 The LTP program only determines if the computer is fast enough for the data acquisition board during program start-up.

When the LTP program starts up, it automatically determines if the computer is too slow for the chosen data acquisition board, in which case it terminates. However, after this initial ‘speedtest’ the LTP program does not again check if the computer is fast enough for the data acquisition board. (Note that in future LTP programs, this will be tested on each sweep with computers using the Digitata board or having the Pentium (but not the 386 or 486) microprocessor.)

This means that if there was a microprocessor slowdown (which could occur if the microprocessor when into a power saving mode on a laptop computer, or if the ‘Turbo’ speed was inadvertently turned off), a 100 msec sweep would actually take twice as long (200 msec) in real time. This would mean that a 10 msec duration EPSP would actually appear having a 5 msec duration on the ADsweep graph, and the slope would appear twice as large.

If the synaptic potential duration or slope immediately and inexplicably changes by a factor of two, check that the synaptic potential duration is right by independently measuring it with an oscilloscope. Alternatively, if an oscilloscope is not available, restart the LTP program to test the data acquisition board speed again.

We have never seen this happen with our Dell and Gateway computers but it is possible that it could happen on your computer.

 

B.2 You must have either an S0 or S1 pulse in each ADsweep stimulation

In other words, you cannot set both S0=NONE and S1=NONE (and no Intracellular or Digital graphs) in a sweep in the Stimulation Protocol Dialog Box (Fig. 4.5.1).

 

B.3 Time to save a 100,000 byte ADsweep file

Because LTP24 saves ADsweep data as ASCII text files, the time to save will be longer than for binary files. Generally this has not been a problem, except for needing to save fairly large files fairly quickly on slow computers. The following values give you a rule of thumb on how fast your computer can save the ASCII ADsweep files. Times are for saving extracellular files of a few mV in each sample (e.g. -x.xxxx mV or 8-9 characters (bytes) per sample when including newline and linefeed line termination characters). Patch clamp files with values in the 1000’s of pA’s per sample would take approximately 33% longer (e.g. -xxxx.xxxx pA or 11-12 bytes per sample when including newline and linefeed line termination characters). Also, the time required to save an ASCII ADsweep file using the 32-bit Windows 98 FAT file system is the same as using the DOS/Win 3.x/Win95/Win98 16-bit FAT file system.

  Time to save a 100,000 sample file (in sec)
  16-bit FAT 32-bit FAT (Win98)
     
Dell 400MHz Pentium II   1.3
Dell 333MHz Pentium II 1.5  
Dell 233MHz Pentium II 5  
Dell 200MHz Pentium Pro 5 5
Dell 133MHz Pentium 5  
Dell 120MHz Pentium 5 5
Dell 90MHz Pentium 8  
Dell 60MHz Pentium 11  
Dell 66MHz 486 14  

The values for the 400 and 333 MHz Pentium II computers were obtained with LTP113E, all other values were obtained with LTP101M.  Both these have the same code as LTP24.

 

B.4 Substantial Input and Output Sample-to-Sample jitter

The Labmaster, Digidata 1200, Pico ADC-42 and CIO-DAS08/JR-AO boards have a substantial amount of sample-to-sample jitter on analog input, and analog-digital output on very slow computers, but somewhat less jitter on faster computers. The sample-to-sample jitter can be approximately measured by measuring the duration of a ‘100 usec’ train pulse (see Section 2.9.2). Note that an analog input is directly coupled to analog-digital output, so measuring sample-to-sample jitter on output indicates analog input jitter. The measured sample-to-sample output jitter was:

    sample-to-sample jitter
    (usec)
     
Dell 1.8GHz Pentium 4 + Pico42 2
     
Dell 400MHz Pentium II + Pico42 3
Viglen 400MHz Pentium II _DAS08/JR 1
     
Dell 333MHz Pentium II + Pico42 3
     
Dell 233MHz Pentium II + Digidata 1200 2.5
Dell 233MHz Pentium II + Pico42 2.5
     
Dell 200MHz Pentium Pro + Labmaster 2.5
Dell 200MHz Pentium Pro + Pico42 2
     
Dell 133MHz Pentium + Digidata 1200 2
Dell 133MHz Pentium + Pico42 2.5
     
Dell 90MHz Pentium + Digidata 1200 3.5
Dell 90MHz Pentium + Pico42 3.5
     
Dell 66MHz 486 + Digidata 1200 3
Dell 66MHz 486 + Labmaster 2.5
Dell 66MHz 486 + Pico42 3
Dell 66MHz 486 +DAS08JR 2.5
    
The values for the 400 and 333 MHz Pentium II computers were obtained with LTP113E, all other values (except the DAS08/JR) were obtained with LTP101M.  Both these have the essentially the same code as LTP24.

For example, on a Dell 486/66MHz with a Digidata 1200 board the duration of a ‘100 usec’ pulse can be anywhere from 98.5 usec to 101.5 usec.

For acquiring an analog signal every 100 usec or longer the 2-4 usec of jitter is probably no problem with the waveform analyses performed by LTP24. The Peak Amplitude, DC Baseline, Cell Resistance and Series Resistance measurements are essentially independent of the 2-4 usec jitter, and the Slope measurement is also probably sufficiently independent of the jitter, because the slope is a linear regression line (least squares fit) calculated using many AD samples. For slope calculations lasting 0.6 to 2.0 msec (the range usually used in our group), 7 to 21 AD samples are used, respectively (sampling every 100 usec). However, each researcher will have to determine whether this level of input sample-to-sample jitter is acceptable in their particular experiment. If it is not acceptable, do not use the LTP24 program.

The same amount of sample-to-sample jitter on analog-digital stimulus pulse output (2-4 usec) is clearly acceptable for the 10’s to 100’s msec long intracellular stimulation pulses. Also, when the Stimulus Isolation Unit (SIU) is merely triggered by the stimulus pulse, the SIU pulse output duration is independently controlled by a knob on the SIU and there is again no problem. However, when the SIU pulse output duration is controlled by the duration of the stimulus pulse (analog controlled SIUs, and gated SIUs), 2-4 usec jitter in a 100 usec long stimulus pulse is probably too much when testing the responses to single pulses, particularly near threshold. However, it is up to each researcher to determine whether this level of output sample-to-sample jitter is acceptable in their particular experiment.

 

B.5 Fastest LTD Stimulation

The fastest LTP stimulation is dependent on how many samples the ADsweep contains, the type of computer (processor & MHz), whether a disk caching program such as SMARTDRV is installed, and the type of AD board. If a Digidata 1200 or Labmaster board is installed, LTD stimulation can be changed in gradations of 0.1 sec, therefore achieving LTD stimulation periods of 0.5 sec (e.g. 2.0 Hz) or faster. However, if a Pico42 or DAS08/JR board is installed, LTD stimulation can only be changed in gradations of 1.0 sec, therefore achieving LTD stimulation periods no faster than 1.0 sec (e.g. 1.0 Hz).

For computers saving a 50 msec long ADsweep, and with signal averaging on but only saving the averaged (not the raw) sweeps, the fastest LTD sweep frequency for computers having a Labmaster or Digidata 1200 board is approximately:

  Fastest LTD sweep frequency (Hz)
66MHz/486 computers and above 2
25MHz/486 computers and below 0.5

Test this out on your own computer. If you want to increase LTD stimulation frequency try:

  1. Reducing the ADsweep length (say to 10-20 msec) so that just the rising phase of the synaptic potential is recorded and saved
  2. Save ADsweep data to a RAM drive
  3. Stop saving ADsweep data
  4. Use a Single Train on a single long duration ADsweep (see Fig. 4.5.8).

 

B.6 Some Sweep-to-Sweep Jitter During Rapid LTD Stimulation

There is also some jitter between the start of AD sweeps. For slow speed ADsweep stimulations (e.g. sweeps once every 15 seconds) this is clearly no problem. Even for higher speed LTD ADsweep stimulations (e.g. sweeps of 1-2 Hz or higher) this probably will not be a problem (although measure with an oscilloscope and look at the Amplitude/Calculation *.AM? file to make sure). The LTD sweep-to-sweep jitter presented below was measured as the jitter of the first pulse in a 50 msec long sweep. The signal averaging was On, but only the averaged (not the raw) sweeps were saved to disk), and values to the Amplitude/Calculation file were also saved to disk.

    Sweep-to-Sweep Jitter
    (ms)
     
Dell 1.8GHz Pentium 4 + Pico42 4
     
Dell 400MHz Pentium II + Pico42 1
Viglen 400MHz Pentium II _DAS08/JR 1
     
Dell 333MHz Pentium II + Pico42 1
     
Dell 233MHz Pentium II + Digidata 1200 17
Dell 233MHz Pentium II + Pico42 2
     
Dell 200MHz Pentium Pro + Labmaster 2
Dell 200MHz Pentium Pro + Pico42 1
     
Dell 133MHz Pentium + Digidata 1200 16
Dell 133MHz Pentium + Pico42 2
     
Dell 90MHz Pentium + Digidata 1200 16
Dell 90MHz Pentium + Pico42 2
     
Dell 66MHz 486 + Digidata 1200 16
Dell 66MHz 486 + Labmaster 2
Dell 66MHz 486 + Pico42 2
Dell 66MHz 486 +DAS08JR 4

Measure this sweep-to-sweep jitter on your computer. If the jitter is too large:

  1. Do a Single Train stimulation on a single long ADsweep (Fig. 4.5.8)
  2. Alternatively, you may still be able to stimulate with ‘signal averaging on’ but just set the number of fast LTD sweeps to average (NumSweeps to Avg) to be greater than the number of fast LTD sweeps taken (Total Num Pulses). This will ensure there is no time consuming re-zeroing of arrays that occurs at the end of the sweep averaging.
  3. Do your LTD stimulation with an auxiliary stimulator,

 

B.7  If Digital Output stimulation is ON, then all stimulation graphs (S0, S1, IC as well as digital output graphs) are plotted

 

B.8  Boundary Problems in Digital Filtering

Digital filtering is not accurate at beginning and ends of an AD sweep trace (where it filters to 0 mV or 0 pA). Because of this, Filtered traces are not presently saved, only Raw or Averaged traces can be saved. However, on-line analysis and off-line reanalysis can be done on Filtered traces provided care is taken not to use data points near either the beginning or end of the AD waveform.

 

B.9  Labmaster Time-Of-Day Clock

When using the Labmaster board, the Time-Of-Day timer will not work correctly for more than 24 hrs after staring the LTP program.

 

B.10  Computer / AD board combinations that are too slow

Some combinations of computers and AD boards may not be fast enough to sample at 100 usec ADsample interval. LTP24 works with a Labmaster board on all computers tested. LTP24 also works with a Digidata 1200 board on all computers tested, although it was not tested on 386 computers. LTP24 also works with a Pico42 board on all computers tested, with the one glaring exception of an Acer Pentium notebook computer! - although again it was not tested on 386 computers. This is a good example of how a 486 can be actually faster than a Pentium II with the Pico board!!!

To test the speed of your AD board enter the following at the DOS command line if you are using the Digidata 1200 board:

C:\YOURDATA\980704\ ltp24 speed

or this, if you are using the Labmaster, DAS08/JR, or Pico board:

        C:\ YOURDATA\980704\ ltp24 labmaster speed
C:\ YOURDATA\980704\ ltp24 das08 340 speed
        C:\ YOURDATA\980704\ ltp24 pico42_dio_1 speed
        C:\ YOURDATA\980704\ ltp24 pico42_1__dio_2 speed

 

These are some of the results I found:

    Minimum ADinterval
    (in usec)
     
Dell 1.8GHz Pentium 4 + Pico42 59
     
Gateway 700MHz Pentium III  + Pico42 66
    
Dell 400MHz Pentium II + Pico42 70
     
Dell 333MHz Pentium II + Pico42 66
     
Dell 233MHz Pentium II + Pico42 68
     
Dell 200MHz Pentium Pro + Digidata 1200 56
Dell 200MHz Pentium Pro + Pico42 73
     
Dell 133MHz Pentium + Digidata 1200 41
Dell 133MHz Pentium + Pico42 60
     
Dell 120MHz Pentium + Digidata 1200 46
Dell 120MHz Pentium + Pico42 72
     
Dell 90MHz Pentium + Pico42 76-89
     
Dell 60MHz Pentium + Labmaster 58
Dell 60MHz Pentium + Pico42 81
     
Dell 66MHz 486 + Pico42 54-59
 
All Labmaster and Digidata 1200 measurments were only done using LTP101M.  PicoBd measurements made using LTP114J or earlier code (hasn't changed in LTP24)

 

B.11  Measurable Amount of AD Channel Crosstalk with the DAS08/JR and Labmaster boards

If -5 to +5 volts is input into one of the AD channels of a DAS08/JR board, then a 1-4 bit positive shift (usually 1-3 bits) occurs in the other AD channel.  If -10 to +10 volts is input into one of the AD channels of a Labmaster board, then a 2-3 bit negative shift occurs in the other AD channel.  In contrast, the Digidata 1200 has only up to 1 bit shift.

If you are amplifying well above the 'bit' level, this should not be a problem.  In other words, for the DAS08/JR board, if the signal you are measuring is say 400 bits in amplitude (approximately 1/10th of the full scale of 4096 bits), then a 4 bit shift (caused by the other AD channel going from -5 to +5 volts) would be a 1% error.  While this is not ideal, I think this is a limitation that can be lived with, especially when considering the low cost of the board.  However, if you think this amount of crosstalk is too large, increase the gain of the AD channel being measured, or use a different AD board such as the Digidata 1200.

Note, that AD channel crosstalk is NOT a problem when using just 1 AD channel.

See Section 2.3.2.2 or Section 2.3.4.2, and Section 2.9.3 for further discussion of this limitation.

Feel free to contact support@winltp.com if you do not understand this and want to use 2 AD channels on this board.

 

 

APPENDIX C   BUGS  AND  'FEATURES'  IN  LTP230D  THAT  HAVE  BEEN  FIXED  IN  LTP24

C.1  Fixed bug in analyzing Area, DC Baseline, Peak Amplitude, Average Amplitude, Rm and Rs that could occur in sweeps longer than 10 sec.

Area, DC Baseline, Peak Amplitude, Average Amplitude, Rm and Rs are now be correctly calculated in all sweeps lasting longer than 10 sec.

 

C.2  Fixed bug plotting Calc graphs to HPLJ or PCL4 file.

Now when plotting Calc graphs to HPLJ or PCL4 file, all S0 and S0 data points plot.

 

C.3  Fixed interaction with pClamp bug.

Fixed bug which occurred with the Digidata 1200 board if it was first run by pClamp 9, and then by LTP230D..

 

 

APPENDIX D   FUTURE LTP PROGRAM CAPABILITIES

LTP24 is the last DOS version of the LTP Program.  See WinLTP for the capabilities current Windows version of the LTP program.

 

 

APPENDIX E    ATF2SWPS.EXE - CONVERT AN AXON TEXT FILE TO MANY SINGLE SWEEP ASCII FILES

Atf2swps.exe is a utility program that converts a multisweep ASCII Axon Text File (.atf) (see Fig. E1) exported by Axon Instruments' AxoScope, pClamp8's Clampex or some other program to many single sweep ASCII SweepFiles that can be imported into LTP24, plus a SweepTimes file that contains the starting time of each SweepFile (relative to the start of the file exported by Axoscope or Clampex).  

 

ATF    1.0
7 8

"AcquisitionMode=Fixed-Length Event-Driven"

"Comment="

"YTop=68.6513"

"YBottom=-16.1013"

"SweepStartTimesMS=17.600,130.500,253.300"

"SignalsExported=Chan 0"

"Signals="   

"Sweep #1"     "Sweep #1"     "Sweep #2"      "Sweep #2"     "Sweep #3"     "Sweep #3"   
"Time (s)" "AD #1 (pA)" "AD #2 (mV)" "AD #1 (pA)" "AD #2 (mV)" "AD #1 (pA)" "AD #2 (mV)" "Comment ()"

0

-129.99871

-0.550231 -133.1995 -0.49958 -130.44902 -0.54947 ""

1e-4

-132.44875

-0.59992

-131.29874

-0.44925 -129.9996 -0.55747 ""

2e-4

-130.39961

-0.62917

-132.59972

-0.45981

-128.84924 -0.59946 ""
...

0.0047

-124.0991 -0.5493 -131.0991 -0.4991 -131.8496 -0.5768 ""

0.0048

-123.8496 -0.5996 -130.8498 -0.4489 -130.0487 -0.5996 ""

0.0049

-126.1994 -0.6023 -132.4499 -0.4794 -129.0998 -0.5495 ""
Fig. E1.  Example of a multisweep ASCII file (1019.atf) that has been exported by AxoScope and will be converted by atf2swps.exe.  1019.atf contains three sweeps.  Only the first and last three lines (points) of each sweep are shown; the dotted line denotes where the data has been extracted.

 

Atf2swps.exe then converts the multisweep ASCII file (1019.atf) exported by AxoScope or Clampex to many single sweep ASCII SweepFiles (with or without a header) that can be imported into LTP24 (1019001.txt, 1019002.txt and 1019003.txt in Fig E2).  When analyzing with LTP24, if a header is present, it will have to be skipped (see Section 6.7.1).  Because AxoScope and Clampex can convert gap-free, episodic stimulation, and fixed-length event-driven Axon Binnary Files (*.abf) to Axon Text Files, this means that LTP24 can indirectly access these files as well, and analyse them using the LTP Program's particular analysis capabilities.  

Furthermore, atf2swps.exe also produces a SweepTimes file (1019.tms in Fig F2) when converting the Axon Text File 1019.atf.  This SweepTimes file crucially provides the the SweepFile names and starting time of each of the three above SweepFiles (relative to the start of the Axon Text File), so that the starting time of each sweep file can be entered into a spreadsheet for further analysis.  The SweepTimes file 1019.tms also contains the sweep number, the acquisition interval (in usec), the number of samples/sweep and the sweep duration (in sec).

1019001.txt
10190001.txt
StartTime_s 0.017600
"Time (s)"    "AD #1 (pA)"    "AD #2 (mV)"
0.000000 -129.99871 -0.550231
0.000100 -132.44875 -0.59992 
0.000200 -130.39961 -0.62917
...
0.004700 -124.0991 -0.5493
0.004800 -123.8496 -0.5996
0.004900 -126.1994 -0.6023
  
1019002.txt
10190002.txt
StartTime_s 0.130500
"Time (s)"    "AD #1 (pA)"   "AD #2 (mV)"
0.000000 -133.1995 -0.49958
0.000100 -131.29874 -0.44925
0.000200 -132.59972 -0.45981
...
0.004700 -131.0991 -0.4991
0.004800 -130.8498 -0.4489
0.004900 -132.4499 -0.4794
  
1019003.txt
10190003.txt
StartTime_s 0.253300
"Time (s)"    "AD #1 (pA)"   "AD #2 (mV)"
0.000000 -130.44902 -0.54947 
0.000100 -129.9996 -0.55747
0.000200 -128.84924 -0.59946
...
0.004700 -131.8496 -0.5768
0.004800 -130.0487 -0.5996
0.004900 -129.0998 -0.5495
    
1019.tms
Converting ATF file: 1019.atf
Sweep#  SweepFile        StartTime_s     ADinterval_us    NumSamples/Swp  SweepDur_s
1 10190001.txt 0.017600 100 50 0.005000
2 10190002.txt 0.130500 100 50 0.005000
3 10190003.txt 0.253300 100 50 0.005000
    
Fig. E2.  ASCII output files produced by atf2swps.exe when it converted the multisweep ASCII Axon Text File (1019.atf) exported by AxoScope.  TOP: The top three SweepFiles (1019001.txt, 1019002.txt and 1019003.txt are the individual single sweep ASCII files that can be directly analyzed by LTP24.  Note that each of these files has the optional 3 line header.  Only the first and last three data lines of each file are shown; the dotted line denotes where the data has been removed.  BOTTOM: SweepTime file 1019.tms produced by atf2swps.exe conversion of the Axon Text File 1019.atf provides 1) the sweep number, 2) the SweepFile name, 3) starting time of each of the three above SweepFiles (relative to the start of the Axon Text File file), 4) the acquisition interval (in usec), 5) the number of samples/sweep, and 6) the sweep duration (in sec).

The source code (in C) is provided for the atf2swps.exe program so that you can use it and modify it in any way you want as long as you do not create a different program using the same name as this program (e.g. atf2swps.exe).

 

Running atf2swps.exe

First of all, make sure that atf2swps.exe is in a directory that has a path to it.  It might as well be in C:\LTP24 and the path statement in the autoexec.bat includes: path c:\ltp24.  atf2swps.exe is a 32-bit program and DOES require that the 32-bit DOS extender (dos4gw.exe) be in the same folder as atf2swps.exe.

The best way to run atf2swps.exe is to click on the MS-DOS desktop icon, go to the MS-DOS box (e.g. the command line prompt), go to the directory containing the data (say C:\ATFDATA) and type any of these command line entries for examples of usage to operate on the single multisweep ASCII Axon Text File 1019.atf:  

     C:\ATFDATA>atf2swps     Program requests keyboard input of Axon Text File filename, header and column information.
C:\ATFDATA>atf2swps 1019.atf Copy columns of Axon Text File 1019.atf file to ASCII SweepFiles. Program requests keyboard input for more header and column information. Pressing ENTER causes copying of only columns 1 & 2 (if available) of Axon Text File to ASCII SweepFiles for import to LTP Program.
C:\ATFDATA>atf2swps 1019.atf hdr Copy columns 1 & 2 (if available) of the Axon Text File 1019.atf file to ASCII SweepFiles for import into LTP Program and add a header to 1 or 2 columns ASCII sweep files.
C:\ATFDATA>atf2swps 1019.atf all Copy all columns of 1019.atf to ASCII SweepFiles.
C:\ATFDATA>atf2swps 1019.atf 0 3-5 9 Copy columns 0 (time), 3 to 5, and 9 pf 11019.atf to ASCII SweepFiles. 
C:\ATFDATA>atf2swps 1019.atf 0-4 hdr Copy columns 0 to 4 of 1019.atf to ASCII SweepFiles, and add a header to ASCII SweepFiles. 

Only the first 4 characters of the multisweep ASCII Axon Text File are used by atf2swps.exe to make the filename for each ASCII SweepFile.

 

 

APPENDIX F    DV2SWPW.EXE - CONVERT A MULTISWEEP DATAVIEW ASCII FILE TO MANY SINGLE SWEEP ASCII FILES 

Dv2swps.exe is a utility program that converts a multisweep ASCII file exported by DataView to many single sweep ASCII SweepFiles that can be imported into LTP24, plus a SweepTimes file that contains the starting time of each SweepFile (relative to the start of the file exported by DataView).  

DataView  is a low cost (ca. $95/58) Windows program written by W.J.Heitler at St. Andrews University that:  1) reads a tape recorder type file such as a gap-free Axon Binary (*.abf), CED Signal (*.cfs), CED Spike2 (*.smr), ASCII text, or Raw binary file,  2) high and low pass filters the data,  3) threshold detects events such as epileptiform bursts or synaptic potentials, and  4) writes all those events to a single multisweep ASCII file (using the DataView menu command Events -> Save event waveforms) where each event equals a sweep (see Fig. F1).   I am very impressed with DataView and it does a lot more than just what I've described above, so check out its webpage and tutorial.

 

Event channel 0, lowpass.flt
Including 1000.000047 ms pre-event time and 2000.000095 ms post-event time
         time    chan 1
Event number 1
         38122.001811    0.058161
38123.001811  0.058164
38124.001811  0.058105
...
54568.002592  0.493172
54569.002592  0.493141
54570.002592  0.493111
    
Event number 2
         103973.004938   -0.172386
103974.004939  -0.172468
103975.004939  -0.172611
...
120386.005718  0.440100
120387.005718  0.440341
120388.005718  0.440580
    
Event number 3
         290148.008501   1.180018
290149.008502  1.179049
290150.008502  1.177964
...
291571.008552  0.851524
291572.008552  0.851817
291573.008552  0.852171
Fig. F1.  Example of a multisweep ASCII file (0704.txt) that has been exported by DataView and will be converted by dv2swps.exe.  0704.txt contains three detected events.  Only the first and last three lines (points) of each event (eg sweep) are shown; the dotted line denotes where the data has been extracted.

 

Dv2swps.exe then converts the multisweep ASCII file exported by DataView to many single sweep ASCII SweepFiles (with or without a header) that can be imported into LTP24 (0704001.txt, 0704002.txt and 0704003.txt in Fig F2).  When analyzing with LTP24, if a header is present, it will have to be skipped (see Section 6.7.1).  Because DataView can convert tape recorder type files such as gap-free Axon Binary Files and CED files, this means that LTP24 can indirectly access the detected events of these files as well, and analyse them using the LTP Program's particular analysis capabilities.  

Furthermore, dv2swps.exe also produces a SweepTimes file (0704.tms in Fig F2) when converting the DataView 0704.txt file.  This SweepTimes file crucially provides the the SweepFile names and starting time of each of the three above SweepFiles (relative to the start of the DataView file), so that the starting time of each sweep file can be entered into a spreadsheet for further analysis.  The SweepTimes file 0704.tms also contains the sweep (or event) number, the acquisition interval (in usec), the number of samples/sweep and the sweep duration (in sec).

0704001.txt
07040001.txt
StartTime_ms 38122.001811
Time_ms         Chan 1 
0.000000 0.058161
1.000000 0.058164
2.000000 0.058105
...
16446.000781 0.493172
16447.000781 0.493141
16448.000781 0.493111
     
0704002.txt
07040002.txt
StartTime_ms 103973.004938
Time_ms         Chan 1
0.000000  -0.172386
1.000001  -0.172468
2.000001  -0.172611
...
16413.000780  0.440100
16414.000780  0.440341
16415.000780  0.440580
     
0704003.txt
07040003.txt
StartTime_ms 290148.085027
Time_ms         Chan 1
0.000000  1.180018
1.000001  1.179049
2.000001  1.177964
...
10423.000496  0.851524
10424.000496  0.851817
10425.000496  0.852171
    
0704.tms
Converting DataView file: 0704.txt
Sweep#  SweepFile        StartTime_s     ADinterval_us    NumSamples/Swp  SweepDur_s
1 07040001.txt 38.122002 1000 16449 16.449000
2 07040002.txt 103.973005 1000 16416 16.416000
3 07040003.txt 290.148008 1000 10426 10.426000
    
Fig. F2.  ASCII output files produced by dv2swps.exe when it converted the multisweep ASCII file 0704.txt exported by DataView.  TOP: The top three SweepFiles (0704001.txt, 0704002.txt and 0704003.txt are the individual single sweep ASCII files that can be directly analyzed by LTP24.  Note that each of these files has the optional 3 line header.  Only the first and last three data lines of each file are shown; the dotted line denotes where the data has been removed.  BOTTOM: SweepTime file 0704.tms produced by dv2swps.exe conversion of the DataView 0704.txt file provides 1) the sweep (or event) number, 2) the SweepFile name, 3) starting time of each of the three above SweepFiles (relative to the start of the DataView file), 4) the acquisition interval (in usec), 5) the number of samples/sweep, and 6) the sweep duration (in sec).

The source code (in C) is provided for the dv2swps.exe program so that you can use it and modify it in any way you want as long as you do not create a different program using the same name as this program (e.g. dv2swps.exe).

 

Running dv2swps.exe

First of all, make sure that dv2swps.exe is in a directory that has a path to it.  It may as well be in C:\LTP24 and the path statement in the autoexec.bat includes: path c:\ltp24.  dv2swps.exe is a 16-bit program and does NOT require that the 32-bit DOS extender (dos4gw.exe) be in the same folder as dv2swps.exe.

The best way to run dv2swps.exe is to click on the MS-DOS desktop icon, go to the MS-DOS box (e.g. the command line prompt), go to the directory containing the data (say C:\DVDATA) and type any of these command line entries for examples of usage to operate on the single multisweep ASCII file 0704.txt exported by the DataView program:  

     C:\DVDATA>dv2swps     Program requests keyboard input of DataView filename, header and column information.
C:\DVDATA>dv2swps 0704.txt Copy columns of DataView 0704.txt file to ASCII SweepFiles. Program requests keyboard input for more header and column information. Pressing ENTER causes copying of only columns 1 & 2 (if available) of DataView file to ASCII SweepFiles for import to LTP Program.
C:\DVDATA>dv2swps 0704.txt hdr Copy columns 1 & 2 (if available) of DataView 0704.txt file to ASCII SweepFiles for import into LTP Program and add a header to 1 or 2 columns ASCII sweep files.
C:\DVDATA>dv2swps 0704.txt all Copy all columns of 0704.txt to ASCII SweepFiles.
C:\DVDATA>dv2swps 0704.txt 0 3-5 9 Copy columns 0 (time), 3 to 5, and 9 to ASCII SweepFiles. 
C:\DVDATA>dv2swps 0704.txt 0-4 hdr Copy columns 0 to 4 to ASCII SweepFiles, and add a header to ASCII SweepFiles. 

Only the first 4 characters of the multisweep ASCII file exported by DataView are used by dv2swps.exe to make the filename for each ASCII SweepFile.

 


Return to the LTP Manual (Table of Contents)

Return to the LTP Program Home Page