Colachrom, a command language for chromatographic data processing

Colachrom, a command language for chromatographic data processing

Analytica Chimica Acta, 147 (1983) 91-103 Elsevier Scientific Publishing Company, Amsterdam - Printed in The Netherlands COLACHROM, A COMMAND LANGUAG...

942KB Sizes 4 Downloads 139 Views

Analytica Chimica Acta, 147 (1983) 91-103 Elsevier Scientific Publishing Company, Amsterdam - Printed in The Netherlands

COLACHROM, A COMMAND LANGUAGE DATA PROCESSING

ENGELBERT

ZIEGLER*,

FOR CHROMATOGRAPHIC

BRUNO WEIMANN and INAMARIA WRONKA

Data Processing Department, Max-Planck-Znstitut fiir Kohlenforschung, D-4330-Mtilheim/Ruhr (W. Germany) GERHARD SCHOMBURG and ULRICH HAUSIG Chromatography Laboratories, MaxPlanck-Znstitut D-4330-Midheim/Ruhr (W. Germany)

fiir Kohlenforschung,

(Received 20th August 1982)

SUMMARY A command language for the interactive computer processing of chromatograms is described. Report data files, resulting from a peak evaluation program, are processed with single-line commands. Reference peaks for quantitative evaluation or for retention index calculations can be specified, compound names or response factors be assigned, etc. Customer-specific reports can be generated. Several commands operate on the unreduced digitized chromatograms, e.g., repeat peak evaluation with modified peak search parameters or with a user-corrected baseline. Commands can be combined into procedures for semi-automatic processing of series of chromatograms. Various forms of interactive graphical presentations supplement the command language.

Until recently, the chromatography laboratories of this Institute were connected up with a DECsystem-10 computing center [l, 21. This system has been replaced by a new hierarchically structured system based on two central VAX11/780 machines [3] . In this system the real-time tasks have been decentralized: local mini-computer satellites in the laboratories take over all data-sampling and instrument-control functions. Data evaluation and especially all interactive processing, however, are done by the central VAX system with all dialog terminals connected to it. The chromatography section of the total system is independent of all other applications implemented in the system, and could also be carried over to much smaller VAX machines dedicated to chromatographic usage. As part of the chromatographic software package, the command language for chromatography (COLACHROM) described here was developed to support the interactive processing of chromatograms. Understanding of the design philosophy will be aided by an outline of the structure of the entire chromatographic data processing into which COLACHROM is embedded.

0003.2670/83/0000-OOOO/$O3.00

0 1983 Elsevier Scientific Publishing Company

92 ORGANIZATION

Required

OF THE CHROMATOGRAPHIC

DATA-PROCESSING

SYSTEM

characteristics

The design of the entire system is based on the following major characteristics required from computer systems for chromatography. First, the computer system should not limit the capabilities of the chromatographic instrumentation. Therefore a high dynamic range in peak intensities is needed. The selected A/D hardware with auto-ranging amplifiers allows for signal voltages between 2.5 PV and 10 V. No manual preselection of amplification ranges is necessary. Secondly, repeated chromatographic separations arising from improperly chosen data-evaluation parameters are not acceptable. Therefore all digitized chromatograms (raw data) are stored on external memory (disk storage) in urn-educed form. No real-time reduction of any kind is applied. For this reason, the peak search and area determination for a once-recorded chromatogram may be done repeatedly with complete freedom in selecting modified peak evaluation parameters. Thirdly, the software should be able to handle a diversity of analytical problems originating from many areas of chemical work. Therefore, flexible interactive methods for the processing of chromatograms and the preparation of customer reports have to be provided. Finally, no special computer knowledge should be asked from the laboratory staff. Even unskilled personnel should be able to use the computer system effectively. Therefore the software system must have a good human interface. Data organization

The data acquisition part of the system is designed to be unnoticed by the user; for example, if the user has pushed the stop button of chromatograph No. 142 to finish the data acquisition from a chromatographic separation, his disk area of the central computer will show (after a short time) the result of an automatic data evaluation step (a report data file R142.DAT) together with a file 1142.DAT containing the unreduced ADC data of the chromatogram. All further processing is then done through the laboratory dialog terminal by means of COLACHROM commands operating on these two files. The user communicates with the central computer system only, without being concerned with the actual flow of data. Internally, however, the path of data acquisition is as shown in Fig. 1. Chromatograph No. 142 is connected to one of the 40 analog input channels (e.g., to channel 022) of a satellite for data acquisition and transfer (SADAT microcomputer [ 3]), located in or near the user’s laboratory. The satellite takes care of all start/stop requests, the A/D sampling (in the current implementation up to 25 or 30 samples per second per channel), and of all instrument control and timing functions. The acquired data are transferred in blocks of 128 data points (via a coaxial DMA link or an asynchronous serial line) into the RTDAT section of the main memory of the central host computer (any VAX system). The WRITER program writes data from channel 022 into files M022.DAT of a VAX disk. After a stop signal, or if the preset

93 I

I I

I

SATCOM

I

-

SADAT

(

RTDAT

unreduced

data

EVALUATION

COLACHAOM

Laboratory

,

VAX

memory

d8s.k

storage

Fig. 1. Chromatographic data flow in an hierarchally structured system: chromatographs are connected to a satellite computer (SADAT) in the laboratory. The digitized chromatograms are automatically processed and stored in the central computer. All interactive work is done via dialog terminals with the central system.

maximum runtime has elapsed, the WRITER automatically initiates the evaluation of the chromatogram. For this purpose, the evaluation parameters (entered earlier through the dialog program PARAM) are taken from the file PARAM.DAT and the ADC data M022.DAT are processed for peak evaluation. At the end of this automatic part, the resulting report file R142.DAT and the ADC data file 1142.DAT, containing unreduced data with baseline points marked, are transferred to the user’s disk. (The channel number 022 is converted to the instrument number 142.) If so specified in the instrument parameter set, a “basic report” is printed at a central laboratory printer consisting of peak specific data, such as positions, integration limits, peak areas, heights, half-widths, etc., and supplementary information, such as time of measurement, date, sample identification, noise, dynamic range, etc. This automatic part is normally followed by an interactive session, when the user further processes the files Riii.DAT and Iiii.DAT with the aid of the COLACHROM command language. GENERAL

OPERATION

OF COLACHROM

COLACHROM reads the report data file (e.g., R142.DAT) and/or the unreduced data file (e.g., 1142.DAT) of the chromatogram to be processed into its internal data section. The latter is subdivided into a main buffer, where the final report is prepared, and several “compare-buffers” that may

94

hold either data of additional chromatograms from which partial information can be extracted, or tables with reference information. Formally, no distinction is made between genuine chromatographic reports and any tables or artificial reports generated interactively. The structure of the report data file is independent of its contents and its previous processing. Most of the 80 or so existing commands operate either on the report data or the ADC data; some of them (e.g., those concerned with graphical presentation) operate on both types of data. General

form of commands

A COLACHROM

command

command-name/buffer

will normally

be typed

on a single line:

object/value

Any of the existing command names may be abbreviated by truncating words as long as the remaining keyword is unique. The first three letters of a command name are always unique. In addition to the name, a command may contain a buffer identifier, if the data to be manipulated have not been read into the main buffer of the program but into one of the compare-buffers. The objects to be treated by a command are normally peaks or ADC data points identified by sequential numbers. Values assigned to objects may be numerical values or character strings. In special cases, however, the terms “object” and “value” may be given another interpretation. The following examples illustrate typical commands: 6,9,13/600,700,800

INDEX

defines peaks 6, 9 and 13 as standards for a Kovats index calculation with assigned indices of 600, 700 and 800, respectively. On this command, the user is asked for the methane peak number, if not already known; when it has been entered, indices for other peaks will be calculated by interpolation and by extrapolation for the near neighborhood. Further, in the above example, the names hexane, heptane, and octane will be assigned to the standard peaks. If parameters required by a command are not available or unacceptable, a dialog is entered asking for additional information, or an error message (in English) is produced. The command interpretation tries to be flexible in order to avoid user frustration, if the form of a command is not in the exact general format. This is illustrated by the command, NAME/2

13/HEXANE,

assigning the name HEXANE to peak number 13 of the chromatogram in compare-buffer 2. The same action will be caused by

stored

NAM/2 13=HEXANE. As another by THRES

example,

a percentage

3 or by THR=3.

threshold

of 3% for peak areas may be set

95

The command CANCEL/l INDEX will erase all indices of the chromatogram in compare-buffer

1, as will

CANC/l/IND. A list of peaks can be entered either with a single string, PRANGE

9,11,14-17,20

(PRANGE restricts further processing to the peaks specified in the list), or by entering dialog mode, if no objects are given in the command line. The object field in a command string may have different meanings, e.g., in SEARCH/l INDEX/O.l%; for this, the peak list contained in the main buffer is compared to the table of indices of reference compounds contained in compare-buffer 1. Matches are found if indices are identical within a window of 0.1%. Omission of the “5%” in the command string would result in an absolute window of 0.1 index units. DESCRIPTION

OF COMMANDS

The available COLACHROM commands may be subdivided into several categories: (1) selection and preparation of reports; (2) calculation of retention parameters; (3) quantitative evaluation; (4) determination of column characteristics; (5) output generation and storage; (6) creation of and comparison with tables; (7) processing of unreduced ADC data; (8) graphical presentation; (9) command procedures and series of chromatograms; (10) commands not related to chromatography. The existing commands (Table 1) cover a large variety of applications and allow for variations in work style. Laboratory experience has shown that normally a given user concentrates on a subset of commands relevant to his particular needs. Nevertheless, the large number of commands necessitates the on-the-spot availability of help in the form of explanations. Therefore a HELP command provides approximately one display screen of explanatory text to each command; for example, HELP INDEX will display the English help text for the INDEX command. If the command HILF is issued, all explanations will be given in German. General information on the graphics capabilities will be given on typing GRAPHICS or WINDOWS; and the latest information on any modifications are obtained on the NEWS command. Selection and preparation of reports A chromatogram is selected for processing through the SELECT command, by specifying either an instrument number or a report-file name. In the case of processing a series of chromatograms a sequential report number may also be specified. The NSELECT command then proceeds to the next chromatogram in a series. Processing and/or output of undesired peaks is avoided by the introduction of area percentage thresholds (THRESHOLD) or voltage

96

TABLE Available

1 COLACHROM

commands

How to get help: HELP HILF GRAPHICS NEWS VERSION Selecting reports: SELECT INFO PURGE CANCEL EXIT RESET How to select or to suppress peaks: THRESHOLD VTHRESHOLD SUPPRESS MRANGE GROUPS Preparation of reports: SAMPLE SIGEL NAME Quantitative evaluation: STANDARD ISTAND PSTAND EXNORM RESPONSE FACTOR Retention times and column parameters: INDEX LINDEX RRTIME PETERSON SEPARATION PLATES Output and storage of reports: TYPE PRINT REPORT PRECISION SAVE Creation of and comparison with tables or other reports: CREATE PINDEX AREA NMOVE VARIAN ASSIGN SSEARCH (Re)Evaluation of unreduced chromatograms (peak search): ANALYZE REANALYZE ANBEGIN NOISEFACTOR BASEPARAM DRIFTPARAM ISOTHERM NULL TANGENT Graphic presentation of unreduced chromatograms: DISPLAY PDISPLAY MDISPLAY DIAGRAMM RETURN Command procedures and series of chromatograms: NSELECT PROCEDURE @ Manipulation of ADC data: ZERO SIMULATE SUBTRACT SMOOTH AUTOCORREL DERIVATIVE RNOISE FILTER FOURIER

WINDOWS

MERGE QUIT PRANGE

EXSTANDARD

METHANE

STORE

MOVE SEARCH

ANEND SOLVENTSUB

REFRESH

ADD CROSSCORREL

thresholds for peak heights (VTHRESHOLD), or by SUPPRESSing a list of peaks, or by specifying the desired peaks or peak ranges (PRANGE) or retention time ranges (MRANGE). The “PURGE n” command will leave only the n largest peaks in the report. A number of peaks can be grouped together by the GROUP command, resulting in a cumulative total area value. Identifying information can be added to a report, e.g., a sample ID (SAMPLE) or a customer ID (SIGEL). Almost any specification and any field of information may be erased or reset to default settings by the CANCEL command. (CANCEL/SAMPLE, CANCEL/INDEX, CANCEL/NAME, CANCEL/STAND, etc.; CANCEL 5/NAM will blank out the name previously assigned to peak 5.)

91

Calculation of retention parameters Logarithmic, or linear, or relative retention time calculations are possible based on reference peaks introduced by the INDEX, LINDEX and RRTIME commands, respectively. The calculation of Kovats indices requires net retention times. Therefore, a dead-time must be determined, either by specifying the methane peak (METHANE command) or by a Peterson-Hirsch calculation (PETERSON). If index values of n-alkanes are specified (e.g., INDEX 6, 10/700, 800), the corresponding names are assigned to the reference peaks (e.g., heptane to peak 6, octane to peak 10). If a compare-buffer is loaded with the chromatogram of a calibration sample, an “external” index calculation can be performed by calculating indices for the compare-buffer first and issuing an INDEX (LINDEX) command for the main chromatogram afterwards without introducing new calibration peaks. Quantitative evaluation Several methods of quantitative evaluation are implemented as COLACHROM commands. The known weight(s) of one or more compounds that have been added to a sample may be specified by STAND nl, n2, . . ./wl, w2 . . ., where nl, n2, . . . are the peak numbers of the standards, wl, w2, . . . the associated weights in mg. If no peak numbers are given, a dialog is entered, where the user is asked not only for the peak number of a standard, but also for tare, sample and sample + standard weights. If the reference compound is to be part of the sample, instead of being added to it, the command ISTAND is used instead of STAND. If the report output is to be scaled relative to one peak, the PSTAND command, e.g., PSTAND 5 = 80% will scale the area percentage of all peaks such that the area of the specified peak (e.g., number 5) will be set to 80%. If a weight is given, e.g., PSTAND 7 = 23.5 mg, an additional column in the report output will be produced with the scaled weights for all peaks. If a quantitative evaluation is to be based on a comparison of absolute peak areas with an external standard, measured within another chromatogram, the EXSTAND command can be used. For instance, EXSTAND/l 5 = 18 mg specifies for the absolute area of peak 5 in the comparison chromatogram a weight of 18 mg. The weights for the peaks in the main chromatogram are then calculated according to their absolute areas. Additionally, a correction for varying or irreproducible injection volumes may be applied by specifying a reference peak present in both chromatograms through answering the related questions after entering the dialog mode for the EXSTAND command. Similarly, a component can be quantified by applying the EXNORM command, if, for a second chromatogram, a known amount of the compound has been added to the sample. Again another reference peak is specified to correct for differing injection volumes. Prior to quantitative evaluation, response factors may be specified for all peaks in question. This is possible, e.g., by FACTOR 5 = 1.22, assigning a response factor to peak 5. If the response factor is to be calculated by comparison with a reference peak, the RESPONSE command can be applied.

98

Determination of column characteristics Several commands assist in determining column parameters. The PLATES routine calculates for all peaks with known half-widths, i.e., non-overlapped peaks, effective and theoretical plates, HETP and k’ values. With the SEPARATION command, consecutive n-alkanes may be specified. The associated separation numbers are then calculated. Other column-specific parameters, like coating efficiency, are contained in the report, if the necessary instrumental parameters are known. Output generation and storage Various devices for the output of customer reports are available. Accordingly, different COLACHROM commands can be used, e.g. TYPE (output to user terminal), PRINT (to printer in computing center), REPORT (to central printer of a laboratory), STORE (to a named file on disk storage). If the output is wanted as a basic report, i.e., with the information from the automatic peak evaluation, the output command is modified to TYPE BASIC. Otherwise the report is printed in a format that is suitable as an analysis report to customers: besides peak numbers, retention times and area percentages, only information generated during the COLACHROM processing will be printed. If, for instance, indices have been calculated, a special column will be printed. If any compound name is known, a names column will appear. The same is true for all other information, such as weights, response factors, effective plates, etc. Table 2 shows an example of this type of report. Peak-specific data is supplemented by peak evaluation parameters, e.g., for baseline drift, noise-sensitivity, etc. Runtime parameters, e.g., the time of measurement, data rate, average noise, dynamic signal range, are also output in the report heading. The peak list is followed by a list of the instrumental parameters. In the printout of area percentages the number of decimal digits actually printed is determined automatically as a function of the absolute value. This default operation, however, may be changed to a fixed-precision output of n decimal digits by applying the PRECISION=n command. If the processing of a report file is not finished in one dialog session, the temporary state of a report file can be saved as a named report file on disk and can be picked up in a later session for further processing: the command is SAVE name. Compilation of and comparison with tables Tables with chromatographic data looking like tables of peaks in report format can be compiled with a series of assignment commands and then saved on disk storage like a report. After a buffer has been reserved for table creation by a CREATE command, tables entries are filled in by assigning indices (PINDEX), peak areas (AREA), response factors (FACTOR), names (NAME) to pseudo peaks in the table.

99

TABLE 2 Example of a customer report produced through COLACHROM underlined

commands. User input is

SEL 110 SAM=AAA BB 015 02 THR=l.O 38 peaks out of 46 will be below threshold. 8 peaks remaining. SUP l-4 + 7 5 peaks have been suppressed. NAM 14/CHEXADIEN 1.4 FAC Peak-no. : 8 : 2.43 Factor Name : MoNOESTER Peak-no. : FAC 3012.52 STAND Tare: 3336 4 Tare se: 4848.6 Tare + sample + l.standard: d4984 2 Tare + sample + l.st. + 2.st.: Peak-no.‘s of standards: 18 Peak 18 accepted as standard peak. TYP

***************

RllO.DAT

Sample: AAA BB 015 02

measured: processed: by:

*************** 14 JUN-82 6-JUL-82 HAEUSIG

No.

Min.

%-Std.

mg

Factor

Name

8 14 18 27 30 36

2.7 3.7 5.3 13.1 13.8 22.8

4.44 0.53 8.97 0.46 11.0 0.56

67.2 7.94 135.6 6.96 166.0 8.45

2.430

MONOESTER C-HEXADIEN 1.4 Sl

2.520

%-threshold: 1.00% 32 peaks out of 41 (total area percentage = 1.56%) are below threshold. 5 peaks had been suppressed. Sample weight: 1512.20 mg Instrument : CARLO ERBA Column : 50m OVl H1589b Detector : FID Temperature : 100/60 2/min-240 lOmin/275 Gas : 0.8 H2 Sample size : 0.2~1 Recorder : l/MIN 1MV *

14:41:42 10:30:03

100

Another way of creating tables is to load reference reports into comparebuffers. Single peaks are copied into the table to be built in the main buffer. The command MOVE/l 2 = 10 copies peak 10 of the compare-buffer 1 into entry number 2 of the table. Similar commands are NMOVE (normalized MOVE, in which the peak area is scaled in relation to a reference peak) and ASSIGN (only secondary peak information, such as indices, names, factors, is copied, while time, area, half-width, etc. are not). Such tables can be compared against measured chromatograms by means of a SEARCH command: thus SEARCH/2 TIME/5 compares the chromatogram in the main buffer to the table in compare-buffer 2. If absolute retention times match within a window of 5 s, the secondary peak information (name, etc.) of the table entry is assigned to the corresponding peak in the main buffer. Retrievals are also possible based on matching of indices or of absolute peak position. The search window may be specified in absolute units or as a percentage difference. Such tables may also be used for repeatibility measurements: from a series of n chromatograms a certain peak is extracted II times by copying into a table. A subsequent VARIAN command calculates the average value and its standard deviation; thus VARIAN 3-lo/AREA will apply the calculation to the absolute areas of the table entries 3-10. The VARIAN command can also be applied to retention indices or response factors. (It should be noted that the fields of a table can be filled with any kind of information for which a VARIAN calculation is desired, not necessarily with chromatographic data only .) Processing

of unreduced ADCda ta One of the main characteristics of the Millheim chromatographic dataprocessing system (even of the old system) is the storage of the complete, unreduced, digitized chromatograms. This feature allows the peak evaluation to be repeated at any time with, for example, modified peak search parameters (ANALYZE), or with user-defined or user-corrected baseline (REANALYZE), or for selected sections of a chromatogram. Several commands are available to specify the peak detection sensitivity (NOISEFACTOR), the baseline detection parameter (BASEPARAM) and the drift parameter (DRIFTPARAM), to subtract a solvent peak before peak evaluation (SOLVENTSUB), and to adapt peak search parameters to isothermal or nonisothermal chromatograms (ISOTHERM). With a TANGENT command shoulders on peaks may be evaluated in dialog mode. With the NULL command, single baseline points or baseline sections can be defined. This latter command, however, is preferably applied in display mode by using a graphical cursor (see below). The SUBTRACT command implements a feature described earlier [ 21 : an external baseline, stored in a compare-buffer, can be subtracted from the main chromatogram, optionally with scaled intensity values. On an ANALYZE command COLACHROM calls the same peak evaluation

101

module that is used in the automatic data processing step preceding the interactive evaluation. Graphic presentations Two forms of graphic presentations are implemented within COLACHROM: (a) presentation of urn-educed ADC data, and (b) diagrams of peakrelated variables. Graphic display of unreduced chromatograms. A closer look at the unreduced digitized chromatograms is useful, especially in cases of overlapped peaks, problematic baselines, or peaks with very small signal-to-noise ratio. With the DISPLAY command, the entire chromatogram or any sections of it can be displayed on any terminal with Tektronixcompatible hardware features. (Currently Tektronix 4010/4012 and VTlOORG terminals are used.) Once a chromatogram has been drawn on the screen, simple onecharacter keyboard inputs combined with positioning of the cross-hair cursor allow individual sections to be enlarged. With other commands, any peak may be marked with its peak number associated in the report, or with other information such as area, or precise position and peak height, or with start and end of the area integration. Another command (B) will cause the baseline found by the previous peak evaluation (e.g., the automatic one) to be drawn in (Fig. 2). This baseline may be corrected by the user for a subsequent repetition of the peak evaluation (REANALYZE command). Any two points of the chromatogram may

Fig. 2. Display presentation of a digitized chromatogram. The cross-hair cursor can be used to mark the chromatogram with peak information from the report data file, e.g., the associated peak numbers. The enlarged section contains the computer-constructed baseline and the start and end of the integrated areas.

102

be selected via the cross-hair cursor for producing an area integration between the two points. Cross-hair cursor positioning combined with keyboard commands also allows peaks to be identified as reference peaks for index or dead-time calculations, as standards for quantitative evaluation, or for the assignment of names or response factors to peaks. Diagrams of report data. Peak-related information contained in the report data file may be graphically displayed through a DIAGRAM y/x command. As the 3c variable, retention time (TIME), peak numbers (PEAKS), h’-values (K’) or indices (INDEX) may be specified. As the y values, peak areas (AREA), half-widths (HW), indices, theoretical and effective plates (PLATES) or response factors (FACTOR) may be chosen. Command procedures for semi-automatic processing If a series of chromatograms is to be treated with the same sequence of commands, the repeated typing of the commands would be tedious and timeconsuming. Such work is simplified by saving a command sequence in a disk file and by providing a means of applying the saved command procedure (“method”) to subsequently selected chromatograms. All commands issued earlier can be saved in a procedure file (e.g., KINETIC.PRO, by SAVE/PROC KINETIC). A CREATE/PROC enters a dialog, where the commands of a procedure may be typed in. Another way of creating a procedure file would be to use a standard text-editor, outside the COLACHROM program. Such saved procedures can be executed by a “@“-command (or PROC/EXECUTE), e.g., @KINETIC. A procedure may be built that ends with a&call to itself, resulting in a loop. The following procedure “SERIES” may serve as an example. It is created to contain the commands: SAMPLE = KIN.SERIES SIGEL = ZGL-HB-101 THRESH = 0.05% SEARCH/l TIME/O.l% REPORT NSELECT @SERIES

ABC

Once the first report data file of a series of sequential chromatograms has been selected, this procedure may be used. The two commands SELECT 10/l and @SERIES are then sufficient to produce the following actions for each chromatogram of the entire series measured with instrument 10: assign a common sample identification and customer identification; set a threshold to peak areas; identify the components by comparing the retention times to a table of reference compounds; print the resulting report; proceed to the next chromatogram and repeat all actions. The actions stop when the NSELECT-command fails to find another chromatogram, i.e., at the end of the series.

103

Commands not related to chromatography Included in the COLACHROM program is a set of commands that is normally not needed for chromatographic data processing, but may be useful for other types of analytical or spectroscopic data: commands to apply various data smoothing algorithms, to calculate auto- and cross-correlation functions, to produce addition and subtraction of spectra, to calculate derivatives, to simulate theoretical peak profiles (with or without artificial noise), etc. These commands are not described in this paper, CURRENT

IMPLEMENTATION

OF COLACHROM

In the current implementation, COLACHROM allows for 6 internal storage buffers: the main buffer and 5 compare-buffers. All COLACHROM commands are integrated into one single program consisting of many modules. The program was written in 1981 in FORTRAN-77 language for operation under a standard VAX/VMS operating system. The virtual address space required depends on the sizes and numbers of arrays for ADC data and report data. In the current version, 350 kbyte of address space is needed to allow for up to 26 000 data points and 400 peaks in the main buffer, up to 13 000 points and 200 peaks in compare-buffer 1, and up to 1000 points and 25 peaks in compare-buffers 2,3,4,5. The program can be operated on any VAX computer and should be transferable without major difficulties to any machine with a ANSI-FORTRAN77 compiler. The interface to other data systems is given by the format of the data file for unreduced ADC data. Conclusions A command program, like COLACHROM, provides a useful tool for chromatographic data processing, especially in a production-type environment, where users do chromatographic work in their daily routine. A longer question-and-answer dialog with the computer, conducting the user through a series of possible inputs, would have been preferable for the occasional user who is less familiar with the computer system and who tends to forget how to operate it. With a command language, however, communication with the computer is speeded up, because only input referring to parameters to be modified has to be given. Because commands can be combined in many different ways and in various modifications, considerably greater flexibility is achieved. Because of the variety of available commands, the use of COLACHROM is not restricted to chromatography, but may also be applied to other analytical data, such as optical spectra or e.s.r. signals. The program can be expanded easily by adding new commands. The authors thank K. Boll and H. Lenk for assistance in programming, and F. Weeke, S. Ruthe and B. Heinecke for helpful discussions.

104 REFERENCES 1 E. Ziegler, D. Henneberg and G. Schomburg, Anal. Chem., 42 (8) (1970) 51A. 2 G. Schomburg, F. Weeke, B. Weimann and E. Ziegler, J. Chromatogr. Sci., 9 (1971) 735: Chromatographia, 7 (1974) 477. 3 E. Ziegler, Anal. Chim. Acta, 147 (1983) 77.