RGLab/flowCore — pull request #25 by jspidlen (2014-06-27 22:45:23+00:00)
Title: Fix to be able to read FCS data files that are produced by FlowJo but are slightly wrong.

The FCS3.0 and FCS3.1 data file format specifies the offset to the end of the data segment in two places:
a) In the header of the FCS file.
b) In the text segment ($ENDDATA keyword) of the FCS file.
There are only 8 characters reserved for any offset information in the FCS header and therefore, the maximum specifiable offset is 99999999 (~100 MB). This is because the original specification was developed back in 1984 when 100 MB seemed like more than what will ever be needed.
Based on the FCS3.0 and FCS3.1 specifications, if the actual offset is more than 99999999, then the FCS header shall specify an offset of 0, and the actual value is than in the FCS text segment only. Certain versions of FlowJo break the FCS specification by specifying 99999999 rather than 0 in the FCS header in those cases. This fix allows flowCore to read those files. The code has been tested with files from NIH (Mario's group).