Analytica Chimica Acta, 161 (1984) 393-396 Elsevier Science Publishers B.V., Amsterdam -Printed
in The Netherlands
Short Communication BIOCHEMICAL DATA-PROCESSING WITH MICROCOMPUTERS Part 3. On-line Data Acquisition from a Continuous Flow Analyzer
MICHAEL G. GORE and IAN G. GILES* Department of Biochemistry, (Great Britain)
University
of Southampton,
Southampton
SO9 3TV
(Received 12th March 1984)
Summary. A program, written in BASIC, is described which allows data acquisition from a continuous flow analyzer. The program was developed for a readily available microcomputer, but should be easily modified for use on similar machines. Once the peak height has been measured, the concentration of the analyte is calculated by reference to a previously defined calibration. The program is designed to handle data from more than one channel, although there is a practical limit of 3-4 simultaneously active channels. The results of the separate assays are collated and printed as a group for each specimen, even when the analytical methods require different times for completion.
Continuous flow analyzers are indispensable for routine assays of one particular substance in large numbers of samples. The substance of interest is usually detected spectrophotometrically after suitable reactions. The results are normally presented as a recorder trace showing a series of peaks, the heights of which are proportional to the amount of product formed in the chemical reaction(s). In ideal conditions, the trace would show a series of perfect square waves, each corresponding to a different specimen; in practice, curves are produced because of lateral diffusion, but each sample zone gives a plateau region from which data can be gathered for quantitative purposes. The spacing of adjacent plateau regions is dictated by the rate of sampling. If more than one compound is of interest in a single specimen, the sample aliquot is split into two (or more) streams, each of which is fed into parallel analytical systems, separate traces on one (or more) chart recorders being obtained. The separate traces, therefore, have to be collected to extract the information relating to a single specimen. This can cause difficulty if the times required to produce the coloured product differ between the various analytical channels. The computer program described here samples data from several (3-4) analytical channels, calculates the amount of substance present by reference to a predefined calibration graph, and collates the data such that all the results relating to one specimen are printed together. The program also includes routines to store the collated data on disc (or cassette tape) for archive purposes. 0003-2670/84/$03.00
o 1984 Elsevier Science Publishers B.V.
394
Experimental Equipment. The Technicon AA11 AutoAnalyzer used was equipped with an automatic sampler IV, peristaltic pump III, various assay cartridges, and calorimeters giving O-60-mV output. The output voltage is linearly proportional to the absorbance of the solution in the flow cell. A linear amplifier was used to provide a voltage compatible with the input requirements (O-10 V) of the 16-channel, g-bit ADC (analog-to-digital converter) interfaced between the calorimeter and the Commodore 3000 series PET microcomputer used. The ADC employed (3D Digital Design & Development, London) has a conversion time of 10 ps, although the maximum effective sampling rate is reduced to 60 samples per second when driven from BASIC. A single channel of the ADC is used for each detector. The PET “jiffy” clock (incremented every 1/6Oth second) was used for timing. Results were printed out on a Commodore 4022 dot-matrix printer. Reagents and methods. All reagents were purchased from BDH Chemicals. Standard analytical methods were employed [l-4]. Program and implementation In normal usage, continuous flow analyzers have a sample throughput of 60-150 h”, the rate depending on the chemistry of the assays used. In a single-channel system, successive plateaux are separated by 25-60 s and there is ample time for a microcomputer using a relatively slow BASIC interpreter to sample, store, process, and print out results between peaks. When the program is applied with a multichannel system, the maximum number of channels (3-4) is actually set by the ability of the operator to synchronize the system. The algorithm used is shown in Table 1. There is an initial dialogue during which operational parameters (including time between peaks, number of analytical channels, and composition of the calibration graph) are specified. The program then waits for the operator to synchronize the autosampler timing cycle with the computer timing cycle. This is achieved by pressing a given key once the plateau region of the first peak to emerge has appeared on the chart recorder. Subsequently, the computer samples (and stores) the output voltage of the detector at the predefined rate, e.g., every 60 s. Synchronization of two (or more) channels is achieved by pressing a specified key (1, 2, . . .) when the relevant recorder indicates emergence of the first peak from that analytical channel. Once a channel has been synchronized, samples are taken at the predefined rate, even if other channels have still to emerge. The peak height data are stored in a two-dimensional array of dimensions (number of analytical channels by maximum number of specimens). An array of pointers is used to indicate where the next data point for each channel is to be stored. It is then a relatively minor problem to print out the data for each specimen, once the last result for that specimen has been collected. The program continues either until a predetermined number of specimens
395
TABLE 1 Algorithm of the program used for peak height determination and collation of data Procedure SAMPLE BEGIN number of peaks [channel] : = number of peaks [channel] + 1 next time [channel] : = next time [channel] + time between peaks peak height [number of peaks [channel], channel] : = average of 30 ADC (channel) IF (number of peaks [channel] < = number of initial standards) THEN update regression accumulators for this channel IF (number of peaks [channel] = number of initial standards) THEN calculate regression coefficients for this channel IF (channel = last channel started) AND (number of channels started = number of channels requested) THEN PRINT RESULTS END BEGIN (Main Program) perform initialisation dialogue number of channels started: = 0 FOR channel: = 1 TO number of channels requested DO BEGIN number of peaks [channel] : = 0 next time [channel] : = 0 channel start order [channel] : = 0 quadratic regression accumulators [channel ] : = 0 END REPEAT i: = 0
REPEAT IF (number of channels started < number of channels requested) AND (keypressed) THEN BEGIN channel: = key IF (channel not already started) THEN BEGIN next time [channel] : = current time number of channels started: = number of channels started t 1 last channel started: = channel channel start order [number of channels started] : = channel SAMPLE END END i:=i+ 1 channel: = channel start order [i] IF (current time > = next time [channel]) AND (number of peaks [channle] < number of peaks requested) THEN SAMPLE UNTIL (i = number of channels started) UNTIL (keyboard abort) OR (number of peaks [last channel started] = number of peaks requested) END.
396
has been processed, or until the program is aborted by the operator. At this stage, the accumulated data, together with the relevant operating parameters can be stored to, or recalled from, either floppy disc or tape. ADC conversion. When the output voltage of the detector is sampled, 30 consecutive conversions are performed and summed, the arithmetic mean being stored and used in subsequent calculations. The speed of this averaging is limited by the BASIC interpreter; about 0.5 s is needed. This step results in an improvement in the electronic signal-to-noise ratio of about 5.5, and the points have a temporal separation sufficient to filter out the higher frequency noise (e.g., 50 Hz). Calibration. In order to convert the raw peak-height data into analytically meaningful units, reference is made to a calibration plot. In the version of the program used in this laboratory, calibration is obtained by the operator placing a predeclared number of standard solutions into the first few sample cups of the autosampler. The program uses the peak heights from these solutions to calculate the least-squares coefficients of an interpolating secondorder (quadratic) polynomial. These coefficients are then used to convert subsequent peak heights to amount of material. This is then printed out only if it is between the limits of zeroand the highest amount specified in the calibration curve, ensuring that all amounts output are the result of interpolation. Discussion The software can be modified easily to alter the presentation of the data. For example, the data may be printed only if certain threshold criteria are fulfilled, allowing the system to act as a filter for high or low concentrations of the substance(s) under test. Additionally, the program can be used to drive a signal-conditioning device to avoid losing information as peaks approach full scale deflection. The need to divide the amplification factor of the signal-conditioning amplifier can be ascertained from the magnitude of the ADC value itself; when this exceeds a given maximum value, an internal flag is set and one bit of the peripheral user port (connected to the 6522 VIA) is set high. A TTL sensor monitoring this line actuates a relay when this bit is set, resulting in a reduction in the gain of the conditioning amplifier. Thus it is possible to have an easily implemented software control of the voltage input to the ADC. REFERENCES 1 J. H. Hagen and P. B. Hagen, Can. J. Biochem. Physiol., 40 (1962) 1129. 2 K. Stewart, Anal. Biochem., 51 (1973) 11. 3 Q. W. Osborn, D. E. Lemmel and R. L. Downey, Environ. Sci. Technol., 3 (1974) 363. 4 M. G. Gore, Anal. Biochem., 75 (1976) 604.