Tuesday, 5 March 2013

Complex Network Analysis Tools

This weekend we had HackU and while searching for ideas, I thought of why not make an app which would visualize a complex network based on various input data, but when I searched for similar apps found many softwares and apps already available, and thus listed few of them:

Why Network Analysis tools required ?
Network analysis tools allow researchers to investigate representations of networks of different size - from small (e.g. families, project teams) to very large (e.g. the Internet, disease transmission). The various tools provide mathematical and statistical routines that can be applied to the network model.
Visual representations of social networks are important to understand network data and convey the result of the analysis. And thus these tools are used to identify, represent, analyze, visualize, or simulate nodes (e.g. agents, organizations, or knowledge) and edges (relationships) from various types of input data (relational and non-relational), including mathematical models of social networks

There are various Network Analysis tools available for specific as well as generic purposes, few are mentioned here :

SocNetV (Social Networks Visualizer) is an open-source graphical application, developed in C++ language and the cross-platform Qt toolkit. The user interface is friendly and simple, allowing the researcher to draw social networks or plain graphs by clicking on a canvas. SocNetV computes basic network properties (i.e. density, diameter, shortest path lengths), as well as more advanced statistics, such as centralities (i.e. closeness, betweeness, graph), clustering coefficient, etc. Various layout algorithms are supported. For instance, nodes can be automatically positioned on circles or levels according to their betweeness centralities. Random networks and small world creation is also supported. SocNetV can handle any number of nodes, although with a speed penalty when nodes are more than 3000 or the graph is quite dense (many edges).

Financial Network Analyzer (FNA) is an application for the statistical analysis of financial networks using methods developed in network science and social network analysis. It differentiates from other tools in that it builds networks from message (payments, trades, etc.) data and that it is geared towards the analysis of network times series.

igraph is a C library for the analysis of large networks. It includes fast implementations for classic graph theory problems and recent network analysis methods like community structure search, cohesive blocking, structural holes, dyad and triad census and motif count estimation. Higher level interfaces are available for R, Python and Ruby.

Text mining tool that supports the extraction of relational data from texts. Distills three types of information: content analysis, semantic networks, ontologically coded networks. In order to do this, a variety of Natural Language Processing/ Information Extraction routines is provided (e.g. Stemming, Parts of Speech Tagging, Named-Entity Recognition, usage of user-defined ontologies, reduction and normalization, Anaphora Resolution, email data analysis, feature identification, entropy computation, reading and writing from and to default or user-specified database).

CFinder is a software for finding and visualizing overlapping dense communities in networks, based on the clique percolation method. It enables customizable visualization and allows easy strolling over the found communities. The package contains a command line version of the program as well, suitable for scripting.

Commetrix is a Software Framework and Tool for Dynamic Network Analysis and Visualization. It provides easy exploratory access to network graphs and has been applied to study co-authorship, Instant Messaging, manual SNA surveys, e-mail, newsgroups, etc. Each node and each linking event can have properties, e.g. types of messages or rank of nodes, but also types, topics, or time stamps. This allows animations of network growth, structural change, and topic diffusion.

iPoint monitors and analyzes Consumer Generated Media, the full privacy of the author is maintained and its reporting dashboard reads from iMediaStreams web services. The analysis is easily viewed and managed from the worldwide, to the state, to the hyper local neighborhood level. It is this aggregation of news and topics, overlaid with sentiment and demographics, which provides a unique research tool into the areas that are uppermost on peoples minds.

Java Universal Network/Graph (JUNG) Framework is a Java API and library that provides a common and extensible language for the modeling, analysis, and visualization of relational data. It supports a variety of graph types (including hypergraphs), supports graph elements of any type and with any properties, enables customizable visualizations, and includes algorithms from graph theory, data mining, and social network analysis (e.g., clustering, decomposition, optimization, random graph generation, statistical analysis, distances, flows, and centrality (PageRank, HITS, etc.)). It has been used to analyze networks in excess of 1 million nodes (although visualizations are currently more limited), and is limited only by the amount of memory allocated to Java.

NodeXL is a free and open Excel 2007 Add-in and C#/.Net library for network analysis and visualization. It integrates into Excel 2007 and 2010 and adds directed graph as a chart type to the spreadsheet and calculates a core set of network metrics and scores. Supports extracting email, Twitter, YouTube and flickr social networks. Accepts edge lists and matrix representations of graphs. Allows for easy manipulation and filtering of underlying data in spreadsheet format. Multiple network visualization layouts. Reads and writes UCINet and GraphML files.

UrlNet is a Python class library for generating networks based on Internet linkages. In the simplest case, UrlNet creates a tree by harvesting the outlink URLs from the page referenced by a root URL (level zero); retrieving each of those pages (level 1), harvesting their outlink URLs; retrieving those pages (level 2), harvesting their outlink URLs; et cetera to a caller-specified depth. UrlNet can also create "forests", the union of multiple tree networks. Specialized classes are provided for generation of networks from search engine result sets (6 search engines are currently supported). UrlNet can also utilize URL-based Web Service APIs to generate networks. Current examples include Technorati's Cosmos API and three types of networks utilizing APIs provided by the National Center for Biological Information (NCBI) .

Cytoscape is an open source bioinformatics software platform for visualizing molecular interaction networks and biological pathways and integrating these networks with annotations, gene expression profiles and other state data.   Although Cytoscape was originally designed for biological research, now it is a general platform for complex network analysis and visualization.   Cytoscape core distribution provides a basic set of features for data integration and visualization.   Additional features are available as plugins.

NetEvo Framework C-Based Development Kit (Cross platform) is a tool to  study the behavior of complex systems, it provides two main functions, simulation and evolution of dynamical networks. To make use of these features, end-users must provide the following to customize the framework for the problem of interest:
Set of component dynamics for nodes and edges,
An initial topology, unless the network can grow,
The evolutionary process that searches for improved system configurations,
The performance measure Q to guide evolution. 

My favorite is the NodeXL as its easy to use and easy to integrate.

No comments:

Post a Comment