The field of molecular visualization is an important part of biology, chemistry, medical computer science and bioinformatics. Molecular visualizations can help scientists to gain a better understanding of underlying mechanisms of molecular structures, even for large sets of data. With this thesis, we aim at bringing molecular visualizations to the browser. In order to achieve this goal, this thesis introduces a new online visualization tool for the web-based molecular structure analysis system ballaxy. Ballaxy is a customized version of the popular molecular data analysis and workflow system Galaxy and relies on the Biochemical Algorithms Library (BALL) framework. This framework provides molecular modeling functionality for structural bioinformatics.
This new ballaxy tool equips scientists with a small and handy application to visualize molecular structures directly in the browser without forcing them to use any additional tools or browser plugins. It makes use of the HTML extension XML3D to render molecular visualizations in the browser and optimizes the already existing XML3D export feature available in BALL and its accompanied molecular visualization tool BALLView.
The implementation of this optimization exploits XML3D features, which have been added to the XML3D library only recently. It removes many redundancies in the resulting documents and adds new features, like animations or additional information about the visualized molecules.
This thesis provides an initial implementation of the tool mentioned above and also extends BALLView with all newly developed features. Furthermore, it proofs that the newly introduced optimizations of the XML3D renderer have a significant positive impact on the browser rendering performance and the general usability of this solution.
Our approach shows that native 3D visualizations of molecular structures in the browser are a feasible option for displaying and analyzing molecular structures. The solutions developed for this thesis can already be used by scientists for their everyday work.
Table of Contents
1 Introduction
1.1 Motivation
1.2 Related Work
1.3 Goals of this work
2 Materials & Methods
2.1 Materials
2.1.1 BALL
2.1.2 BALLView
2.1.3 Galaxy
2.1.4 ballaxy
2.1.5 XML3D
2.2 Methods
2.2.1 Challenges
2.2.2 Integration of the XML3D visualization into ballaxy
2.2.3 Improvements to the already existing XML3D visualization
2.2.4 Integration of animations into the XML3D visualization
2.2.5 Enhancing the export dialogue of BALLView
2.2.6 Simplifications to the process of setting up a ballaxy instance
3 Implementation
3.1 Creation of an XML3D export tool for ballaxy
3.1.1 The XML3D export tool
3.1.2 The XML3D renderer
3.2 Improvements to the existing XML3D renderer
3.2.1 History of XML3D visualizations
3.2.2 Removing redundant shader nodes
3.2.3 XML3D Performance Features
3.2.4 Illumination issues
3.2.5 Different quality levels for XML3D templates
3.3 Implementation of animations into the XML3D visualization
3.3.1 Spin
3.3.2 Rock&Roll
3.3.3 Reset
3.4 Changes made to the BALLView GUI
3.4.1 The advanced layout
3.4.2 External Resources
3.4.3 Legacy Camera
3.4.4 Changing the background color
3.5 Creation of a script to simplify setting up ballaxy instances
4 Results
4.1 Testing the implementation
4.2 Comparison of different XML3D visualization versions
4.2.1 Test configuration
4.2.2 Analyzed molecular models
4.2.3 Impact of different XML3D visualization versions on document size and DOM node count
4.2.4 Impact of different XML3D visualization versions on the rendering times
5 Discussion & Outlook
5.1 Discussion
5.1.1 Document file size
5.1.2 DOM node count
5.1.3 Rendering times
5.2 Summary
5.2.1 Integrating the XML3D visualization of BALLView into ballaxy
5.2.2 Optimizing the XML3D visualization to ensure a faster rendering process
5.2.3 Give the user the possibility to use animations
5.2.4 Enhancing the XML3D visualization export dialogue of BALLView
5.2.5 Simplifying the process of setting up a ballaxy instance
5.3 Outlook
5.3.1 Deep integration of the XML3D visualization
5.3.2 Integration of the XML3D visualization into the RCSB website
5.3.3 Using JSON instead of XML for external resources
5.3.4 Increasing the performance of the XML3D renderer further
5.3.5 Including semantics into the molecular visualizations
Research Objectives and Key Topics
This thesis explores browser-based molecular structure visualization, aiming to bring high-quality, plugin-free 3D rendering to the ballaxy platform. By integrating the XML3D export functionality from BALLView into ballaxy, the research focuses on optimizing rendering performance, reducing browser load, and enhancing usability for both novice and expert scientists in structural bioinformatics.
- Integration of native 3D molecular visualization into the web-based Galaxy/ballaxy framework.
- Performance optimization through technical refinements like redundant shader removal, CSS transformations, and external resource handling.
- Implementation of interactive animations (Spin, Rock&Roll) to improve spatial understanding.
- Enhancement of user interface controls within BALLView for more flexible and presentational export options.
- Simplification of the ballaxy environment setup via automated Python scripting.
Book Excerpt
External Resources
By using external resources it is possible to outsource certain content such as mesh data or shaders from the original XHTML page into an external file. The file format for this external file should either be XML [36] or JSON [37]. This is particularly useful for larger mesh data because it does not have to be stored in the original file any more. Only the references to the external data have to remain in the original document. Appendix C - XML3D External Resources explains this feature in detail.
Since the release of version 4.5, XML3D provides even more built-in performance features, like Frustum Culling and Paging [38]. However, this version was released while this thesis was still being written and thus only implicit new features, which do not have to be invoked by any additional parameters or function calls, are used in our implementation. Features of XML3D version 4.5 and above, which have to be invoked explicitly, are not being considered.
Furthermore, many other performance enhancing features are currently in development at the time of writing. Subsection 5.3.4 will give a short overview of additional approaches, even though some of them have not yet been integrated into an XML3D release.
Summary of Chapters
1 Introduction: Provides the research motivation, outlines the goals of the thesis, and introduces the context of browser-based molecular visualization.
2 Materials & Methods: Details the core technologies used—BALL, BALLView, Galaxy, ballaxy, and XML3D—and defines the technical challenges addressed by the project.
3 Implementation: Describes the design and development of the new XML3D export tool, including performance improvements to the renderer and GUI modifications.
4 Results: Presents an extensive empirical analysis of the optimized implementations across different browsers and molecular models, comparing document sizes and rendering times.
5 Discussion & Outlook: Interprets the experimental results, summarizes the achievements regarding the project goals, and suggests future improvements like deeper integrations and further performance tuning.
Keywords
Molecular Visualization, XML3D, BALLView, ballaxy, Galaxy, Bioinformatics, Web Technologies, Performance Optimization, Rendering, 3D Graphics, Structural Bioinformatics, DOM Nodes, CSS Transformations, External Resources, Shaders
Frequently Asked Questions
What is the primary objective of this thesis?
The primary objective is to integrate the XML3D molecular visualization capabilities of BALLView into the web-based ballaxy framework, enabling seamless, plugin-free 3D structure analysis in the browser.
Which key areas are covered by the research?
The research covers the optimization of 3D rendering performance, integration of animation controls, UI improvements for scientific workflows, and the simplification of the ballaxy system deployment.
What is the research question addressed?
The study addresses whether native browser-based 3D visualization using XML3D can provide a performant, high-quality, and easy-to-use alternative to plugin-reliant tools for molecular structure analysis.
What scientific methods were employed?
The work utilizes a combination of software architecture design, integration of existing C++ libraries, DOM tree optimization techniques, and benchmarking of rendering performance across different browser engines (Firefox and Chromium).
What does the main part of the thesis examine?
The main part examines the implementation of an XML3D export tool, performance optimizations such as removing redundant nodes and using CSS inline transformations, and the comparative analysis of these changes on different molecular structures.
Which keywords characterize this work?
Key terms include Molecular Visualization, XML3D, BALLView, ballaxy, Bioinformatics, Performance Optimization, and Web-based 3D Graphics.
How does this work handle performance issues for large molecular data?
The work implements features like "external resources" to outsource mesh data, effectively shrinking the original DOM tree and reducing memory load, which is critical for larger PDB structures.
What role do the newly developed animations play?
Animations like "Spin" and "Rock&Roll" provide users with a better impression of spatial depth and molecular volume, overcoming the limitations of static 2D snapshots.
Why is the "ballaxy" framework significant to this research?
Ballaxy is a customized version of Galaxy, providing an integrated workflow solution that allows biologists to conduct structural analyses without switching software environments, making the tool highly accessible.
What is the benefit of the provided Python setup script?
The script automates the complex, time-consuming process of setting up a local ballaxy instance, lowering the barrier for inexperienced users to utilize the system.
- Citation du texte
- Lukas Brausch (Auteur), 2014, XML3D based Molecular Structure Visualization using BALLView and Ballaxy, Munich, GRIN Verlag, https://www.grin.com/document/340129