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 described below.

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 network.

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

If the plug-in authors wish to distribute plug-ins as part of VisANT, please contact 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.