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: