Applications of networks to new biological problems will require a larger
set of functions than VisANT currently provides. We have therefore
engineered VisANT with an open plug-in architecture for extending its
software to meet the future requirements of network biology. Plug-ins can be
developed that access all of the software layers of VisANT: the network data
model, server-side database connectivity, and network visualization.
VisANT is an enterprise system featuring three tiers, as shown in the
figure at right. The front (the one that the users generally see),
middle and database tiers all use a standard design method, MVC
(Model-View-Control). VisANT plug-ins control the VisANT objects,
Data Model and Network View through the “Plug-in Manager”. Please
refer to VisANT Plug-in API for specific
information. The procedure for developing a VisANT plug-in, is
The figure at right is
a simplified UML (Universal modeling language) class diagram of the
data model used in VisANT. A VisANT network is controlled by the the
software module called VisMainPanel, which holds everything related
to the network, most importantly, the nodes and edges of the
In VisANT, the bio-objects (nodes) are represented by DataPoint, which hold
bio-object descriptors, such as the name, alias, and ids. DataPoint
objects also hold the Linkage object which represents the
interaction/association of the bio-objects. NetNode is the visual
representation of DataPoint while VEdge is the visual representation
of Linkage; both hold the visual properties of corresponding
objects. The separation of visual properties from the real
properties of the bio-objects enables each bio-object to have
multiple visual representations. It should be noticed that the
VisANT system is specifically designed for bio-networks, although in
most cases it can also be used with other types of networks.
This tutorial explains how to write, load and use a VisANT plug-in. You must download
VisANT and run it locally to use/develop the plug-ins. You will also
want to check out the VisANT core API documentation.
Installation & Getting Started
Download VisAnt.jar and put it in a
directory, say visant. Under
directory visant, create a sub-directory named plugins.
When VisANT starts as a local application, it will always check out
all .jar files in the plugins directory and try to load all
available plug-ins. This is the convenient way for most VisANT users
to install plug-ins. Of course the plug-ins can also be put in any
directory and VisANT has provided a menu named Load Plugin
from a Jar File under the Plugins menu in VisANT menubar, which allows the user to load plug-ins from
a jar file located in other places.
The VisANTAbstractPlugin class
The VisANTAbstractPlugin is an abstract class that serves as the
starting point for any VisANT plug-in, and all plug-ins must have at
least one class extended from this abstract class. The abstract
class defines a default constructor with no parameters. It also
provides an about function to let the developer introduce the
functionalities of the plug-in and several other methods to create a
standard menu in VisANT. VisANT will call the constructor to
instantiate the plug-in.
In general, we suggest that developers create a menu and add it to
VisANT, and overwrite the about function so the user will understand
what the plug-in for. If the about function is implemented, VisANT
will automatically create an About menu if there is a menu
associated with the plug-in. For your reference, the source code of
VisANTAbstractPlugin is provided.
Given this brief
introduction, let's start the tutorials:
Tutorial of Hello World Plug-in;
Tutorials of Network Randomization Plug-in;
Tutorials of Network Construction Plug-in;
Tutorial to use Eclipse for plugin development
Although VisANT is free for all no-profit users, plug-ins are
separate works which use VisANT as a Java code library. Plug-ins are
therefore governed by independent software licenses distributed with
and specific to each plug-in.
The authors of plug-ins can distribute VisANT with their plug-ins for
no-profit purpose. If the VisANT needs to be distributed for
commercial purpose, please contact
plug-in authors wish to distribute plug-ins as part of VisANT,
VisANT@zlab.bu.edu. However, we can only distribute those
plug-ins that do not require large external libraries with VisANT
default package. This is because VisANT is mainly distributed as
Java Applet, therefore it is very important to keep VisANT compact.
Those plug-ins that can not be distributed with VisANT default
packages will be listed in this page. VisANT users can then download
them and plug into VisANT local applications.