Introduction
FACEJava represents a Java reference implementation for initial versions of Gating-ML (and Compensation-ML, Transformation-ML, and FlowRDF, which are now incorporated in Gating-ML but used to be separated proposals). FACEJava is currently being updated to reflect the current ACS, Gating-ML, NetCDF, and other proposals.
Documentation on the initial version follows
All the FACEJava code is licensed under the LGPL.
FACEFlow
FACEFlow is a command-line tool which performs data analysis of FCS files using Gating-ML, Compensation-ML and Transformation-ML files. It accepts relations between FCS files and the other analysis files through either command-line arguments or in FlowRDF files. It processes the relations and outputs new FCS files for each of the final analysis results.
Usage
The following section contains the basics about how the FACEFlow application can be called. Much more info about how to use FACEFlow can be found in the FACEFlow.README.txt file included in the distributions.
With FlowRDF Files
java -jar faceflow.jar [options] path_to_rdf_files
More than one RDF file can be given and each will be processed in turn. Note that each file is considered to be totally separate and relations in different files will not be merged together.
For example,
java -jar faceflow.jar rdf/FlowRDFExample.rdf
Manually on the Command Line
java -jar faceflow.jar [options] -f path_to_fcs_file
The options are:
Only one of each of the -f, -g, -gate, -t, -c and -m options may be given.
Note that the -f, -g, -gate, -t, -c and -m options will be ignored if an RDF file is given. Extra relations cannot be manually added to those in a FlowRDF file.
For example,
java -jar faceflow.jar -f fcs/FCSExample.fcs -c comp/compensation.xml
-m matrix1 -g gating/gating.xml
Other Options
The following options apply in both cases:
Releases
All the FACEjava releases can be found in the download area on SourceForge. For each release there are binary, source and documentation distributions. The binary distribution contains the FACEFlow application, the FACEJava JAR libraries (one for each file standard), CFCS, the external libraries and the Javadoc. The source distribution contains a snapshot of the Subversion repository at the time of release. It includes everything in Subversion, i.e., the source code, test cases, external libraries, build script, etc. The documentation distribution contains a copy of the Javadoc for the release.
Archimedes MathJ
FACEJava uses the Archimedes MathJ library to evaluate MathML expressions in universal transformations (as originally included in Transformation-ML). MathJ is non-redistributable so it is not included in any of the FACEJava distrbutions. Users who wish to use universal transformations must download their own copy of MathJ if they meet its license requirements. The MathJ JAR files should be placed in the lib/mathml of the FACEJava distribution. The rest of the external libraries are included with the FACEJava distributions.
Please note that the Archimedes MathJ library seems to have disappeared from the web. It should not be needed for future versions as MathML is not used to encode data transformations anymore.
QSOpt
The QSOpt authors have granted FACEJava permission to use and redistribute QSopt as part of FACEJava. External developers using FACEJava, are allowed to include the QSopt library in their own, possibly commercial, application. However, they are not allowed to use QSopt directly. That is, the QSopt library can only be used through FACEJava. If you wish to use QSopt to solve their own linear programming issues, they must accept the QSopt license.
Subversion
All the source code for the FACEJava project is kept in the FACEJava folder in the Subversion repository on SourceForge. The setup details can be found on the SourceForge project site.
NOTE: the same note about MathJ in the Releases section applies here as well. For the source to fully compile, a copy of the MathJ library must be downloaded (if license restrictions are met) and the MathJ JARs should be put into the lib/mathml folder and they must be in the classpath.
CFCS
The current version of the CFCS library is also kept in Subversion, separate from FACEJava. CFCS was originally developed by Tree Star, Inc.
Documentation
The FACEJava Javadoc documentation can be downloaded as part of the distributions in from the download area on SourceForge.
An introduction to FACEJava is also available. It covers the basics about the different implemented file standards, project configuration issues and a high-level overview of the source code. It is current as of the FACEJava 1.0B1 release.
External Libraries
FACEFlow makes use of the following third-party libraries developed elsewhere.
Acknowledgement
Thanks our co-operating students
- Sen Li for his initial work on the FACEJava source codes.
- Eng-Liang Ch'ng for finishing the FACEJava 1.0B1 release.
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
| Last update: December 6th, 2007 |