Journal of Neuroscience Methods, 41 (1992) 113-121

113

~';, 1992 Elsevier Science Publishers B.V. All rights reserved 0165-0270/92/$03.50

NSM 01323

Application of compiled BASIC in developing software for collection and analysis of neuronal firing frequency data R o d n e y S. S k e e n 1, B e r n a r d J. V a n Wie l, S i m o n J. F u n g 2, and C h a r l e s D. B a r n e s 2 l Department of Chemical Engineering, Washington State Unit,ersity, Pullman, WA 99164-2710 (USA) and 2 l)epartment ~>f"Veterinary and Comparatit,e Anatomy, Pharmacology" and Physiology3' Washington State Unit,ersity, Pullman, WA 99164-6.520 (USA)

Key words: Intracellular recording; Electrophysiological data; Spontaneous firing frequency: Analog-todigital conversion; BASIC Two programs are described which use an IBM-AT compatible personal computer, equipped with an analog-to-digital converter, to collect and analyze electrophysiological data. The first program is used to determine neuron firing rates during intracellular experiments and to save these results on disk. The second program is used to perform off-line analysis of the frequency data. Both programs are written entirely in the well known BASIC language and the Microsoft ''~ QuickBASIC compiler is employed for their use. All of the necessary hardware can be purchased commercially. In this paper emphasis is placed on the strategies and limitations involved when this high-level language is applied to tasks often needed in data acquisition and analysis. Both on- and off-line collection schemes are considered. This software is available from the authors.

Introduction

The purpose of developing in-house software for data collection and analysis is to tailor computer operations to the specific application at hand. This reduces the time a researcher must spend on tedious data reduction tasks. However, to write this type of software often requires the knowledge of a higher level programming language as well as assembler language (cf., Kegel et al., 1985; Alarcon et al., 1986). In addition, much of the analysis software reported in the literature requires special hardware which must be built in-house (Kits et al., 1987; Schmid and Bohmer,

Correspondence: Bernard J. Van Wie, D e p a r t m e n t of Chemical Engineering, Washington State University, Pullman, W A 99164-2710, USA. Tel.: (509) 335-4103; Fax: (509) 335-9608.

1987). Thus, there is a need for development of data collection and analysis systems for microcomputers which are written entirely in a higher level language and require no special hardware. In this paper we report on two programs written in BASIC which are used with the Microsoft ~ QuickBASIC compiler (Microsoft ~'~ Corp., Redmond, WA). The software allows collection and analysis of electrophysiological data while using an 80286-based personal computer, equipped with an analog-to-digital ( A / D ) converter. These programs were developed for on-line determination of neuron firing rates during intracellular experiments. Also, once the frequencies were determined, statisticaJ information, such as the average, the standard deviation, and the highest and lowest firing frequencies could be obtained. The emphasis of this article is on the strategies and limitations involved when applying this high-level language to the tasks which are often needed in a data acquisition and analysis system. Both on-

114

and off-line data collection schemes are considered.

ported. Furthermore, an IBM graphics compatible dot-matrix printer may be used instead of the Laser Jet.

Methods

Software

The data used to develop the computerized acquisition system presented in this paper were obtained from intracellular records from the giant visceral ventral neurons VV1 and VV2 from the pond snail Lymnea stagnalis. Experimental procedures have been discussed elsewhere (Skeen et al., 1990). During an experiment the spontaneous activity from a neuron was visually monitored on an oscilloscope (Tektronix Corp., Beaverton, OR), audibly monitored on an amplified speaker, stored on a modified VCR recorder (Vetter Co., Rebersburg, PA), and sent to the on-line data processing system.

Hardware The software described in this paper was designed to run on an IBM-AT compatible microcomputer (Isotropic Computer Inc., Post Falls, ID) with a clock speed of 12 MHz. Additional features of the computational system include an 80287 math co-processor, 640 kbytes of random access memory, a monochrome graphics adaptor, a 40-Mbyte hard disk, and a Hewlett Packard Laser Jet printer (Hewlett Packard, Boise, ID). The printer was connected to the computer via an asynchronous RS-232 serial port. A / D conversion of the intracellular potential was accomplished using a Metrabyte Dash-16F data acquisition board (Metrabyte Corp., Taunton, MA). The Dash-16F has 16 input channels and a direct memory access (DMA) capability. Using DMA the Dash-16F can achieve sampling rates up to 100000 Hz for a single input channel. The maximum sampling rate which can be achieved with multiple input channels is 100 000 Hz divided by the number of input channels. In addition to the machine described above, this software will operate on any 80286- or 80386-based computer which runs at a Norton performance index at or above 8.6. Color, enhanced, and video graphic adapters are all sup-

Two programs were developed, one for on-line monitoring of cell firing frequencies, and a second for off-line analysis of the frequency data. The programs were written using Microsoft ® QuickBASIC except for the subroutine that controlled the A / D board which was supplied in compiled form by the manufacturer of the unit. QuickBASIC was chosen for this work because it combines a set of attractive features, namely: (a) allowance for modular programming; (b) programs can be run within an interpreter, which accelerates program development; (c) programs can also be compiled to run them more efficiently; (d) dynamic arrays larger than 64 kbytes can be created. The programs discussed in this paper are the result of approximately 9 months work for a single programmer. The general operating structure for both the programs is to provide graphical information about the data being processed and then allow the user to interact by selecting menu options. Event-trapping on various keys is used to execute the selected operation. With this structure, it is necessary to display both the graphical information and a menu of the available options. This is done by partitioning the screen into separate text and graphics sections using the VIEW PRINT command to designate the lower one-third of the display as the text area while the remaining twothirds is defined as the graphics window using the VIEW command. An example of the screen display used by both programs is shown in Fig. 1. An additional benefit of designating separate portions of the screen for text and graphics is that either section may be cleared or updated without disturbing the other. This speeds up program operation since updating the graphics portion can take several seconds if a large amount of data is being processed. Screen graphing is accomplished by passing the arrays which contain the independent and dependent data, along with the number of points to plot, to the graphing subroutine. This subrou-

115

GRAPHICS WINDOW n," h

, . ,-.- ~" . /.',." "" 0 ~' ""'"*"If "" .' ' '"f'" 18. 2 0 6

... "-':~,. I -

.: : ""''"

I

~ I•

: I" • '

I

".!. "" I 5968.656

SECONDS 18.206

.1903312

CNTRL

II MENU 1

Place or Delete an inert marker . . . . . . . . . .

Ft

Open a data file . . . . . . . . . . . . . .

Menu2 ....................... Menu 3 .......................

F2 F3

Quit .................... Prinl the graph .............. Open an output file ............

F4 F5

T F"X T WINDOW

F6 F7

Current dala file = INPUT.DAT Current output file= OUTPUT.DAT

F i g . 1. A n e x a m p l e

of the split graphics

and text display screen

tine scans both arrays to locate the maximum and minimum values corresponding to each axis, defines a coordinate system for the graphics window which is relative to the data maxima, and plots the data.

used by both the data acquisition

and analysis programs.

initiation of the program. It allows parameters which are used by the data acquisition procedure to be set. These include a name for the data file to contain the frequency-time values, an offset

IOlHENSION ARRAYSI

Results

I

i................. The data collection program O N L I N E F F (short for on-line firing frequency) occupies 28 kbytes of disk space. It is used to control the A / D conversion of the intracellular voltage, and calculate cell firing frequencies by determining the inverse of the time between peak voltage values for an action potential (AP) and the previous AP event. Once calculated, each frequency value is stored on the hard disk in a data file along with the time when the most recent AP occurred. All values of time for any given experiment are referenced to a zero point which corresponds to the time when the data collection procedure started. A user specified c o m m e n t is also stored with each frequency-time combination. This comment is useful in the off-line analysis procedure to locate important events that took place during an experiment. The flow of execution for O N L I N E F F , depicted in Fig. 2, is structure around two user interaction menus. The first menu is entered on

I

t

On-line data collection software

T

F[ OUIT

F2 OPENDATA F[LE

NAME?

3 -CHANC.E COMHENF ' F~

F4 BEGIN DATA COLLECTION

~IRETRIEVE DATA1

~

scA,

FAUSE 3 SECONDS

~ES

SECON(3 MENU

F'i-RESL/~E AFTER PAUSE

F i g . 2. F l o w

of execution

for the

ONLINEFF.

data

acquisition

program

116 time which is added to all time values before writing them to the disk, and the comment to be stored with the data. Also, data collection may be started from this m e n u or the program may be terminated. As will be discussed below, the second user interaction menu can only be used periodically during the data collection procedure. The options of this menu allow the comment line to be changed, data collection to be paused or resumed after pausing, or the collection procedure to be exited. Exiting the data collection procedure returns the program to the first menu. Data from a single input channel is collected by O N L I N E F F at a rate of 500 Hz in 30-s segments, and stored in computer memory using DMA. Use of D M A allows the A / D board to write data directly to a memory address which frees the processor to perform other tasks such as manipulating another segment of data. Since the D M A page registers cannot be incremented by the controller, the maximum data area available is 64 kbytes, or 32767 conversions. The D M A process is initiated by a C A L L statement to the subroutine supplied with the A / D board. The parameters which are specified in the call include the n u m b e r of samples to be collected, the address of the m e m o r y segment where data will be stored, and whether to perform only one collection cycle or to operate continuously. In continuous operation, once the word count has reached the specified value, the process wraps around to the beginning of the memory segment and writes over the previous data. To achieve continuous background data collection, early versions of this software attempted to use this recycle m o d e and transfer the data from the data buffer to program variables by initiating a foreground process between writing the last point on a cycle and the first point on the next cycle. However, even at the relatively slow sampling rate of 500 Hz this did not prove reliable since many times the write process for the next cycle would start before the data was retrieved. This undesired action results from QuickBASIC's inability to keep track of time in units smaller than approximately 50 ms. This means that it is not possible using the provided BASIC commands to initiate a timed reading process between two events separated by 2

ms. To avoid this problem, O N L I N E F F suspends the D M A write process while the data is read from memory. With the data retrieved, the background collection procedure is then restarted. Such a scheme allows for almost continuous data collection since only about 100 ms is not scanned by the A / D board between each 30-s data segment. Although this program was designed to collect data at 500 Hz, faster sampling rates can be used at the expense of processor time to perform other tasks. This is because with semi-continuous collection the processor is only free to manipulate a segment of data while the next segment is being collected. Once the time to collect the next segment has expired the processor must be available to read the data and initiate another collection procedure. Thus, if N data points are to be collected, and Tm is the time required to perform the data manipulations, then the maximum scan rate which can be achieved for a semi-continuous process is given by the equation: N

Smax=Tm

(l)

where Sm~x is the maximum scan rate. Table I lists the times required for several typical data manipulation operations on the computational system described in this paper. The values in Table I are based on handling 15 000 data points which corresponds to the amount currently collected by O N L I N E F F . By combining the values from Table I with Eqn. 1 and setting N equal to 15 000, the maximum scan rate for a process can be calculated. For example, if the manipulation procedure required for reading the data and graphing it is considered, then the maximum scan TABLE I TIME TO PERFORM DATA MANIPULATION OPERATIONS Operation Retrieving data from memory Screen graphing Locate APs Write 30 frequency points to hard disk Write 30 frequency points to virtual disk

Time (s) 0.11 11.04 1.43 0.40 0.t0

117

rate is 1345 Hz. It should be noted that it is possible to reduce the times listed in Table I by either improving the efficiency of the programs or using faster hardware. Reducing the times required to handle the data would allow higher sampling rates to be achieved semicontinuously. If higher sampling rates than can be achieved with the semi-continuous process are required, it becomes necessary to retrieve and analyze small segments of data from an analog storage device. This type of data collection program can easily be developed using the programming techniques and structure of O N L I N E F F . In fact, one such program has been developed in our laboratory to sample segments of intracellular voltage data. Once a 30-s segment of data is retrieved from memory by O N L I N E F F , the data is scanned to locate the peaks of the AP events and the frequencies between the events are calculated. Next, the voltage data is graphed versus time on the graphics portion of the display screen, and the locations of the APs are marked with vertical lines. The user is then given 3 s to press the first function key (F1) if the data should be discarded. This option allows the user to avoid saving data containing random electrical spikes which have been mistaken as APs. If F1 is not detected during this period, then the frequency, time, and comment values are saved on disk. The fact that only 3 s are provided for a user to indicate whether a data segment should be discarded may appear to be impractical since during on-line analysis a researcher's attention must also be given to other aspects of the experiment. In practice, though, this is not a problem for two reasons. First, the data being processed is 30 s behind real time, and erroneous events, usually caused by random voltage spikes, are easily distinguished from AP events both visually on the oscilloscope and audibly on the speaker which is connected to the pre-amplifier voltage output. Hence, there is no difficulty discarding the inappropriate data segment. Second, as will be discussed later, if a bad segment of data is saved on disk, it is simple to remove it off-line using the analysis program. After the proper action has been taken with the data, the second menu is printed on the lower portion of the screen, and

event-trapping is enabled for the function keys F2-F5. Execution then enters a loop mode which proceeds until an event trapped function key is detected, or 30 s has elapsed since starting the most recent background data collection procedure. Once 30 s has been reached, the next segment of data is read from memory and the entire procedure is repeated. To analyze, graph, and write to the disk the results for each 30-s segment requires about 14 s with the computer system described in this paper. This leaves about 16 s of loop time before the next data segment is retrieved. During this time a user can interact with the program by performing the actions listed in the second menu. Initiating any of the menu options suspends the loop procedure and causes execution to branch to other subroutines which carry out the operations listed in the menu. On return from these subroutines, if the 30-s interval has not elapsed, then the loop procedure is re-entered. Otherwise, the program returns to retrieve the next data segment. In this case any data generated after the collection procedure has stopped is not scanned. Action potential events are located by ONL I N E F F through the use of an extensive series of I F . " T H E N logic statements. The criteria contained in these statements is unique for the action potentials of VV1 and VV2 neurons. However, a similar approach could be used for other wave forms. To develop the recognition logic, digitized data for several VV1 and VV2 APs were reviewed to determine an initial set of rules. With these rules the procedure was fine tuned to exclude common contaminating events. The fine tuning process was achieved by sampling data from several experiments, monitoring errors in the recognition procedure, and identifying and correcting the faults in the recognition logic. The resulting procedure is summarized in Fig. 3 for a sampling rate of 500 Hz, though the scheme could be modified for other sampling rates by adjusting which points are compared to maintain a consistent time interval. As shown in Fig. 3, since the APs of interest have a duration of 10-20 ms, the voltage data is first searched to locate points which are greater than the points 8 and 6 ms before and after it, and greater than or

118 YES

P[I) > P(I-J)

P(I) > P(~*J)

i

~ES

P(I) ~ d P q

- J)

N0

P[I) > P(I*J)

YES

P(t)

PQ-8) >

I~raV NO

//P SAVE POINT AS / / /

/

ACTIONPOTENTIAL / PEAK

Fig. 3. Action potential recognition logic used by ONLINEFF. equal to the points 4 and 2 ms before and after it. Once a point satisfies this criteria, it is then determined if an AP had occurred in the last 16 ms. If an AP had occurred during this time, then the point of interest is not selected as an AP. This criteria avoids selecting two points in the same AP even which, because of noise, fit the maxima criteria. Next, the difference between the point of interest and the points 16 ms before and after are compared. If these differences are greater than 16 and 7 mV, respectively, then the point is accepted as an AP. The AP detection scheme was found to be quite robust since it is capable of recognizing APs among both noise and baseline drift. An example of this appears in Fig. 4 which shows the response of an identified Lymnea stagnalis neuron to the addition of 100 /zl of rabbit serum, known to contain high concentrations of neurotransmitters, to an approximate 3-ml volume contacting the

preparation. Here, O N L I N E F F was capable of detecting all of the APs despite a maximum signal to noise ratio of approximately 4 and a depolarizing baseline drift of approximately 4 m V / s at its maximum. This algorithm has been used extensively for the past two years, and during this time has almost never failed to detect normal VV1 and VV2 action potentials. It should be noted that this detection scheme is not without problems. In particular, our electronics sometimes produced rapid voltage spikes which were mistaken as APs. Other more stringent detection criteria can be devised using shape recognition to avoid this problem, However, for our work the criteria described above proved more useful because it ensured that APs were not missed. In addition, since the erroneous events occurred no more frequently than one every 15 min, data segments which contained incorrect APs could easily b e d i s c a r d e d or the bad point could be removed off-line. Although the data acquisition software was developed to operate continuously, it can also be applied, with little modification, to situations where data is only sampled after an external stimulation. This can be done provided there is a synchronizing voltage step or pulse which indicates the beginning of an event. To do this, it is necessary to use a subroutine that is provided with the A / D board to suspend program execution until a triggering event of specified magni-

~

2OmV

;ec

Fig. 4. The response of an identified Lymneastagnalis neuron to the addition of 100/zl of rabbit serum, known to contain high concentrations of neurotransmitters, to an approximate 3-ml volume contacting the preparation. ONLINEFF was capable of detecting all of the APs despite the noise and baseline drift.

119

tude and direction is detected at an indicated input channel. Thus, by placing the appropriate call statement just before the D M A collection process is initiated in O N L I N E F F the program will wait for the triggering signal before beginning data collection. Once the trigger is detected, a segment of data will be collected, retrieved from memory, and processed in sequential operations without starting a background collection procedure as was done with the semi-continuous process. If multiple samples are to be collected, then after processing a segment of data the program execution can be returned to the call statement which waits for the triggering event. Since this type of application runs processes in sequential order, the limitations to sampling rate given by Eqn. 1 no longer pertain. This means that sampling rates up to the hardware limit of 100 000 Hz for a single input channel can be used. It must be kept in mind, however, that since D M A is being used to write data to memory, the 64-kbyte limit for each data segment still applies. Therefore, for any given sampling rate S the total time, t which can be scanned is given by: 32 767 t - ~

(2)

The complied subroutine supplied with the A / D board also provides a procedure to retrieve data directly into a BASIC array, thus, circumventing the 64-kbyte limitation. This routine is a foreground process and can be applied to sequential collection and processing of data. The process, however, is limited to sampling rates less than or equal to 3000 Hz. A program which collects and analyzes data following stimulated events could be applied in the same form to both on-line and off-line situations. In fact, one such program has been developed for use in our laboratory which measures cell firing rates which are induced by current stimulation. When applying this programming scheme to on-line applications it is necessary to determine the amount of time required for the collection and analysis process so that the stimuli can be spaced by at least this amount. This will ensure that the computer is available to process each desired data segment.

Although O N L I N E F F is designed to monitor one input channel, it can be modified for receiving and processing data from multiple channels; up to the hardware limit of 16. If multiple channels are used, all of the previous limitations on memory apply, however, S in Eqn. 2 becomes the scan rate per channel times the number of input channels. In addition, the maximum scan rate set by the hardware becomes 100000 Hz divided by the number of input channels.

Off-line data analysis software Final analysis of the firing frequency-time data is done off-line through the use of the program W R K D A T A N . This program occupies 69 kbytes of disk space. With W R K D A T A N the user is provided a means of viewing all or selected portions of a data file on frequency versus time plots, editing data files by visually selecting a point or region of points to delete, obtaining statistics on selected portions of the data, and making hard copies of frequency versus time plots. When a data file created by O N L I N E F F is read by W R K D A T A N the frequency and time data are stored in separate one dimensional arrays with a common element number for the related points. To conserve run-time memory, the comments corresponding to each point are not saved since the value for the comment is usually constant for large blocks of data. Instead, only the unique values of the comment, and the time when each of the unique comment blocks began, are saved. In this way, the comment for any data point can be determined from its time value. To allow a user to perform the data manipulation operations and still be able to recall the original set of data which was read from disk, without performing the time consuming operation of rereading the data file, all manipulations are done on a set of working arrays while the original frequency-time arrays are left unchanged. For example, when the user deletes a point or a section of the data, what appears on the screen graph is a new data set contained in the working arrays. The new data set is composed of all the data from the previous graph less that which was deleted.

121)

The four required arrays for the frequency and time data, two working arrays and two arrays to hold the data read from the disk, are dimensioned in the program as dynamic to ensure they are handled as far objects. This increase the number of elements each array can hold and provides more space for saving other variables needed by the program. With 640 kbytes of internal memory, each of the four arrays can be dimensioned to hold up to 28 000 elements. The program W R K D A T A N is structured to display the frequency-time data on an X-Y graph, and allow the user to interact with the program through selecting options from two menus. In addition, the user has control of a cursor which moves horizontally across the graph by data points. Movement by data point ensures that all points can be accessed. In this way, end points of a region to view on an expanded time scale, on which to obtain statistics, or to delete can be indicated by placing the cursor on the desired point and 'marking' it through the appropriate menu option. Also, single points to delete are identified in the same fashion. To help a user distinguish the data point at the current cursor location, the frequency, time, and comment corresponding to the point is displayed on the screen and updated each time the cursor is moved. Each of the two user interaction menus for W R K D A T A N is a separate subroutine that initiates event trapping on the function and arrow keys. Thus, when any of the event trapped keys are detected execution branches to other subroutines that perform the menu options or move the cursor. As illustrated in Fig. 5, which is a diagram of the execution structure of W R K D A T A N , once a menu subroutine is entered it directs program execution until the user requests to either enter the other menu, or exit the program. The first of the two user interaction menus contains most of the program's I / O options. These include the retrieving of a data file created by O N L I N E F F , the opening of a file in which to write statistical results, and the printing of the displayed graph. Additional features of this m e n u allow a user to change to the second menu, exit the program, or display vertical lines at selected locations on the graph to help mark important

I

o~z~

I

~A~

f

.....

p

F

FI-PLACE0~ DELETEA MARKER ~L/Z~~ CURSERIMAGE] /~LEAVE

i

F2-MENU23 F3-ME~J ~ OPENA OATAFILE ;5 PRINTSCREENGRAM

NO

• []

F;-PLACE ~N ENO~RKER F2-OELETE A ~OlNr i~

~s

F?-OELETEA SECTION

/ I / / J

I

I

/ / J

Fig. 5. F l o w o f e x e c u t i o n

for the data analysis program

WRK

-

DATAN.

events. The second m e n u gives the user access to the data manipulation and analysis portions of the program. From this menu a user can delete a single point or a whole section of data, view a portion of the data using a magnified time scale, return the full data set to the graph, and obtain statistical information on a selected section of the data. Selection of the statistics option calculates the maximum and minimum frequencies within the specified range, as well as, the average frequency and standard deviation on the average. To accomplish these tasks, markers can be placed to define ends of a region to manipulate or to select a single point to be deleted. Further options of this m e n u allow the markers to be deleted, the first menu to be accessed, and edited data to be saved to disk. Since the purpose of developing in-house analysis software is to tailor computer operation to

121

the specific task at hand, it is necessary that the software be easily expandable. In this way, as analysis needs change, the existing program can be modified. W R K D A T A N conforms to this type of development since its fundamental functions are graphing two dimensional data and allowing a user to indicate portions of data. Developing a new analysis procedure requires writing a subroutine whose input is the arrays containing the selected independent and dependent data. The output of the subroutine is the desired analysis result. The option can be made run-time active by starting event-trapping on an additional key. This approach has been used over the past two years to expand the data analysis program, and has lead to the development of several routines. These include routines for numerical differentiation of frequency data and linear regression.

Conclusions EIectrophysiological data collection and analysis programs have been written in BASIC using Microsoft ~ QuickBASIC. The programs are designed to operate on an I B M - A T compatible computer equipped with a commercially available analog-to-digital converter. The data collection software can be applied in both on-line and offline collection schemes. In either case data may be collected continuously, or if a synchronizing trigger is available, collection can be triggered to begin with the synchronizing pulse and continue for a specified amount of time. In our laboratory the software has been applied to on-line collection of intracellular cell firing frequency information and has proven to be very robust. The data analysis software developed for the frequency versus time data generated by the online collection program can be applied to the analysis of any two dimensional data set. At the foundation of the analysis program are subrou-

tines which perform disk I / O , two dimensional screen graphing, and manipulation of a graphics cursor which moves a data point at a time. The cursor can be used to mark individual points or sections of data to pass to subroutines for further analysis. The current analysis subroutines will delete a single point or an entire section, graph a portion of the data on an expanded time scale, give statistical information on a section of data, and print the graph displayed on the screen. In addition, the program has proven to be easily expandable to include other analysis procedures.

Acknowledgments This project was supported under the Microsensor Technology Program of the Washington Technology Center. An equipment donation for the oscilloscope was received from Tektronix Corporation. Initiation of the neuronal biosensor program at Washington State University was aided by an NSF grant, ECE-8609910.

References Alarcon, G., Garcia Seoane, J.J. and Ortiz Blasco, J.M. (1986) A fast data acquisition system for neurophysiological signals based on a personal microcomputer, J. Neurosci. Methods, 18: 295-311. Kegel, D.R., Wolf, B.D., Sheridan, R.E. and Lester, H.A. (1985) Software for electrophysiologica[ experiments with a personal computer, J. Neurosci. Methods, 12: 317-330. Kits, K.S., Mos, G.J., Leeuwerik, F.J. and Wattel, C. (19871 Acquisition and analysis of fast single channel kinetic data on an Apple IIe microcomputer, J. Neurosci. Methods, 2[): 57 71. Schmid, K. and Bohmer, G. (19871 A device for spike train sampling with built-in memory, J. Neurosci. Methods, 19: 147 156. Skeen, R.S., Kisaalita, W.S., Van Wie, B.J., Fung, S.J. and Barnes, C.D. (1990) Evaluation of neuron-based sensing with the neurotransmitter serotonin, Biosens. Bioelec., 5: 491 51(/.

Application of compiled BASIC in developing software for collection and analysis of neuronal firing frequency data.

Two programs are described which use an IBM-AT compatible personal computer, equipped with an analog-to-digital converter, to collect and analyze elec...
725KB Sizes 0 Downloads 0 Views