Network Workbench (NWB) Tool v0.4.0

Release Notes

March 2nd, 2007

 

1.     General Description

The Network Workbench (NWB) tool (v0.4.0 release) is a network analysis, modeling, and visualization toolkit for biomedical, social science, and physics research. It is a standalone desktop application requiring Java 1.4+ JRE. The tool installs and runs on Windows, Linux x86, and Mac OS X (PowerPC and Intel) . 

It uses the Cyberinfrastructure Shell (CIShell) v0.4.0 to integrate various datasets and algorithms. Although CIShell is developed using Java, it can integrate algorithms developed in other programming languages such as FORTRAN, Perl, C, and C++.

2.     Downloading, Installing and Uninstalling

Download the NWB tool v0.4.0 and make sure to save the download as a jar file.

To install the NWB tool, simply double click the jar file, or run the command line java -jar nwb-installer_0.4.0.jar.

To uninstall the NWB tool, run Uninstall NWB from your operating system program menu or run uninstaller.jar (in NWB Install Directory/Uninstaller).

3.      What’s New

3.1.   Now Working Completely on Mac OS X PowerPC and Intel. To make sure that all visualization algorithms using AWT or Swing work properly, NWB requires Java for Mac OS X 10.4, Release 5. Please go to the Apple website (http://docs.info.apple.com/article.html?artnum=304586) for details.

3.2.   New Algorithms and Improvements:

·        Added Snowball Sampling, Node Sampling, and Edge Sampling algorithms.

·        Added Randomize and Symmetrize Maximum and Minimum transformation functionalities. Symmetrize Maximum transforms a directed network (asymmetric matrix) to an undirected network (symmetric matrix).

·        Added Weak Component Clustering algorithm

·        Added Small World Visualization. This algorithm requires Java 5.

·        All FORTRAN-based analysis algorithms have been improved to allow arbitrarily large minimum node IDs. If the *node section in the nwb file format contains a complete list of nodes, analysis algorithms will parse the whole list and handle cases where node IDs are not continuous or are out of order gracefully.

3.3.   New Data Converters and Improvements:

·        Created a TreeML (http://www.nomencurator.org/InfoVis2003/download/treeml.dtd) loader to read and write between TreeML files and prefuse Tree objects.

·        Create a CSV preprocessor to merge a node csv file and an edge csv file to construct a network

·        Create a converter from Tree to Graph.

·        Many fixes in various converters.

3.4.   Visualization Improvements: All visualization algorithms except Parallel Coordinates (demo) are developed using Prefuse beta and JUNG libraries. Force Directed Layout, Tree Map, Radial Tree/Graph, and Tree View are developed based on Prefuse beta library. They can visualize large-scale networks with over ten thousand nodes. Other visualization algorithms developed based on JUNG library have been improved, including the support of zoom in/out. Force Directed Layout, Fruchterman-Reingold (Beta) and Radial Tree/Graph (Beta) have been extended to support annotation, in which, a user can specify node size, color or shape, ring color, edge size or color based on the node or edge attributes.

4.      Features

4.1.   File Formats

The tool can load, process, and save the following file formats:

·        GraphML (*.xml)

·        XGMML (*.xml)

·        Pajek .NET (*.net)

·        NWB (*.nwb)

     TreeML (*.xml)

     CSV (*.csv)

      The tool also supports viewing and saving of plain text files generated by algorithms.

      For detailed information about the above file formats, please visit the NWB Community Wiki.

4.2.   Algorithms

The tool provides over 50 network analysis, modeling, and visualization algorithms. They are developed using FORTRAN, Java, and Perl. Detailed algorithm descriptions are available at the NWB Community Wiki. Here is the complete algorithm list in the v0.4.0 release.

 

Category

Algorithm

Language

Preprocessing

Snowball Sampling

Java

 

Node Sampling

Java

 

Edge Sampling

Java

 

Directory Hierarchy Reader

Java

 

Randomize

Perl

 

Symmetrize Maximum

Perl

 

Symmetrize Minimum

Perl

 

CSV Loader

Java

Modeling

Erdös-Rényi Random Graph

FORTRAN

 

Barabási-Albert Scale-Free

FORTRAN

 

Watts-Strogatz Small World

FORTRAN

 

Chord

Java

 

CAN

Java

 

Hypergrid

Java

 

PRU

Java

 

TARL

Java

Analysis

Attack Tolerance

Java

 

Error Tolerance

Java

 

Betweenness Centrality

Java

 

Site Betweenness

FORTRAN

 

Average Shortest Path

FORTRAN

 

Connected Components

FORTRAN

 

Diameter

FORTRAN

 

Page Rank

FORTRAN

 

Shortest Path Distribution

FORTRAN

 

Watts-Strogatz Clustering Coefficient

FORTRAN

 

Watts-Strogatz Clustering Coefficient Versus Degree

FORTRAN

 

Directed k-Nearest Neighbor

FORTRAN

 

Undirected k-Nearest Neighbor

FORTRAN

 

Indegree Distribution

FORTRAN

 

Outdegree Distribution

FORTRAN

 

Node Indegree

FORTRAN

 

Node Outdegree

FORTRAN

 

One-point Degree Correlations

FORTRAN

 

Undirected Degree Distribution

FORTRAN

 

Node Degree

FORTRAN

 

k Random-Walk Search

FORTRAN

 

Random Breadth First Search

FORTRAN

 

CAN Search

FORTRAN

 

Chord Search

FORTRAN

 

Pathfinder Network Scaling

Java

 

Weak Component Clustering

Java

Visualization

Tree Map

Java

 

Tree View

Java

 

Radial Tree / Graph (alpha)

Java

 

Radial Tree / Graph (beta)

Java

 

Kamada-Kawaii

Java

 

Force Directed

Java

 

Spring

Java

 

Fruchterman-Rheingold

Java

 

Fruchterman-Rheingold (beta)

Java

 

Circular

Java

 

Small World Visualization

Java

 

Parallel Coordinations (demo)

Java

Tool

XMGrace

 

 

                   Table 1: A list of algorithms in the NWB Tool v0.4.0

4.3.   Converters and Conversion Service

The tool provides a set of converters and a conversion service that automatically transforms data from one format to another. The conversion service tries to find a chain of converters that can transform the input data format to one that an algorithm can accept. Figure 1 shows the conversion graph supported by the NWB tool v0.4.0 release.

 

      

 

        Figure 1: Conversion Graph in the NWB Tool v0.4.0

4.4.   Other Features

·      ·   Sample Data: The tool provides several sample datasets in NWB Installation Directory/sampledata/Network.

·      ·   References and Documentations of Algorithms: When a user selects an algorithm from the menu, an acknowledgement appears in the console. The acknowledgement contains the original authors of the algorithm, the developers, the integrators, a reference, and the URL to the reference if available. Furthermore, the acknowledgement includes a URL to the algorithm description at the NWB community wiki website at https://nwb.slis.indiana.edu/community.

·       Scheduler: The Scheduler allows users to monitor the progress of running algorithms and to stop/pause/resume running algorithms that implement the scheduling API. A scheduler tester algorithm is provided to demonstrate the capabilities of the scheduler.

·        Invoke XMGrace through the NWB tool on Windows: the tool provides a plugin that can invoke xmgrace --- a WYSIWYG 2D plotting tool to plot analysis results. This plugin works on Windows and Linux. In order for the plugin to work, the tool requires a working installation of the Grace package. To make it run on Windows, it also requires a working installation of Cygwin.

How to Enable XMGrace through the NWB tool on Windows

o       Start cygwin

o       Run “startxwin.bat” from the terminal window, a X Window will pop up.

o       Run the nwb tool v0.3.0 or greater. For any data file with the big "G" icon in the Data Manager window, click Visualization/XMGrace, and an XMGrace window will pop up.

Please refer to XMGrace page at NWB Community Wiki.

5.      Known Issues

This list covers some of the known problems with NWB Tool v0.3.0. Please read this before reporting any new bugs.

·        · Algorithm Performance: Algorithms developed in FORTRAN are more scalable and efficient when comparing to Java-based implementations. They can generate and deal with large networks with over 1,000,000 nodes, which Java algorithms generally cannot.

·        ·Visualization Algorithms: The Kamada-Kawai and Fruchterman Reingold algorithms cannot handle networks with 1000 nodes because the algorithms themselves have high complexity. It takes excessive time for JUNG-based visualization algorithms, including Circular and Spring Layout, to visualize a graph with over 1000 nodes and they cannot handle a graph with over 5000 nodes in general.

·        ·Stop a Running Algorithm: Although the new scheduler allows users to stop/pause/resume a running algorithm, only algorithms written in Java that implement the ProgressTrackable interface can be controlled by the scheduler. So far, only a few algorithms integrated in the tool implement this interface. A scheduler tester algorithm under FileŕTest is provided to demonstrate the capabilities of the scheduler.

·        ·Directed vs. Undirected Networks: Many analysis algorithms in this release can only deal with undirected networks. When a user tries to apply those algorithms to a directed network, they will generate various error messages, such as “Error! The program should be applied to directed networks.” A user can run one of the Symmetrize algorithms to transform a directed network to undirected network first, and then apply those algorithms for analyzing undirected networks.

6.      Icons

The NWB tool uses the following icons to represent different datasets:

  Network

  Tree

  Plain text file that can be plotted using xmgrace

  Other text file

  Unknown file format or data format

7.      Report Bugs

Please report bugs to http://trac-cns.slis.indiana.edu by issuing new tickets or email to Weixia (Bonnie) Huang: