BioLayout Express3D utilizes the technologies below to achieve its results:
- Usage of the Java platform, 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 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-Reingold [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-Reingold 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).
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).