RCSB Viewers:Projects Overview
The RCSB MBT Lib and Structure Viewers comprise a body of code that allows the programmer to build tools and viewers for the analyses and viewing of protein structures. Projects may be divided into two basic categories:
- Support libraries and frameworks
- Viewer applications
A further overview of these divisions follows.
Support Libraries and Frameworks
These projects provide the underpinnings for creating applications.
- 3rd Party Libs
These are external support jars (that are not included in the standard JRE distribution)
the rest of the framework relies on. Key jar subsystems are:
- JOGL - Java Open GL implementation.
- JAI - Java Advanced Imaging implementation.
In addition to the jars, the JOGL implementation requires JNI native libraries for each targed platform, the locations of which must be specified in execution directives.
- RCSB MBT Lib
This is the Molecular Biology Toolkit, a framework and structure specification that provides
the foundation for creating and accessing structure models.
- The framework can provide the foundation for viewers (as it currently does), but parts of it may be used to construct non-viewer/non- or limited- UI applications, or even command-line or out-of-process analysis utilities.
- RCSB UIApp Framework
- The UIApp Frameworkprovides low-level base classes for application creation and basic UI services (mainframe, menu, file open dialog, etc.)
- RCSB Viewers Framework
- The Viewers Framework builds on the UIApp Framework to provide 3d graphics support. All of the 3d viewers are built on this framework.
These are the actual implementing applications, currently consisting of the suite of 3d structure viewers:
- RCSB Simple Viewer
A viewer that takes up the entire mainframe (window), without any additional panels or other control
mechanism. It simply displays the structure.
- A rudimentary menu is provided to open other structures, and a status bar is provided in the mainframe to echo the results of component hovers or other status information.
- RCSB Protein Workshop
- A viewer that provides a control panel, allowing view modifications such as rendering styles, colors, visibility, etc.
- RCSB Ligand Explorer
- Displays a structure and ligand combination, in the same space. Various tools are provided in a control panel to explore relationships between the ligand and associated structure.
- RCSB PDB Kiosk
- A unique 'outreach' viewer that displays a number of structures in sequence, animating between different aspects of views. A kind of 'moving slideshow' presentation.
The MBT was created in 1998, using Java 1.0 constructs. Since then, there have been many improvements in the language in terms of performance, type-safety, and syntax. Furthermore, the OpenGL implementation is based on the 1.0 standard. Similar improvements have occured in the OpenGL implementation, as well.
As a result, this version (undertaken in 2008), represents a large effort to re-architect the MBT and Viewers (which had diverged considerably in implementation), with an eye to a more maintainable condition, and one that more cleanly follows known architectural constructions.
There has also been a considerable effort to upgrade many of the constructs to minimally the JRE 1.5 specification, especially as regards type-safety in constructs.There has been no intent to address or upgrade OpenGL usage in this version.