Menu

FACS data

Sven Mostböck

FCSalyzer opens a variety of FCS data file formats from different cytometers and cytometer softwares. Users might have to export the data files from the respective acquisition software to FCS standard, preferentially FCS3.
I have successfully used FCS2.0 files with more than 8 million events. But plotting these large files and calculating statistics for them is not really fast. A regular dot plot without any gating takes a few seconds; the more complicated gating and statistics are used, the longer it takes. Regularly sized files of a few hundred thousand events are very fast.

An important note

I used the 'FCS collection for software testing' (https://flowrepository.org/id/FR-FCM-ZZZ4) for testing the various data file formats for FCSalyzer. Hence I often have only a single file to test the formats and most times not even an information how the data is supposed to look like.

Users should carefully check if the data presentation in FCSalyzer matches their expectations and the presentation in the flow cytometry software used to generate the data. They may have to set the transformation manually. The spill-over matrix might have to be entered or adjusted manually, as FCSalyzer can only load some types of spill-over matrix stored within FCS files.

Unsupported Data Files

FCS files that are not listmode files but histogram files, as well as files that store their data not as binary integers or floats. In files that store multiple data sets, only the first data set is used.

Supported Data Files

Data files from the following cytometers seem to mostly work. For more details, see below.

  • BD - all so far tested machines, including Accuri
  • Cytek
  • Thermo Scientific Attune
  • Beckman Coulter: Cyan, Cytomics FC 500, Gallios, XL (System II)
  • Sony iCyt Eclipse
  • Millipore Guava: may not work properly, please see details below
  • Miltenyi MACSQuant: users should carefully check if FCSalyzer opens the files correctly, see details below.
  • Partec Pas
  • Stratedigm S1400
  • Gemstone software

In this section I want to describe the various data file formats with respect to using them with FCSalyzer. Let me stress that this solely reflects my current understanding of the FCS standard and the various data files. I might be completely wrong in some or all aspects! I also do not want to insinuate that the data files generated by the various flow cytometers and softwares are in any way incorrect.

My understanding of FCS data files

There are two standards, FCS2 and FCS3 (and FCS3.1). The difference mainly rests in additional information and keywords in FCS3.
More important is the way how data is stored in FCS files. The data can be stored as 'I', which means integer data. Here, the values indicate the channels the event was measured in. Importantly, that data may be stored linearly or logarithmically. In the latter case, a keyword ($PxE) defines the logarithmic scale that was used to collect and log-transform the data before it was stored. The other major data type is 'F'. Here, all values are stored as float data and linearly. The FCS standard does not permit 'F' data to be stored logarithmically. Hence. the $PxE keyword has to be '0,0'. The FCS standard permits additional data formats: 'A' for Ascii data and 'D' for data stored as double. I have not encountered files like that so far and therefore FCSalyzer does not support them. The data can be associated with a 'gain' value (keyword $PxG). According to the standard, the gain indicates an amplification fo the data before it was saved in the FCS file. Hence, the data should be divided by the $PxG value to obtain the actual measured data. Unfortunately I was not able to properly understand the usage of that value in the example files in the 'FCS collection for software testing'. Some files seem to expect the stored values to be multiplied instead of divided by the $PxG value. I might have misunderstood them. Hence, FCSalyzer ignores the $PxG values.
The data can be stored in three different ways (keyword $Mode). 'L' indicates a list of events. This is the most common data mode. 'C' and 'U' are used to store histograms in FCS files. I have never encountered such a file. FCSalyzer only supports 'L' mode data files.
A FCS file may contain multiple data sets. FCSalyzer only supports the first data set in a file.

BD flow cytometers
  • CellQuest: CellQuest (CellQuest Pro) is the acquisition software used for FACScan, FACS Calibur, and maybe other cytometers. It saves data files in FCS2 format. FCSalyzer can open these files fine. There is one error in those files: the definition of the logarithmic scale ($PxE) is often set to '4,0' which is technically wrong as defined by the FCS standard. The standard suggests to treat that value as '4,1', which FCSalyzer does.
  • FACS Diva: FACS Diva is the acquisition software used in machines such as the LSR-II, Canto, Fortessa, etc. The files seem to open fine. However, one example file in the 'FCS collection for software testing' that was generated on an Aria-II defines a logarithmic scale ($PxE) even though it is a float-data file. FCSalyzer ignored the $PxE in these cases.
  • Accuri: FCSalyzer can open FCS files from the Accuri C6.
  • FACS Sortware: This software is used on the inFlux sorter. In principle the files can be read. However, the one example file in the 'FCS collection for software testing' has peculiar numbers in the parameter 'Time'. The timestamp starts at 65062 and increases to 65535, then it drops to 0 and increases to 1571 for the last event in the file.
Cytek flow cytometers
  • FlowJoCollectorsEdition 7.5: The example files in the 'FCS collection for software testing' can be opened.
Thermo Scientific / invitrogen / Applied Biosystems
  • Attune Cytometric Software v1.0: The example file in the 'FCS collection for software testing' can be opened. Users may have to adjust the tranformation for displaying data.
Beckman Coulter flow cytometers
  • Cyan, Cytomics FC 500, Gallios, XL (System II), MoFlo: The files can be opened. Some files may contain two data sets. FCSalyzer only supports the first data sets.
  • MoFlo: The files can be opened. However, I only have two data files for testing and no experience how the data is supposed to look like. Hence, users are strongly advised to carefully check if these data files are processed as they should be.
Sony flow cytometers
  • iCyt Eclipse: The files can be opened.
Millipore flow cytometers
  • Guava PCA(tm), CytoSoft 8.1.1: The file from the 'FCS collection for software testing' can be opened. However, the data looks somewhat wrong in the display. Users should carefully check that FCSalyzer displays and calculates the FCS files as expected.
Miltenyi Biotec flow cytometers
  • MQD files: MQD are the native data format of MACSQuant. They follow in principle the FCS format and can be opened in FCSalyzer. However, the data are stored in very low numbers - usually in the range between 0 and 1. MACSQuant seems to multiply all data by 1000 before fuerther processing, so FCSalyzer does the same. However, I am not sure if I understand the MQD format completely correct. Users are strongly advised to verify that the MQD data files are processed as expected by FCSalyzer.
  • FCS files: MACSquant can export the data also as FCS files. It provides various export options. Users are advised to carefully check which option works best for FCSalyzer. The FCS files in the 'FCS collection for software testing' can be opened. The collection contains three FCS files that seem to have been exported from the same data with different settings:
    • the 'FCS30' file contains events with values of negative infinity. FCSalyzer changes these values to a simple zero for data display. Data is not changed for calculation.
    • The 'FCS30' and 'FCS31' files have events with values that are larger than the indicated range of the respective parameter. FCSalyzer changes these values to fall within the range for display. Data is not changed for calculation.
    • The 'FCS30c' file dows not seem to have any issue.

As data is not changed for calculation, the statistics and compensations might not give the expected results. Users are strongly advised to carefully check that the exported FCS files gives the expected results in FCSalyzer!

Partec flow cytometers
  • Partec Pas: The example file from the 'FCS collection for software testing' can be opened.
Stratedigm flow cytometers
  • Stratedigm S1400, Stratedigm FCM v1.0 Beta 1 software: The example file from the 'FCS collection for software testing' can be opened.
Gemstone flow cytometry software
  • The example file from the 'FCS collection for software testing' can be opened.

Related

Wiki: Annotation
Wiki: Home
Wiki: Multiplying Parameters
Wiki: Plot
Wiki: Transformation
Wiki: ViewingData

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.