RFC Name : Group views

Editor(s): Anna Rukosuyeva

Status: Being written


The goal is to provide different ways of viewing a group of nodes of a network. We must provide a visualization that will present nodes with specific characteristics or similarities in a clear and organized manner without intrusion on the view of the rest of the network.

To accomplish this goal we will introduce use cases that will present a different type of group view that will provide an option for this feature.

Biological Questions / Use Cases

1 - Group View

This tool will provide the ability to group together nodes and edges of a network and view them in a clear and organized manner. The group view can have multiple ways of representing the grouped nodes and fall into two categories described. Only one group view can be active at a time but the user will have the ability to change between different views at any time.

1a) Child Nodes Hidden

Allan Kuchinsky, October 13, 2007: An alternative to showing the distinct attribute values of all child nodes would be to use just two visual attributes: one to represent a measure of centrality, such as arithmetic mean, and one to represent a measure of variability, such as standard deviation. I think that the multiple color node requires the user to conciously decode the colors to interpret attribute values, rather than to just pick up easily noticeable patterns. So, it shifts the visualization from the perceptual to the cognitive domain, which makes it much less effective.

1b. Child Nodes Visible

Allan Kuchinsky: October 13, 2007: Should we allow the user to remove child nodes by dragging them out of the bounding box? If so, then under what conditions should we allow this?

2 - Group Window View

This is an optional, independent view of the group nodes that can be active during any of the above group views.

New Window: After expanding the grouped nodes, show the child nodes as a new network in a separate window. A “+’ symbol will appear when the mouse is moved over a parent node and when clicked, a new network window pop-up that will show the child nodes as a new network. The pop-up window can also be activated using a right-click menu.

Group Panel: For each grouped visualization described above, create a group panel in Cytoscape that will show a more detailed, hierarchical structure of the group. This panel will be very helpful when the groups become more complex with multiple levels of parent nodes. The parent node will be listed in the panel with all the child nodes and their characteristics branching from it. This view will be very similar to Windows Explorer that shows the file hierarchy. One example of this functionality is the Group Panel in the current Named Selection plugin shown below.

Tree Map: A hierarchical node grouping can be flattened out and shown as a birds-eye, textual representation. This view will work for groups that can be represented by strict trees, ie: only one parent per node and would only be useful for highly nested structures. Directed acyclic graphs (DAG) will not be supported by this view. Visual Aid: An example of this visualization taken from http://ivtk.sourceforge.net/

Allan Kuchinsky, October 13th, 2007: TreeMaps are really an extension of Pie Charts, so make sense when you want to show the relative values for different child nodes. They really only make sense if you have a highly nested data structure. Given such a data structure, TreeMaps provide strong visual cues and might be an alternative to Pie Nodes and Grid Nodes.

Mouse-Over Tool: Create a viewing tool that will be controlled by a mouse and will travel over the network panel, when the tool moves over a parent node, the inside of the parent node.This tool will show an “x-ray”, detailed view of the inside of the parent node. In order for this tool to be useful, the "x-ray" area should move over the nodes smoothly and the updated view should be instant, without any latency. Visual Aid: An example of this type of tool can be seen here. However instead of a zoomed view, the user will be able to see the child nodes that are inside the parent node. Image taken from http://ivtk.sourceforge.net/

Allan Kuchinsky, October 13, 2007: Using distortion might be a very intuitive way to give the user a quick overview of the children of a parent node. Coordinating this display with the Cytoscape renderer may be a challenge. Also, performance will be an important consideration. The user should be able to move the magnified area smoothly, the display should update immediately -- there should be no perceivable latency.

Tool Tip: The user can have the ability to view information within the node without expanding the group node. A tool tip window can appear when a cursor moves over the group node and a list of names of all the child nodes can appear in the window. Other important information can also appear in this window, such as a list (or a percentage figure if the number child nodes is large) of the type of nodes that exist in this group or other features such as color if necessary.

General Notes

Converting Between Visualizations

Average Node Grouping

Group view layout

Allan Kuchinsky, October 13, 2007: I believe that this functionality is implemented by HyperEdges. See the wiki page entitled EditingBiochemical Reactions.

Implementation Notes

Open Issues

Implementation Plan

Based on the above mentioned factors to determine the order in which the features will be implemented, the current phase of development will focus on Use Case “Clustering-Biomodules” and Use Case 2 “Protein Complexes”. These use cases are currently implemented in Cytoscape with “Mcode” plugin for Use Case 1 and “BioPax” plugin for Use Case 2.


This plugin finds different types of clusters of nodes and edges that are very useful in analyzing a network. The group node functionality would be very useful for this plugin as it would create a more simple and organized appearance. The user can find the cluster of interest and choose to group it into a single group node and expand it back into the cluster form. Below is an illustration of the current Mcode cluster without and with the group node functionality.

Cluster_without.png Cluster_with.png


Threshold: Mcode has one very important complexity – the threshold. This value can be increased to include more nodes in the cluster or decreased to exclude nodes from the cluster. As this value is changed, current cluster(s) of the network is automatically updated to include/exclude more nodes and the image of the new cluster is also updated. When this happens, the group node must also update to include/exclude the new nodes. As the threshold value increases, surrounding nodes will be “pulled into” the group node and will disappear from the network. Similarly, as the threshold value decreases, the excluded nodes will be “thrown out” of the group node back into the network. This change should be done quickly and seamlessly.

Overlapping Groups: As the value of the threshold is increased, another complexity may arise – overlapping groups. As one cluster increases, it may expand so much that it will engulf nodes that are already part of an existing grouped cluster.


This plugin was developed to recognize different file types for importing current networks. The group node functionality becomes very useful when dealing with protein complexes. Currently, Biochemical reaction is represented by a single small node and an arrow node that points to a large protein complex. This large and complicated protein complex can be condensed into a single group node for a more organized, collapsed view. During expanded view, the protein complexes can be further distinguished by a coloured bounding box. The image below shows the current BioPax view of a protein complex as well as the proposed expanded and compressed views.

BioPax_current.png BioPax_expanded.png BioPax_collapsed.png

Convex Hull

The Convex Hull algorithm is very useful in the implementation of the bounding box visualization. This algorithm implements an "elastic band" that is stretched out to encompass the selected nodes and assumes the shape of the outside nodes. For implementing the bounding box visualization for Cytoscape, the Convex Hull algorithm would have to be modified to soften the edges around the outside nodes and create a larger perimeter to allow some space between outside nodes and the bounding box. For more information about the Convex Hull, view the 2D demonstration as http://www.cse.unsw.edu.au/~lambert/java/3d/hull.html



How to Comment

Edit the page and add your comments under the provided header. By adding your ideas to the Wiki directly, we can more easily organize everyone's ideas, and keep clear records. Be sure to include today's date and your name for each comment. Try to keep your comments as concrete and constructive as possible. For example, if you find a part of the RFC makes no sense, please say so, but don't stop there. Take the extra step and propose alternatives.

Allan Kuchinsky -- October 13, 2007: I added some comments inline.

GroupViews (last edited 2009-09-22 01:57:32 by GaryBader)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux