SharedCode»Shared Code

Shared Code

see also DataFormats.Software


Social network analysis software page on wikipedia

Computer Programs for Social Network Analysis, maintained by the INSNA (webpage didn't work on 3/25/10, so did they move it?)

"Software for Social Network Analysis" by M. Huisman & M. A. J. van Duijn, pp.270-316 in Peter J. Carrington, John Scott, & Stanley Wasserman (Eds.) "Models and Methods in Social Network Analysis" (2005).

Libraries and Packages

Network Workbench

NetworkX (by Aric Hagberg and Pieter Swart)

CONTEST (CONTrolable TEST matrices) "is a random network toolbox for MATLAB that implements nine models," developed and maintained by Alan Taylor and Des Higham.

MatlabBGL "is a Matlab package for working with graphs. It uses the Boost Graph Library to efficiently implement the graph algorithms. MatlabBGL is designed to work with large sparse graphs with hundreds of thousands of nodes."

The igraph software library for network analysis, containing fast open-source implementations for many common algorithms in graph theory and network science. Written in C, but interfaces with R, Python and Ruby.

The Clair library is a suite of open-source Perl modules intended to simplify a number of generic tasks in natural language processing (NLP), information retrieval (IR), and network analysis (NA).

Brain Connectivity Toolbox: Lots of .m files at University of Indiana for quite a few good network functions/analysis tools

Gephi is an open-source network visualizer for exploring graph topology and data, creating hi-res printable maps, and organizing your work. Its easy extensible framework provides an API for customizing layouts, data sources, statistics, manipulation tools and graphical rendering.

ConnectomeViewer, is an open-source Python-based software for visualization and analysis of networks occuring in structural and functional neuroimaging, integration of surface, voxel and tract data.

Specific Codes for Specific Tasks

"Louvain" method for community detection via optimizing modularity

Vincent Traag has released his Louvain Community Detection software, including a variety of options

code that performs community detection by optimizing modularity (by Aaron Clauset, Mark Newman, and Cristopher Moore)

  • Mason: Note that this uses the "2004 version" of modularity maximization. That is, it's using the same modularity we know and love but it is not an implementation of Mark's 2006 eigenvector method to maximize modularity.

code that identifies modules and quantifies modularity of a network using an application of the information bottleneck (by Etay Ziv, Manuel Middendorf, and Chris Wiggins; see also Wiggins' code page)

Our "generalized Louvain" MATLAB code

Our "Visualization of Communities in Networks" code

MultiDendrograms "A hierarchical clustering tool"

Pons-Latapy "walktrap" method for community detection via optimizing modularity

Very efficient diameter and average distance approximations.

Triangle and clustering coefficient computations in massive graphs.

Generation of simple connected random graphs with prescribed degree distribution.

Measuring Fundamental Properties of Real-World Complex Networks

Basic Notions for the Analysis of Large Two-mode Networks


Pattern: A web mining & natural language processing system for Python

Tim Chartier's code for creating twitter networks from a set of specified tweeters

Michael Gastner and Mark Newman's cartogram code

Mark Newman and R. M. Ziff's Monte Carlo code for site and bond percolation

NodeXL class libaries to add network graphs to applications, including an Excel 2007 Template. Also available: a copy of the template for use with matrices.

CONGA and CONGO: Algorithms to detect overlapping communities in networks.

vbmod: variational bayesian inference for network modularity, by Jake Hofman and Chris Wiggins. (related paper)

Amazon Books