Converting FCS Listmode Data Files to Plain Text ASCII with MFI
Return to MFI Home.
 
Purposes of listmode to plain text ASCII conversion.

MFI can optionally produce plain text ASCII output that can be used as input to generic plotting software, mathematics or statistics software, or spreadsheets.

Flow cytometers generally store data in a specialized Flow Cytometry Standard (FCS) format, in which the intensities of each scatter or fluorescence parameter are encoded in a specialized, compact binary format that cannot be displayed in a word processor, or imported easily into other software. Conversion to plain text ASCII puts the intensity values in plain text that can be viewed and edited in a word processor or used in a spreadsheet or generic data plotting software. In addition, histograms or results derived from listmode data by MFI can be output in plain text ASCII. For examples, see below.
 
Generating plain text ASCII output with MFI.

MFI can produce plain text ASCII output files at three levels:

  1. Listmode data (for dotplots), optionally gated
  2. Histogram data, optionally smoothed/gated
  3. Spreadsheet-ready median fluorescence intensity results

 
I. Plain Text ASCII Listmode Data (optionally gated)

The term "listmode" describes flow cytometry data files that list the values of the scatter and fluorescence parameters for each event, in the order in which the events passed through the cytometer's interrogation point (usually a laser beam). Listmode files are raw cytometer data files. Most cytometers create listmode files in the Flow Cytometry Standard (FCS) format, which is not understood by general purpose scientific software. Converting a listmode file to a plain text ASCII format enables it to be read by such software, or viewed and edited with a word processor.

MFI will optionally create one new plain text ASCII list mode data file for each listmode file tagged on the input list (or for each time slice!). MFI names these output files *.ALS (Ascii LiSt), [or, for time slices, *.L01-*.Lnn]. The output files include only in-gate events for the parameters selected, in the order selected. To produce an ungated file, select gate 0. These plain text ASCII list mode files are suitable for making dot-plots with general purpose plotting software.

Let's look at a concrete example. The first set of data files provided as an example for MFI's tutorial represent the titration of an antibody -- fluorescence intensities obtained with a series of dilutions of the antibody. (See the Tutorial for details.) One of the the files in this set, TITRA062 (normally located in c:\flowcytm\mfitutor\1titrat), is from unstained control cells.

A gated plain text ASCII file resulting from listmode file TITRA062 might contain this:

MFI-generated ASCII list mode data from FCS file TITRA062:
Active Gate: #1 "JY Cells [FSC vs. SSC]",
  FSC = 174-359, SSC = 134-339
(See end of file for report of events in-gate.)
(If columns don't line up, increase display tabulation modulus to 8.)
Event   FSC     SSC     FL1     FL2     FL3
1       246     273     141     3       4
2       301     301     159     3       4
3       275     309     142     3       4
4       232     246     124     3       4
5       349     313     153     3       4
6       235     165     93      3       4
7       313     321     133     3       4
8       276     252     98      3       4
... [lines 9 - 2559 omitted] ...
2560    262     176     107     3       4
2561    275     314     189     3       4
2562    303     318     121     3       4
2563    280     314     163     3       4

Total events in gate are 2563 out of 5000 in file (51.3%)
Each line represents a single event. The numbers in the columns labeled FSC, SSC, and FL1 represent the scatter and fluorescence intensities for each event. (In this instance, FL2 and FL3 were not in use and the gains were set very low.)

If imported into generic scientific plotting or spreadsheet software, the above plain text file would most easily be plotted as dot plots.

In each run, MFI processes listmode files in a given folder that are tagged in its Run Organization screen. (See the Tutorial for details.) Whether MFI puts out plain text ASCII files is controlled by settings in MFI's Configuration Menu. There, item 9. Spreadsheet/histogram/listmode ASCII files opens a submenu that includes 2. Create ASCII gated list mode data files. When this option is set to YES, MFI puts out one plain text ASCII listmode file for each FCS listmode file it processes.

Gating. MFI allows you to define scatter gates (rectangular only; see MFI's Tutorial.) In MFI's Run Organization, you may apply gates to listmode files or not. If a gate is applied to a file, the plain text ASCII output will contain only in-gate events. To process a file without gating, select gate 0.

Parameter omission, re-ordering. MFI allows you to omit parameters that are not in use. Omitted parameters will not be included in the plain text ASCII output. Had FL2 and FL3 been omitted in the run below, they would not appear in the listing. Parameters can also be included in any order, and the plain text ASCII output will follow the order designated in MFI.

Event sampling. Spreadsheet programs may not have the capacity to process all of the events recorded in a list mode file. Therefore, MFI provides an option to export to plain text ASCII only the 'dot plot' events, a number that can be configured between 1 and 5,000. This capability is independent from the scatter gating capability. The 'dot plot' events are sampled uniformly from throughout the file; that is, if 2,500 events are specified, they are not the first 2,500 events in the file, but are taken evenly spaced from the entire file. This even sampling is crucial for kinetic studies.

In MFI's Configuration Menu, item 9. Spreadsheet/histogram/listmode ASCII files opens a submenu that includes 3. Limit events in list mode ASCII files to number in dot plots. Change this to YES to limit the events in plain text listmode output files to the number specified for dot plots.

The number of dots per dot plot is controlled from MFI's Configuration Menu. Item 5. Graphics output options opens a GRAPHICS submenu that includes 5. Dot plot options menu, which opens a DOT PLOTS submenu, including 2. Number of dots to show on dot plot.
 
II. Plain Text ASCII Histogram Data, Optionally Smoothed and/or Gated

MFI will optionally create one new plain text ASCII histogram data file for each input list mode data file (or for each time slice!). These histogram files are named *.HIS [or *.H01-*.Hnn for time slices]. They include only IN-GATE events for the parameters selected for the run in question. The degree of smoothing is controlled by the number of channels designated for histograms, and/or by invocation of Savitzky-Golay smoothing. These histogram files are suitable as convenient input for most general purpose scientific plotting software and for spreadsheets.

In MFI's Configuration Menu, item 9. Spreadsheet/histogram/listmode ASCII files opens a submenu that includes 5. Create ASCII data files of gated, smoothed histograms. Change this to YES to generate plain text ASCII histogram output files.

Histogram options such as smoothing are controlled from MFI's Configuration Menu. Item 5. Graphics output options opens a GRAPHICS submenu that includes 4. Histogram options menu.

Here is an example, a histogram output for file TITRA062:

MFI-generated 128 channel histograms for data from FCS file TITRA062:
Active Gate: #1 "JY Cells [FSC vs. SSC]",
  FSC = 174-359, SSC = 134-339
No smoothing applied.
Total events in gate are 2563 out of 5000 (51.3%)
(If columns don't line up, increase display tabulation modulus to 8.)
Channel FSC     SSC     FL1     FL2     FL3
0       0       0       9       2563    2563
1       0       0       4       0       0
2       0       0       1       0       0
3       0       0       7       0       0
4       0       0       12      0       0
5       0       0       13      0       0
6       0       0       28      0       0
7       0       0       60      0       0
8       0       0       74      0       0
9       0       0       97      0       0
10      0       0       125     0       0
11      0       0       197     0       0
12      0       0       219     0       0
13      0       0       253     0       0
14      0       0       275     0       0
15      0       0       241     0       0
16      0       1       222     0       0
17      0       22      183     0       0
18      0       40      152     0       0
19      0       44      123     0       0
20      0       58      97      0       0
21      1       74      62      0       0
22      13      97      42      0       0
23      30      97      22      0       0
24      36      98      21      0       0
25      75      126     11      0       0
26      90      132     7       0       0
27      124     123     1       0       0
28      157     140     1       0       0
29      195     139     1       0       0
30      201     121     0       0       0
... [lines 31-125 omitted] ...
126     0       0       0       0       0
127     0       0       0       0       0

TOTALS    2563      2563      2563      2563      2563

 
III. Plain Text ASCII Results for Spreadsheets

MFI's primary results are corrected linear median fluorescence intensities for scatter-gated events. MFI is efficient at extracting results from large numbers of list-mode files. By default, the results are displayed on the screen, or saved into a plain text file designed for human readers. Here is an example where colors were added to help see the structure of the results output.

Alternatively, MFI can summarize its median fluorescence intensity results in file designed as input for a spreadsheet program. These files are named MFIRUNnn.SPR, where "nn" is the Run Number.

Here is an example of the spreadsheet output for the same gate and files as shown in the primary results example. You will have to scroll to the right to see the very wide table below. Columns are delimited by tab characters.

28 columns by 7 rows. MFI'S RUN INFO BEGINS AT "##" AFTER DATA. Tab modulus 8.

ROW	FILENAME	DATE		WARNINGS	THR_P	THR_V	EVENTS	SECS	EV/SEC	GATE	INGATE	G1FSC	G1SSC	G1FL1	G1FL2	G1FL3	G2FSC	G2SSC	G2FL1	G2FL2	G2FL3	MdFSC	MdSSC	MdFL1	MdFL2	MdFL3	LABEL		
1	TITRA062	14-JAN-93	C		FSC	52	5000	18	277	1	61.94	E-1	307	476	150	150	682	100	LOG	100	100	263	267	0.0000	0.0000	0.0000	JY cells alone 
2	TITRA063	14-JAN-93	E4		FSC	52	5000	17	294	1	62.10	E-1	307	476	150	150	682	100	LOG	100	100	265	267	0.140	0.0000	-1.00	JY cells + 2nd 
3	TITRA011	14-JAN-93			FSC	52	5000	17	294	1	56.14	E-1	307	476	150	150	682	100	LOG	100	100	267	264	128	-1.00	-1.00	JY cells + TS1/
4	TITRA012	14-JAN-93			FSC	52	5000	17	294	1	57.06	E-1	307	476	150	150	682	100	LOG	100	100	267	264	119	-1.00	-1.00	JY cells + TS1/
5	TITRA013	14-JAN-93	E4		FSC	52	5000	17	294	1	57.96	E-1	307	476	150	150	682	100	LOG	100	100	267	264	89.2	-1.00	-2.00	JY cells + TS1/
6	TITRA014	14-JAN-93			FSC	52	5000	18	277	1	58.98	E-1	307	476	150	150	682	100	LOG	100	100	267	262	49.8	-1.00	-2.00	JY cells + TS1/
7	TITRA015	14-JAN-93			FSC	52	5000	15	333	1	59.22	E-1	307	476	150	150	682	100	LOG	100	100	267	265	22.0	-1.00	-2.00	JY cells + TS1/

##MFI RUN INFORMATION BLOCK:
Run 1: 
These log-acquired parameters were converted to a linear scale:
  FL1
Peaks detected when excursion >5% using 32-channel histograms.
 Gate: #1 "JY Cells [FSC vs. SSC]",
  FSC = 169-374, SSC = 154-409
Warning codes: (n = parameter number)
(Details for each listmode file given in MFI's non-spreadsheet primary results.)
 C: Control, FL medians subtracted from those of subsequent files.
 [: previous control no longer applies.
 En: End pile-up, param. n. >10% of events in first/last occupied channel.
 I: Instrument settings changed (gains, threshold, etc.).
 L?: can't tell which parameters if any use Log scale.
 P-: Peak detection disabled.
 P<: Peak detection unreliable, too few events in gate.
 Pn: multiple Peaks in histogram for parameter n.
 !: warnings truncated because longer than 15 character column width limit.

Despite the width of the above table, spreadsheet-ready results are not as complete as the primary results. Spreadsheet data lack medians for individual peaks in multimodal histograms, do not give details on end-pileups, and do not show results prior to control subtraction or KMESF calculation when these options are in effect. The spreadsheet column WARNINGS should be examined carefully; if warnings are present, consult the primary results for further information.

In the above example, the G1xxx columns are the cytometer Gain-1 settings; G2xxx are the Gain-2 settings. At the far right are Mdxxx columns giving linear median intensities. The MdFLx fluorescence medians are corrected for the control designated in MFI's Run Organization. The labels in the last column are truncated, a bit unfortunate in this case since the dilutions are lost.

Controlling Spreadsheet Output. On MFI's Configuration Menu, pressing T toggles spreadsheeT output, and item 9. Spreadsheet/histogram/listmode ASCII files controls the details of spreadsheet output, under the submenu 6. Spreadsheet data file option menu. Under this submenu SPREADSHEET RESULTS FILE, the run information block was set to "short". Here also is 10. Spreadsheet data file column omission menu. For the example output below, this submenu was used to omit row numbers, date, threshold, time, and cytometery settings.

In the example data, FL2 and FL3 were not used, so they can be omitted. (This is done from Configuration Menu, item 3. Parameters. You must blank out the last parameter first, then work backwards.)

Here is MFI's spreadsheet output for the same run as above, but with settings to produce a more succinct and less detailed output (11 columns instead of 28!). Nevertheless, the key results for the titration are in the column MdFL1. The LABELs were shortened so the dilutions are included in the last column. Columns are delimited by tab characters.

11 columns by 7 rows. MFI'S RUN INFO BEGINS AT "##" AFTER DATA. Tab modulus 8.

ROW	FILENAME	WARNINGS	EVENTS	GATE	INGATE	MdFSC	MdSSC	MdFL1	LABEL		
1	TITRA062	C		5000	1	61.94	263	267	0.000	JY cells alone 
2	TITRA063			5000	1	62.10	265	267	0.140	JY + 2nd Ab
3	TITRA011			5000	1	56.14	267	264	128	JY, 1/300
4	TITRA012			5000	1	57.06	267	264	119	JY, 1/900
5	TITRA013			5000	1	57.96	267	264	89.2	JY, 1/2,700
6	TITRA014			5000	1	58.98	267	262	49.8	JY, 1/8,100
7	TITRA015			5000	1	59.22	267	265	22.0	JY, 1/24,300

##MFI RUN INFORMATION BLOCK:
Run 1: 
These log-acquired parameters were converted to a linear scale:
  FL1
The following parameters, present in the listmode data files, are not shown:
  FL2, FL3
Peaks detected when excursion >5% using 32-channel histograms.
 Gate: #1 "JY Cells [FSC vs. SSC]",
  FSC = 169-374, SSC = 154-409 
In Microsoft Excel, the file MFIRUN01.SCR can be imported by using Excel's File, Open, Files of Type: All files. In MFI's output file, columns are delimited by tab characters. Here is a snapshot of the above output imported into a Microsoft Excel spreadsheet:

In addition to using MFI's spreadsheet-ready output as input to spreadsheet software, spreadsheet-ready output provides an alternative format for printing results, more compact (but less complete) than the primary results.


Definitions
 
Flow Cytometry Standard Data Format

Although there is a published FC standard data format (see references below), cytometer and software manufacturers usually adhere only loosely to this standard. (This required that MFI have special case handling code for nearly every combination of software and cytometer that it supports!) Since MFI development stopped in 1996, data files from newer cytometers may not be handled properly by MFI. The best way to find out is to examine MFI's output carefully, comparing it with that of trusted software (see the MFI Validation Suite). A list of cytometers and software supported is given in MFI's internal help (available by pressing F1 when running MFI, especially item 4 "Cytometers and listmode acquisition software supported", and item 19 "Compliance with FCS data file standard").

MFI was designed to obey the FCS 2.0 data format. Note that the FCS 3.0 standard was published after MFI development ceased in 1996.

Flow Cytometry Standards:

 
Plain Text ASCII

"ASCII" designates a standard method of coding plain text or numbers on computers. Most textual information on computers is stored in ASCII, including this document. ("Plain text" files, conventionally named ending with .txt, contain only the text in ASCII. Word processors add proprietary non-ASCII codes to specify how the text is formatted.) "ASCII" stands for American Standard Code for Information Interchange. ASCII was recommended in 1968 by the American National Standards Institute (ANSI) in their recommendation X3.4 (International Standards Organization ISO 646).