The FCS file format describes a file that is a combination of textual data followed by binary data. The order of the file layout is as follows:
The HEADER segment is an ASCII text string that begins by identifying the version of the FCS standard used, followed by three pairs of byte offsets that designate the positions of the TEXT, DATA, and ANALYSIS segments. An example header segment is given below
Because the field width of the header segment byte positions is constrained by 8 characters, the maximum position it is capable of storing is 99,999,999. Anything beyond that is encoded as a 0 for both the start and end position, and the corresponding TEXT segment keyword is used instead.
The text segment is an ASCII text string that is divided into a series of key-value pairs that are delimited by some chosen character, e.g. '|'. The first character immediately following the header segment is the delimiter. An example of a header and text segment is given below
To be a valid FCS file, the text segment must contain all required keywords, which describe the DATA segment format and encoding. For FCS version 3.1, the required FCS primary TEXT segment keywords are as follows:
The DATA segment of the FCS file follows after the TEXT segment and is laid out event-wise (row-wise) according to the order described in the parameters (a.k.a. channels) $P1N $P2N$...PnN. An event is either an actual biological cell or some other mass that was large enough to trigger the data acquisition capturing device of the flow cytometer instrument. Data segments hold the following layout:
Each event is laid out according to the number of bytes described by $PnB for each parameter. These bytes are to be interpreted according to the combination specified by $BYTEORD and $DATATYPE.
Flow cytometry data is typically saved for analysis in the form of an array, with fluorescence and scatter channels represented in columns, and individual "events" (most of which are cells) forming the rows. The number of events acquired from each sample usually ranges between the low thousands and the low millions.
The first version of a Flow Cytometry Standard (FCS) was developed in 1984.2 Since then, FCS became the standard file format supported by all flow cytometry software and hardware vendors. FCS is a binary file format with three main segments: a text segment containing meta data in keyword/value pairs structures, a data segment usually containing a matrix of detected expression values (so called list mode format), and a rarely used analysis segment.
Over the years, updates were incorporated to adapt to technological advancements in both flow cytometry and computing technologies.
In 1990, FCS 2.0 was introduced.34 Features introduced in FCS 2.0 included the option of multiple data sets within a data file, the use of different byte orders accommodating hardware variations on different computing platforms, and basic compensation and scaling information. FCS 2.0 was followed by FCS 3.0 in 1997, which introduced the possibility of storing data sets larger than 100MB.5
The latest version, FCS 3.1, was introduced in 2010.67 It retains the basic FCS file structure and most features of previous versions of the standard. Changes included in FCS 3.1 address potential ambiguities in the previous versions and provide a more robust standard. They include simplified support for international characters and improved support for storing compensation. The major additions are support for preferred display scale, a standardized way of capturing the sample volume, information about the origins of the data file, and support for plate and well identification in high throughput, plate based experiments.
"International Society for Advancement of Cytometry". Retrieved 15 January 2015. http://isac-net.org/ ↩
Murphy, R. F.; Chused, T. M. (1984). "A proposal for a flow cytometric data file standard". Cytometry. 5 (5): 553–555. doi:10.1002/cyto.990050521. PMID 6489069. https://doi.org/10.1002%2Fcyto.990050521 ↩
Dean, P. N.; Bagwell, C. B.; Lindmo, T.; Murphy, R. F.; Salzman, G. C. (1990). "Introduction to flow cytometry data file standard". Cytometry. 11 (3): 321–322. doi:10.1002/cyto.990110302. PMID 2340768. https://doi.org/10.1002%2Fcyto.990110302 ↩
Dean, PN; Bagwell, CB; Lindmo, T; Murphy, RF; Salzman, GC (1990). "Data file standard for flow cytometry. Data File Standards Committee of the Society for Analytical Cytology". Cytometry. 11 (3): 323–332. doi:10.1002/cyto.990110303. PMID 2340769. https://doi.org/10.1002%2Fcyto.990110303 ↩
Seamer, L. C.; Bagwell, C. B.; Barden, L.; Redelman, D.; Salzman, G. C.; Wood, J. C. S.; Murphy, R. F. (1997). "Proposed new data file standard for flow cytometry, version FCS 3.0". Cytometry. 28 (2): 118–122. doi:10.1002/(SICI)1097-0320(19970601)28:2<118::AID-CYTO3>3.0.CO;2-B. PMID 9181300. https://doi.org/10.1002%2F%28SICI%291097-0320%2819970601%2928%3A2%3C118%3A%3AAID-CYTO3%3E3.0.CO%3B2-B ↩
Spidlen, J.; Moore, W.; Parks, D.; Goldberg, M.; Bray, C.; Bierre, P.; Gorombey, P.; Hyun, B.; Hubbard, M.; Lange, S.; Lefebvre, R.; Leif, R.; Novo, D.; Ostruszka, L.; Treister, A.; Wood, J.; Murphy, R. F.; Roederer, M.; Sudar, D.; Zigon, R.; Brinkman, R. R. (2009). "Data File Standard for Flow Cytometry, version FCS 3.1". Cytometry Part A. 77 (1): 97–100. doi:10.1002/cyto.a.20825. PMC 2892967. PMID 19937951. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2892967 ↩
"Data File Standard for Flow Cytometry, Version FCS 3.1 - Normative Reference" (PDF). International Society for Advancement of Cytometry. International Society for Advancement of Cytometry. Archived from the original (PDF) on 9 February 2015. Retrieved 15 January 2015. https://web.archive.org/web/20150209122542/http://www.isac-net.org/images/stories/documents/Standards/fcs3.1_normativespecification_20090813.pdf ↩