<> === About this Document === This is an informal report on an investigation into possible technology sharing between Cytoscape and the Info''''''Vis toolkit. === Status === /!\ This document still under construction, but open for comments, as well. === Background === The Info''''''Vis Toolkit is an interactive graphics toolkit written by Jean-Daniel Fekete at INRIA (The French National Institute for Computer Science and Control). The toolkit implements nine (9) types of visualization: Scatter Plots, Time Series, Parallel Coordinates and Matrices for tables; Node-Link diagrams, Icicle trees and Treemaps for trees; Adjacency Matrices and Node-Link diagrams for graphs. Node-Link visualizations provides several variants (8 for graphs and 4 for trees). There are also a number of interactive controls and information displays, including dynamic query sliders, fisheye lenses, and ''excentric'' labels. Information about the Info''''''Vis toolkit can be found at http://ivtk.sourceforge.net/ For the past several weeks, a number of us -- Melissa Cline, Scooter Morris, Alex Pico, Benno Schwikowski and Allan Kuchinsky -- have been corresponding with Jean-Daniel about the potential for Cytoscape to use components of Info''''''Vis and vice versa. In looking at the Info''''''Vis toolkit, we were impressed with the richness and sophistication of the repertoire of visualizations provided. A number of the most successful information visualization concepts and tools have been encapsulated in the toolkit in a very accessible way. There appears to be a basis for technology exchange between Cytoscape and Info''''''Vis which would increase the power and usability of both software systems. More recently, with Jean-Daniel's help, Allan has been doing a couple of prototyping experiments, in order to explore the feasibility of the toolkits interoperating and the compatibility of their respective object models. To date, Allan has done two rough prototypes, which perform the following functions: * visualize a Cytoscape graph as an Adjacency Matrix in Info''''''Vis. This involves converting a Cy''''''Network into an Info''''''Vis graph structure and running the Info''''''Vis tookit as a Cytoscape plugin. * implement Excentric Labels on top of a Cy''''''Network. Excentric labels are dynamically generated labels that cover the neighborhood around a node of interest. This is useful for navigating through dense networks. The figure that follows({{attachment:matrix1.png}}) shows a Cytoscape Network next to an Adjacency Matrix view of the same network. In the matrix view on the right, the column labels are colored by out-degree of the node and the row labels are colored by the in-degree of the node, on a green-to-red scale. The cells in the matrix view are colored by the number of connections between the x,y pair of nodes corresponding to that cell. The attached movie file ([[attachment:test_excentric.avi]]) runs a brief screen capture movie that shows the usage of excentric labels. === Discussion === It was relatively straightforward to achieve interoperability between Cytoscape and Info''''''Vis. The initial matrix view prototype was easy to implement, the biggest challenge being getting the right jar structure. Jean-Daniel was able to accomplish this pretty quickly. There are three issues with the current implementation of the excentric labels prototype. 1. It has been difficult to get the endpoints of the lines emanating from the excentric labels to coincide exactly with the centerpoints of Cy''''''Nodes that they correspond to. This is due to limitations of the Cytoscape renderer. There are methods for mapping a point in Cytoscape''''''Desktop coordinates to the corresponding position in Cy''''''Network coordinates, but no inverse methods for mapping a point in Cy''''''Network coordinates back to Cytoscape''''''Desktop. Allan has attempted to build such methods, without success. One source of difficulty is that the mapping of desktop to network coordinates is destructive of the original transforms. 1. There is a flickering effect when the density of the labels in an area is over a certain amount. It's possible that the labels are overwriting each other on the display. 1. Cytoscape slows appreciably when the excentric labels are activated. This may likely be due to faulty logic in the prototype code itself, possibly the unintentional introduction of tight loops. Some profiling is needed to better characterize the problem. It should be noted that the Info''''''Vis toolkit is currently a proof-of-concept prototype. A more robust version is planned, with work beginning at INRIA in Fall of 2006. One intention of this investigation is to provide feedback that can influence the direction of the next version of Info''''''Vis. It should also be noted that Jean-Daniel has been extremely helpful and appears to be quite motivated to work with us. === The Plan Going Forward === Allan, Melissa, Benno, and Jean-Daniel will meet in Paris during the first week of September to review progress and discuss next steps. We are thinking of grounding any collaboration in a small set of applications. One of the goals of the Paris meetings is to flesh out a set of candidate applications which could be presented at the Cytoscape Developers Retreat in mid-October. The ideal would be to get to the point that people are ready to further explore concrete interactions after the fall meeting. The following subsections discuss candidate applications. /!\ This section still under construction, but open for comments, as well. Additional application ideas would be very helpful. ==== Candidate Application: Post-translational Modifications ==== 1. use Cytoscape to display similarity graphs colored by PTMs a. different colorings for different types of PTMs a. work into subcellular localization 1. use Info''''''Vis for linked adjacency matrix view(s) with dimensions of a. Blast sequence similarity a. RMS (ruby squared 3D structure) a. protein function Note: this similar problem to representing spice variants in Cytoscape, i.e. a subset of the subgene concept that GenMAPP/Agilent are implementing. So this is a natural offshoot of the current GenMAPP/Agilent project, perhaps a followon ==== Candidate Application: InfoVis Dynamic Queries as a Filtering interface ==== 1. Implement a Dynamic''''''Query interface, a la Spot''''''Fire, Info''''''Vis toolkit, as an alternative filtering capability. Use a set of Range''''''Slider widgets, one per desired attribute, with filtering performed by an AND''''''ing of the individual attribute/slider queries. Have filtering result in hiding/showing of nodes, rather than selection of nodes. The Info''''''Vis toolkit has classes for Dynamic Queries and range sliders, that we can utilize. === Comments === AllanKuchinsky, 8/01/2006 - This is a sample comment to get things started