VEGA - A FLEXIBLE ENVIRONMENT TO DEVELOP BIOINFORMATICS APPLICATIONS: THE PLUG-IN ARCHITECTURE AND THE SCRIPTING LANGUAGE.

A. Pedretti,  L. Villa,  G. Vistoli

Università degli Studi di Milano Istituto di Chimica Farmaceutica e Tossicologica - Milan University
Viale Abruzzi, 42 - I-20131 Milano (Italy)

 

spc_4x4.gif (45 byte)
1. Introduction
spc_2x2.gif (43 byte)
grd_2.gif (669 byte)
spc_2x2.gif (43 byte)
grd_3.gif (736 byte)

One of the main quests in the post-genomic era is to have access to powerful tools able to analyze protein structures (and, more generally, molecular models) obtained from computational techniques or experimentally resolved. Furthermore several researchers require customizable applications, in which they can add specific features designed for particular purposes. Moreover object-oriented programming supports a new approach to software engineering, in which open applications can be largely constructed, using "frameworks" of plug-compatible software components (1).

VEGA main window
VEGA console window

On this basis and starting from the 1.4.2 Windows release, our VEGA molecular modeling toolkit (2) (3)  includes a powerful plug-in system in order to expand the standard features, without changing the main source code. All users can enhance the VEGA capabilities, using their preferred programming language and the VEGA plug-in Development Kit (SDK)

Although object-oriented technologies are gradually being recognized as a pivotal cornerstone for application development, the use of script programming may be considered as a less labor-intensive way to modify or expand existing applications. Rather than expending your creativity to develop entire applications, you should invest more effort into the customization of standard components, interfaces and tools. On this ground, we propose the application scripting as a binding technology for component oriented languages: a script links a set of software components, that will collaborate to solve a specific problem. We must set a scripting language, which defines a set of standard interfaces for the components and specifies, which components are usable and how the binding can be achieved (4). You must consider the scripts as purely syntactic entities. Indeed it is not necessary to know how the components work, but only how they can be linked together, that is, the component ports. Any component will have input ports (i.e. the required data) and output ports (i.e. the produced results or services) and you must correctly combine the ports of the selected components to create a new script. VEGA allows to  write scripts, using the REBOL language (5), accepting scripts via a TCP/IP network protocol.


2. Plug-in Software Development Kit (SDK)  Next page