Technology Description

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).
  1. Fruchterman, T.M. & Reingold, 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.