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.