Network Workbench (NWB) Tool v0.8.0
Release Notes
Dec 21st, 2007
1. General Description
The Network Workbench (NWB) tool (v0.8.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 multiple platforms (see section 3.1 for details).
It uses the Cyberinfrastructure
Shell (CIShell) to integrate
various datasets and algorithms. Although CIShell is developed using Java, it
can integrate algorithms developed in other programming languages such as
FORTRAN, C, and C++.
2. Downloading, Installing and Uninstalling
Download the NWB tool v0.8.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.8.0.jar or java -jar nwb-web-nstaller_0.8.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.
Full
Installer vs. Web Installer
In this release we continue providing a full installer nwb-installer_0.8.0.jar (size 62.5MB) that can run on Windows
XP, Linux x86, and Mac OS X (PowerPC and Intel).
We also provide a new web installer nwb-web-installer_0.8.0.jar (size 1.18MB)
that supports to install NWB tool on Windows XP, Windows
Vista, Linux x86, Solaris, and Mac OS X (PowerPC and Intel).
Note:
·
The
web installer is under testing right now. Please report any installation
problem to nwb_helpdesk@googlegroups.com.
·
During
installing the NWB tool, the web installer requires Internet connection and can
automatically detect your local operating system and download the platform
specific package (size 62MB).
·
To
run the NWB tool on Windows Vista, your only option is to
download and run the web installer.
·
All
non-Java based algorithms, especially all algorithms written in FORTRAN (see
table 1 in section 4.2) are NOT pre-compiled on Solaris and Windows Vista
platforms.
So they may not run properly on those platforms. We will fix this problem in
the next release.
3.2.
New
Algorithm Plug-ins and Improvements:
·
Added
several plug-ins to support a prototype of loading an ISI file, extracting a
co-authorship network, and updating the co-authorship network by merging nodes (authors
with different names). A tutorial on this topic will be available soon.
·
Added a
plug-in to integrate GUESS – a graph exploration
system. Note: This plug-in works on Mac
and Linux but does not work on Windows. We will try to fix the problem before
the next release.
·
Added
Balloon Graph visualization algorithm.
3.3.
New
Data Converters, File Loader and Improvements:
·
Created
a converter to converter Prefuse beta-version Tree to Prefuse alpha-version
Tree.
·
Supported
to load an ISI file.
·
Supported
to load and automatically clean an ISI file.
·
Supported
to load GraphML format with file extension of *.graphml
·
Re-implement
nwb to graphml converter using XMLStreamWriter.
·
Many fixes in various converters.
3.4.
Community
Improvements
·
New mailing lists
nwb_announce@googlegroups.com
is a very low traffic mailing list for
announcements regarding the NWB project and software releases, mostly release
notes and important updates.
nwb_helpdesk@googlegroups.com
is the main mailing list for the NWB community.
Subscribe to this list to participate in the project, ask for help, report
bugs (temporary solution), talk about NWB-related matters.
nwb_dev@googlegroups.com
is NWB development mailing list. Subscribe to this
list and take part in the NWB development, talk about NWB-development related
matters or to keep up to date with NWB development.
·
NWB trac system
If you
are interested in our development activities, the new features we are working
on, the planned software releases, etc, please visit https://cns-trac.slis.indiana.edu/trac/nwb. We apology for closing the
functionality to allow people using anonymous account to submit bugs/tickets to
http://cns-trac.slis.indiana.edu/trac/nwb
right now since the website got spammed. We will re-open our bug tracking
system to the world soon. Please report bugs to nwb_helpdesk@googlegroups.com
temporarily.
·
SVN repositories
The
source code of all algorithm and converter plug-ins in the NWB tool is
available at http://nwb.slis.indiana.edu/svn/nwb.
CISshell
framework source code is available at https://cishell.svn.sourceforge.net/svnroot/cishell.
4.
Features
4.1. File Formats
The tool can load, process, and save the following file
formats:
GraphML (*.xml or *.graphml)
XGMML (*.xml)
Pajek .NET (*.net)
Pajek .Matrix (*.mat)
NWB
(*.nwb)
TreeML (*.xml)
CSV (*.csv)
ISI (*.isi)
The tool supports viewing and saving of plain text files
generated by algorithms.
The tool can load and process an edge
list with two columns (*.edge) but can’t save as an edge list.
For detailed information about the above file formats, please visit the NWB
Community Wiki.
4.2. Algorithms
The tool provides over 60
network analysis, modeling, and visualization algorithms. They are developed
using FORTRAN, Java, Perl, ocaml, etc. Detailed algorithm descriptions are
available at the NWB
Community Wiki. Here is the complete algorithm list in the v0.8.0 release.
Other algorithms not including
in the release are also available for downloading from NWB repository at http://nwb.slis.indiana.edu/svn/nwb
Category |
Algorithm |
Language |
Load |
Load and
Clean ISI File |
Java |
|
Load CSV
Files |
Java |
|
Directory Hierarchy Reader |
Java |
Preprocessing |
Random Node Deletion (Error Tolerance) |
Java |
|
High
Degree Node Deletion (Attack Tolerance) |
Java |
|
Pathfinder
Network Scaling |
Java |
|
Multipartite
Joining |
Java |
|
Snowball
Sampling |
Java |
|
Node
Sampling |
Java |
|
Edge
Sampling |
Java |
|
K-Core
Extraction |
Java |
|
K-Coreness
Annotation |
Java |
|
ISI
Duplicate Remover |
Java |
|
Extract
Co-Authorship Network |
Java |
|
Merge
Nodes |
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 |
Node
Degree |
FORTRAN |
|
Degree
Distribution |
FORTRAN |
|
Undirected
k-Nearest Neighbor |
FORTRAN |
|
Watts-Strogatz
Clustering Coefficient |
FORTRAN |
|
Watts-Strogatz
Clustering Coefficient Versus Degree |
FORTRAN |
|
Diameter |
FORTRAN |
|
Average
Shortest Path |
FORTRAN |
|
Shortest
Path Distribution |
FORTRAN |
|
Node
Betweenness Centrality |
FORTRAN |
|
Connected
Components |
FORTRAN |
|
Weak
Component Clustering |
Java |
|
Node
Indegree |
FORTRAN |
|
Node
Outdegree |
FORTRAN |
|
Indegree
Distribution |
FORTRAN |
|
Outdegree
Distribution |
FORTRAN |
|
Directed
k-Nearest Neighbor |
FORTRAN |
|
Single
Node In-Out Degree Correlations |
FORTRAN |
|
Page Rank |
FORTRAN |
|
Burst
Detection |
Java |
Search |
CAN
Search |
Java |
|
Chord
Search |
Java |
|
k
Random-Walk Search |
Java |
|
Random
Breadth First Search |
Java |
Visualization |
Circular
(JUNG) |
Java |
|
Pre-defined
Positions (prefuse beta) |
Java |
|
Radial
Tree / Graph (prefuse alpha) |
Java |
|
Radial
Tree / Graph with Annotation (prefuse beta) |
Java |
|
Tree Map
(prefuse beta) |
Java |
|
Tree View
(prefuse beta) |
Java |
|
Balloon
Graph (prefuse alpha) |
Java |
|
Force Directed
with Annotation (prefuse beta) |
Java |
|
Kamada-Kawai
(JUNG) |
Java |
|
Fruchterman-Rheingold
(prefuse alpha) |
Java |
|
Fruchterman-Rheingold
with Annotation (prefuse beta) |
Java |
|
Spring |
Java |
|
Small
World Visualization |
Java |
|
Parallel
Coordinations (demo) |
Java |
|
LaNet |
ocaml |
|
GUESS |
Jython/Java |
Tools |
Gnuplot |
|
|
Graph
Analysis Toolkit |
Java |
Other
plug-ins |
Scheduler
Tester |
Java |
|
Converter
Tester |
Java |
|
Graph to
Tables |
Java |
Table 1: A list of algorithms in the NWB Tool v0.8.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 core
conversion graph supported by the NWB tool v0.8.0 release. Figure 2 shows a
detailed conversion graph including many converters that
Figure 1: Core
Conversion Graph in the NWB Tool v0.8.0
4.4. Other Features
·
Sample Data: The tool provides several
sample datasets in NWB Installation Directory/sampledata.
· 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.
· 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 Gnuplot through the NWB tool:
the tool provides a plug-in that can invoke Gnuplot
--- a portable
command-line driven interactive data and function plotting utility. This plug-in works on Windows,
Linux, and Mac. To make the plug-in work on Linux and Mac, the tool
requires a working installation of the Gnuplot package. It has been packaged in
the NWB tool for Windows installation.
·
Graph Analysis Toolkit is a nice tool for getting the
insight of your datasets. It provides such rich information as number of nodes,
number of edges, the density of a graph, directed vs. undirected graph, whether
the graph has self-loops and/or duplicate edges, whether there’s a potential
error when a graph claims to be an undirected graph but has duplicate edges or
self loops, whether the graph has weakly connected components, whether the
graph has strongly connected components, etc.
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.
6.
Icons
The NWB tool uses the following icons to represent different
datasets:
Network
Tree
Plain text file that can be plotted using gnuplot
Other text file
Unknown file format or data format
7.
Report
Bugs
Please report bugs to nwb_helpdesk@googlegroups.com temporarily.
We apology for closing the functionality to allow people using anonymous
account to submit tickets to http://cns-trac.slis.indiana.edu/trac/nwb
right now since the website got spammed. We will re-open our bug tracking
system to the world soon.