The Bubble Router Plugin allows users to layout a network incrementally and
in a semi-automated way. Bubble Router arranges specific nodes in user-drawn
regions based on a selected attribute value. Starting with a network which you
would like to organize based on node attributes, say cellular component GO
terms, for example, you can draw a region on the canvas (while holding shift)
and select an Attribute and a Value to associate with the region. All nodes with
that value are automatically sent to and hierarchically arranged within the
region. Repeat the process for each value, e.g., nucleus, cytoplasm, plasma
membrane and extracellular region, and in no time at all you have something
resembling a cell. Bubble Router works with any node attribute file.
To see a demo of the Bubble Router Plugin, click here.
For a list of BubbleRouter versions, click here.

To use Bubble Router, either install the plugin in Cytoscape using the Plugin Manager, or download the plugin directly and manually install it:
To use Bubble Router for layout based on cell localization or pathway assignment, attributes databases are packaged with the Bubble Router plugin and automatically imported and ready to use. These databases contain cell localization annotation from GO/UniProt and pathway assignment based on GenMAPP pathways. The databases include annotations for for human, mouse, rat, yeast, worm, fruit fly, cow, dog, chicken and zebrafish.
The cell localization annotation database was created by first building a nested tree of GO ID paths using the OBO-formatted Cellular Component ontology file from Gene Ontology. GO IDs for a select group of GO terms along with their nested child GO IDs were extracted. Finally, gene symbols for supplied species are associated with these select GO terms.
The cell localization and pathway databases can also be loaded manually in Bubble Router. To load files manually, first download the files from the links below, then click the Load attributes from file button and select the appropriate database.
To use Bubble Router, you must first load a network:
Cell localization and pathway assignment attributes are pre-loaded in Bubble Router. To use another node attribute for routing that is not pre-loaded in Bubble Router or saved in a session file, you need to import node attributes under File>Import>Node Attributes. Select the desired node attribute file. Check that the node attributes loaded correctly by selecting a few nodes and in CytoPanel 2, click on the Select Attributes button to view the appropriate attribute. Check that the selected nodes have values for the attribute.
NOTE: Attributes can also be loaded through the Bubble Router interface.

NOTE: The Bubble Router Plugin supports lists of attributes.

For example, if you select "extracellular region", all nodes annotated as being localized to the cytoplasm will be moved to the region you created and will be highlighted in yellow. Other nodes annotated as something other than extracellular will be moved outside of the region and will be highlighted in green. The layout can be undone under Edit>Undo: Layout Region or by clicking Ctrl+Z on the keyboard.

Some nodes may have multiple values for a particular attribute. The layout of such nodes is prioritized based on which value was selected for layout most recently. For example, if the first value for layout was "cytoplasm", nodes annotated as "cytoplasm and plasma membrane" will appear in the "cytoplasm" region until "plasma membrane" is selected for layout. Nodes with dual annotation will then be moved to the "plasma membrane" region.
A region can be selected at any point by clicking on it's colored outline. When a region is selected, all nodes with the corresponding attribute become highlighted, even if they are currently located in a different region due to multiple annotations.
It is possible to select more than one attribute value for each region. In the attribute value list, select two or more attribute values by holding down the Ctrl key while selecting multiple values or by holding down the Shift key to select multiple adjacent values.
Regions and nodes within regions can be manipulated directly on the canvas, through a right-click context menu and through the Regions tab of the Cytoscape Control Panel.
Nodes with attribute values corresponding to a region can be selected either by selecting the region in the network view or by selecting the region in the Regions tab of the Control Panel:

At any time, the layout of an existing region can be recreated by right-clicking on a region and selecting Layout Region. If nodes have been moved from the original layout due to attribute value conflicts as mentioned above, recreating the layout of the region ensures that all nodes annotated with that value will be moved to the region. The layout of a region can also be undone under Edit>Undo: Layout region or by clicking Ctrl+Z on the keyboard.
The edges connecting the nodes of a particular region may cross and make the network hard to interpret. To address this, Bubble Router includes the ability to minimize the edge crossings for any region. To use this feature, right-click on any region and select Uncross Edges. Uncrossing edges can also be undone under Edit>Undo: Edge Minimization or by clicking Ctrl+Z on the keyboard.
NOTE: Uncross Edges happens automatically whenever nodes are moved to a new region. To optimize performance, this is limited to 250 or fewer nodes.
Regions can be ordered in the z direction using options in the right-click menu of each region, under Order. This option will only work in Cytoscape 2.6 or later. Options for ordering includes:
Brings the selected region to the front layer.
Brings the selected region forward one layer.
Brings the selected region backward one layer.
Brings the selected region to the back layer.
The color of the border of each region is selected by default during routing, but can also be set manually. This is done by picking the desired color in the right-clicking, under Color.
To move a region, first select it by clicking on the region border. Once the region is selected, click anywhere in the region and drag to the desired location.
To change the size of a region, click on the anchor points on the vertical or horizontal colored edge of the region and drag to the desired size. Nodes assigned to the region will move accordingly and the relative layout of nodes in the region remains the same.
A region can be deleted at any time by right-clicking on the region and selecting Delete Region. This option includes a confirmation dialog to avoid mistakes. Deleting a region does not affect the nodes previously associated with it. Nodes remain in the previous layout.
An option for deleting all regions is available under Layout>Delete All Regions. This option also includes a confirmation dialog to avoid mistakes.
The first version of BubbleRouter.
New features in this version: