Menu

Home

Sven Mostböck

FCSalyzer Wiki

Introduction

FCSalyzer is a small application for analysing flow cytometry data. It is intended to be intuitive in its use for people used to flow cytometry and general computer programs. We will see if that holds true.

Basic Concepts

FCSalyzer creates documents onto which analysis dot plots, statistics, comments, annotations, and so on can be placed. It is a very visual approach, with plots drawn onto the document page with the mouse. So first, an empty document is generated (that happens the moment FCSalyzer is started). Then, the user can place analysis plots etc. onto that document. The document can be saved (as a .FCX file), printed, and exported as a graphics file.

I often get questions or complains that FCSalyzer can't open FCS data files. Most often, that is because the user misunderstands the concept. An FCS data file is not "loaded/opened" using the file menu, but placed onto an FCX document. This is similar to PowerPoint: an image file is placed onto a PowerPoint slide, but not opened/loaded using the PowerPoint file menu. Please watch the YouTube tutorial to see how it works (link further down).

How To Get Started

  1. Download the zip-file, unpack it and double-click on the JAR file. You will have to have Java installed (Version 6 or higher).
    • starting with version 0.9.21, there are two JAR files provided. The only difference between the two is the system dialog used when users open or save files:
    • "FCSalyzer.JAR" uses a dialog provided by JAVA. However, I got reports that this JAVA-internal dialog might not work on some systems (the reported system was MacOS using Japanese as system language). This JAR requires Java version 6 or higher.
    • "FCSalyzer_alternative.JAR" uses a system-provided dialog. This JAR requires Java version 7 or higher. Please see Exporting Data for an important usage difference in this version.
  2. FCSalyzer will open showing a new, empty document. You can draw plots onto it, similar to placing place holders in Powerpoint.
  3. Select one of the plot buttons in the menu bar. For example, the 5th button from the left is a dot plot.
  4. Now draw the frame of the new plot on the canvas of the document by clicking on the document without releasing the mouse button and dragging the mouse.
  5. When you release the mouse button, a dialog will open that will ask you to select a data file for the plot. Select your FCS file and the data will be shown in the plot.

More Info On How To Use FCSalyzer

More detailed information on how to use FCSalyzer is found on this wiki. You can either browse all pages (see navigation bar to the left), or start by taking a look at his page: [Usage].

There are also a number of tutorial videos on YouTube:
The FCSalyzer tutorial on Youtube

How FCSalyzer uses and stores data

FCSalyzer runs locally on the user's machine. As a JAVA program , it requires a Java Runtime Environment (JRE) and will use the JRE installed on the local machine. All activities of FCSalyzer are performed by this JRE and rely on its correct function. That's how JAVA programs work.

FCSalyzer uses only data provided directly by the user. These are the FCS data files used in the analysis, additional data that is attached to the FCS analysis, and information typed by the user into the document, such as a comment or a custom parameter name. All analysis is done according to the user's computer system setup. This means, FCS data files are accessed directly from where the user selected them (could be a local hard drive, a network drive, or any such storage location as provided by the user), the data files are not copied or transferred anywhere else.

FCSalyzer also generated new files. These are the FCX document file, if a user saves an analysis, a FCXA data file for attached data, and temporary files for calculation of statistics.

These files may contain sensitive information, depending on the analysis the user performed, the FCS data files that were used, the comments that were added, and so on. Especially, the FCX document file contains all information in a human readable xml format. For example, it stores the location of the FCS data files (so that FCSalyzer can find them again), which could be something like "c:\users\secret_user_name\secret_project_name\secret_secret.fcs". Please make sure that all of these files only contain information as permitted by your organization.

MacOS - Linux - Windows?

FCSalyzer is a JAVA program and distributes as JAR bytecode. In principle, it should run on any system that has JAVA installed (Version 6 or higher). That requirement should easily be met - the current Java version is 16, and the reference version Java 8 was released in 2014.
If Java is not installed on your system, you can find the OpenJDK versions here: https://adoptium.net/; older releases are also here: https://adoptopenjdk.net/releases.html

So FCSalyzer should run on Windows, MacOS and Linux, as long as the Java platform is installed. However, I am getting reports that FCSalyzer may have problems on MacOS.
One problem: the dialog to open files might not work properly. That is the reason for the two versions - FCSalyzer.JAR and FCSalyzer_alternative.JAR. They are identical except for using different file dialogs. Give both a try and see, which one works for you.
Second problem: it might happen that MacOS complains that it can't run the JAR file as the developer is unknown. I am currently not a registered Apple developer and the JAR file is not signed or anything like this, so MacOS is quite right. You can, however, tell MacOS to open the JAR file (and run FCSaylzer) by setting an exception: press the "control" key and click on the JAR file, select "open" in the popup-menu, and then confirm "open" a second time in the emerging dialog.

Why is FCSalyzer in "alpha" status?

This is a hobby project of a single developer. When I started with FCSalyzer, I was routinely doing flow cytometry analysis in my day job. Since then, my position has changed and now I rarely analyse flow data myself, and then I use the software provided by the company. So I can't test FCSalyzer very well. I do use several test files and perform certain analysis tests that should capture most case scenarios. nonetheless, a couple of days working on specific test data files does not reflect intense analysis necessary in research.
So there might be bugs around, some of which might actually impact the analysis results. Users are strongly advised to check that the analysis results match their expectations and their experiences in their particular analysis strategies. I keep the "alpha" badge as a symbolic reminder for this. This is also the reason why FCSalyzer will probably never reach Version 1.

License and Warranty

FCSalyzer is a freeware open source project distributed under GPLv3 license: https://www.gnu.org/licenses/gpl-3.0
Please note especially points "15. Disclaimer of Warranty", "16. Limitation of Liability", and "17. Interpretation of Sections 15 and 16"

Project Admins:

sven_mostboeck@users.sf.net


Related

Wiki: AttachParameters
Wiki: Comment
Wiki: Custom parameter descriptions
Wiki: Document
Wiki: ExportingData
Wiki: FACS data
Wiki: Statistics
Wiki: Usage