Tech Description
BioLayout Express3D utilizes the technologies below to achieve its results:
- Usage of the Java 1.6 language, ANSI C99, C++11, the OpenCL C language and the OpenGL Shader language (GLSL) for the code framework implementation, providing OS-independent, multi-platform compatibility.
- Java 1.6 Generics and Iterator compliant code for advanced data structure and graph handling.
- Advanced Object Oriented Programming (OOP) code is being used for graph modelling and processing, the Graphic User Interface (GUI) and keyboard/mouse event handling.
- Modified Fruchterman-Rheingold [1,2] layout algorithm for 2D / 3D graph positioning and display.
- A heavily optimized C-based Markov Clustering (MCL) algorithm for graph clustering (micans.org/mcl).
- Fast native OpenGL / GLSL 2D / 3D rendering engines using the JOGL Sun API (please refer to the License section of the BioLayout Express3D web site).
- Extensive parallelization support: N-Core Parallelism and GPU Computing (through OpenCL using the JOCL API) for the Fruchterman-Rheingold layout and Expression Correlation algorithms, N-Core Parallelism for the MCL and SPN algorithms.
- Native ANSI C99 / C++11 library support for faster code execution of heavy-duty algorithms.
- Apache Xerces SAX XML parser for GraphML/XML datasets file parsing.
- MacOSX installer support for the Leopard/Snow Leopard/Lion versions of the MacOSX platform.
- The scripting NSIS library provides installer support for the Windows platform with the added advantage of including the JRE in the package, making installing/uninstalling/running the application a seamless process to the end user (nsis.sourceforge.net).
- Native installer compilations for the Windows platform through the Excelsior JET native code compiler (http://www.excelsiorjet.com).
Supported File Types in BioLayout Express3D (please visit the Input Formats section for more details):
- Unweighted, weighted and edge annotation pairwise relationships constructed by the user (.layout, .tgf & .txt file extensions).
- Layout & Sif files - graphs of expression or other data previously laid out and saved from within the application (.layout & .sif file extensions).
- Reactome files (.owl file extension).
- Expression files (.expression file extension).
- Matrix files (.matrix file extension).
- yEd GraphML files (.graphml file extension).
- mEPN (modified Edinburgh Pathway Notation scheme) (.mepn file extension).
- Ondex xml files (.xml file extension).
1. Fruchterman, T.M. & Rheingold, E.M. Graph drawing by force directed placement. Softw. Exp. Pract. 21, 1129-1164 (1991).
2. Enright AJ, Ouzounis CA. BioLayout-an automatic graph layout algorithm for similarity visualization. Bioinformatics. 2001;17(9):853-4.