Review & Status of Beta 2
Updated: December 2006

The Biopathways Workbench is a Java programming toolkit for manipulating pathways, including their node-and-edge structure, compounds, and experimental data. The toolkit's most visible component is the Pathway Editor, an interactive pathway viewing and editing application built using the toolkit. Data used by the workbench may be read from the LIPID MAPS database, which provides an extensive schema for pathways, compounds, attributes, classification schemes, and experimental data. Workbench data also may be read and written using KEGG and PATH format files.

[ larger ]

Pathway Editor

Pathways, compounds, and processes

The central metaphor for Workbench data is the pathway - a chemical reaction network of nodes and edges. Each node describes a compound, and each edge the interaction of two or more compounds.

Compounds are referenced by name or by standard IDs from KEGG, LIPID MAPS, and others. Database support automatically retrieves compound data, including molecular weights, protein sequences, SMILE strings, and so forth. An integrated compound classification scheme characterizes compounds as small molecules, proteins, enzymes, etc.. These are further classified hierarchically to group related compounds. Lipids, for instance, are sorted into Fatty Acyls, Glycerolipids, Saccharolipids, and so forth per the LIPID MAPS classification scheme.

Interactions, or more generically processes, reference the compounds involved, their roles in the process, and their stoichiometry. A classification scheme characterizes processes, grouping them into generic actions and those particular to signaling or metabolic pathways. Generic processes include those for association, disassociation, translocation, state changes, and so forth. Metabolic pathways may classify processes as representing phosphorylation, oxidation, glycosylation, and so on.

This combination of compound data, process descriptions, and extensive classification schemes enable a rich pathway description. All of these data are optional and can be skipped if the user desires. When present, these data provide detail, enable richer pathway visualizations, and form the basis for automatic database access to experimental data.

[ larger ]

Experimental data

The Workbench provides automatic access to the LIPID MAPS database of time course experimental data. Available data is characterized by when and where the data was collected, and with what treatments and analytes. Data may be queried from the database, browsed, listed numerically, and plotted.

[ larger ]

Create and edit pathways

The Pathway Editor provides a drawing-program-style interface for modifying existing pathways, or creating pathways from scratch. Click and drag to move nodes and edges. Drop new nodes into the pathway and draw lines to connect them into a process. Select multiple nodes and edges to move them as a block, or use cut, copy, and paste to build new pathways from fragments of existing pathways. View and edit multiple pathways in multiple windows. Double-click nodes and edges to open information windows about them. Edit node names and classify nodes and edges using pull-down menus of classification hierarchies. Keep multiple node, edge, compound, and experiment windows open at once for reference or to copy and paste data between them.

Window scroll bars pan the pathway left, right, up, and down, while buttons zoom in and out on large pathways, or tilt them into 3D. Pathways are drawn using the computer's 3D graphics acceleration hardware, so drawings are crisp and clear at any size, and interaction is smooth even with very large pathways.

[ larger ]

[ larger ]

[ larger ]

Biopathways Workbench

The Pathway Editor is built atop the Biopathways Workbench Java toolkit. The toolkit is the result of several years of work and includes over 180,000 lines of cross-platform Java code in 500+ classes. All classes are fully documented. The toolkit is designed to support a variety of interactive and batch applications, including the Pathway Editor, as well as indepent tools to search, sort, and filter the data, import and export data, access multiple databases, and so on.

Data model

The toolkit's classes include support for the LIPID MAPS database, reading and writing pathway files, and manipulating that data. The toolkit's generic infrastructure supports plug-in modules to handle additional databases, file formats, and data model features. General-purpose core classes support vocabularies and ontologies of defined terms for classification schemes, and managed lists of complex data types, from publication lists to chemical compounds. The data model provides rich support for the interconnected graph structure of pathways, and for managing experiments and their related data.

The data model of the Workbench is intentionally more generic than the LIPID MAPS database schema used to fill it. This enables the data model to adapt to other databases and file formats added through the toolkit's plugin architecture. Also, unlike the database schema, the toolkit's data model is object-oriented and designed for efficient interactive pathway management. Pathway, node, process, and compound objects are tightly connected to enable fast traversal of the pathway graph structure for quick rendering and data filtering.

The toolkit also provides a feature set beyond that currently available through the Pathway Editor. Not all features are appropriate for the editor, or for any other single application. For instance, the toolkit supports NCBI taxonomies, Gene Ontology (GO) labeling, units of measure definitions per SBML, custom compound creation, and more. If appropriate, some or all of these features may be integrated into the Pathway Editor in the future, or into other applications built atop the toolkit.

User interfaces

To enable user interfaces to be built quickly, the workbench provides classes for presenting all key data. These classes build individual components and windows to view and edit compounds, nodes, processes, and experiments. 3D graphics drawing is encapsulated within classes to manage interactive drawing areas and 3D figures. Interaction uses single and multi-button mice and mouse wheels when available. 3D drawing adapts to the abilities of the computer's graphics hardware and uses low-cost anti-aliasing techniques to smooth edges.

The data model and user interface classes are designed with large complex applications in mind. They use the classic listener design found in Java's Swing toolkit, enabling code to monitor changes in the data model and automatically update GUIs, 3D drawings, or data filters. Additional authority classes provide the control needed to manage controlled vocabularies and other protected data that normally should not be modified by user activities. All data is tagged with its source so that database-sourced data can be automatically updated as the database changes, while user-authored data is left as-is. User interfaces are dynamic and change to present data differently depending upon what it is and where it came from. Hyperlinks are available to push URLs to the user's browser of choice to present related data available at the LIPID MAPS, KEGG, or other web sites.

Adaptability

All code works equally well on Windows, Mac OSX, and Linux platforms. The Workbench automatically conforms to differing user interface conventions on these platforms that require differences in menu structure, menubar placement, window layout, and general look-and-feel. The result is a user interface that fits with the native look of the user's computer, including using the user's chosen color scheme.

The Workbench uses Java's internationalization techniques to isolate all text messages into separately loaded files that may be translated into the local language. Alternatively, new applications may use this same feature to override default text to use different user interface labels, help messages, and default data values. Similarly, all color and icon choices within the toolkit are dynamically loaded and may be overridden by the user or by custom applications.

Status

The Pathway Editor is available in beta form at the BiopathwaysWorkbench.org web site as a Java WebStart application. Clicking on a web page button loads the latest version of the editor. Help information and a brief tutorial are available on-line.

The Biopathways Workbench toolkit is available in beta form at the web site as a JAR file of workbench classes, text messages, color lists, and icons. Source code is available upon request. Documentation for all classes is available on-line.

The LIPID MAPS database is online and accessible through the Pathway Editor and Workbench. The database provides access to a large collection of standard metabolic and signaling pathways, as well as catalogs of chemical compounds and experimental data.

The workbench, editor, documentation, and database are all under constant development to add features, refine the user interface, and fix bugs. The latest version is always available at the web site.