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