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.
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).
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
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.
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.
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.
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"
Wiki: AttachParameters
Wiki: Comment
Wiki: Custom parameter descriptions
Wiki: Document
Wiki: ExportingData
Wiki: FACS data
Wiki: Statistics
Wiki: Usage