The context:
I'm going to start working on a project that involves running predefined algorithms (and defining my own) for very big graphs (thousands of nodes). Visualization would also be welcome if possible.
This is a research project and the goal is to produce a prototype that generates/handles biological reaction networks.
Also, I would like to stick to these kind of platforms with "everything but the kitchen-sink" for scientific computing. The reason is, we will need other features like differentiation (symbolic and numeric) during the project.
The question:
So my question is, how complete is sage for graph theory algorithms, when compared to Mathematica (Combinatorica) and Matlab.
Try asking on http://ask.sagemath.org/questions/
In fact, there was already a general question asked there about Sage versus other software, and the top answer said, "If you are doing graph theory or serious number theory, you shouldn't even be asking the question of which package to use." That is, if you're doing graph theory, or serious number theory, Sage is the winner by far. This was comparing Sage to all other computer algebra systems. So, I believe the answer is Sage is the best graph theory program that exists. And, it is getting better all the time.
http://ask.sagemath.org/question/1010/reliability-of-sage-vs-commercial-software
Sage combines together many open source graph theory tools that exist (nauty generator, networkx which contains tons of stuff by itself, cliquer, and more) and also all the things that have been programmed by Sage developers. And, if there is anything you want to be able to do that isn't already programmed, you can program it in Python (or if you need it to be really fast, in cython).
As far as visualization, yes, Sage graphs are extremely good graphics. If you save them to a PDF, you can zoom in as much as you want (I'm not exaggerating) and they will still be crisp, clean graphics. And, there is a graph editor that allows you to draw graphs and move the vertices around and add vertices and edges and things like that. Not to mention, there are many built in graphs.
Oh, and by the way, if Mathematica (or one of many other programs) is installed on the same computer as Sage, you can use the functions from those other programs and get the results in Sage.
Here's a video tutorial on graph theory (second video from top). It gives a lot of detail, and includes all the info on graphics such as saving pdfs and using the graph editor to make nice looking graphs.
http://www.sagemath.org/help-video.html
Here's a real quick tutorial on graph theory in Sage:
http://steinertriples.fr/ncohen/tut/Graphs/
Here are the functions available:
And here are some graphs you can easily generate: