Converting 'binary' Listmode flow cytometry files into ASCII text format


Flow cytometers generate data files in a particular format, called Listmode, that is not usable outside some dedicated softwares. If you really want to work with your data the way YOU want, your desire is certainly to export the data in something like a text table with one row = one event, and where columns are optical channels acquisition values. You can then read this file with any code you develop. There are two ways to do that:


To do so, we recommend to use the flowCore package from Bioconductor , which runs on R . You can call the read.flowSet() function from any script, which will load an entire dataset of many experiments into a single object (a flowSet) on which you can apply various functions. This makes analysis straightforward without any click. Since the data is then available from within R, you can run your analysis directly without even converting the file. This is especially convenient if you routinely produce  experiments and spending time on file conversion each time becomes an issue. Also, the package is open source so you can modify it to meet your needs.

If you do need to produce the ASCII text file of the raw data, you can then do it from R. Let x be the flowSet generated by reading n listmode data files, and let's assume you want to convert the i-th file into a text file, you can then type within R:

 write.table ( exprs ( x[[i]]] ), file = "my_converted_file" ) 
to produce the desired my_converted_file. Alternatively, you can use MFI, which runs on DOS system (any Windows version should be ok). MFI was developed by Eric Martz and is freely available from the MFI home page. One limitation is the absence of command-line piping, so you'll have to click around many times. A second limitation is the non-universal platform requirement, as it only runs on DOS-based systems and not Macs or Linux/Unix. If you routinely use Windows and if you don't care for piping your analysis, then MFI is your choice.
We are grateful to the Bioconductor team and especially Nolwen Lemeur for developing and sharing flowCore, and to Eric Martz for developping and sharing MFI.