Hi all,
I'd like to make a web application which is able to automatically generate graphs / networks. For instance I'd like to visualize gene expression data stored in a relational database. Nodes would consist for instance of chemicals (ie chemical(s) used in the experimental condition), gene groups and genes. Edges between gene groups or between chemicals and gene groups would be weighted by correlation.
Some demands for the graph would be: - Interactivity with the graph: dragging of nodes, clicking on nodes for more information, collapsing neighbour nodes, adjusting visual style. - Support for potentially large networks (5000+ elements (nodes + edges) ) - must be run inside a browser (java applets are allowed)
Which existing tools/frameworks are suitable for above situation? And what are the pros and cons of each tool?
I'm already aware of Cytoscape Web, Seadragon plugin for Gephi (which isnt entirely web based), and jSquid. Cytoscape Web seems the best solution at the moment, although it is said performance can get quite slow on large networks.
Does anyone know any other tools I can use to built upon or implement for creating webbased graph visualisation?
Can you please clarify your requirements a bit more. Do you mean 5,000 genes or 5,000 objects (genes + interactions)? Are you willing to ask users to download a Java plugin or do you want it to run in the browser? Is this for an internal network or do you need this to run over the Internet?
Since Cytoscape is open source you would probably be better of looking at the existing code and trying to improve performance for your needs than creating a whole new tool.