News
Version 2.2 of BioLayout Express3D has been released. The Version 2.2 release has many New and Improved Features over Version 2.1.
- Two new Model Shape Editors (Lathe3D & SuperQuadric) and a 3D OBJ Model Loader thereby massively increasing the palette of 3D shapes available to the user in a CAD-like fashion.
- New parser implementation converting the diagrams drawn in the mEPN pathway notation scheme and saved as .graphml files (as supported by yEd) into the updated mEPN-3D Scheme Version 2.0.
- Support for 2D/3D polyline rendering for graphml/mEPN diagrams.
- Support for visualisation of Compartment Containers for mEPN diagrams.
- Implementation of Anaglyph Stereoscopic Viewing.
- Official support for OpenCL 1.1 through the latest release of JOCL.
- Usage of C++11 native language for the very fast SuperQuadric ModelShape implemenation.
- More GUI updates and critical bugfixes for all supported platforms (please read note below for MacOSX).
A more detailed What's New for Version 2.2 guide is provided here.
Please note that for Version 2.2 all Advanced GLSL shaders are fully supported for MacOSX 10.7 (Lion) platforms. With older versions of MacOSX, they are disabled for compatibility reasons. This is mainly due to some OpenGL/GLSL driver issues with the older MacOSX platform versions. On the other hand, OpenCL GPU Computing is fully supported on all versions of the MacOSX platform. For all other platforms the Advanced GLSL shaders are enabled by default and are providing much better performance & visualization results with latest GPU hardware.
Version 2.1 of BioLayout Express3D has been released. The Version 2.1 release has many New and Improved Features over Version 2.0:
- A truly merged OpenGL 2D/3D renderer with a very efficient memory consumption model and fast allocations/de-allocations during renderer mode switch.
- A very flexible multi-core 2D/3D animator with machine adaptable auto-frameskipping support.
- Amimation viewing support for expression profile data, in a similar spirit of the SPN Simulation animation viewer.
- Support for generic repositories for datasets fetching. This is a much more flexible way to support the WebStart BioLayout technology service with other web sites & servers. See www.macrophages.com & www.oncograph.org for further information and BioLayout application usages.
- Many additions of new UI features: The 'Java Platform Caps' in Help, the 'Customize Node Names' in View and the 'Choose Classes To Render Plot Images From' in the Class Viewer to mention just some of them.
Please note that for Version 2.1 all Advanced GLSL shaders are still temporarily disabled for MacOSX platforms. This is mainly due to some OpenGL driver issues with the Mac platforms which is scheduled to be remedied from Apple with a new OS update very soon (scheduled OpenGL 3.2 support for latest MacOSX codename 'Lion'). On the other hand, OpenCL GPU Computing is fully supported on the MacOSX platform. For all other platforms the Advanced GLSL shaders are enabled by default and are providing much better performance & visualization results with latest GPU hardware.
Version 2.0 of BioLayout Express3D has been released. Version 2.0 includes further improvements over the Pre-Release version that was made public in December last year. The Version 2.0 release has critical many New and Improved Features over Update 8:
- Official 64bit support through WebStart for all supported platforms which includes the visualization & the CPU (N-CP) & GPU (OpenCL) parallel computation components. 64bit support is now also supported through the ANSI C99 native libraries.
- Full re-design of the GUI with 3 new toolbars (the General, the Navigation & the Graph Properties toolbars) with a CAD-style look-and-feel.
- Further extendind the Signaling Petri Net (SPN) Flow Simulation support for mEPN pathways (support documentation to be written soon).
- General multi-OS & multi-vendor compatible GPU Computing OpenCL framework added with advanced OpenCL implementations for the Correlation Calculation & the Fruchterman & Rheingold layout algorithms with an order of magnitute speed-ups on modern GPU hardware.
- Further memory optimisations for the Fruchterman & Rheingold layout algorithm that now needs 1/2 the memory usage for both CPU (N-CP) & GPU (OpenCL) parallel computations.
- Major re-write of the BioLayout Express3D manual.
- More GUI updates and critical bugfixes for all supported platforms since Update 8.
Again, please note that for Version 2.0 all Advanced GLSL shaders are temporarily disabled for MacOSX platforms. This is mainly due to some OpenGL driver issues with the Mac platforms which is scheduled to be remedied from Apple with a new OS update very soon (scheduled OpenGL 3.0+ support for latest MacOSX codename 'Lion'). On the other hand, OpenCL GPU Computing is fully supported on the MacOSX platform.
Version 2.0 Pre-Reseale of BioLayout Express3D has been released. This Pre-Release is made public now in preperation of the imminent formal Version 2.0 that will also include a new BioLayout Express3D website early next year. The Version 2.0 Pre-Release is considered to be a stable release.
And of course the usual bug fixes and many code optimisations along with other GUI smaller feature updates! Please note that for Version 2.0 Pre-Release all Advanced GLSL shaders are temporarily disabled for MacOSX platforms. This is mainly due to some OpenGL driver issues with the Mac platforms which is scheduled to be remedied from Apple with a new OS update very soon (scheduled OpenGL 3.0+ support for latest MacOSX codename 'Lion'). On the other hand, OpenCL GPU Computing is fully supported on the MacOSX platform.
Update 8 of BioLayout Express3D has been released with 6 New and Improved Features:
- Corrected regional decimal metric support for all continental Europe regions.
- Addition of a Navigation Wizard at application startup that will help news users quickly get acquainted with navigating 2D & 3D graphs.
- Further developments on the mEPN / graphml graph support: the 2D / 3D renderers are now 100% faithful to the original yEd coordinates, saving & re-loading to-from a mEPN-derived layout file is also perfected and the mEPN notation scheme is fully supported.
- Further memory optimisations for rendering edges: saves crucial system memory when loading very large graphs with millions of edges, making much easier to reach the current upper limit with 30k nodes & 3m edges with older 32bit systems and 3Gb of RAM.
- More OpenGL/GLSL shading options available for 3D nodes (all of them using GPU Computing).
- Preliminarily Signaling Petri Net (SPN) Flow Simulation support utilising the N-Core Parallelism Design Methodology and GPU Computing (still Work In Progress).
And of course the usual bug fixes and many code optimisations! Please note that for Update 8 all Advanced GLSL shaders and GPU Computing functionality are temporarily disabled for MacOSX platforms, the application defaults automatically to CPU processing. This is mainly due to some OpenGL driver issues with the Mac platforms which is scheduled to be remedied from Apple with a new OS update very soon (scheduled OpenGL 3.0 support for MacOSX).
Update 7 of BioLayout Express3D has been released with 10 New and Improved Features:
- Full support for the modified Edinburgh Pathway Notation (mEPN) allowing .graphml or .mepn files to be imported and viewed. The 2D notation scheme is now automatically converted to a 3D scheme as well (see the 'DataSets' section of the website for examples).
- N-Core Parallelism support for the calculations of the Statistical Expression Correlations, Graph Layout and MCL algorithms giving 2-10x speed up (depending on number of cores available) of these functions. They are presented as options in 'Graph Properties' -> 'General', 'Layout' and 'MCL'. Heavy duty algorithms also have a fast C library side on certain platforms (they come built-in in the jar). They include the Layout algorithm, Graph Layout, ImageSFXs and TextureSFXs.
- New OpenGL / GLSL shading options for 3D nodes. Under the 'Graph Properties' -> 'Rendering' tab, a number of advanced shaders have been implemented largely providing some cool new effects e.g. Projection Shadows, Environment Mapping, AntiAlias Shading, Animated Perlin Noise, Old LCD Style Transparency, Advanced Shading Effects, etc. (more in the manual). One thing that has also been added is an 'Advanced Keyboard Rendering Control' which enables the keyboard renderer control buttons (default off).
- The Class Viewer now updated to support the following functions: 1.'Find By Multiple Classes' button (also available through the 'View' menu item), allows user to view the profile and content of multiple classes e.g. multiple clusters, 2. 'Deselect All' button below the table added allowing deselection of all in list then selection of all in list and subsequent selection of specific genes of interest, 3. 'Axes Legend' in the plot, the plot image creator also renders the current Class name on top of it.
- The Import/Export functionality is fully debugged, optimized, upgraded and tested (Update 6 had a buggy version). This supports export of classes from one graph to another e.g. overlay of clusters from experiment 1 onto graph of experiment 2.
- The 'Edit'->'Delete Unselected' option is available, maintaining consistency with 'View'->'Hide Unselected' function. Another new option is available for rendering very large graphs, 'Disable Node Rendering' under 'Graph Properties' -> General' tab. Saves memory used in rendering nodes and allows user to view graph structure (can be used instead of 'Disable Edge Rendering').
- Save correlations file as text file 'Write All Correlation Data To Text File'.
- New 'Help' menu items: 'OpenGL Driver Caps', which reports the underlying graphics hardware capabilities and 'Check For Updates' which does what it says via a connection to our web server.
- 'File'->'Exit' dialog gives an option to the user to 'Save Preferences' (save application settings) prior to closing program (if they have been detected to have been changed). No need to remember to do this manually any more!
- User Graphml View Node Depth Positioning for graphml / mEPN pathways.
And of course the usual bug fixes and many code optimisations!
Update 7 of BioLayout Express3D has reached our final beta testing cycle and is pending release towards the end of the month. During the Update 7 application development cycle, our team has passed many crucial milestones:
- Advanced Shader support through OpenGL's GLSL (OpenGL Shader Language), effectively upgrading the 2D & 3D visualisation engines to current professional visualisation industry standards, achieving an up to 3x better performance & greatly improving rendering quality through the GLSL Advanced Shader support.
- An N-Core parallelisation algorithm was implemented for crucial BioLayout Express3D algorithms (OrganicLayout, MCL & others), fully utilising the current multicore CPUs and effectively giving an unlimited N-Core parallelization scalability potential.
- C-based dynamic libraries were developed for certain platforms providing further speed-ups and less memory usage for crucial algorithms (OrganicLayout, ImageSFXs & TextureSFXs). They are an integral part of the main code base & distribution jar file.
- Preliminary Ondex xml file support with the kind help of Jan Taubert, current Ondex contributor.
- The graphml parsing process was largely updated, now providing full support for the mEPN (modified Edinburgh Pathway Notation) Scheme. The mEPN Scheme is now part of our current Pathway Modelling system for BioLayout Express3D, providing a bridge of communication between our existing MicroArray Expression Analysis support already found in the tool, and the new mEPN Pathway Modelling system through our recently implemented Import/Export facilities.
More information about the Advanced Shader & N-Core parallelisation support can be found in our previous news post below.
A major breakthrough has been achieved the last month with the upcoming Update 7 of BioLayout Express3D: Our team have managed to utilise the latest parallelisation technologies in CPUs and GPUs for both our high-end algorithms and visualisation technologies. In particular, during our Research & Development (R&D) invested time we managed the three major achievements below:
- Implemented and integrated Advanced Shader support through OpenGL's GLSL (OpenGL Shader Language), effectively upgrading the 2D & 3D visualisation engines to current professional visualisation industry standards. With this technology, our visualisation engines can fully utilise the current generation of graphics cards using their massive parallel microcores (a current graphics card can consist of 16 up to to 600 microcores). We achieved an up to 3x better performance, also greatly improving rendering quality through the GLSL Advanced Shader support. As a consequence, this will be giving a much better and interactive feeling to the end user of the application for large scale graphs.
- The Fruchterman-Rheingold layout algorithm has been fully rewritten so as to use only 25% of its original memory usage and a total of 45% speed-up for one core usage using very advanced Java & C/JNI data structure techniques. We also implemented an N-Core parallelisation algorithm executing on current Intel CPUs and with the ability to scale up to any available number of cores. With our team's Quad Core Intel machines we saw more than a 3x speed-up, and our preliminary results show that our parallelisation algorithmic structure can be scaled even more on 8-core or even 16-core workstations.
- The MCL algorithm is now also utilising an N-Core parallelisation algorithm which showed a combined 3x speed-up on Quad Core Intel machines.
There are plans to continue investigating GPU execution of generic algorithms through CUDA/OpenCL which, according to literature, could provide very promising speed-ups of an order of magnitude. All the above will be publicly available with the upcoming Update 7 of BioLayout Express3D, scheduled for an after-summer release.
Update 6 of BioLayout Express3D is released.
This release represents a major optimization update of the previous update with a lot of pre-existing features being heavily optimized and speeded-up. It also introduces the user to many new ones:
- Heavy memory & and data structure handling optimizations also avoiding memory redundancies. As a result, many features are much quicker to process (certain features achieved a 100x times speed-up!) and the memory usage & consumption is better. Graphs are now parsed and loaded quicker as well. This gives an more comfortable overall user experience when handling big graphs.
- The Fruchterman-Rheingold layout algorithm has been optimized to be 20% quicker in processing and use less memory for the resulting network.
- A true multi core animation framework was implemented for both the 2D & 3D renderers using parallelism (available only if underlying platform has a multi-core CPU). It gives an up to 2x speed-up in rendering complex animation (see screensaver in 2D mode). There are plans for future updates to use the animation framework for visualizing graphs in 4D using time/flow as a visual clue.
- The collapse/uncollapse processes have been heavily optimized. The 'Collapse Nodes By Class' achieved a 2x speed-up, the 'Complex Grouping' a 10x times speed-up. These also are less memory intensive, run in their own threads and all of them provide feedback to the user while being processed through a progress bar.
- Class-centered view of expression graph has been implemented. See the Gallery section of the BioLayout Express3D web site for the March Network of the Month picture.
- A new options saving method was implemented which saves all options to a config in the directory of the application. Thus we effectively avoid using the host OS's method for saving options, which produced problems with managed systems in the past. Now the options can be successfully saved in the config file on any protected managed system without a problem.
- Used much higher resolution shape textures for the 2D renderer making the nodes look much better when zoomed. Also heavily optimized the 'Render High Res Image To File As...' feature to process faster & use less memory. Now high res screenshots can be created up to 20x for both the 2D & 3D renderers.
- A GUI option is available in the WebStart version so as to clear the 'Online Graphs Cache' in the Graph Properties. For the desktop version, a new feature called 'Check For Updates' under Help provides information to the user for the availability of newer version of the application.
- An Import/Export GUI feature was implemented that imports/exports Class Sets from expression/layout files. They can be imported to other instances of expression/layout files, or even ones created from different expression files.
- Finally, the Class Viewer was also heavily optimized so as to use quick sorting methods & visual clues for its tables, mouse highlight mechanisms and columns legends. Selection/deselection of nodes through its GUI tables is quicker, a new 'Axes Legend' feature is available for the expression plot and the 'Choose Columns To Hide' dialog now includes a 'Deselect/Select All' GUI button.
Update 5 of BioLayout Express3D is released.
This release represents a major update of the application with a lot of new developments in the core OpenGL visualisation engines and the implementation of new features to the application's interface. These developments are already enabling new research applications for the tool in our work:
- The core parts of the 2D & 3D renderers have been rewritten so as to accommodate OpenGL object & texture caching in Video RAM (VRAM) and much faster graph initialisation times (along with even more quality & optimisation updates). Thus, usage of Video RAM is way lower now, also effectively lowering the hardware requirements for the graphics hardware.
- The loading of graphs 2x-3x times bigger is now practically possible. The size of graphs (graph size) is now mostly limited to main system RAM instead of the much more limited (and costly) VRAM. The rule of thumb is that the more RAM you have installed on your system and the better your graphics card, the bigger graphs you can load and visualise. With our off-the-shelf systems we have currently managed to load graphs with around 30,000 nodes, 6 million edges.
- Full merger of the 2D & 3D renderers from the Java side. As a nice consequence, main RAM usage has been halved and switching between renderers is now much faster. Also, the application maintains navigation positions and node selections between the two renderer modes, making the usability of the tool even more intuitive for the end user.
- Redesign and rewrite of most of the data structure usage within the application. That proved to give extraordinary 10x-100x faster processing times for a lot of complex graph processes. Many graph features, like Node Walk, can now be performed in real-time even for very big graphs!
- Online graph download component has been implemented within the application, making it possible to deploy the tool with a particular graph using the WebStart technology. Please visit the Datasets section of the BioLayout Express3D web site to view and interact with some of the datasets that are currently online, just one click and you are off!
- Proportional edges size to weight implemented as an extra visual hint for visualising graphs with weighted edges.
- Support for matrix file (.matrix) input enables sample-to-sample correlation graphs to be plotted or indeed any other relationships that can be outputted as a matrix (Please see the Biolayout Express3D Manual for more details).
- Many other small optimisations to the GUI and codebase.
Update 4 of BioLayout Express3D is released.
This release is mainly a maintenance release fixing minor bugs but also incorporating new features:
- The 'Render Images to Files' functionalities throughout the application were updated with including an intuitive GUI dialog for selecting image formats & saving the files.
- The Expression Viewer now supports 'Render Plot Image to File' as well through an intuitive GUI dialog.
- The Class Viewer supports automatic multiple 'Render Plot Images to Files' for a whole Class Set at a time.
- The properties 'Classes' tabbed options panel was updated to include better Class Set / Class creation processes through informative GUI dialogs.
- A 'Filter Nodes By Edges' dialog was implemented as a companion to the 'Filter Edges By Weight' one.
- A new BioLayout Express3D manual has been written from scratch and fully incorporates all the features for Update 4. It will be synched with any upcoming releases from now on, reflecting newer additions. It can be downloaded from the Guide section of the BioLayout Express3D web site.
Update 3 of BioLayout Express3D is released. This release includes many new features, optimisations and bugfixes.
A short summary of the most important features is as follows:
- The Expression & Selection Viewers were completely refactored, debugged and updated.
- New tool for Expression Data Analysis: The Class Viewer, available in Tools->Class Viewer.
- The MCL algorithm has become an integral part of BioLayout Express3D. As a result, no MCL add-on package needs to be downloaded. Also, Stjin van Donger, the MCL author, has officially joined the BioLayout Express3D team.
- Optional yEd-style 2D rendering for graphml files.
- More optimisations and VRAM memory leak fixes in the 2D/3D OpenGL renderers. Also, usage of Vertex Arrays has been implemented for both renderers.
- Java 1.5 compatibility version for Mac OS X users without 10.5.2 (Leopard). Please note that in case of having Java 1.6 installed on your Mac OS X system, prefer the 1.6 release than the compatibility version one, as the 1.6 version runs 100%-150% faster.
- A very fast native compilation Windows installation package of BioLayout Express3D is now also available. It utilises the excellent Excelsior JET native code compiler and achieves a speed-up of up to 4x (400%) on certain processor-heavy functions!
Update 2 of BioLayout Express3D is released. This release again includes many critical bugfixes, optimisations and HCI/usability issues resolved as well as some important new features.
A short summary of the most important issues is as follows:
- The 'Hide/Unhide Nodes' feature is much faster, stable & bug-free now.
- OpenGL display lists are properly de/re-initiased thus avoiding erratic behaviours with large maps.
- 4x+ speed-up of the OpenGL 2D renderer. It is also much more tolerant when loading large maps.
- 2x+ speed-up of the 'Collapse Nodes by Class' feature & calculating all relevant edges properly now.
- The 'Selection Viewer' got a much needed HCI/usability update: Buttons refresh appropriately, selection is reflected from/to main graph window and it's now fully thread-safe for its 'Details'/'Details For All' features.
- Graphml support has been fully debugged & finalised: Graphml derived maps can now be clustered, their nodes renamed and saved/loaded to/from a layout file.
- All the 'Save Graph' features are given a much needed debugging & HCI/usability update. They respond to user graph selections and suggest a filename & format.
- Countless of other optimisations, crash bugs and HCI/usability fixed throughout the application.
- Mac OS X installer released, in addition to the Windows installer.
In general, Update 2 should provide a much better user experience with BioLayout Express3D. Please let us know if you happen to continue having issues with any of the available features and functionality. We look forward to hearing any of your opinions/suggestions/experience of using the application!
Many thanks to the Dr Tom Freeman group and especially Neil McDerment & Sobia Raza as well as the Fios Genomics people for their feedback and insights during the long process of testing and refining the application.
Update 1 of BioLayout Express3D site is released. This release includes critical bugfixes for this version as well as 64 bit native libraries support for 64 bit platform JVMs in one 32/64 bit universal platform version .jar package. We wish to thanks all people for the feedback we got and especially Augusto Rendon & the Fios Genomics software developers for helping us debug the Linux 64 bit JVM support!
The new BioLayout Express3D site is now online. It includes the latest release of BioLayout Express3D (Windows installer & universal platform version) and a lot of relevant information and screenshots of how to use the application. Please refer to the 'Contact' section of this site to contact the BioLayout Express3D team. We would like very much to hear your feedback!
Dr. Anton Enright receives the Wellcome Image Award for a screenshot created by BioLayout Express3D!
Biolayout Express3D paper published in PLoS Computational Biology. You can view it here.
BBSRC supports the continued development Biolayout Express3D through their Tools and Resources Development Fund (BBSRC Reference No. BB/F003722/1).