igraph version 0.3 has been released!
IGraph is a Ruby extension for interfacing with the C igraph library (http://cneurocvs.rmki.kfki.hu/igraph/). igraph is a library for creating and manipulating graphs with a particular emphasis on network analysis functions. Note this is 'graphs' as in nodes and edges, not 'graphs' as in pretty pictures or charts!
Since the underlying graph code is in C, this library is a lot faster than native Ruby implementations (10-100x on most tasks by my unscientific benchmarks). About 40% of the igraph library is wrapped at the moment, but most of the hard work is done, so the remaining functions just need to be gone through and wrapped mechanically.
The graph creation and manipulation functions are complete, as are all of the basic querying functions and about half of the more advanced queries including an implementation of Google PageRank. There are also some graph layout functions and graph read/write capabilities implemented (GraphML and Pajek are supported).
Please email me with bug reports and patches. I still expect to find a lot of bugs in this, particularly in the file support.
Install with gems (you must have the igraph shared library installed already). My Ubuntu system required the location of the header files to be specified.
gem install igraph -- --with-igraph-include=/usr/local/include/igraph
Your mileage may vary.
Changes:
= 0.3 2007-08-16
* Over-hauled attribute code
* Some file read/write support
Alex Gutteridge
Bioinformatics Center
Kyoto University