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.
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.
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.
Data files from the following cytometers seem to mostly work. For more details, see below.
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.
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.
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!
Wiki: Annotation
Wiki: Home
Wiki: Multiplying Parameters
Wiki: Plot
Wiki: Transformation
Wiki: ViewingData