Forum 01/14/2003

“COMPONENT-BASED SOFTWARE DEVELOPMENT, APPLICATIONS TO STRUCTURAL MOLECULAR BIOLOGY”

Michel Sanner, Assistant Professor – Molecular Biology Department, The Scripps Research Institute, La Jolla, CA

Several years ago we have adopted the Python programming language as the development platform for our software needs at the Molecular Graphics Laboratory (MGL) of the Scripps Research institute. We have developed software components that deal with different aspects of structural biology, including: MolKit, for the computational representation and manipulation of  acromolecules, DejaVu, for the visualization of three dimensional geometry, mslib, for molecular surfaces calculations etc. These components have been assembled to rapidly develop applications such as the Python Molecule Viewer (PMV) and ADT a graphical user interface to our automated docking code AutoDock. The uniqueness of these tools comes from their component-based architecture as well as from their features. We will describe our general software development philosophy as well as specific components such as MolKit, DejaVu and ViewerFramework which are key components of PMV. We will also give a live demonstration of PMV to illustrate its main concepts and features.

In addition, we will present our latest addition to our set of components: the NetworkEditor. This component enables the graphical representation of entities (as nodes) and relationships between these entities (as connections). We will demonstrate ViPEr a visual programming environment which was developed using the NetworkEditor. ViPEr enables a user to drag-and-drop computational nodes onto a canvas and connect them to create a computational network. A live demonstration of this program will enable us to demonstrate many of ViPEr’s design concepts and the high level of code re-use that we were able to achieve.

We will conclude by discussing the pros and cons of using Python for implementing our strategy for software development.